• Martes 12 de Noviembre de 2024, 21:10

Autor Tema:  Que Es Prolog????  (Leído 5478 veces)

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Que Es Prolog????
« en: Lunes 7 de Agosto de 2006, 20:18 »
0
:P  :P  :P  :P  :P


Hola a todos quisiera preguntarles que diablos es prolog para que sirve y quienes lo usan lo he escuchado por ahi y dicen que me lo van a enseñar pero antes queria preguntarles su opinion????
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #1 en: Lunes 7 de Agosto de 2006, 20:35 »
0
http://en.wikipedia.org/wiki/Prolog

Uno me dijo que es asqueroso y prefiere Delphi y C, pero yo no se si sea cierto porque no me interesa. :whistling:

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #2 en: Martes 8 de Agosto de 2006, 12:36 »
0
Citar
Uno me dijo que es asqueroso y prefiere Delphi y C, pero yo no se si sea cierto porque no me interesa.

Te imaginas la cantidad de lineas de codigo que tendrias que usar para realizar un sistema experto, el que te lo dijo o no tiene mucho que hacer (Para escribir un codigo tan grande) o simplemente no entiende que prolog trabaja con un paradigma totalmente diferente a la de la programacion común por asi decirlo jejeje

Prolog es un standar en la programacion logica, si no mal recuerdo fue llamado el lenguaje oficial de la IA  :unsure: pero no recuerdo bien :P jejeje lo que si te quiero decir bicholey es que vas a tener que pensar de una manera diferente a la programacion comun.

por cierto prolog en si es muy viejito y no se puede hacer nada muy visual, asi que existen implementaciones para esto, te sugiero una libre muy buena

SWI-Prolog aunque sino tambien es buena Visual Prolog

http://es.wikipedia.org/wiki/Prolog

leandrog

  • Moderador
  • ******
  • Mensajes: 153
  • Nacionalidad: ve
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #3 en: Martes 8 de Agosto de 2006, 13:47 »
0
Prolog es un Leanguaje de programacion de paradigma de programacion Logica, alli todo es por lolgica y lo mejor, no hace falta declarar variables  :D .

Saludos.

PD: no tiene solo eso, tambien muchisimas cosas mas a su favor pero aun sigo "jugando" con el para probarlo jejeje. :P
Leandro Gugliotta

ImaginBlog[/url]

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #4 en: Martes 8 de Agosto de 2006, 17:08 »
0
Citar
lo mejor, no hace falta declarar variables
eso es porque no existen tipos de datos como en la programacion comun aqui solo basta con poner el nombre de la variable en mayusculas y listo.

PD investiga sobre IA antes de que uses el prolog ;) :hola:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Que Es Prolog????
« Respuesta #5 en: Martes 8 de Agosto de 2006, 17:55 »
0
Cita de: "ArKaNtOs"
Citar
lo mejor, no hace falta declarar variables
eso es porque no existen tipos de datos como en la programacion comun aqui solo basta con poner el nombre de la variable en mayusculas y listo.

PD investiga sobre IA antes de que uses el prolog ;) :hola:
como era en visual vasic 6.0 y sera en C# 3.0 o al menos eso vi en los planes aunque no me convence para nada.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #6 en: Martes 8 de Agosto de 2006, 21:29 »
0
Citar
como era en visual vasic 6.0

Creo que te equivocas, en VB 6.0 si existen tipos de datos, solo que cuando no declaras una variable, por defecto esta tiene el tipo de datos variant, que admite todos los tipos de datos comunes, el problema es que ocupa mas espacio en memoria que cualquier otro tipo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Que Es Prolog????
« Respuesta #7 en: Martes 8 de Agosto de 2006, 21:30 »
0
a eso me referia, es practicamente lo mismo que declarar un dato sin definirle un tipo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #8 en: Martes 8 de Agosto de 2006, 21:42 »
0
si nada mas que la ENORME diferencia es que prolog es otro paradigma ;)

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Que Es Prolog????
« Respuesta #9 en: Martes 8 de Agosto de 2006, 21:43 »
0
Citar
como era en visual vasic 6.0 y sera en C# 3.0 o al menos eso vi en los planes aunque no me convence para nada

