SlideShare una empresa de Scribd logo
Inteligencia Artificial Ejercicios Prácticos Universidad de Boyacá PROLOG
Predicado que eleve un número a un exponente exp1(X,Y,Z):-integer(Y),Y>=0,exp(X,Y,Z). exp1(0,0,'Error'):-!. exp1(X,Y,'Error'):-!. exp(X,0,1):-!. exp(X,Y,Z):-Y2 is Y-1,exp(X,Y2,Z2),Z is X*Z2. ?- exp1(3,5,X). X = 243 ; X = 'Error'
Par Impar y suma par(X) :- 0 is X mod 2. impar(X) :- 1 is X mod 2. suma(X,Y,Z):- Z is X + Y. | ?- par(6). yes | ?- impar(3). yes | ?- suma(6,3,X). X = 9
Suma Lógicas | ?- sumaLogica(3,4,7). yes | ?- sumaLogica(X,4,7).  X = 3 ; | ?- sumaLogica(3,X,7). X = 4 | ?- sumaLogica(3,4,X). X = 7 ; sumaLogica(X,Y,Z):-  integer(X), integer(Y),Z is X + Y. sumaLogica(X,Y,Z):- integer(Y), integer(Z),X is Z - Y. sumaLogica(X,Y,Z):- integer(X), integer(Z),Y is Z - X.
El máximo de dos números maximo(X,Y,X):-X > Y. maximo(X,Y,Y):-X < Y. | ?- maximo(4,3,T). T = 4 ; En forma directa también prolog puede realizar esta operación así: | ?- X is max(5,10). X = 10
El máximo de dos números  (Uso de If) numero:- write('digite un numero'), read(X), write('digite un numero'), read(Y), X > Y -> write('el numero MAYOR ='),write(X),nl;  write('el numero MAYOR'), write(Y),nl.
El mcd  de dos números enteros es el mayor numero que los divide a los dos sin dejar residuo. máximo común divisor
mcd(X,X,X). mcd(X,Y,Z):- X < Y, Y1 is Y-X, mcd(X,Y1,Z). mcd(X,Y,Z):- X > Y, mcd(Y,X,Z). máximo común divisor | ?- mcd(8,4,R). R = 4 ; no | ?- mcd(8,3,R). R = 1 ; no | ?- mcd(7,20,R). R = 1 ; no | ?- mcd(7,49,R). R = 7 ; no
#include &quot;stdio.h&quot; #include &quot;conio.h&quot; void main(){ int a,b; int fact(int); printf(&quot;digite el numero al cual desea sacar !&quot;); scanf(&quot;%d&quot;,&a); b =fact(a); printf(&quot;FACTORIAL DE %d != %d&quot;,a,b); } Factorial de un número entero int fact(int x){ int y; if (x==0)   return(1); else y=x*fact(x-1); return(y); }
Factorial de un número entero fact(X,Y):-integer(X),X>=0,fact2(X,Y). fact(X,'Error'):-!. fact2(0,1):-!. fact2(N,R):-M is N-1,fact2(M,R2),R is N*R2. ?- fact(5,Y). Y = 120 ;
factorial(1,1). factorial(X,Y):- X > 1, X1 is X-1, factorial(X1,Y1), Y is X * Y1.  | ?- factorial(5,T). T = 120 ; Factorial de un número entero
0,1,1,2,3,5,8,13,21….. #include &quot;stdio.h&quot; #include &quot;conio.h&quot; void main(){ int c,n; int FIBONA(int); printf(&quot;digit HASTA QUE TERMINO HALLAR FIBONACI&quot;); scanf(&quot;%d&quot;,&n); c =FIBONA(n); printf(&quot;LA SERIE FIBONACI DE %d ES %d&quot;,n,c); } Serie de Fibonacci int FIBONA(int n) { int x,y; if (n<=1) return n; else{ x=FIBONA(n-2); y=FIBONA(n-1); return(x+y); }  }
0,1,1,2,3,5,8,13,21….. fibonacci(0,0). fibonacci(1,1). fibonacci(N,X):- N > 1, N1 is N-1, fibonacci(N1,X1), N2 is N-2, fibonacci(N2,X2), X is X1+X2.  Serie de Fibonacci | ?- fibonacci(6,R). R = 8 ;
Menú: %% entradas entrada(rabanos, 20). entrada(pate, 90). entrada(ensalada, 40). entrada(sopa,35). %% primer plato (de carne) carne(ternera, 130). carne(pollo, 100). carne(conejo, 120). %% primer plato (de pescado) pescado(trucha, 90). pescado(salmon, 150). pescado(merluza, 95). %% postre postre(flan, 80). postre(cuajada, 60). postre(fruta, 50).
Menú: %% entradas entrada(rabanos, 20). entrada(pate, 90). entrada(ensalada, 40). entrada(sopa,35). %% primer plato (de carne) carne(ternera, 130). carne(pollo, 100). carne(conejo, 120). %% primer plato (de pescado) pescado(trucha, 90). pescado(salmon, 150). pescado(merluza, 95). %% postre postre(flan, 80). postre(cuajada, 60). postre(fruta, 50). calmenu(E,P,T,C) :- entrada(E,CE), carne(P,CP), postre(T,CT), C is CE+CP+CT.
Cuestiones sobre menú •  ¿Qué menús tiene menos de 150 calorías?. •  ¿Y exactamente 200?. •  ¿Qué menús tienen menos de 210 siendo el postre el que aporta más de 70? •  ¿Cuantas calorías tienen los menús que llevan ternera? •  ¿Cuantas calorías tiene los menús que llevan carne? ?-calmenu(E,P,T,C),C < 150. ?-calmenu(E,P,T,200). ?-calmenu(E,P,T,C),C<210,postre(T,CP),CP>70. ?-calmenu(E,ternera,T,C). ?-calmenu(E,P,T,C),carne(P,CP).
Referencias Recopilado por: Leonardo Bernal Zamora

Más contenido relacionado

PDF
Ejercicios prolog
PDF
Operadores en prolog
PDF
Practica i prolog
PDF
Prolog ejercicios resueltos
PPT
Funciones
DOCX
Funciones matemáticas
PDF
Composición de Funciones
PPTX
Bloque 1 tema 1
Ejercicios prolog
Operadores en prolog
Practica i prolog
Prolog ejercicios resueltos
Funciones
Funciones matemáticas
Composición de Funciones
Bloque 1 tema 1

La actualidad más candente (20)

PDF
Presentacion
PPSX
Algebra De Funciones Presentacion
DOCX
Act 6_unidad_5
PDF
Funcion inversa semana 8
PDF
Funciones
PPS
1.5 serie de taylor
PPS
1.5 serie de taylor
DOCX
Guía. límites y continuidad 11
PPS
MóDulo Instruccional Relaciones Y Funciones
DOC
2015 29-04 matematica
PPTX
Relaciones y funciones
DOC
2015 29-04 matematica
DOC
Asignación de ejercicios de Funciones.
PPTX
Funciones reales
PDF
Identificar funciones
PDF
Derivadaelias
DOCX
Funcion par e impar
PDF
25. teoria de funciones
Presentacion
Algebra De Funciones Presentacion
Act 6_unidad_5
Funcion inversa semana 8
Funciones
1.5 serie de taylor
1.5 serie de taylor
Guía. límites y continuidad 11
MóDulo Instruccional Relaciones Y Funciones
2015 29-04 matematica
Relaciones y funciones
2015 29-04 matematica
Asignación de ejercicios de Funciones.
Funciones reales
Identificar funciones
Derivadaelias
Funcion par e impar
25. teoria de funciones
Publicidad

Similar a Practicas prolog2011 (20)

