• Martes 5 de Noviembre de 2024, 17:33

Autor Tema:  Re: Programación Lógica o Declarativa (PROLOG)  (Leído 4923 veces)

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Re: Programación Lógica o Declarativa (PROLOG)
« en: Viernes 22 de Noviembre de 2002, 21:26 »
0
Hola a todos,
que digo yo, que no estaría mal un apartado sobre la programación lógica, declarativa y funcional. Para olvidarnos un poco de la programación imperativa (el clásico SI pasa esto HAZ esto, MIENTRAS pase esto HAZ aquello, etc...) y así tratar de aprender un poco de Visual Prolog, de Sicstus Prolog, de Haskell, etc...

Bueno, es una idea. He programado algo con Prolog y Haskell y, al menos, son una alternativa interesante.

Saludos a todos,
soy nuevo y me gusta el foro:P

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #1 en: Miércoles 27 de Noviembre de 2002, 17:22 »
0
:D:P:P

Eh solocodigo, solo quedan dos más, ¿no? Si lo apoyan dos más lo pones, ¿no?

:P
(qué poco éxito:()
Saludos

iron man

  • Administrador
  • ******
  • Mensajes: 1137
  • Nacionalidad: es
    • Ver Perfil
    • http://www.solocodigo.com/
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #2 en: Miércoles 27 de Noviembre de 2002, 20:18 »
0
jejeje buen intento!:)

Venga, aunque debería mantenerme al margen para conservar la imparcialidad que se me presupone como administrador:P apoyo tu propuesta. He oído hablar del prolog en alguna ocasión pero no lo he tocado nunca y por lo que cuentas parece interesante. Vamos a ver, seguro que alguien más se anima.

Un saludo;)

r3dsk1

  • Miembro MUY activo
  • ***
  • Mensajes: 291
    • Ver Perfil
    • http://usuarios.lycos.es/r3dsk1
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #3 en: Miércoles 27 de Noviembre de 2002, 20:48 »
0
Bueno dicen que saber nunca es malo,asi que no seria malo aprender una cosa mas.;)
Lo apoyo.

<<<r3ddsk1>>>

###########                                              
SoloCodigo #                  
The Best   ##                  
###########
 B)

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #4 en: Sábado 30 de Noviembre de 2002, 13:13 »
0
Hola,
solo quería poner un par de ejemplos en Prolog y Haskell, para que se hagan una idea de la potencia de estos lenguajes.

Por ejemplo, ¿cómo harían para invertir una cadena en C o Pascal o cualquier otro lenguaje imperativo? Seguro que lo saben.

Bien propondré tres problemas y sus soluciones con programación lógica (PROLOG) y programación funcional (HASKELL), a ver si les parece más interesante.

1º CALCULAR LA INVERSA DE UNA CADENA:

Prolog

invertir([ ],[ ]).
invertir([H|T],L) :- invertir(T,Z), append(Z,[H],L).

Haskell

invertir [ ] = [ ]
invertir (x:xs) = (invertir xs)++
sencillo, ¿no? Como véis se emplea mucho la recursión. Diría yo que es algo básico en estos lenguajes y lo más importante, funciona con absoluta lógica, pues es lo que haría cualquiera de nosotros de cabeza para resolverlo de ahí su nombre.

2º BÚSQUEDA SECUENCIAL:

Prolog

buscar(X, [X|_]).
buscar(X,[_|L]) :- buscar(X,L).

Haskell

buscar [ ] n = False
buscar (x:xs) n = if (x==n) then True else (buscar xs n)

3º LONGITUD DE UNA LISTA O ARRAY

Prolog

lon([ ],0).
lon([X|Y],N) :- lon(Y,M), N is M+1.

Haskell

lon [ ] = 0
lon (x:xs) = lon xs + 1

Bueno, ojalá os haya picado la curiosidad y apoyéis esta iniciativa.

SALUDOS.

r3dsk1

  • Miembro MUY activo
  • ***
  • Mensajes: 291
    • Ver Perfil
    • http://usuarios.lycos.es/r3dsk1
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #5 en: Sábado 30 de Noviembre de 2002, 18:11 »
0
Bueno yo la apoyo solo esperemos que mas miembros lo apoyen.

<<<Saludos>>>r3dsk1>>>

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #6 en: Lunes 9 de Diciembre de 2002, 02:20 »
0
¿Es que nadie se anima?

Saludos.

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #7 en: Jueves 12 de Diciembre de 2002, 17:08 »
0
Hola,

tengo hecha una aplicación con Visual Prolog 5.1 (en realidad dos aplicaciones), sobre la gestión de ventas de una perfumería, con su propia base de datos, sus menús y todo lo que necesita una aplicación mínimamente aceptable.
El programa es realmente sencillo y fácilmente modificable y mantenible. Porque una de las ventajas de la programación declarativa es que los requisitos o el análisis previo a la implementación se convierte prácticamente en la propia implementación. Esto puede parecer raro al principio pero hace que los programas sean mucho más fáciles de modificar y mantener (por lo tanto, más baratos).
Si alguien quiere que le pase los archivos con la implementación de la aplicación en Visual Prolog 5.1 que me lo diga. Y si alguien quiere también el ejecutable porque no puede compilar los fuentes (que será algo normal porque no encuentro a nadie que tenga el VP5.1 por ninguna parte) pues se lo envio con mucho gusto.

Pondría alguna ventanita como hace r3dsk1, pero es que no sé cómo se hace.:)

Saludos.
¡Y apoyen la idea de este foro!

iron man

  • Administrador
  • ******
  • Mensajes: 1137
  • Nacionalidad: es
    • Ver Perfil
    • http://www.solocodigo.com/
Re: Programación Lógica o Declarativa (PROLOG)
« Respuesta #8 en: Jueves 12 de Diciembre de 2002, 18:39 »
0
Hola,

El foro sobre Programación Lógica ha sido creado.

A disfrutarlo!:D

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Programación Lógica o Declarativa (PROLOG)
« Respuesta #9 en: Viernes 13 de Diciembre de 2002, 02:31 »
0