Bienvenidos
Este blog busca darle algunas herramientas para trabajar con varios de los programas más interesantes y útiles de la actualidad.
El objetivo es emplear ejemplos y su desarrollo paso a paso para que el aprendizaje sea lo más fácil y real posible.
El objetivo es emplear ejemplos y su desarrollo paso a paso para que el aprendizaje sea lo más fácil y real posible.
Etiquetas
- _todos_ (66)
- mathematica (1)
- programacion (66)
- prolog (48)
- purebasic (15)
- winprolog (47)
Datos personales
Videos Ejemplo
Programas
Frameworks
Libros
Mathematica
Todo el poder de Mathematica en la Web:
Ejemplos de uso:
1) Plot3D[Sin[x]*Cos[y],{x,0,2 Pi},{y,0,Pi}]
2) Colombia
Escribe el ejemplo y da 'enter' o clic en el igual
Ejemplos de uso:
1) Plot3D[Sin[x]*Cos[y],{x,0,2 Pi},{y,0,Pi}]
2) Colombia
Escribe el ejemplo y da 'enter' o clic en el igual
Seguidores
domingo, 18 de septiembre de 2011
PROLOG: Mira si una lista es Palindrome
12:41 |
Publicado por
a8a |
Editar entrada
Este programa revisa si una lista es palindrome. Una palabra, frase o lista es Palindrome si se lee igual hacia adelante que hacia atrás (ejemplo ana, 13531, [1,2,3,2,1], oso):
my_palindrome(Xs):-
my_reverse(Xs, Xs).
Para ejecutar el programa:
?- my_palindrome([a,b,c,d,e,d,c,b,a]).
Y el resultado es:
yes
Para ejecutar el programa:
?- my_palindrome([a,b,c,d,e]).
Y el resultado es:
no
Nota: Este programa usa algunas reglas (programas) definidas anteriormente.
Suscribirse a:
Enviar comentarios (Atom)
4 comentarios:
AYUDA:
como defino el predicado my_reverse ?.
Lo defino asi:
my_reverse : (char*,char*) procedure (i,o).
y me sale error!!!!!!! ayuda porfa...
Hola
El predicado "my_reverse" se encuentra en una entrada anterior del blog.
Puedes encontrar tres versiones diferentes de este predicado en los tres enlaces siguientes:
http://xpasos.blogspot.com/2011/05/prolog-invierte-una-lista.html
http://xpasos.blogspot.com/2011/07/prolog-invierte-una-lista-version-2.html
http://xpasos.blogspot.com/2011/07/prolog-invierte-una-lista-version-3.html
Si tienes duda sobre otro predicado, puedes localizarlo usando el buscador situado en la parte superior de la pagina.
Espero te sirva la respuesta.
Este código funciona en GNU Prolog:
my_reverse([X|Xs], Ys, Zs):-my_reverse(Xs, [X|Ys], Zs).
my_reverse([], Ys, Ys).
my_palindrome(Xs):-my_reverse(Xs, [], Xs).
Notese que la definición de my_palindrome se agregó [] pues my_reverse está definida con 3 argumentos.
Johntux
Tienes razón sobre my_reverse (versión 1), ya que usa tres argumentos.
La versión 2 de my_reverse usa solo dos argumentos y la puedes ver en el siguiente enlace:
http://xpasos.blogspot.com/2011/07/prolog.html
Publicar un comentario