PDF
Pauta Guia 1(1) Bloc De Notas
PDF
Ejercicios
PDF
Ejercicios python
DOCX
Ejemplos de pseudocodigos
PDF
Ejercicios bucles
PPT
Algoritmos estructuras repetitivas-ej#2
PDF
Ejercicios programacion prolog
PDF
Ejemplos_funciones.pdf
DOCX
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
PDF
Computación 2 sept 2012
PDF
Practica dirigida 5 algo i
DOCX
Arreglos
DOC
26
PDF
Pauta Control1
ODP
Fundamentos de programación en scilab
PDF
Computación 2 sept 2012
PDF
Matematicas en ingenieria_con_matlab_y_o
DOCX
Software omegaup
PDF
Algoritmos y diagramas de flujo
DOCX
Software omegaup
Pauta Guia 1(1) Bloc De Notas
Ejercicios
Ejercicios python
Ejemplos de pseudocodigos
Ejercicios bucles
Algoritmos estructuras repetitivas-ej#2
Ejercicios programacion prolog
Ejemplos_funciones.pdf
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
Computación 2 sept 2012
Practica dirigida 5 algo i
Arreglos
26
Pauta Control1
Fundamentos de programación en scilab
Computación 2 sept 2012
Matematicas en ingenieria_con_matlab_y_o
Software omegaup
Algoritmos y diagramas de flujo
Software omegaup
Publicidad

Más de Leonardo Bernal Zamora: Docente, Internauta y convencido de la educación para todos (20)

PPTX

Último (20)

PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
biología es un libro sobre casi todo el tema de biología
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PPT
Cosacos y hombres del Este en el Heer.ppt
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
caso clínico iam clinica y semiología l3.pptx
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
biología es un libro sobre casi todo el tema de biología
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
Tarea De El Colegio Coding For Kids 1 y 2
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Cosacos y hombres del Este en el Heer.ppt

Practicas prolog2011

  • 1. Inteligencia Artificial Ejercicios Prácticos Universidad de Boyacá PROLOG
  • 2. Predicado que eleve un número a un exponente exp1(X,Y,Z):-integer(Y),Y>=0,exp(X,Y,Z). exp1(0,0,'Error'):-!. exp1(X,Y,'Error'):-!. exp(X,0,1):-!. exp(X,Y,Z):-Y2 is Y-1,exp(X,Y2,Z2),Z is X*Z2. ?- exp1(3,5,X). X = 243 ; X = 'Error'
  • 3. Par Impar y suma par(X) :- 0 is X mod 2. impar(X) :- 1 is X mod 2. suma(X,Y,Z):- Z is X + Y. | ?- par(6). yes | ?- impar(3). yes | ?- suma(6,3,X). X = 9
  • 4. Suma Lógicas | ?- sumaLogica(3,4,7). yes | ?- sumaLogica(X,4,7). X = 3 ; | ?- sumaLogica(3,X,7). X = 4 | ?- sumaLogica(3,4,X). X = 7 ; sumaLogica(X,Y,Z):- integer(X), integer(Y),Z is X + Y. sumaLogica(X,Y,Z):- integer(Y), integer(Z),X is Z - Y. sumaLogica(X,Y,Z):- integer(X), integer(Z),Y is Z - X.
  • 5. El máximo de dos números maximo(X,Y,X):-X > Y. maximo(X,Y,Y):-X < Y. | ?- maximo(4,3,T). T = 4 ; En forma directa también prolog puede realizar esta operación así: | ?- X is max(5,10). X = 10
  • 6. El máximo de dos números (Uso de If) numero:- write('digite un numero'), read(X), write('digite un numero'), read(Y), X > Y -> write('el numero MAYOR ='),write(X),nl; write('el numero MAYOR'), write(Y),nl.
  • 7. El mcd de dos números enteros es el mayor numero que los divide a los dos sin dejar residuo. máximo común divisor
  • 8. mcd(X,X,X). mcd(X,Y,Z):- X < Y, Y1 is Y-X, mcd(X,Y1,Z). mcd(X,Y,Z):- X > Y, mcd(Y,X,Z). máximo común divisor | ?- mcd(8,4,R). R = 4 ; no | ?- mcd(8,3,R). R = 1 ; no | ?- mcd(7,20,R). R = 1 ; no | ?- mcd(7,49,R). R = 7 ; no
  • 9. #include &quot;stdio.h&quot; #include &quot;conio.h&quot; void main(){ int a,b; int fact(int); printf(&quot;digite el numero al cual desea sacar !&quot;); scanf(&quot;%d&quot;,&a); b =fact(a); printf(&quot;FACTORIAL DE %d != %d&quot;,a,b); } Factorial de un número entero int fact(int x){ int y; if (x==0) return(1); else y=x*fact(x-1); return(y); }
  • 10. Factorial de un número entero fact(X,Y):-integer(X),X>=0,fact2(X,Y). fact(X,'Error'):-!. fact2(0,1):-!. fact2(N,R):-M is N-1,fact2(M,R2),R is N*R2. ?- fact(5,Y). Y = 120 ;
  • 11. factorial(1,1). factorial(X,Y):- X > 1, X1 is X-1, factorial(X1,Y1), Y is X * Y1. | ?- factorial(5,T). T = 120 ; Factorial de un número entero
  • 12. 0,1,1,2,3,5,8,13,21….. #include &quot;stdio.h&quot; #include &quot;conio.h&quot; void main(){ int c,n; int FIBONA(int); printf(&quot;digit HASTA QUE TERMINO HALLAR FIBONACI&quot;); scanf(&quot;%d&quot;,&n); c =FIBONA(n); printf(&quot;LA SERIE FIBONACI DE %d ES %d&quot;,n,c); } Serie de Fibonacci int FIBONA(int n) { int x,y; if (n<=1) return n; else{ x=FIBONA(n-2); y=FIBONA(n-1); return(x+y); } }
  • 13. 0,1,1,2,3,5,8,13,21….. fibonacci(0,0). fibonacci(1,1). fibonacci(N,X):- N > 1, N1 is N-1, fibonacci(N1,X1), N2 is N-2, fibonacci(N2,X2), X is X1+X2. Serie de Fibonacci | ?- fibonacci(6,R). R = 8 ;
  • 14. Menú: %% entradas entrada(rabanos, 20). entrada(pate, 90). entrada(ensalada, 40). entrada(sopa,35). %% primer plato (de carne) carne(ternera, 130). carne(pollo, 100). carne(conejo, 120). %% primer plato (de pescado) pescado(trucha, 90). pescado(salmon, 150). pescado(merluza, 95). %% postre postre(flan, 80). postre(cuajada, 60). postre(fruta, 50).
  • 15. Menú: %% entradas entrada(rabanos, 20). entrada(pate, 90). entrada(ensalada, 40). entrada(sopa,35). %% primer plato (de carne) carne(ternera, 130). carne(pollo, 100). carne(conejo, 120). %% primer plato (de pescado) pescado(trucha, 90). pescado(salmon, 150). pescado(merluza, 95). %% postre postre(flan, 80). postre(cuajada, 60). postre(fruta, 50). calmenu(E,P,T,C) :- entrada(E,CE), carne(P,CP), postre(T,CT), C is CE+CP+CT.
  • 16. Cuestiones sobre menú • ¿Qué menús tiene menos de 150 calorías?. • ¿Y exactamente 200?. • ¿Qué menús tienen menos de 210 siendo el postre el que aporta más de 70? • ¿Cuantas calorías tienen los menús que llevan ternera? • ¿Cuantas calorías tiene los menús que llevan carne? ?-calmenu(E,P,T,C),C < 150. ?-calmenu(E,P,T,200). ?-calmenu(E,P,T,C),C<210,postre(T,CP),CP>70. ?-calmenu(E,ternera,T,C). ?-calmenu(E,P,T,C),carne(P,CP).
  • 17. Referencias Recopilado por: Leonardo Bernal Zamora