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, 3 de noviembre de 2011

PostHeaderIcon PROLOG: Busca numero menor en lista


Este programa busca en una lista de números el menor:

my_list_min(M, [X|Xs]):-
         my_list_min2(M, X, Xs).

my_list_min2(M, M, []):- !.

my_list_min2(X, Y, [Z|Zs]):-
          Z =< Y,
          !,
          my_list_min2(X, Z, Zs).

my_list_min2(X, Y, [Z|Zs]):-
          Z >= Y,
          my_list_min2(X, Y, Zs).


Para ejecutar el programa:

?- my_list_min(M, [5,3,9,2,8,7]).


Y el resultado es:

M = 2




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

2 comentarios:

Anónimo dijo...

Otra solución aprovechando mejor (a mi entender) la naturaleza recursiva, ya que no necesita una variable auxiliar para almacenar el resultado:

menor([X], X) :- !.
menor([M|L], M) :- menor(L, M1), M =< M1, !.
menor([_|L], M1) :- menor(L, M1).

Saludos

a8a dijo...

Hola

Tienes razón, esta es una forma recursiva de resolver el problema. Adicionare tu código al Blog.

Gracias por el aporte.

Publicar un comentario

Apache Flex

Wolfram Programming Lab