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

martes, 31 de mayo de 2011

PostHeaderIcon PROLOG: Media aritmetica de una lista


Este programa calcula la media aritmética (promedio) de los elementos de una lista:

my_average(Xs, A):-
          my_length(Xs, L),
          my_sum_elements(Xs, S),
          A is S / L.


Para ejecutar el programa:

?- my_average([1,2,3,4,5,6], A).


Y el resultado es:

A = 3.5


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



*** Programa probado en WinProlog versión 4.7 ***
martes, 24 de mayo de 2011

PostHeaderIcon PROLOG: Multiplica elementos de una lista (versión 2)


Este programa multiplica los elementos de una lista:


my_mul_elements([], S, S).

my_mul_elements([X|Xs], T, S):-
T2 is T * X,
my_mul_elements(Xs, T2, S).


Para ejecutar el programa:


?- my_mul_elements([1,2,3,4,5], 1, S).


Y el resultado es:


S = 120



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

PostHeaderIcon PROLOG: Multiplica elementos de una lista


Este programa multiplica los elementos de una lista:


my_mul_elements([], 1).

my_mul_elements([X|Xs], S):-
my_mul_elements(Xs, S2),
S is S2 * X.


Para ejecutar el programa:


?- my_mul_elements([1,2,3,4,5], S).


Y el resultado es:


S = 120



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

domingo, 22 de mayo de 2011

PostHeaderIcon PROLOG: Suma elementos de una lista (versión 2)


Este programa suma los elementos de una lista:


my_sum_elements([], S, S).

my_sum_elements([X|Xs], T, S):-
T2 is T + X,
my_sum_elements(Xs, T2, S).


Para ejecutar el programa:


?- my_sum_elements([1,2,3,4,5], 0, S).


Y el resultado es:


S = 15



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

miércoles, 18 de mayo de 2011

PostHeaderIcon PROLOG: Suma elementos de una lista


Este programa suma los elementos de una lista:


my_sum_elements([], 0).

my_sum_elements([X|Xs], S):-
my_sum_elements(Xs, S2),
S is S2 + X.


Para ejecutar el programa:


?- my_sum_elements([1,2,3,4,5], S).


Y el resultado es:


S = 15



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

lunes, 16 de mayo de 2011

PostHeaderIcon PROLOG: Borra elemento de una lista


Este programa elimina todas las ocurrencias de un elemento en una lista:


my_remove_element(_, [], []).

my_remove_element(Y, [Y|Xs], Zs):-
my_remove_element(Y, Xs, Zs), !.

my_remove_element(X, [Y|Xs], [Y|Zs]):-
my_remove_element(X, Xs, Zs).


Para ejecutar el programa:


?- my_remove_element(b, [a,b,c,b,e,b,f,g], Zs).


Y el resultado es:


Zs = [a,c,e,f,g]



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

sábado, 14 de mayo de 2011

PostHeaderIcon PROLOG: Elemento N de una lista (versión 2)


Este programa devuelve el elemento en la posición N de una lista:


my_n_element([Y|_], N, N, Y).

my_n_element([_|Xs], I, N, Y):-
I2 is I + 1,
my_n_element(Xs, I2, N, Y).


Para ejecutar el programa:


?- my_n_element([m,j,k,e,w], 1, 3, X).


Y el resultado es:


X = k



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

PostHeaderIcon PROLOG: Elemento N de una lista


Este programa devuelve el elemento en la posición N de una lista:


my_n_element([Y|_], 1, Y).

my_n_element([_|Xs], N, Y):-
N2 is N - 1,
my_n_element(Xs, N2, Y).


Para ejecutar el programa:


?- my_n_element([m,j,k,e,w], 3, X).


Y el resultado es:


X = k



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

PostHeaderIcon PROLOG: Borra un elemento de una lista


Este programa elimina un elemento en una lista. Si el elemento a borrar existe en la lista mas de una vez, se obtendrán varias respuestas (por backtraking) y en cada una solo se eliminara un elemento:


my_remove_one_element(X, [X|Xs], Xs).

my_remove_one_element(X, [Y|Ys], [Y|Zs]):-
my_remove_one_element(X, Ys, Zs).


