Vous êtes sur la page 1sur 5

INSTITUTO TECNOLOGICO DE ACAPULCO

MATERIA: PROGRAMACION LOGICA FUNCIONAL

Hora 11-12 AULA TSA

TRABAJO: MENU -VUELOS

MAESTRO: LUIS RAMOS BAÑOS

ALUMNO: JOSE CARLOS GALLEGOS GANDARILLA


16320088

ACAPULCO GUERRERO 11 de NOVIEMBRE DEL 2018


CODIGO
:- dynamic(vuelo/3).

vuelo(nueva_york, chicago,1000).

vuelo(chicago, denver,1000).

vuelo(nueva_york, toronto,800).

vuelo(nueva_york, denver,1900).

menu :- limpiapantalla,

write(' *** M e n u P r i n c i p a l ***'),nl,

write(' 1.- Agregar vuelos '),nl,

write(' 2.- Eliminar vuelos '),nl,

write(' 3.- Listar vuelos '),nl,

write(' 4.- Eliminar todos los vuelos '),nl,

write(' 5.- Eliminar los vuelos de un origen '),nl,

write(' 6.- Tomar un vuelo '),nl,

write(' 7.- Salir '),nl,

read(Op),

ejecutar(Op).

ejecutar(Op) :- Op == 1, limpiapantalla,

write('Agregar vuelos '),

nl, nl, agregar,

menu;

Op == 2, borrar, menu;

Op == 3, listar_vuelos, menu;

Op == 4, borratodo, menu;
Op == 5, eliminar_vuelosdeorigen, menu;

Op == 6, limpiapantalla,

write('Toma de vuelos '),

nl,nl,

vuelade, menu;

Op == 7, true.

limpiapantalla :- write('\e[H\e[2J').

vuelade:-write('desde '),read(A),

write('a: '), read(B), encontrar(A,B).

encontrar(A,B):- ruta(A,B,D), write('La distancia es de '),write(D), write(' Km.'),!, nl,read(_).

ruta(A,B,C):- es_vuelo(A,B,C).

ruta(_,_,D):- !,write('no, hay ruta para ese destino '), nl, D=0, fail, !.

es_vuelo(T,T2,D):- vuelo(T,T2,D).

borratodo:- abolish(vuelo/3), write('vuelos Borrados').

borrar :- write('Desde: '),read(Desde), retract(vuelo(Desde,_,_)), !,

write('vuelo Borrado').

borrar :- write('No existe este vuelo').

agregar:-write('desde: '),read(Desde),write('hacia: '),read(H),


write('distancia: '),read(Dis), assert(vuelo(Desde,H,Dis)).

listar_vuelos:-vuelo(X,Y,Z),write('Vuelo '), write('desde: '),write(X) ,write(' hacia: '),write(Y) ,write('


con una distancia de: '), write(Z),nl,fail, !.

eliminar_vuelosdeorigen:-write('Dame el nombre del lugar: '), read(Lugar),

retract(vuelo(Lugar,_,_)), retract(vuelo(_,Lugar,_)), !, write('vuelos eliminados').

eliminar_vuelosdeorigen:-write('Este lugar no existe en la base de datos').

Vous aimerez peut-être aussi