Este programa es de un menú en cada linea va la explicación de que hace cada sintaxis.
pausa :- nl,write('Pulsa <Enter> para continuar '), ""En cada pausa se visualizara en pantalla el texto del write""
skip(10). ""lee y salta diez caracteres""
pausa1 :- nl,write('Pulsa <Enter> para confirmar el pedido '),
skip(10). ""lee y salta diez caracteres""
/* borraPantalla <- borra la pantalla */ ""Esta instrucción es para borrar pantalla cada que se invoque borraPantalla en distintos lugares del programa""
borraPantalla :- borraLinea(25).
borraLinea(1) :- !,nl.
borraLinea(N) :- nl,N1 is N-1,borraLinea(N1).
/*Escribe caracteres*/
escribe([]).
escribe([X|Y]):-
put(X),
escribe(Y).
% Instrucciones del mensaje de error ""Estas instrucciones son para mandar un mensaje de error cuando se allá seleccionado una opción incorrecta o la opción no este disponible en el menú principal""
error:-
borraPantalla,
escribe("La opción seleccionada no esta disponible"), nl,
escribe("O el número escrito es incorrecto"),
pausa.
% Instrucciones Del Mensaje de Salida ""Estas instrucciones son para finalizar el programa el cual borrara pantalla y nos mandada visualizar unos textos finales""
salida:-
borraPantalla,
escribe("|------------¡Gracias Por Su Preferencia! ------------|"),nl,
escribe("|----------Universidad Autónoma De Guerrero---------|"),nl,
escribe("|---------------Facultad de Matemáticas-------------|"),nl,
escribe("|---------------Inteligencia Articifial-------------|"),nl,
escribe("|------------Carlos Anubis Ocampo Montufar----------|"),nl,
pausa,
halt. ""Termina la ejecución""
% Instrucciones Del Manejo de opciones Del Menu Principal
"" Están instrucciones son para capturar las opciones desde el teclado y mandar visualizar el texto correspondiente a cada valor de X""
opciones(X):-
( (X = 1) -> ""lee la opción almacenada compara y manda visualizar los textos""
escribe("Pechuga de Pollo"),nl,
escribe("Arroz"),nl,
escribe("frijoles"),nl,
escribe("Refresco de 600 ml"),nl,
pausa1;
(X = 2) -> ""lee la opción almacenada compara y manda visualizar los textos""
escribe("Mole rojo"),nl,
escribe("Arroz"),nl,
escribe("Sopa Fria"),nl,
escribe("Refresco de 600 ml"),nl,
pausa1;
(X = 3) -> ""lee la opción almacenada compara y manda visualizar los textos""
escribe("Carne de puerco"),nl,
escribe("Arroz"),nl,
escribe("Frijoles"),nl,
escribe("Refresco de 600ml"),nl,
pausa1;
(X = 4) -> salida; ""lee la opción almacenada compara y manda visualizar los textos""
error).
% Instrucciones Menú Principal
menu:- ""Inicializa el menu""
borraPantalla, ""Borra la pantalla con las instrucciones antes dadas""
escribe("-------Restaurant Chilpancingo---------"),nl, ""Escribe el texto y salta linea""
escribe("-----------Menu principal--------------"),nl, ""Escribe el texto y salta linea""
escribe("Seleccione Su Menu:"),nl, ""Escribe el texto y salta linea""
tab(10),escribe("1) Menu 1"),nl, ""deja un espacio de 10 y escribe el texto luego salta linea""
tab(10),escribe("2) Menu 2"),nl, ""deja un espacio de 10 y escribe el texto luego salta linea""
tab(10),escribe("3) Menu 3"),nl, ""deja un espacio de 10 y escribe el texto luego salta linea""
tab(10),escribe("4) Finalizar Pedido"),nl, ""deja un espacio de 10 y escribe el texto luego salta linea""
escribe("Digite el numero del menu deseado: "), read(X), ""Manda a pantalla el texto y lee el valor introducido""
opciones(X), ""Almacena el valor introducido en la variable opciones""
menu.
% Instrucciones Para Carga el Menú Principal
?-menu.
""SI HAY ALGÚN ERROR HÁGANME SABER SE LOS AGRADECERÉ""