Esperemos que no ¡¡¡ No me gusta nada esa idea. El codigo seria mucho mas confuso y dificil de entender  ;)

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #10 en: Martes 8 de Agosto de 2006, 21:54 »
0
Citar
Esperemos que no ¡¡¡ No me gusta nada esa idea. El codigo seria mucho mas confuso y dificil de entender

De hecho el codigo de VB es exageradamente sencillo de entender, pero el de prolog si no tienes mucha experiencia te resultara algo engorroso jejeje

http://es.wikipedia.org/wiki/Prolog

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Que Es Prolog????
« Respuesta #11 en: Martes 8 de Agosto de 2006, 21:56 »
0
Aca esta el documento.

http://download.microsoft.com/download/5/8...ecification.doc

De destacar por el momento ( no lo he mirado mucho) lo de inline SQL CODE me parece la berraquera porque eso lo usa ORacle PL/SQL y hace muy facil muchas tareas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #12 en: Martes 8 de Agosto de 2006, 23:42 »
0
Personalmente no me gusta Prolog por complicado, es un tool muy poderoso, sin duda alguna.
Pero creo que en estos tiempos saldria mejor un poco de Scheme y un poquito de Lisp, pero como ya se ha dicho, un lenguaje de mas nunca sobra  :)
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #13 en: Miércoles 9 de Agosto de 2006, 20:14 »
0
:P  :P  :P  :P  :P

Gracias por sus respuesta¡¡¡¡¡¡¡¡
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


x.cyclop

  • Miembro de PLATA
  • *****
  • Mensajes: 1039
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #14 en: Miércoles 9 de Agosto de 2006, 23:54 »
0
Se nota que es otro paradigma, está raro. :ph34r:

Código: Text
  1. :- write('Hello, world'),nl.
  2.  

- Great works aren't produced on the first try. [Ernest Hemingway]
- Be ambitious, yet realistic in your dreams. Do something that makes a positive impact. Don’t let the nay-sayers get you down. [Bjarne Stroustrup]

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Que Es Prolog????
« Respuesta #15 en: Jueves 10 de Agosto de 2006, 08:04 »
0
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.

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

