Prolog 2011 2
-
Upload
unad-universidad-nacional-abierta-y-a-distancia -
Category
Education
-
view
2.509 -
download
5
description
Transcript of Prolog 2011 2
Calculadora de figuras geométricasprincipal:-nl,
display('/*/*** ESTE PROGRAMA CALCULA AREAS DE FIGURAS GEOMETRICAS ***\*\'),nl,nl,
display('/* 1.AREA TRIANGULO. *\ '),nl,nl,
display('/* 2.AREA CIRCULO. *\ '),nl,nl,
display('/* 3.SALIR . *\ '),nl,nl,
display(' DIGITE SU OPCION: *\ '),nl,nl,
read(X),opcion(X),
opcion(3).
opcion(X):- X=1,triangulo(W),principal;X=2,circulo(W),principal.
triangulo(W):- display('DIGITE EL VALOR DE LA BASE: '),nl,nl,
read(B),nl,nl,
display('DIGITE EL VALOR DE LA ALTURA: '),nl,nl,
read(H),
areat(B,H,RTA),nl,nl,
display('EL AREA DEL TRIANGULO ES: '),display(RTA),nl,nl.
areat(B,H,RTA):-RTA is(B*H)/2.
circulo(W):- display('DIGITE EL RADIO DEL CIRCULO: '),nl,nl,
read(R),nl,nl,
areaci(R,RC),nl,nl,
display('EL AREA DEL CIRCULO ES: '),display(RC),nl,nl.
areaci(R,RC):-RC is(3.1416*R*R).
Ejercicio: Complementar esta calculadora con 4 opciones mas
Manejo de Bases de Datos
• Ingeniemos dos tablas
FUENTE: http://www.cs.us.es/~jalonso/cursos/pd-01/temas/tema-05.pdf
Diseño de las Tablas en Prolog
clientes(paco,soltero,medico,2).
clientes(ana,soltero,estudiante,0).
clientes(maria,casado,medico,3).
clientes(jose,viudo,ebanista,1).
clientes(luisa,soltero,estudiante,5).
aficiones(ana,playa,voley,cine).
aficiones(maria,playa,natacion,tv).
aficiones(andres,campo,voley,tv).
En Bases de datos:Selecciona de CLIENTES los NOMBRES de los clientes talesque PROFESION = Estudiante
En Prolog:?- clientes(N,_,estudiante,_).
?- findall(_N,clientes(_N,_,estudiante,_),L).
En Bases de datos:Selecciona de CLIENTES las entradas tales que PROFESION= Estudiante y crea la tabla CLIENTES EST .
En Prolog:clientes_est(N,E,estudiante,H):- clientes(N,E,estudiante,H).
Sesíon?- clientes_est(N,E,P,H).
En Bases de datos:Selecciona de CLIENTES los pares NOMBRE–PROFESION.
En Prolog:?- clientes(Nombre,_,Profesion,_).
?- findall(_N-_P,clientes(_N,_,_P,_),L).
En Bases de datos:Selecciona de CLIENTES los NOMBRES de tales que ESTADOCIVIL = soltero y PROFESION = medico.
En Prolog:?- clientes(Nombre,soltero,medico,_).
En Bases de datos:Selecciona de CLIENTES y AFICIONES los NOMBRES de talesque ESTADO CIVIL = soltero y VACACIONES = playa.
En Prolog:?- clientes(N,soltero,_,_),aficiones(N,playa,_,_).
Ejercicio de Practica
• Realice un modelo entidad relación de una basede datos para ser aplicado en Prolog y genereconsultas entre tablas que permitan evidenciarlas diferentes operaciones básicas del algebrarelacional de las bases de datos:– Selección
– Sesión
– Proyección
– Intersección
– Unión
Referencias
• Fuente: José A. Alonso Jiménez - Miguel A. Gutiérrez Naranjo . http://www.cs.us.es/~jalonso/cursos/
• Bratko, I. Prolog Programming for Artificial
Intelligence (2nd ed.) (Addison–Wesley, 1990)Cap. 4: “Using Structures: Example Programs”
Cap. 8: “Programming Style and Technique”
Cap. 9: “Operations on Data Structures”