/*Para usar el menu se guarda el archivo con extencion .pl, se hace doble clic en el y listo,
este codigo fue provado con SWI-Prolog, al digitar una opcion DEBE de poner un punto despues
y enter*/
/* pausa <- detiene la ejecuci¢n del programa hasta que se pulse una tecla */
pausa :- nl,write('Pulsa <return> para continuar '),
skip(10).
/* borraPantalla <- borra la pantalla */
borraPantalla :- borraLinea(10).
borraLinea(1) :- !,nl.
borraLinea(N) :- nl,N1 is N-1,borraLinea(N1).
/*Escribe caracteres*/
escribe([]).
escribe([X|Y]):-
put(X),
escribe(Y).
%-------------------------Muestra mensaje de error---------------------------------
error:-
borraPantalla,
escribe("No escribio un numero"), nl,
escribe("O el numero escrito no esta en el rango del menu"),
pausa.
%-------------------------Mensaje de Salida---------------------------------
salida:-
borraPantalla,
escribe("|-----------------------------------------------------------|"),nl,
escribe("|--------------------Universidad De Antioquia---------------|"),nl,
escribe("|--------------Facultad de Ingenieria en Sistemas-----------|"),nl,
escribe("|---------------------Matematicas Discretas-----------------|"),nl,
escribe("|-------------Juan David Raga- Lorena Uribe Gonzales--------|"),nl,
pausa,
halt.
%------------------------- opciones ---------------------------------
opciones(X):-
( (X = a) ->
escribe("correto"),nl,
pausa;
(X = b) ->
escribe("correto"),nl,
pausa;
(X = c) ->
escribe("correto"),nl,
pausa;
(X = d) ->
escribe("falso"),nl,
pausa;
(X = e) ->
escribe("falso"),nl,
pausa;
(X = f) -> salida;
error).
%-------------------------Primera pregunta---------------------------------
menu:-
borraPantalla,
escribe("1. El unico indicio de tecnologia de esta epoca son las lanzas y armas hechas en piedra."),nl,
escribe("Digite su obcion:"),nl,
tab(10),escribe("a) prehistoria"),nl,
tab(10),escribe("b) edad antigua"),nl,
tab(10),escribe("c) edad media"),nl,
tab(10),escribe("d) edad moderna"),nl,
tab(10),escribe("e) edad contemporanea"),nl,
tab(10),escribe("f) Salir"),nl,
escribe("Su opcion es: "), read(X),
opciones(X),
menu.
opciones2(Y):-
( (Y = a) ->
escribe("correto"),nl,
pausa;
(Y = b) ->
escribe("correto"),nl,
pausa;
(Y = c) ->
escribe("correto"),nl,
pausa;
(Y = d) ->
escribe("falso"),nl,
pausa;
(Y = e) ->
escribe("falso"),nl,
pausa;
(Y = f) -> salida;
error).
%-------------------------Segunda pregunta---------------------------------
pregunta2:-
borraPantalla,
escribe('2. Internet, Television.'),nl,
escribe("Digite su obcion:"),nl,
tab(10),escribe("a) prehistoria"),nl,
tab(10),escribe("b) edad antigua"),nl,
tab(10),escribe("c) edad media"),nl,
tab(10),escribe("d) edad moderna"),nl,
tab(10),escribe("e) edad contemporanea"),nl,
tab(10),escribe("f) Salir"),nl,
escribe("Su opcion es: "), read(Y),
opciones(Y),
pregunta2.