Informática en general > Dudas informáticas

 Que Es Prolog????

<< < (4/4)

ArKaNtOs:

--- Citar ---10 últimos mensajes [ en orden inverso ]
X.Cyclop  Escrito el Agosto 09, 2006 04:54 pm
     Se nota que es otro paradigma, está raro. ph34r.gif

CODE
:- write('Hello, world'),nl.
--- Fin de la cita ---

jejeje lo raro no esta en imprimir una linea, lo dificil esta en otros aspectos ;)


--- Código: Text ---:- use_module(library(pce)). escribe(Texto):-  write(Texto). comienzo(Valor):-  componente(Valor, Tipo),  resultado(Valor, Tipo),  nl, deshacer. arranque:- new(Dialogo, dialog('Adivinador de Componentes de PC')),new(Uso1, menu('¿Es un componente interno o Externo?:', marked)),  /*Funciones Send*/ send(Dialogo, append, new(Nom, text_item('¿Cual es su nombre?'))),send(Uso1, append, interno),send(Uso1, append, externo),send(Dialogo, append(Uso1)), send(Dialogo, append, button('Continuar', and(  message(@prolog, escribe, Nom?selection),  message(@prolog, escribe, ' '),  message(@prolog, escribe, 'La Solucion se dio por:'),   message(@prolog, comienzo, Uso1?selection)))), send(Dialogo, open). componente(interno, ialmacena_tempo):-  ialmacena_tempo,!.componente(interno, ialmacena_notempob):-  ialmacena_notempob,!.componente(interno, ialmacena_notempod):-  ialmacena_notempod,!.componente(interno, procesa):-   procesa,!.componente(interno, pasaco):-  pasaco,!.componente(interno, conjuga):-  conjuga,!.componente(interno, pitido):-  pitido,!.componente(interno, leeograbaf):-  leeograbaf,!.componente(interno, leeograbalc):-  leeograbalc,!.componente(interno, leeograbald):-  leeograbald,!.componente(interno, leeograbaq):-  leeograbaq,!.componente(interno, descono):-  descono,!.componente(externo, lapizop):-  lapizop,!.componente(externo, raton):-  raton,!.componente(externo, teclado):-  teclado,!.componente(externo, audifonos):-  audifonos,!.componente(externo, bocinas):-  bocinas,!.componente(externo, monitor):-  monitor,!.componente(externo, escanner):-  escanner,!.componente(externo, multifun):-  multifun,!.componente(externo, impresora):-  impresora,!.componente(externo, regulador):-  regulador,!.componente(externo, nobreak):-  nobreak,!.componente(externo, descono):-  descono,!. ialmacena_tempo:- checa('¿hace esto?'), checa('¿hace el otro?'),!.ialmacena_notempob:- checa('¿Almacena esto....?'), checa('¿Lo hace de manera No Temporal?'), checa('¿Guarda datos de la config del Hardware?'),!.descono:- afirma('No es ninguno de estos'),!. resultado(externo, descono):-  new(ResulD, dialog('Resultado:')),  new(L, label(resul, 'Desconocido')),  send(ResulD, append(L)),  new(B, button('Listo', and(message(ResulD, destroy), message(ResulD,free)))),  send(ResulD, append(B)),  send(ResulD, open). ........ afirma(Tipo3):-  new(Dialogo3, dialog('Afirmacion: ')),  new(Texto, label(tipo,Tipo3)),  new(Byes, button(si,and(message(Dialogo3, return, si)))),  send(Dialogo3, append(Texto)),  send(Dialogo3, append(Byes)),  send(Dialogo3, default_button, si),  send(Dialogo3, open),  get(Dialogo3, confirm, Respuesta),  write(Respuesta),  write(' '),  send(Dialogo3,destroy),  ((Respuesta==si)-&#62;assert(yes(Tipo3));  assert(no(Tipo3)),fail). /*Pregunta*/ pregunta(Tipo2):-  new(Dialogo2, dialog('Pregunta: ')),  new(Texto, label(tipo,Tipo2)),  new(Byes, button(si,and(    message(Dialogo2, return, si)))),  new(Bno, button(no,and(message(Dialogo2, return, no)))),  send(Dialogo2, append(Texto)),  send(Dialogo2, append(Byes)),  send(Dialogo2, append(Bno)),  send(Dialogo2, default_button, si),  send(Dialogo2, open),  get(Dialogo2, confirm, Respuesta),  write(Respuesta),  write(' '),  send(Dialogo2,destroy),  ((Respuesta==si)-&#62;assert(yes(Tipo2));  assert(no(Tipo2)),fail). :-dynamic yes/1,no/1. checa(Prop):-(yes(Prop)-&#62;true;(no(Prop)-&#62;fail;pregunta(Prop)))./*deshacer todas las aserciones*/deshacer:-retract(yes(_)),fail.deshacer:-retract(no(_)),fail.deshacer.  
Ahora explica este :P es uno bien guarro cuando apenas empezaba a aprenderlo :whistling:  :comp:

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa