Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Mcm – Prolog
El siguiente programa calcula el mínimo común múltiplo de dos números, para ello los
datos se deben ingresar de la siguiente manera: mcm(A, B, A1, B1, C). A y B son los dos
números a ingresar, A1 y B1 toman el mismo valor de A, B y C se ingresa sin ningún valor.
Quedaría así: mcd(12, 20, 12, 20, C) obteniendo como resultado 60.
A,B,C,A1,B1=integer
mcm(A,B,A1,B1,C)
mcm(A,B,A1,B1,C):-A=B,C=A*(A1/A)*(B1/A).
mcm(A,B,A1,B1,C):-A>B,X=A-B,mcm(X,B,A1,B1,C).
mcm(A,B,A1,B1,C):-A
Mcm – Java
import java.util.Scanner;
public class MinComMult {
public static int mcd(int num1, int num2) {
int mcd = 0;
int a = Math.max(num1, num2);
int b = Math.min(num1, num2);
do {
mcd = b;
b = a%b;
a = mcd;
} while(b!=0);
return mcd;
}
/**
* Método para calcular el Mínimo Común Múltiplo
*/
public static int mcm(int num1, int num2) {
int mcm = 0;
int a = Math.max(num1, num2);
int b = Math.min(num1, num2);
mcm = (a/mcd(a, b))*b;
return mcm;
}
/**
* Método principal
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Ingrese el primer numero");
int num1 = scan.nextInt();
System.out.println("Ingrese el segundo numero");
int num2 = scan.nextInt();
System.out.println("El M.C.M. entre "+num1+" y "+num2+" es:
"+mcm(num1, num2));
}
1- Para declarar una variable en java primero se define el tipo de dato en el que se
desea la variable luego se establece un nombre que identifique dicha variable
seguido de un punto y coma.
En prolog para declarar un variable se debe comenzar por una letra mayúscula o un
guion bajo esto evita la necesidad de declarar previamente de manera explícita las
variables.
2- En el ejemplo hecho con java se definen funciones o métodos como mcd y mcm y
el método principal, en prolog se definen predicados que vienen siendo los
procedimientos o funciones en un lenguaje imperativo.
3- En prolog los predicados se definen mediante un conjunto de clausulas todo gira
en torno al operador “:-“.
Ejemplo #2
my_div_num(_, 0, _):-
!.
my_div_num(A, B, C):-
C is A / B.
#include <iostream>
int main(){
int numero1=0;
int numero2=0;
int resultado=0;
cout<<"Ingrese el dividendo:"<<endl;
cin>>numero1;
cout<<"Ingrese el divisor:"<<endl;
cin>>numero2;
if(numero2==0) {
else{
resultado = numero1/numero2;
return 0;
}
Las diferencias de Prolog y C++ son bastantes notables comenzando por las
sentencias de comparación en C++ como es de costumbre usamos el if y prolog
vemos que dentro del cuerpo de la función se le asigna el valor que deseamos
comparar.
Otra diferencia notable es la asignación de valores a las variables en C++ tenemos
que especificar el tipo de dato que vamos a usar además de eso usamos el símbolo
“=” y en Prolog no se hace de esta manera observamos que se usa la palabra
reservada “is”.