• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

de numero s a letras

etoete

Hincha Huevas
Registrado
2007/06/28
Mensajes
0
ola
soy nueva en esto de programar

pero nose como hacer un programa en pseudolenguaje
qe al ingresar nuemros me los transforme a letras

asi como

200 = doscientos

1250= mil quinientos cincuenta

quien seria tan amable de hacer el codigo porfis ...

que ahora estyo haciendo un trabajo para admin y lo necesito para manaña

adios
 
hola, pega este código en un módulo de clase. [clsnum2let (nombre del módulo)]


Option Explicit

'variables locales que contienen valores de propiedad
Private astrConversor(0 To 2, 1 To 9) As String
Private mvarNumero As Variant ' copia local
Private mstrMoneda As String ' copia local

Public Property Let Numero(ByVal vData As Variant)
If IsNumeric(vData) Then
mvarNumero = vData
End If
End Property

Public Property Get Numero() As Variant
Numero = mvarNumero
End Property

Public Function ALetra() As String
' Var
Dim i As Integer
Dim intProceder As Integer
Dim intPosNumero As Integer
Dim intLongNumero As Integer
Dim strNumero As String
Dim strLetraNumero As String

' Establece los valores iniciales para las Variables
mvarNumero = Abs(mvarNumero) 'Deberá ser positivo
strNumero = CStr(Fix(mvarNumero)) 'A Cadena
intLongNumero = Len(strNumero)
intPosNumero = intLongNumero

' Cicle por el total de caracteres del número
For i = 1 To intLongNumero
intProceder = True
If (intPosNumero Mod 3) = 1 Then
If intLongNumero > intPosNumero Then
Select Case Mid(strNumero, i - 1, 2)
Case "00"
If UCase(Right(strLetraNumero, 7)) = "CIENTO " Then
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 7)
strLetraNumero = strLetraNumero & "Cien "
End If
Case "11"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 5)
strLetraNumero = strLetraNumero & "Once "
intProceder = False
Case "12"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 5)
strLetraNumero = strLetraNumero & "Doce "
intProceder = False
Case "13"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 5)
strLetraNumero = strLetraNumero & "Trece "
intProceder = False
Case "14"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 5)
strLetraNumero = strLetraNumero & "Catorce "
intProceder = False
Case "15"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 5)
strLetraNumero = strLetraNumero & "Quince "
intProceder = False
Case "16", "17", "18", "19"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 2)
strLetraNumero = strLetraNumero & "ci"
Case "21" To "29"
strLetraNumero = Left(strLetraNumero, Len(strLetraNumero) - 2)
strLetraNumero = strLetraNumero & "i"
Case Else
If Val(Mid(strNumero, i, 1)) > 0 And Val(Mid(strNumero, i - 1, 1)) > 0 Then
strLetraNumero = strLetraNumero & "y "
End If
End Select
End If
End If

If Val(Mid(strNumero, i, 1)) > 0 And intProceder Then
strLetraNumero = strLetraNumero & astrConversor((intPosNumero Mod 3), Val(Mid(strNumero, i, 1))) & " "
End If

Select Case intPosNumero
Case 4
If Right(strLetraNumero, 9) <> "millones " And Right(strLetraNumero, 13) <> "mil millones " And Right(strLetraNumero, 9) <> "billones " Then
strLetraNumero = strLetraNumero & "mil "
End If
Case 7
If Right(strLetraNumero, 13) <> "mil millones " And Right(strLetraNumero, 9) <> "billones " Then
strLetraNumero = strLetraNumero & "millones "
End If
Case 10
If Right(strLetraNumero, 9) <> "billones " Then
strLetraNumero = strLetraNumero & "millardos "
'strLetraNumero = strLetraNumero & "mil"
End If
Case 13
strLetraNumero = strLetraNumero & "billones "
Case Else
End Select
intPosNumero = intPosNumero - 1
Next i

strLetraNumero = Left(strLetraNumero, 1) & LCase(Mid(strLetraNumero, 2))
If Numero <> Fix(Numero) Then
i = (Numero - Fix(Numero)) * 100
strLetraNumero = strLetraNumero & LCase(mstrMoneda) & Str(i) & "/100"
Else
strLetraNumero = strLetraNumero & LCase(mstrMoneda) '& " 00/100"
End If

If UCase(mstrMoneda) = "PESOS" Then
strLetraNumero = strLetraNumero '& " M. N."
End If

ALetra = strLetraNumero
End Function

Private Sub Asigna()
' Asigna los Valores al arreglo astrConversor
astrConversor(0, 1) = "Ciento"
astrConversor(0, 2) = "Doscientos"
astrConversor(0, 3) = "Trescientos"
astrConversor(0, 4) = "Cuatrocientos"
astrConversor(0, 5) = "Quinientos"
astrConversor(0, 6) = "Seiscientos"
astrConversor(0, 7) = "Setecientos"
astrConversor(0, 8) = "Ochocientos"
astrConversor(0, 9) = "Novecientos"
astrConversor(1, 1) = "Un"
astrConversor(1, 2) = "Dos"
astrConversor(1, 3) = "Tres"
astrConversor(1, 4) = "Cuatro"
astrConversor(1, 5) = "Cinco"
astrConversor(1, 6) = "Seis"
astrConversor(1, 7) = "Siete"
astrConversor(1, 8) = "Ocho"
astrConversor(1, 9) = "Nueve"
astrConversor(2, 1) = "Diez"
astrConversor(2, 2) = "Veinte"
astrConversor(2, 3) = "Treinta"
astrConversor(2, 4) = "Cuarenta"
astrConversor(2, 5) = "Cincuenta"
astrConversor(2, 6) = "Sesenta"
astrConversor(2, 7) = "Setenta"
astrConversor(2, 8) = "Ochenta"
astrConversor(2, 9) = "Noventa"
End Sub

Public Property Get Moneda() As String
Moneda = mstrMoneda
End Property

Public Property Let Moneda(ByVal vNewValue As String)
mstrMoneda = vNewValue
End Property

Private Sub Class_Initialize()
Asigna
mstrMoneda = "pesos"
End Sub

Private Sub Class_Terminate()
Erase astrConversor
End Sub


Luego haces las llamada: (ejemplo)

Private Sub txtNum2let_Change(Index As Integer)
If Val(txtNum2let(0).Text) > 0 Then
txtNum2let(1).Text = Format(Val(txtNum2let(0).Text), "Currency")
cALetra.Numero = Val(txtNum2let(0).Text)
txtNum2let(2).Text = cALetra.ALetra
Else
txtNum2let(1).Text = ""
txtNum2let(2).Text = ""
End If
End Sub

y listo...

a ponerse las pilas y a programar...
 
gracias, pero tengo mas ejercicos aun :S



3. Colocar 8 reinas en un tablero de ajedrez, de manera tal que ninguna de ellas sea amenazada por otra.

4. Un caballo de un juego de ajedrez puede recorrer completo un tablero vacío, sin pasar dos veces por la misma posición. Resuelva el problema suponiendo que inicialmente el caballo se encuentra en una de sus esquinas.

5. Un cuadrado mágico es una matriz de 4x4 donde están almacenados cada uno de los números entre 1 y 16, con la condición adicional de que la suma de las filas, las columnas y las dos diagonales principales es la misma. Construir el algoritmo en los términos solicitados que permita almacenar en una matriz de 4x4 un cuadrado mágico. Por ejemplo, el siguiente es un cuadrado mágico de 4x4, ya que los números 1 al 16 aparecen una vez cada uno y la suma de cada fila, columna y diagonales principales es 34:


16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1

6. Una pieza de dominó se puede representar como un par de números (i, j). Escriba un programa en los términos señalados que:

* Le un conjunto de pares de un archivo (que no contiene errores); cada par identifica una ficha.
* Informe si el conjunto de fichas pueden formar parte de algún juego de dominó legítimo. Por ejemplo, el juego con piezas (1,5), (3,6), (5,4) y (6,1) puede formar parte de un juego. Si se agrega al conjunto la pieza (2,5), entonces el conjunto resultante no puede ser parte del juego.
 
oigan, yo tengo un programa de eso pero en lenguaje C para ke sepan si se pueden contactar conmigo se los mando
 
Creo que la idea es resolver los ejercicios tu misma, si al final la idea es acostumbrarse a pensar de una manera "algoritmica" si te consigues las soluciones no vas a aprender... a lo sumo puedes pedir ayuda para definir una metodología de resolución o una "encaminada"...
 
waaajjajaaj.. la mina balza..
resuelve lo ejercicios tu sola
como tanto??
no seai patua..esta bien ke uno pueda encaminarte, pero mejor entro yo a estudiar tu carrera...

RAIS, no conocia ese codigo... muy bueno :D
(robado) xDDD


ya chau
 
chuuu te hicieron la pega completa caurita ..... y con dos post


GRACIAS SAN ANTRONIANOS POR FAVORES CUMPLIDOS
 
Puta... pensar que yo tuve que hacer el de numeros a letras, lo cranee y lo entregué... y nadie más lo hizo xD
 
Volver
Arriba