You are on page 1of 4

Resolver los siguientes ejercicios Construir los siguientes programas en Prolog 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 Buenos Aires Buenos Aires Buenos Aires Córdoba Córdoba Córdoba San Juan San Juan San Juan Mendoza Santa Rosa Ciudad de destino Córdoba Santa Rosa San Juan Santa Fe Tucumán Santa Rosa Tucumán Mendoza Neuquén Tucumán 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? - true b) ¿Existe un vuelo desde Santa Fe hasta Neuquén? - false c) ¿Existe un vuelo desde Tucumán hasta San Juan? - false d) ¿Hacia que ciudades van los vuelos que parten de Córdoba? - Santa_Fe, Tucumán, Santa_Rosa e) ¿De donde provienen los vuelos que llegan a San Juan? - Buenos_aires, Santa_Rosa 3. Con la base de vuelos, contestar las siguientes preguntas:

a) ¿Existe algún vuelo desde Santa Rosa a Mendoza pasando por San Juan? - true b) ¿Existe algún vuelo desde Buenos Aires a San Juan pasando por alguna otra ciudad? - Santa_Rosa, false. c) ¿Por que ciudad intermedia pasa un vuelo que parte de Buenos Aires y llega a Santa Fe? - Córdoba, false. d) ¿Por cuáles dos ciudades intermedias pasa un vuelo que salga de Córdoba y llega a Mendoza? - X= Santa_Rosa - Y= San_Juan

sargento).Y= capitán e) ?-es_jefe_de(X.Y= Cabo b) ?-es_jefe_de(X. cabo). Fujimori. tiene_rango(kadafi.False c) ¿Quién o quienes dependen directamente de Chirac? . tiene_rango(hussein.Y). .X=Sargento. soldado). es_jefe_de(sargento. tiene_rango(chirac. Traducir las siguientes consultas al español. Y= (not es un predicado autoconstruído del lenguaje que es verdadero cuando su argumento es un predicado falso y viceversa). not(tiene_rango(kadafi. tiene_rango(arafat. Y= d) ?-tiene_rango(X. es_jefe_de(cabo. .. teniente). X). kadafi.X= Sargento . b) ¿Es Chirac jefe de Hussein? . es_jefe_de(mayor . soldado).4.X= coronel. sargento). . X). coronel).…. tiene_rango(arafat. . es_jefe_de(capitán. e indicar cuáles serían las respuestas del sistema en cada caso sin usar la computadora: a) ?-es_jefe_de(teniente. es_jefe_de(coronel. Escribir en Prolog las siguientes consultas: a) ¿Que rango tiene el jefe de Gonzalez? . soldado). Z= chirac c) ?-tiene_rango(bush. es_jefe_de(teniente. mayor). tiene_rango(gorbachov. X)).Y). tiene_rango(komehini. Y= cabo. soldado). mayor). cabo). sargento). es_jefe_de(general. coronel). teniente). X). tiene_rango(hussein.X). general). -X= teniente. tiene_rango(fujimori. tiene_rango(gonzalez. capitán). es_jefe_de(mayor.X= Gonzalez . . 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. tiene_rango(ford. Y). es_jefe_de(X.Y).Komehini. tiene_rango(Z. capitan). Y).

. Efectuar las siguientes consultas: a) ¿Cuánto se tarda para ir desde Córdoba hasta Tucumán? . Z= 80 . . cordoba.X= mendoza. c) ¿Cuánto se tarda para ir desde Buenos Aires hasta San Juan pasando por Córdoba y Santa Rosa? . Y= Tucumán. Y= Tucumán.X= buenos_aires. .Y= 80.A = 70+85-120 => 35. Y= 70. Y= san_juan. Obtener respuestas a las siguientes preguntas usando consultas: . 80).X= santa_rosa. .5. .X= santa_rosa. ¿a qué ciudades se puede llegar en menos de 90 minutos? .60. 6. Z= 85. Y=75. Y=40 => 120. . Y= santa_rosa. Armar una base con la siguiente información alimentaria: una ración de pollo tiene 270 calorías.X=80. Z=85 => 240. . por ejemplo: vuelo(buenos_aires. Y= Neuquén. Y= cordoba. Z= 75.X= buenos_aires. Hoy me propongo no almorzar mas de 580 calorías. d) Saliendo desde Buenos Aires.X= san_juan. Y= santa_rosa. de acuerdo con la siguiente tabla: Ciudad de origen Buenos Aires Buenos Aires Buenos Aires Córdoba Córdoba Córdoba San Juan San Juan San Juan Mendoza Santa Rosa Ciudad de destino Córdoba Santa Rosa San Juan Santa Fe Tucumán Santa Rosa Tucumán Mendoza Neuquén Tucumán San Juan Duración (min) 80 70 120 40 60 75 85 15 100 95 80 Usar un predicado ternario. Z= 120. b) ¿Cuánto se tarda para ir desde Buenos Aires hasta Santa Fe pasando por Córdoba? . Z= 70.X= cordoba.X= cordoba. Z=85. 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? .X= san_juan. Reescribir la base de vuelos incluyendo el tiempo de viaje. Y= san_juan. e) ¿Cuáles son los vuelos de mas de una hora de duración? .X= buenos_aires. un flan 190 y una de buen asado 380. Z= 100. Z= 95.X=80.

. .X = 190.Y = 270. .X = 190. => 650.a) ¿Cuántos flanes me puedo comer? . Z = 270+2*190. => 3.Y = 270.X = 380.Z = 580. => 120 d) ¿Cuántas calorías ingiero si me como el pollo y dos flanes? X = 190. . Y = 270. menos que las máximas ingiero? . . c) ¿Si me como el pollo y el flan. cuántas calorías.Y = 580/190.(190+270).05 b) ¿Puedo comer el asado y el pollo? .