Está en la página 1de 9

PROGRAMA 1

DESCRIPCION: este programa muestra el mensaje de “hola mundo”

Revisado por: Brayan Ferney Rodríguez

%primer ejercicio prolog

escribir('hola mundo').

PROGRAMA 2

DESCRIPCION: este programa realiza la sumatoria de tres números

Realizado por: Brayan Ferney Rodríguez

%suma de tres variables

suma:- write('ingrese primer numero'),

read(X),

write('ingrese segundo numero'),

read(Y),

write('ingrese tercer numero'),

read(Z),

F is X+Y+Z,

format('el resultado es ~w',[F]).

PROGRAMA 3

DESCRIPCION: este programa muestra cuales fueron los equipos


participantes de la copa américa, quienes ganaron y empataron en la fase de
grupos y quienes pasaron a cuartos

Realizado por: Brayan Ferney Rodríguez


es_un_pais(uruguay). %Paises participantes de la copa america 2019
es_un_pais(brasil).
es_un_pais(chile).
es_un_pais(colombia).
es_un_pais(peru).
es_un_pais(argentina).
es_un_pais(bolivia).
es_un_pais(paraguay).
es_un_pais(catar).
es_un_pais(japon).
es_un_pais(ecuador).
es_un_pais(venezuela).
le_gano(brasil, peru). %Equipos que ganaron en la fase de grupos
le_gano(brasil, bolivia).
le_gano(colombia, argentina).
le_gano(chile, japon).
le_gano(uruguay, ecuador).
le_gano(peru, bolivia).
le_gano(colombia, catar ).
le_gano(chile, ecuador).
le_gano(venezuela, bolivia).
le_gano(argentina, catar).
le_gano(colombia, paraguay).
le_gano(uruguay, chile).
igualo(venezuela, peru). %Equipos que empataron fase de grupos
igualo(praguay, catar).
igualo(brazil, venezuela).
igualo(praguay, argentina).
igualo(uruguay, japon).
igualo(ecuador, japon).
empataron(X,Y):- igualo(X,Y).
empataron(X,Y):- igualo(Y,X).
puntos(uruguay,7). %Puntos fase de grupos
puntos(brasil,7).
puntos(chile,6).
puntos(colombia,9).
puntos(peru,4).
puntos(argentina,4).
puntos(bolivia,0).
puntos(paraguay,2).
puntos(catar,1).
puntos(japon,2).
puntos(ecuador,1).
puntos(venezuela,5).
pasa_a_cuartos(X,Y):- puntos(X,Y),Y > 1, not(puntos(japon,Y)).

PROGRAMA 4

DESCRIPCION: este programa es el árbol genealógico de mi familia

Realizado por: Brayan Ferney Rodríguez

%ARBOL GENEALOGICO DE MI FAMILIA

hombre(jorge).
hombre(ciro).
hombre(stiwar).
hombre(samuel).
hombre(brayan).
hombre(santiago).
hombre(pulin).
mujer(elvira).
mujer(marina).
mujer(katerine).
mujer(concepcion).
mujer(liliana).

%RELACION DE PADRE

padre(santiago,pulin).
padre(santiago,marina).
padre(jorge,ciro).
padre(jorge,liliana).
padre(ciro,samuel).
padre(ciro,katerine).
padre(ciro,stiwar).
padre(ciro,brayan).

%RELACION DE MADRE

madre(concepcion,marina).
madre(concepcion,pulin).
madre(elvira,liliana).
madre(elvira,ciro).
madre(marina,stiwar).
madre(marina,samuel).
madre(marina,katerine).
madre(marina,brayan).

abuelo(X,Y):-padre(X,Z) ,(madre(Z,Y);padre(Z,Y)).
abuela(X,Y):-madre(X,Z) ,(madre(Z,Y);padre(Z,Y)).

hijo(X,Y):-hombre(X),(padre(Y,Z);madre(Y,Z)).
hija(X,Y):-mujer(X),(padre(Y,Z);madre(Y,Z)).

hermano(X,Y):-
padre(Z,X),padre(Z,Y),madre(Z1,X),madre(Z1,Y),not(X=Y),hombre(X).
hermana(X,Y):-
padre(Z,X),padre(Z,Y),madre(Z1,X),madre(Z1,Y),not(X=Y),mujer(X).

sobrino(X,Y):-hijo(X,P),(hermano(P,Y);hermana(P,Y)).
sobrina(X,Y):-hija(X,P),(hermano(P,Y);hermana(P,Y)).

tio(X,Y):-hombre(X),(sobrina(Y,X);sobrino(Y,X)).
tia(X,Y):-mujer(X),(sobrina(Y,X);sobrino(Y,X)).

PROGRAMA 5

DESCRIPCION: este programa muestra cuales animales son mascotas y lo


que pueden hacer y a que grupo pertenecen

Realizado por: Brayan Ferney Rodríguez


% mascotas

mascota(perro).
mascota(gato).
mascota(canario).
mascota(pez).
mascota(hamster).

puede(perro,caminar).
puede(perro,correr).
puede(canario,volar).
puede(pez,nadar).
puede(gato,correr).
puede(gato,caminar).
puede(hamster,correr).
puede(hamster,caminar).
puede(aves,volar).
puede(mamifero,caminar).
puede(mamifero,correr).
puede(felinos,caminar).
puede(felinos,correr).

