Discusión:Algoritmo de Euclides

Discusión:Algoritmo de Euclides

De Wikipedia, la enciclopedia libre

El algoritmo tiene un pequeño fallo, antes de entrar al bucle es necesario comprobar que a < b, para evitar errores. Se puede añadir que: mcm(a,b)=(a*b)/mcd(a,b)

El algoritmo de euclides esta mal, no funciona, lo podéis comprobar compilandolo y ejecutándolo.

Corregido podría quedar mas o menos así:

 MIENTRAS (B > 0)
    A = A % B           // siendo A, el mayor y B el menor de los dos números 
    INTERCAMBIAR (A,B)  // Intercambia los valores de A y B
 FIN-MIENTRAS

[editar] Implementación en WinPseudo

El siguiente algorítmo (metodo del RESTO) está implementado en WinPseudo y funciona!!!

   MIENTRAS (B > 0)
      A = A % B
      INTERCAMBIAR (A,B)
   FIN-MIENTRAS
   IMPRIMIR ENTERO(A)

El que SI necesita de la prueba de si A < B es el metodo de la RESTA

 MIENTRAS (A # B)
      SI (A < B)
         INTERCAMBIAR (A, B)
      FIN-SI    

      A = A - B
   FIN-MIENTRAS
   IMPRIMIR ENTERO(B)

Estos algorítmos se pueden probar bajando el WINPSEUDO V1.4 del homepage de WinPseudo en googlepages.

Carmel2007 14:41 27 abr 2007 (CEST)

1)PARA EVITAR DECIR ESTE FUNCIONA O ESTE NO FUNCIONA LO QUE HAY QUE HACER ES LA VERIFICACION FORMAL DE LOS MISMOS 2)REFLEXIONEMOS HACERCA DE "A MOD B" (O A % B) NOTEMOS QUE EN LOS "ALGORITMOS" PRESENTADOS EN ESPECIAL EN LOS ALGORITMOS ORIGINALES SE HABLA DE CALCULAR EL RESTO Y EN LA "IMPLEMENTACION" EN CADA UNO DE LOS LENGUAJES QUE USAN SE ESTA ASUMIENDO ALGO TOTALMENTE RESTRICTIVO Y ES EL HECHO DE QUE LOS NUMEROS QUE PUEDEN SER INGRESADOS A TALES PROGRAMAS DEBEN SER MENORES QUE ALGUNA POTENCIA DE 2 MENOS 1 Y ESTO ES ASI POR QUE ESTAMOS USANDO LA DEFINICION DE TIPO DE DATO TRADICIONAL RESTRINGIDA A LA ARQUITECTURA DE LA COMPUTADORA QUE ESTA EN USO Y AL LENGUAJE USADO PERO RECALCANDO EN EL ALGORITMO NO SE DICE QUE FUNCIONE SOLO PARA ESOS NUMEROS SE DEBE PENSAR EN UNA IMPLEMENTACION QUE MANEGE NUMEROS "GRANDES" Y ENTIENDASE POR NUMEROS GRANDES NUMEROS POR EJEMPLO DE 200 DIGITOS O MAS (DESDE LUEGO SIEMPRE UNA CANTIDAD FINITA DE DIGITOS)

MUCHOS DE ESTOS LENGUAJES TIENEN BIBLIOTECAS(NO LIBRERIAS) ESPECIALIZADAS EN EL MANEJHO DE NUMEROS GRANDES .

El contenido de esta página (o parte de ella) fue extraído de wikipedia y puede redistribuirse libremente bajo la licencia de documentación libre GNU