Vous êtes sur la page 1sur 8

ESTUDIANTE: REQUE URCIA JAIRO DENNER F.

VIII CICLO
Ingeniería de Sistemas
TALLER Nº 1

1. Armar una base de datos con la siguiente información sobre los vuelos de
una aerolínea, el predicado puede ser “es_vuelo”, por ejemplo:

es_vuelo(buenos_aires, córdoba)

Ciudad de origen Ciudad de destino

Buenos Aires Córdoba


Buenos Aires Santa Rosa
Buenos Aires San Juan
Córdoba Santa Fe
Córdoba Tucumán
Córdoba Santa Rosa
San Juan Tucumán
San Juan Mendoza
San Juan Neuquén
Mendoza Tucumán
Santa Rosa San Juan

Predicates

es_vuelo(Symbol,Symbol).
Clauses

es_vuelo(buenos_aires, cordoba).
es_vuelo(buenos_aires, santa_rosa).
es_vuelo(buenos_aires, san_juan).
es_vuelo(cordoba, santa_fe).
es_vuelo(cordoba,tucuman).
es_vuelo(cordoba,santa_rosa).
es_vuelo(san_juan,tucuman).
ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas
es_vuelo(san_juan,mendoza).
es_vuelo(san_juan,neuquen).
es_vuelo(mendoza,tucuman).
es_vuelo(santa_rosa,san_juan).

2. Usando la base de vuelos, expresar las siguientes preguntas como consultas


Prolog:

a) ¿Tengo algún vuelo de Córdoba a Santa Rosa?

es_vuelo(cordoba,santa_rosa).

b) ¿Existe un vuelo desde Santa Fe hasta Neuquén?


es_vuelo(santa_fe,neuquen).

c) ¿Existe un vuelo desde Tucumán hasta San Juan?


es_vuelo(tucuman,san_juan).

d) ¿Hacia que ciudades van los vuelos que parten de Córdoba?


es_vuelo(cordoba,X).

e) ¿De donde provienen los vuelos que llegan a San Juan?


es_vuelo(X,san_juan).

3. Con la base de vuelos, contestar las siguientes preguntas:

a) ¿Existe algún vuelo desde Santa Rosa a Mendoza pasando por San Juan?
ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas
es_vuelo(santa_rosa,san_juan),es_vuelo(santa_rosa,mendoza).

b) ¿Existe algún vuelo desde Buenos Aires a San Juan pasando por alguna
otra ciudad?

es_vuelo(buenos_aires,X),es_vuelo(X,san_juan).

c) ¿Por que ciudad intermedia pasa un vuelo que parte de Buenos Aires y
llega a Santa Fe?

es_vuelo(buenos_aires,X),es_vuelo(X,santa_fe).

d) ¿Por cuáles dos ciudades intermedias pasa un vuelo que salga de


Córdoba y llega a Mendoza?

es_vuelo(cordoba,X),es_vuelo(X,Y),es_vuelo(Y,mendoza).

4. Suponer que se tiene la siguiente base de datos con información sobre la


jerarquía militar de un país hipotético:

tiene_rango(bush, coronel).
tiene_rango(komehini, soldado).
tiene_rango(kadafi, soldado).
tiene_rango(fujimori, soldado).
tiene_rango(gonzalez, capitan).
tiene_rango(gorbachov, general).
tiene_rango(chirac, cabo).
tiene_rango(hussein, sargento).
tiene_rango(ford, teniente).
tiene_rango(arafat, mayor).
es_jefe_de(general, coronel).
es_jefe_de(coronel, mayor).
es_jefe_de(mayor, capitán).
ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas
es_jefe_de(capitán, teniente).
es_jefe_de(teniente, sargento).
es_jefe_de(sargento, cabo).
es_jefe_de(cabo, soldado).

Traducir las siguientes consultas al español, e indicar cuáles serían las

respuestas del sistema en cada caso sin usar la computadora:

a) es_jefe_de(teniente, X), es_jefe_de(X, Y).

X=sargento, Y=cabo

b) es_jefe_de(X, Y), tiene_rango(hussein, X), tiene_rango(Z,Y).

X=sargento, Y=cabo, Z=chirac

c) tiene_rango(bush,X); tiene_rango(arafat, X).

X=coronel
X=mayor

