Prolog - Como hacer un menu con opciones en Prolog

 
Vista:

Como hacer un menu con opciones en Prolog

Publicado por Ana Maria (1 intervención) el 01/01/2003 17:44:55
Hola!!
me gustaría que alguien me dijese como puedo hacer un menu con opciones mediante el lenguaje prolog, estoy usando el sisctus-prolog como entorno de programación.
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como hacer un menu con opciones en Prolog

Publicado por manuel reinoso (1 intervención) el 16/05/2005 16:12:51
necesito ayuda para elaborar un menu en prolog
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como hacer un menu con opciones en Prolog

Publicado por Yesenia Gonzalez (1 intervención) el 16/05/2005 21:46:10
Si instala strawberry prolog por ejemplo, usted puede abrir los archivos k se encuentran en la parte de ejemplos y programas, y ademas juegos, en varios de ellos se muestra como hacer un menues, botones, texboxs, checkboxs, en fin todo las cuestiones graficas, y ademas como usar una base de conocimiento en el ejemplo k se llama "base" k se encuentra en programas. Es un hecho que eso le sirve. Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como hacer un menu con opciones en Prolog

Publicado por wes (2 intervenciones) el 10/08/2005 02:18:27
donde podria encontrar strawberry prolog, ojala una version open source, para fines didacticos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Como hacer un menu con opciones en Prolog