Código: Text
  1. :- use_module(library(pce)).
  2.  
  3. escribe(Texto):-
  4.   write(Texto).
  5.  
  6. comienzo(Valor):-
  7.   componente(Valor, Tipo),
  8.   resultado(Valor, Tipo),
  9.   nl, deshacer.
  10.  
  11. arranque:-
  12.  
  13. new(Dialogo, dialog('Adivinador de Componentes de PC')),
  14. new(Uso1, menu('¿Es un componente interno o Externo?:', marked)),
  15.  
  16. /*Funciones Send*/
  17.  
  18. send(Dialogo, append, new(Nom, text_item('¿Cual es su nombre?'))),
  19. send(Uso1, append, interno),
  20. send(Uso1, append, externo),
  21. send(Dialogo, append(Uso1)),
  22.  
  23. send(Dialogo, append, button('Continuar', and(
  24.   message(@prolog, escribe, Nom?selection),
  25.   message(@prolog, escribe, ' '),
  26.   message(@prolog, escribe, 'La Solucion se dio por:'),
  27.   message(@prolog, comienzo, Uso1?selection)))),
  28.  
  29. send(Dialogo, open).
  30.  
  31. componente(interno, ialmacena_tempo):-
  32.   ialmacena_tempo,!.
  33. componente(interno, ialmacena_notempob):-
  34.   ialmacena_notempob,!.
  35. componente(interno, ialmacena_notempod):-
  36.   ialmacena_notempod,!.
  37. componente(interno, procesa):-
  38.   procesa,!.
  39. componente(interno, pasaco):-
  40.   pasaco,!.
  41. componente(interno, conjuga):-
  42.   conjuga,!.
  43. componente(interno, pitido):-
  44.   pitido,!.
  45. componente(interno, leeograbaf):-
  46.   leeograbaf,!.
  47. componente(interno, leeograbalc):-
  48.   leeograbalc,!.
  49. componente(interno, leeograbald):-
  50.   leeograbald,!.
  51. componente(interno, leeograbaq):-
  52.   leeograbaq,!.
  53. componente(interno, descono):-
  54.   descono,!.
  55. componente(externo, lapizop):-
  56.   lapizop,!.
  57. componente(externo, raton):-
  58.   raton,!.
  59. componente(externo, teclado):-
  60.   teclado,!.
  61. componente(externo, audifonos):-
  62.   audifonos,!.
  63. componente(externo, bocinas):-
  64.   bocinas,!.
  65. componente(externo, monitor):-
  66.   monitor,!.
  67. componente(externo, escanner):-
  68.   escanner,!.
  69. componente(externo, multifun):-
  70.   multifun,!.
  71. componente(externo, impresora):-
  72.   impresora,!.
  73. componente(externo, regulador):-
  74.   regulador,!.
  75. componente(externo, nobreak):-
  76.   nobreak,!.
  77. componente(externo, descono):-
  78.   descono,!.
  79.  
  80. ialmacena_tempo:- checa('¿hace esto?'), checa('¿hace el otro?'),!.
  81. ialmacena_notempob:- checa('¿Almacena esto....?'), checa('¿Lo hace de manera No Temporal?'), checa('¿Guarda datos de la config del Hardware?'),!.
  82. descono:- afirma('No es ninguno de estos'),!.
  83.  
  84. resultado(externo, descono):-
  85.   new(ResulD, dialog('Resultado:')),
  86.   new(L, label(resul, 'Desconocido')),
  87.   send(ResulD, append(L)),
  88.   new(B, button('Listo', and(message(ResulD, destroy), message(ResulD,free)))),
  89.   send(ResulD, append(B)),
  90.   send(ResulD, open).
  91.  
  92. .
  93. .
  94. .
  95. .....
  96.  
  97. afirma(Tipo3):-
  98.   new(Dialogo3, dialog('Afirmacion: ')),
  99.   new(Texto, label(tipo,Tipo3)),
  100.   new(Byes, button(si,and(message(Dialogo3, return, si)))),
  101.   send(Dialogo3, append(Texto)),
  102.   send(Dialogo3, append(Byes)),
  103.   send(Dialogo3, default_button, si),
  104.   send(Dialogo3, open),
  105.   get(Dialogo3, confirm, Respuesta),
  106.   write(Respuesta),
  107.   write(' '),
  108.   send(Dialogo3,destroy),
  109.   ((Respuesta==si)->assert(yes(Tipo3));
  110.   assert(no(Tipo3)),fail).
  111.  
  112. /*Pregunta*/
  113.  
  114. pregunta(Tipo2):-
  115.   new(Dialogo2, dialog('Pregunta: ')),
  116.   new(Texto, label(tipo,Tipo2)),
  117.   new(Byes, button(si,and(
  118.     message(Dialogo2, return, si)))),
  119.   new(Bno, button(no,and(message(Dialogo2, return, no)))),
  120.   send(Dialogo2, append(Texto)),
  121.   send(Dialogo2, append(Byes)),
  122.   send(Dialogo2, append(Bno)),
  123.   send(Dialogo2, default_button, si),
  124.   send(Dialogo2, open),
  125.   get(Dialogo2, confirm, Respuesta),
  126.   write(Respuesta),
  127.   write(' '),
  128.   send(Dialogo2,destroy),
  129.   ((Respuesta==si)->assert(yes(Tipo2));
  130.   assert(no(Tipo2)),fail).
  131.  
  132. :-dynamic yes/1,no/1.
  133.  
  134. checa(Prop):-
  135. (yes(Prop)->true;(no(Prop)->fail;
  136. pregunta(Prop))).
  137. /*deshacer todas las aserciones*/
  138. deshacer:-retract(yes(_)),fail.
  139. deshacer:-retract(no(_)),fail.
  140. deshacer.
  141.  
  142.  

Ahora explica este :P es uno bien guarro cuando apenas empezaba a aprenderlo :whistling:  :comp: