Está en la página 1de 4

Resolver los siguientes ejercicios Construir los siguientes programas en Prolog 1.

Armar una base de datos con la siguiente informacin sobre los vuelos de una aerolnea, el predicado puede ser es_vuelo, por ejemplo: es_vuelo(buenos_aires, crdoba). Ciudad de origen Buenos Aires Buenos Aires Buenos Aires Crdoba Crdoba Crdoba San Juan San Juan San Juan Mendoza Santa Rosa Ciudad de destino Crdoba Santa Rosa San Juan Santa Fe Tucumn Santa Rosa Tucumn Mendoza Neuqun Tucumn San Juan

2. Usando la base de vuelos, expresar las siguientes preguntas como consultas Prolog: a) Tengo algn vuelo de Crdoba a Santa Rosa? - true b) Existe un vuelo desde Santa Fe hasta Neuqun? - false c) Existe un vuelo desde Tucumn hasta San Juan? - false d) Hacia que ciudades van los vuelos que parten de Crdoba? - Santa_Fe, Tucumn, 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 algn vuelo desde Santa Rosa a Mendoza pasando por San Juan? - true b) Existe algn 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? - Crdoba, false. d) Por cules dos ciudades intermedias pasa un vuelo que salga de Crdoba y llega a Mendoza? - X= Santa_Rosa - Y= San_Juan

4. Suponer que se tiene la siguiente base de datos con informacin sobre la jerarqua militar de un pas hipottico: 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, capitn). es_jefe_de(capitn, teniente). es_jefe_de(teniente, sargento). es_jefe_de(sargento, cabo). es_jefe_de(cabo, soldado). Traducir las siguientes consultas al espaol, e indicar cules seran 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, Y= d) ?-tiene_rango(X,Y), es_jefe_de(mayor ,Y). - X= Gonzalez ,Y= capitn e) ?-es_jefe_de(X, sargento), not(tiene_rango(kadafi, X)). -X= teniente, Y= (not es un predicado autoconstrudo del lenguaje que es verdadero cuando su argumento es un predicado falso y viceversa). Escribir en Prolog las siguientes consultas: a) Que rango tiene el jefe de Gonzalez? - .. b) Es Chirac jefe de Hussein? - False c) Quin o quienes dependen directamente de Chirac? - Komehini, kadafi, Fujimori.

5. Reescribir la base de vuelos incluyendo el tiempo de viaje, de acuerdo con la siguiente tabla: Ciudad de origen Buenos Aires Buenos Aires Buenos Aires Crdoba Crdoba Crdoba San Juan San Juan San Juan Mendoza Santa Rosa Ciudad de destino Crdoba Santa Rosa San Juan Santa Fe Tucumn Santa Rosa Tucumn Mendoza Neuqun Tucumn San Juan Duracin (min) 80 70 120 40 60 75 85 15 100 95 80

Usar un predicado ternario, por ejemplo: vuelo(buenos_aires, cordoba, 80). Efectuar las siguientes consultas: a) Cunto se tarda para ir desde Crdoba hasta Tucumn? - 60. b) Cunto se tarda para ir desde Buenos Aires hasta Santa Fe pasando por Crdoba? - X=80, Y=40 => 120. c) Cunto se tarda para ir desde Buenos Aires hasta San Juan pasando por Crdoba y Santa Rosa? - X=80, Y=75, Z=85 => 240. d) Saliendo desde Buenos Aires, a qu ciudades se puede llegar en menos de 90 minutos? - X= cordoba,Y= 80. - X= santa_rosa, Y= 70. e) Cules son los vuelos de mas de una hora de duracin? - 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= Tucumn, Z= 85. - X= san_juan, Y= Neuqun, Z= 100. - X= mendoza, Y= Tucumn, Z= 95. - X= santa_rosa, Y= san_juan, Z=85. f) Cul es la diferencia de tiempo entre el vuelo directo de Buenos Aires a San Juan y el que pasa por Santa Rosa? - A = 70+85-120 => 35. 6. Armar una base con la siguiente informacin alimentaria: una racin de pollo tiene 270 caloras, un flan 190 y una de buen asado 380. Hoy me propongo no almorzar mas de 580 caloras. Obtener respuestas a las siguientes preguntas usando consultas:

a) Cuntos flanes me puedo comer? - X = 190, - Y = 580/190. => 3.05 b) Puedo comer el asado y el pollo? - X = 380, - Y = 270. c) Si me como el pollo y el flan, cuntas caloras, menos que las mximas ingiero? - X = 190, - Y = 270, - Z = 580- (190+270). => 120 d) Cuntas caloras ingiero si me como el pollo y dos flanes? X = 190, Y = 270, Z = 270+2*190. => 650.

También podría gustarte