Para ejecutar el programa:


?- my_remove_one_element(b, [a,b,c,b,e,b,f,g], Zs).


Y el resultado es:


Zs = [a,c,b,e,b,f,g]
Zs = [a,b,c,e,b,f,g]
Zs = [a,b,c,b,e,f,g]


Para ejecutar el programa:


?- my_remove_one_element(b, Ys, [a,c,e]).


Y el resultado es:


Ys = [b,a,c,e]
Ys = [a,b,c,e]
Ys = [a,c,b,e]
Ys = [a,c,e,b]


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


jueves, 12 de mayo de 2011

PostHeaderIcon PROLOG: Ultimo elemento de una lista (versión 2)


Este programa devuelve el último elemento de una lista:

my_last_element(Xs, X):-
          my_append(_, [X], Xs).


Para ejecutar el programa:

?- my_last_element([m,j,k,e,w], X).


Y el resultado es:

X = w


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



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

PostHeaderIcon PROLOG: Ultimo elemento de una lista


Este programa devuelve el último elemento de una lista:


my_last_element([Y], Y).

my_last_element([_|Xs], Y):-
my_last_element(Xs, Y).


Para ejecutar el programa:


?- my_last_element([m,j,k,e,w], X).


Y el resultado es:


X = w



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

PostHeaderIcon PROLOG: Primer elemento de una lista


Este programa devuelve el primer elemento de una lista:


my_first_element([X|_], X).


Para ejecutar el programa:


?- my_first_element([m,j,k,e,w], X).


Y el resultado es:


X = m



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

lunes, 9 de mayo de 2011

PostHeaderIcon PROLOG: Invierte una lista


Este programa invierte una lista:


my_reverse([], Zs, Zs).

my_reverse([X|Xs], Ys, Zs):-
my_reverse(Xs, [X|Ys], Zs).


Para ejecutar el programa:


?- my_reverse([1,2,3,4,5], [], Ls).


Y el resultado es:


Ls = [5,4,3,2,1]


Nota: Algunas versiones de Prolog, como WinProlog, tienen la función REVERSE predefinida.


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

PostHeaderIcon PROLOG: Longitud de una lista (versión 2)


Este programa calcula la longitud de una lista:


my_length([], L, L).

my_length([_|Xs], N, L):-
N2 is N + 1,
my_length(Xs, N2, L).


Para ejecutar el programa:


?- my_length([a,b,c,d,e], 0, L).


Y el resultado es:


L = 5


Nota: Algunas versiones de Prolog, como WinProlog, tienen la función LENGTH predefinida.


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

PostHeaderIcon PROLOG: Longitud de una lista


Este programa calcula la longitud de una lista:


my_length([], 0).

my_length([_|Xs], L):-
my_length(Xs, L2),
L is L2 + 1.


Para ejecutar el programa:


?- my_length([a,b,c,d,e], L).


Y el resultado es:


L = 5


Nota: Algunas versiones de Prolog, como WinProlog, tienen la función LENGTH predefinida.


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

domingo, 8 de mayo de 2011

PostHeaderIcon PROLOG: Busca elemento en una lista


Este programa permite buscar si un elemento esta dentro de una lista de elementos:


my_member(X, [X|_]).

my_member(X, [_|Ys]):-
my_member(X, Ys).


Para ejecutar el programa:


?- my_member(3, [1,2,5,2,1,3,4]).


Y el resultado es:


yes


Para ejecutar el programa:


?- my_member(8, [1,2,5,2,1,3,4]).


Y el resultado es:


no


Nota: Algunas versiones de Prolog, como WinProlog, tienen la función MEMBER predefinida.


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

PostHeaderIcon PROLOG: Concatena listas


Este programa concatena o une dos listas:


my_append([], Cs, Cs).

my_append([A|As],Bs,[A|Cs]):-
my_append(As, Bs, Cs).


Para ejecutar el programa:


?- my_append([a,b,c], [w,x,y,z], Ls).


Y el resultado es:


Ls = [a,b,c,w,x,y,z]


Nota: Algunas versiones de Prolog, como WinProlog, tienen la función APPEND predefinida.


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

Apache Flex

Wolfram Programming Lab