• Jueves 14 de Noviembre de 2024, 16:47

Autor Tema:  invertir numero  (Leído 7778 veces)

wilbur-naike

  • Miembro activo
  • **
  • Mensajes: 33
  • Nacionalidad: pe
    • Ver Perfil
invertir numero
« en: Jueves 12 de Noviembre de 2009, 16:20 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: invertir numero
« Respuesta #1 en: Sábado 14 de Noviembre de 2009, 05:12 »
0
Hola que tal espero que te pueda servir esto.

Algoritmo InvertirNumero
Código: Pascal
  1. Var
  2.      Entero: num0, num1, num2
  3. Inicio
  4.     Leer( num0 )
  5.      num1 <- 0
  6.      num2 <- 0
  7.      Mientras( num0 > 0 )
  8.            num2 <- num2 * 10
  9.            num1 <- num0 mod 10
  10.            num0 <- num0 div 10
  11.            num2 <- num2 + num1
  12.     FinMientras
  13. Fin
  14.  

wilbur-naike

  • Miembro activo
  • **
  • Mensajes: 33
  • Nacionalidad: pe
    • Ver Perfil
Re: invertir numero
« Respuesta #2 en: Domingo 15 de Noviembre de 2009, 03:12 »
0
excelente amigo   ^_^

pero en la prueba de seguimiento ocurre que el digito final no se imprime correctamente:

veamos 187:
Código: Text
  1. num0:   187      18    1    0
  2. num1:   0        7     8    0
  3. num2:   0        7     78   780
  4.  

um otro compañero sufiere este algoritmo, que hasta al momento va cumpliendo con el objetivo  :lol:

Código: Text
  1. proceso invertir(num):
  2.     por = 1;
  3.     invertido = 0;
  4.     mientras num > 10 hacer:
  5.         invertido = (invertido * 10) +  num mod 10;
  6.         num  =  num  div 10
  7.     finmientras;
  8.     invertido= (invertido * 10)+ num;
  9.     escribir invertido;
  10. fin;
  11.  

droezva

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: invertir numero
« Respuesta #3 en: Jueves 19 de Noviembre de 2009, 06:21 »
0
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
  1.  
  2. Valores iniciales
  3. num1 = 187
  4. num2 = 0
  5. num3 = 0
  6.  
  7. num1     num1 > 0    num3=(num3*10)  num2=(num1 % 10)  num1=(num1/10)  num3=(num3+num2)
  8. 187      true        0 = 0*10        7=187 % 10        18 = 187/10      7=0 + 7
  9. 18       true        70              8=18 % 10         1 = 18/10        78=70+8
  10. 1        true        780 = 78*10     1=1%10            0 = 1/10         781=780+1
  11. 0        false
  12.  
  13.  

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
  1.  
  2. Var
  3.      Entero:  num1, num2
  4. Inicio
  5.      Leer( num1 )
  6.      num2 <- 0
  7.      Mientras( num1 > 0 )
  8.           num2 <- num2 * 10 + num1 mod 10
  9.           num1 <- num1 div 10
  10.      FinMientras
  11. Fin
  12.  
  13.  

Bueno ahi nos vemos!!  :D