felinos(gato).
aves(canario).
mamifero(perro).
mamifero(gato).
PROGRAMA 6

DESCRIPCION: un programa PROLOG que traduzca frases simples del


castellano al inglés y viceversa, utilizando un vocabulario reducido

Realizado por: Jordi Paraire (Febrero 2001)

Revisado por: Brayan Ferney Rodríguez

% Proyecto resuelto por el alumno Jordi Paraire (Febrero 2001)

oracion(S0,S,T0,T):- sintagma_nominal(NUM,_,PERS,S0,S1,T0,T1),
sintagma_verbal(NUM,_,PERS,S1,S,T1,T).
oracion(S0,S,T0,T):- pronombre(NUM,GEN,PERS,S0,S1,T0,T1),
sintagma_verbal(NUM,GEN,PERS,S1,S,T1,T).
%---------------------------------------------------------------
sintagma_nominal(NUM,GEN,PERS,S0,S,T0,T):-
determinante(NUM,GEN,PERS,S0,S1,T0,T1),
nombre(NUM,GEN,S1,S,T1,T).
sintagma_nominal(NUM,GEN,PERS,S0,S,T0,T):-
determinante(NUM,GEN,PERS,S0,S1,T0,T1),
nombre(NUM,GEN,S1,S2,T2,T),
adjetivo(NUM,GEN,S2,S,T1,T2).
%---------------------------------------------------------------
sintagma_verbal(NUM,_,PERS,S0,S,T0,T):-
verbo(NUM,PERS,S0,S,T0,T).
sintagma_verbal(NUM,_,PERS,S0,S,T0,T):-
verbo(NUM,PERS,S0,S1,T0,T1),
sintagma_nominal(_,_,_,S1,S,T1,T).
%---------------------------------------------------------------
determinante(singular,masculino,tercera,[el|S],S,[the|T],T).
determinante(singular,femenino,tercera,[la|S],S,[the|T],T).
determinante(plural,masculino,tercera,[los|S],S,[the|T],T).
determinante(plural,femenino,tercera,[las|S],S,[the|T],T).
%---------------------------------------------------------------
nombre(singular,masculino,[hombre|S],S,[man|T],T).
nombre(plural,masculino,[hombres|S],S,[men|T],T).
nombre(singular,femenino,[manzana|S],S,[apple|T],T).
nombre(plural,femenino,[manzanas|S],S,[apples|T],T).
%---------------------------------------------------------------
verbo(singular,primera,[como|S],S,[eat|T],T).
verbo(plural,primera,[comemos|S],S,[eat|T],T).
verbo(singular,segunda,[comes|S],S,[eat|T],T).
verbo(plural,segunda,[comeis|S],S,[eat|T],T).
verbo(singular,tercera,[come|S],S,[eats|T],T).
verbo(plural,tercera,[comen|S],S,[eat|T],T).
%---------------------------------------------------------------
adjetivo(singular,masculino,[pequenyo|S],S,[little|T],T).
adjetivo(singular,femenino,[pequenya|S],S,[little|T],T).
adjetivo(plural,masculino,[pequenyos|S],S,[little|T],T).
adjetivo(plural,femenino,[pequenyas|S],S,[little|T],T).
%---------------------------------------------------------------
pronombre(singular,_,primera,[yo|S],S,[i|T],T).
pronombre(singular,_,segunda,[tu|S],S,[you|T],T).
pronombre(singular,masculino,tercera,[el|S],S,[he|T],T).
pronombre(singular,femenino,tercera,[ella|S],S,[she|T],T).
pronombre(plural,masculino,primera,[nosotros|S],S,[we|T],T).
pronombre(plural,masculino,segunda,[vosotros|S],S,[you|T],T).
pronombre(plural,masculino,tercera,[ellos|S],S,[they|T],T).
pronombre(plural,femenino,primera,[nosotras|S],S,[we|T],T).
pronombre(plural,femenino,segunda,[vosotras|S],S,[you|T],T).
pronombre(plural,femenino,tercera,[ellas|S],S,[they|T],T).

PROGRAMA 7

DESCRIPCION: Escribir un predicado PROLOG para determinar la longitud


de una lista.

Revisado por: Brayan Ferney Rodríguez

longitud([],0).

longitud([_|Resto],N):- longitud(Resto,N1),

N is N1+1.

PROGRAMA 8

DESCRIPCION: Dada una lista de números, escribir los predicados PROLOG necesarios para
hallar el elemento mínimo y el máximo. Ejemplo: ?-mínimo ([4,6,2,7,9,0],Min). % PROLOG
respondería Min=0 Ejemplo: ?-máximo ([4,6,2,7,9,0],Max). % PROLOG respondería Max=9

Revisado por: Brayan Ferney Rodríguez

min_max(L,Min,Max):- minimo(L,Min), maximo(L,Max).

minimo([X],X).

minimo([X|L],X):- minimo(L,Minl), X=Min.

maximo([X],X).

maximo([X|L],X):- maximo(L,Max1), X>Max1.

maximo([X|L],Max):- maximo(L,Max), X=<Max.