Programación Específica > Diseño de Algoritmos
invertir numero
(1/1)
wilbur-naike:
hola a todos :D
tengo listo el algoritmo pero al llegar a su minima expresion el cociente termina en decimal y no puedo dar por concluido el algoritmo, a ver si me pueden dar un empujon.
algoritmo invertirnumero
var
entero: num0, num1
incio
leer(num0)
mientras(num0>0)hacer
num1 <- num0 mod 10
num0 <- num0 div 10
fin_mientras
escribir(num0)
fin
:comp:
droezva:
Hola que tal espero que te pueda servir esto.
Algoritmo InvertirNumero
--- Código: Pascal ---Var Entero: num0, num1, num2Inicio Leer( num0 ) num1 <- 0 num2 <- 0 Mientras( num0 > 0 ) num2 <- num2 * 10 num1 <- num0 mod 10 num0 <- num0 div 10 num2 <- num2 + num1 FinMientrasFin
wilbur-naike:
excelente amigo ^_^
pero en la prueba de seguimiento ocurre que el digito final no se imprime correctamente:
veamos 187:
--- Código: Text ---num0: 187 18 1 0num1: 0 7 8 0num2: 0 7 78 780
um otro compañero sufiere este algoritmo, que hasta al momento va cumpliendo con el objetivo :lol:
--- Código: Text ---proceso invertir(num): por = 1; invertido = 0; mientras num > 10 hacer: invertido = (invertido * 10) + num mod 10; num = num div 10 finmientras; invertido= (invertido * 10)+ num; escribir invertido;fin;
droezva:
Curioso en mi prueba si funciona correctamente pero bueno de todos modos te dejo la prueba que hice yo, chekeala y me comentas :D
--- Código: Java --- Valores inicialesnum1 = 187num2 = 0num3 = 0 num1 num1 > 0 num3=(num3*10) num2=(num1 % 10) num1=(num1/10) num3=(num3+num2)187 true 0 = 0*10 7=187 % 10 18 = 187/10 7=0 + 718 true 70 8=18 % 10 1 = 18/10 78=70+81 true 780 = 78*10 1=1%10 0 = 1/10 781=780+10 false
Coloco otra forma en la que puede funcionar que es practicamente similar al que tu comentas por excepto la condición del while y la eliminación del paso despues de terminar el ciclo:
--- Código: Java --- Var Entero: num1, num2Inicio Leer( num1 ) num2 <- 0 Mientras( num1 > 0 ) num2 <- num2 * 10 + num1 mod 10 num1 <- num1 div 10 FinMientrasFin
Bueno ahi nos vemos!! :D
Navegación
Ir a la versión completa