Páginas

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.

Mathematica

Mathematica
Mathematica

Etiquetas

Datos personales

Mi foto
Ingeniero
Esp. Informática y Computación
Esp. Administración de Sistemas

apache Flex

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 clic en el igual

Seguidores

jueves, 1 de noviembre de 2012

PostHeaderIcon PROLOG: Permutacion de una lista


Este programa encuentra todas las permutaciones de los elementos de una lista (La permutación de un conjunto se define como cada una de las posibles ordenaciones de todos los elementos de dicho conjunto):


my_permutation(Bs, [A|As]):-
          my_append(Xs, [A|Ys], Bs), 
          my_append(Xs, Ys, Zs),
          my_permutation(Zs, As).

my_permutation([], []).


Para ejecutar el programa:


?- my_permutation([a,b,c],Ls).


Y el resultado es:


Ls = [a,b,c]
Ls = [a,c,b]
Ls = [b,a,c]
Ls = [b,c,a]
Ls = [c,a,b]
Ls = [c,b,a]


Nota: Este programa usa algunas reglas (programas) definidas anteriormente.


*** Programa probado en WinProlog versión 4.7 ***
 

5 comentarios:

Anónimo dijo...

No sirve tu madre esa, pon las cosas bien cabrooooooooooon.

a8a dijo...

Hola

Probablemente si usas el código de esta sección unido a la regla "my_append" definida en otra entrada del blog, te funcione bien.

Si te fijas, al final de la entrada dice: "Nota: Este programa usa algunas reglas (programas) definidas anteriormente."

Saludos

Unknown dijo...

Oye, amigo, a mi solo me aparece la misma lista de la entrada, no las permutaciones. =(

a8a dijo...

Hola

El programa esta bien. Solo debes buscar la función my_append en el blog que debe estar presente en el código.

Luego, cuando pruebes el objetivo:

my_permutation([a,b,c],Ls).

Prolog devolverá una solución (Ls = [a,b,c] ), y si das punto y coma (;), Prolog mostrará las demas soluciones.

Saludos

Anónimo dijo...

donde chingados está my_append, yo quiero las cosas en la mano hdtptm

Publicar un comentario

Apache Flex

Wolfram Programming Lab