d) tiene_rango(X,Y), es_jefe_de(mayor Y).

Error (mayor Y) le falta la coma. Y si lo tuviera tenemos que no hay


solución.

e) es_jefe_de(X, sargento), not(tiene_rango(kadafi, X)).

X=teniente
ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas

Escribir en Prolog las siguientes consultas:

a) ¿Que rango tiene el jefe de González?

González es capitán.
El jefe de Gonzáles es mayor.

b) ¿Es Chirac jefe de Hussein?

No
rango(chirac, y), es_jefe(y, z), rango(hussein, z)

c) ¿Quién o quienes dependen directamente de Chirac?

KOMEHINI,KADAFI,FUJIMORI
rango(chirac, y), es_jefe(y, z), rango(w, z)

5. Reescribir la base de vuelos incluyendo el tiempo de viaje, de acuerdo con la


siguiente tabla:

Ciudad de origen Ciudad de destino Duración (min)

Buenos Aires Córdoba 80


Buenos Aires Santa Rosa 70
Buenos Aires San Juan 120
Córdoba Santa Fe 40
Córdoba Tucumán 60
Córdoba Santa Rosa 75
San Juan Tucumán 85
San Juan Mendoza 15
San Juan Neuquén 100
Mendoza Tucumán 95
ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas
Santa Rosa San Juan 80
Usar un predicado ternario, por ejemplo:

vuelo(buenos_aires, cordoba, 80).

Efectuar las siguientes consultas:

a) ¿Cuánto se tarda para ir desde Córdoba hasta Tucumán?

vuelo(cordoba,tucumán, x).

b) ¿Cuánto se tarda para ir desde Buenos Aires hasta Santa Fe pasando por
Córdoba?

vuelo(buenos_aires, cordoba, x), vuelo(cordoba, santa_fe, y), x = (x+ y)

c) ¿Cuánto se tarda para ir desde Buenos Aires hasta San Juan pasando por
Córdoba y Santa Rosa?

vuelo(buenos_aires,cordoba,X),es_vuelo(cordoba,santa_rosa,Y),
vuelo(santa_ rosa, san_juan, Z), T= Z+ X + Y

d) Saliendo desde Buenos Aires, ¿a qué ciudades se puede llegar en menos


de 90 minutos?

vuelo(buenos_aires,X,Y),Y<90.

X=cordoba, Y=80
X=santa_rosa, Y=70

e) ¿Cuáles son los vuelos de más de una hora de duración?


ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas

vuelo(X,Y,Z),Z>60.

X=buenos_aires, Y=cordoba, Z=80


X=buenos_aires, Y=santa_rosa, Z=70
X=buenos_aires, Y=san_juan, Z=120
X=cordoba, Y=santa_rosa, Z=75
X=san_juan, Y=tucuman, Z=85
X=san_juan, Y=neuquén, Z=100
X=mendoza, Y=tucuman, Z=95
X=santa_rosa, Y=san_juan, Z=80

f) ¿Cuál es la diferencia de tiempo entre el vuelo directo de Buenos Aires a


San Juan y el que pasa por Santa Rosa?

vuelo(buenos_aires,san_juan,x),vuelo(buenos_aires,santa_rosa,y),
vuelo(santa rosa,san juan, z), tiempo = x – (y + z)

6. Armar una base con la siguiente información alimentaria: una ración de pollo
tiene 270 calorías, un flan 190 y una de buen asado 380. Hoy me propongo
no almorzar más de 580 calorías. Obtener respuestas a las siguientes
preguntas usando consultas:

a) ¿Cuántos flanes me puedo comer?

calorias(flan,X),Flan=(580/X).

b) ¿Puedo comer el asado y el pollo?

calorias(asado,X), calorias(pollo,Y),M=(X+Y),M<581.

c) ¿Si me como el pollo y el flan, cuántas calorías, menos que las máximas
ingiero?
ESTUDIANTE: REQUE URCIA JAIRO DENNER F. VIII CICLO
Ingeniería de Sistemas

calorias(pollo,X), tiene_calorias(flan,Y), Ingiere_Calorias=(580-(X+Y)).

d) ¿Cuántas calorías ingiero si me como el pollo y dos flanes?

calorias(pollo,X), tiene_calorias(flan,Y),Calorias=(X+(2*Y)).

Vous aimerez peut-être aussi