Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

viernes, 23 de mayo de 2014

Como Hallar el Mínimo Común Múltiplo en Pseudocódigo

En la entrada de hoy mostraré como se implementa el algoritmo para hallar el Mínimo Común Múltiplo entre dos números enteros, el cual explicamos en este artículo, y que además ya hemos visto su implementación en algunos lenguajes de presentación.

Normalmente, cuando expreso un algoritmo en pseudocódigo lo hago en conjunto con su respectivo diagrama de flujo, sin embargo, debido a que para el mcm hemos definido dos formas de resolverlo y para no hacer tan larga esta entrada, he decidido dedicarla solamente para mostrar el pseudocódigo y posteriormente en otro artículo mostraré los diagramas de flujo.

Pues bien, como lo hemos venido haciendo con los otros lenguajes de programación, primero mostraré como hallar el mínimo común múltiplo a través del algoritmo de Euclides, y posteriormente mostraré la otra opción que consiste en iterar en todos los valores enteros positivos menores o iguales al menor de los dos números.

Veamos cómo sería mediante el Algoritmo de Euclides:

// SubProceso "may" para hallar el mayor
// @param num1
// @param num2
// @return max
SubProceso max <- may (num1, num2)
    Si num1>=num2 Entonces
        max <- num1
    Sino
        max <- num2
    FinSi
Fin SubProceso

// SubProceso "men" para hallar el menor
// @param num1
// @param num2
// @return min
SubProceso min <- men (num1, num2)
    Si num1<=num2 Entonces
        min <- num1
    Sino
        min <- num2
    FinSi
Fin SubProceso

// SubProceso "hallar_mcd" para hallar el Máximo Común Divisor
// @param num1
// @param num2
// @return mcd
SubProceso mcd <- hallar_mcd (num1, num2)
    Definir a, b Como Entero
    a <- may(num1, num2)
    b <- men(num1, num2)
    Mientras b!=0 Hacer
        mcd <- b
        b <- a MOD b
        a <- mcd
    FinMientras
Fin SubProceso

// SubProceso "hallar_mcm" para hallar el Mínimo Común Múltiplo
// @param num1
// @param num2
// @return mcm
SubProceso mcm <- hallar_mcm (num1, num2)
    Definir a, b Como Entero
    a <- may(num1, num2)
    b <- men(num1, num2)
    mcm <- (a/hallar_mcd(a,b))*b
Fin SubProceso

// Proceso Principal
Proceso MinComMult
    Definir num1, num2 Como Entero
    Escribir 'Ingrese el primer numero:'
    Leer num1
    Escribir 'Ingrese el segundo numero:'
    Leer num2
    Escribir 'El MCM entre ',num1,' y ',num2,' es: ',hallar_mcm(num1, num2)
FinProceso

Ahora veamos la otra forma:

// SubProceso para hallar el menor de dos numeros
SubProceso min<-men (num1,num2)
    Si num1<=num2 Entonces
        min<-num1
    Sino
        min<-num2
    FinSi
FinSubProceso

// Proceso principal
Proceso MinComMult
    // Definimos las variables
    Definir num1,num2,mcd,min,mcm Como Entero
    // Pedimos al usuario que ingrese los datos
    Escribir 'Ingrese el primer numero:'
    Leer num1
    Escribir 'Ingrese el segundo numero:'
    Leer num2
    // Seleccionamos el menor entre num1 y num2
    min<-men(num1,num2)
    // Hacemos un ciclo Para, con el cual iteraremos en los
    // valores enteros positivos menores a la variable min
    Para i<-1 Hasta min Hacer
        // Comprobamos la división exacta de num1 y num2
        // entre todos los valores de i
        Si (num1 MOD i=0) Y (num2 MOD i=0) Entonces
            // Pueden haber varios valores i que sean
            // divisores exactos de num1 y num2, sin embargo
            // solamente el último que cumpla esta condición
            // será el mcd
            mcd<-i
            // Calculamos el mcm
            mcm<-(num1*num2)/mcd
        FinSi
    FinPara
    // Mostramoes el resultado en pantalla
    Escribir 'El M.C.M. entre ',num1,' y ',num2,' es: ',mcm
FinProceso

Finalmente, sólo nos queda probar el código, dejando por claro que a pesar de que el primero es mucho más efectivo que el segundo, pues logra resolverse en menos iteraciones, cualquiera de los dos debe arrojar el mismo resultado.

Así pues, como lo hicimos en los otros lenguajes, probaremos estos códigos con los números 12 y 18, y por ende el resultado debe ser entonces 36:

Salida en Pantalla - Como Hallar el Mínimo Común Múltiplo en Pseudocódigo

4 comentarios:

  1. como haría para sacar el mcm de 3 numero

    ResponderEliminar
  2. gracias por el aporte...saludos y sigue adelante

    ResponderEliminar
  3. me bota error min<-men(num1,num2)
    que es men

    ResponderEliminar
    Respuestas
    1. ¿Qué IDE está usando? Recuerda que el pseudocódigo no es un lenguaje estándar, y la sintaxis de este ejemplo es la que se usa en PSeint, así que si usas uno distinto, como por ejemplo LPP, probablemente no te funcione. Si quieres muestrame aquí el código y veremos cual es el error

      Eliminar