Traductor de Cantidades Númericas a Letras
- Inicie sesión o regístrese para enviar comentarios
Hola mis queridísimos Amigos AdictosHP!!!!
Les propongo un desafío un poco más complejo. 
El mismo se trata de desarrollar en UserRPL la implementación de un algoritmo que dado un número entero X mayor o igual que cero y menor o igual que 2^32 = 4294967296
(0<= X <= 4294967296)
Traduzca la cantidad númerica representada por X en la cadena de caracteres que corresponda a la pronunciación de las palabras de esa cantidad.
Os pongo un simple ejemplo para que entendais la esencia de éste maravilloso desafío:
Pila antes de ejecutar el programa:
3:
2:
1: 305
Pila después de ejecutar el programa:
3:
2:
1: "TRESCIENTOS CINCO"
Eso es todo mis amigos.
Un gran abrazo a todos y a trabajar se ha dicho. 
- Inicie sesión o regístrese para enviar comentarios
Uyy sinceramente lo veo difícil y a mi parecer va ser un código muy extenso pero veamos si lo logro pues jaja tendria que hacerlo con CASE THEN END
«
n
«
CASE
n 0 == THEN "CERO" END
n 1 == THEN "UNO" END
n 2 == THEN "DOS" END
.
.
.
.
n 305 == THEN "TRESCIENTOS CINCO" END
.
.
.
.
.
END
»
»
salu2
- Inicie sesión o regístrese para enviar comentarios
jhusel que gracioso que eres tu si pasas de payaso la cuestion no es esa se supone que se trata de hacerlo corto no ? te imaginas hacer este programa hasta el numero 4294967296 es in menso el programa se llena la memoria de tu hp bueno yo lo veo un poco dificil
- Inicie sesión o regístrese para enviar comentarios
Hola Severo no veo otra solución y es la única que se me vino a la mente
. Alguien tiene un avance pues debería reducirse los limites quizás del 0 al 100 pero igual lo veo extenso.
Salu2
- Inicie sesión o regístrese para enviar comentarios
Una vez en clase de programación estructurada hicimos uno para números romanos,
Por lo que veo el tema es viejo, así que como no hay prisa quizás cuando acaben mis exámenes le echemos galleta jajaja
Saludos
- Inicie sesión o regístrese para enviar comentarios
Solo hemos recibido la propuesta de Edwin alguien se le mide a realizarlo de otra manera??
- Inicie sesión o regístrese para enviar comentarios
No podía ser otro que Gaak...
Si bien no es para las HP, lo probé y funciona muy bien.
- Inicie sesión o regístrese para enviar comentarios
.Todavía no hay ninguna solución en UserRPL?
- Inicie sesión o regístrese para enviar comentarios
Veo que este tema es antiguo.
No veo la solución de Edwin pero a mi se me ocurre descomponer el numero en unidades, decenas, centenas, unidades de mil, etc. y asociarle a cada descomposición el nombre respectivo.
Bien, trabajeré en esto.
- Inicie sesión o regístrese para enviar comentarios
yo creo que si haaa , me diste una idea amigo , si descomponiendo en unidades podria ser el camino probare por mi lado tambien
- Inicie sesión o regístrese para enviar comentarios
Envío nuevamente la propuesta que había hecho. No se porque me lo habían borrado.
conversor
- Inicie sesión o regístrese para enviar comentarios
Estimado Edwin su solucion es muy buena, el algoritmo que uso era el que tenia en mente, de pronto se pueda mejorar pero para mi esta bien. Lo que me asombra es que siempr eres el primero en dar respuesta, yo voy viendo el post y mientras lei los comentarios pensaba como hacerlo hasta que llegue a tu respuesta la probe y me parece bien jhejejejejej
Salu2
- Inicie sesión o regístrese para enviar comentarios
Edwin, su comentario antiguo como el de muchos usuarios se vieron afectados cuando el sitio tuvo un problema en la base de datos, es por eso que no aparecen muchos comentarios, los que datan de esas fechas.
Recuerdo también que se perdieron todos los primeros comentarios de CalculadorasHP.org
Saludos.
- Gaak -
- Inicie sesión o regístrese para enviar comentarios
Bien Edwin también ya tenía algo muy parecido a tu codigo pero trabajando con string y a puros HEAD y TAIL formando el numero, en vez de los IP y FP que tu usas, pero en el fondo trabajan muy parecido. Me a costado terminarlo, estoy algo fuera de práctica en esto de la programación.
Que mal que se hallan perido los temas antiguos, siempre se hallan cosas interesantes en estos.
- Inicie sesión o regístrese para enviar comentarios
Hola soy nuevo aqui y nuevo en el uso de estas calculadoras, pero todo esto me parece emocionante y propongo esta solucion.
Que tal convertir a una cadena de caracteres el número. Luego contamos el número de dígitos presentes y vamos formanndo el nombre del numero contando desde unidades, decenas, centenas, etc, en forma regresiva. Entonces el programa solo tendria que almacenar los nombres de las cifras "uno", "dos", "tres", etc, y los de "cien", "mil", "diez mil", etc.
Asi un numero tiene la forma
d1 d2 d2 d3 d4 ... dn Siendo las "d" los digitos.
Si el numero es de tres digitos es del orden de las centenas, entonces
el programa tendría que comprobar que digito es el primero de izquierda a derecha y unir la cadena correspondiente. Por ejemplo
305
Como son tres digitos es del orden de las centenas
Entonces el programa empieza desde las centenas hacia atrás revisando cada digito.
Prueba el primer dígito y comprueba que es un tres, entonces une la cadena "tres" con la cadena "cientos". Si en algun momento hay un cero no hace nada y continua, pero disminuyendo el orden siendo el siguiente (en este caso decenas) un orden menor. Lo hace asi hasta llegar a las unidades.
En cada paso el programa solo une las cadenas correspondientes al orden del digito con las correspondientes al nombre del dígito.
Bueno esa es toda mi propuesta. Si aquí hay algun ingeniero en sistemas, informática o similar seguro propondrá algo mejor, pero al menos es un comienzo.
Bueno nos vemos.
- Inicie sesión o regístrese para enviar comentarios
























Hola Estimados Amigos Jhusel y Severo!
Tiene razón mi amigo Severo, el código fuente del algoritmo debería ser corto, no tendría sentido escribir un programa que fuese más "pesado" que el "peso" del propio resultado o solución.
Amigo Jhusel, con todo respeto, considero tu propuesta de solución a este desafío como una simple broma de amigos.
La verdadera solución va por otro lado.
Les propongo resolver este desafío entre todos. Qué les parece?
Cómo es más complicado que el resto de los minidesafíos que se plantearon anteriormente, tratemos de esbozar alguna solución "seria" (no se aceptan las bromas) y sobre ella ir haciendo continuas mejoras u optimizaciones para ver si logramos llegar, entre todos, al verdadero código buscado.
Vamos mis estimados Amigos AdictosHP, a mover las neuronas!
Saludos!
Orly
"Cuando el entendimiento se enturbia, la fe es el filtro que potabiliza nuestra mente."