Publicado por Eduardo Gonzalez (2 intervenciones) el 06/08/2005 22:31:50
/*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(25).
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 Latina de Costa Rica--|"),nl,
escribe("|-Facultad de Ingenieria en Sistemas-|"),nl,
escribe("|--------------Programacion IV--------------|"),nl,
escribe("|-------Eduardo Gonzalez Chinchilla-----|"),nl,
pausa,
halt.



%-------------------------Manejo de opciones Menu Principal---------------------------------
opciones(X):-
( (X = 1) ->
escribe("Opcion 1"),nl,
pausa;
(X = 2) ->
escribe("Opcion 2"),nl,
pausa;
(X = 3) ->
escribe("Opcion 3"),nl,
pausa;
(X = 4) -> salida;
error).

%-------------------------Menu Principal---------------------------------

menu:-
borraPantalla,
escribe("-----------Menu principal--------------"),nl,
escribe("Digite su obcion:"),nl,
tab(10),escribe("1) Opcion 1"),nl,
tab(10),escribe("2) Opcion 2"),nl,
tab(10),escribe("3) Opcion 3"),nl,
tab(10),escribe("4) Salir"),nl,
escribe("Su obcion es: "), read(X),
opciones(X),
menu.

%----------------Carga el Menu Principal------------------
?-menu.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito tu ayuda

Publicado por lordbeliar (4 intervenciones) el 18/06/2011 00:53:40
necestio tu ayuda para agregarle algo mas a tu codgio
qiero agregarle algo cuando elija una de las opciones x ejemplo si eleigo la primera opcion
pueda acer una operacion o realizar un hecho no e podido agregarle algo talve me ayuda

micorreo es el siguiente
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

neutro

Publicado por alo (1 intervención) el 07/12/2009 17:40:06
no sale la opcion salir en prolog.... enviame el codigo mas especifico......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como hacer un menu con opciones en Prolog

Publicado por Arnaldo González (1 intervención) el 08/11/2010 14:31:03
Estimado,

Esto funciona perfecto!

Muchas gracias!!!

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como hacer un menu con opciones en Prolog

Publicado por alexander toro (1 intervención) el 08/05/2009 16:15:49
HACER EN PROLOG LAS OPERACIONES ARITEMETICAS Y TODO LO RELACIONADO CON LISTAS UN PROGRAMA CON MENUS, A TRAVES DEL MENU SE ELIJA LAS OPCIONES PARA HACER LAS OPERACIONES Y LAS CONSULTAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda

Publicado por Asiel (2 intervenciones) el 16/03/2013 21:04:22
Hola a todos:
Yo necesito saber donde se escriben los predicado utilizando un menú de opciones como este.
Necesito saber donde puedo programar los ejercicios específicos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

realizar ejercico en prolog

Publicado por carlos abel (2 intervenciones) el 22/04/2010 04:48:08
Por favor la resolucion de este ejercico la necesito de caracter urgente, saludos y muchas gracias de antemano

Da do la siguiente base de hechos de Prolog con al menos seis ejemplos hipotéticos de ómnibus.


baseOmnibus([
omnibus(HDA 123,654,Marianao -lido,[
chofer(Esteban,32,[
l,mi,v,d]),
chofer(ernesto,26,[
ma,j,s])]),

omnibus(HDB 456,655,Marianao -vedado,[
chofer(aalvaro,52,[
l,mi,v]),
chofer(alberto,62,[
ma,j,s])]),

omnibus(HDC 789,656,Marianao -habana vieja,[
chofer(carlos ,38,[
d,ma,j]),
chofer(manuel ,25,[
l,mi,v])]),

omnibus(HDD 147,657,marianao -novia del mediodia,[
chofer(gustavo,33,[
ma,j,s]),
chofer(janio ,60,[
l,mi,v,d])]),

omnibus(HDE 258,658,marianao -centro habana,[
chofer(charles,39,[
d,ma,j]),
chofer(alexander,42,[
l,mi,v,s])]),

omnibus(HDF 369,659,marianao -cotorro,[
chofer(yasmany ,49,[
l,mi,v,d]),
chofer(gilberto,31,[
ma,mi,j])])]).


Confeccione predicados en Prolog que permitan realizar las siguientes operaciones:

1.Dado la chapa de un ómnibus obtener el nombre de dos de los choferes que lo conducen.

2. Obtener dado un día de la semana el listado de los choferes que trabajan dicho día.

3. Dado el identificador de un ómnibus determinar el nombre del chofer que más días a la semana trabaja.

4. Dado el identificador de un ómnibus obtener los días laborables de los choferes mayores de 50 años.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

realizar ejercico en prolog

Publicado por juan david raga (1 intervención) el 17/01/2015 06:50:04
Hola tengo este codigo en prolog que hice basandome en los comentarios de varios de los compañeros pero tengo un problema y es que no se como hacer para pasar a la siguiente pregunta, si me podrian colaborar seria de mucha ayuda.
Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*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.



?-menu.

de ante mano muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

realizar ejercico en prolog

Publicado por El Yoa (1 intervención) el 31/03/2017 07:25:35
Hola necesito ayuda con este ejercicio. Gracias de antemano.

Se quiere realizar una aplicación en PROLOG, que permita simular el proceso de cruzamiento o de mutación de los individuos presentes en una población, haciendo uso de uno de los tantos operadores de cruzamiento y mutación definidos para los Algoritmos Genéticos (AG). Para ello se propone que sea definida una base de conocimientos que permita almacenar la información histórica de cada población obtenida de realizar estas operaciones. Cada una de estas poblaciones debe contener información sobre:
- Número consecutivo que lo identifica.
- Tipo de codificación de los individuos (binaria, entera, real).
- Longitud de la cadena de genes de los individuos.
- Lista de individuos que conforman la población. Por cada uno de estos individuos deberán registrarse los siguientes datos:
• Número que representa la evaluación del individuo.
• Lista con la codificación genética del individuo.

Nota: La base de conocimientos del programa debe contener al menos 5 hechos del tipo que se describe con valores hipotéticos.

Problema 10.
• Debe implementar el operador de mutación Swap Mutation y Inversion Mutation. Este operador de mutación se aplica solamente a poblaciones entera donde los elementos no pueden estar repetidos.
• Implementar la función de evaluación de un individuo consistente en la posición del elemento medio de la codificación.
• Obtener el identificador de todas las poblaciones con codificación real que tengan al menos un individuo con un gen cuyo valor sobrepase un valor X suministrado por el usuario.
Problema 11.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar