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
Archivo del blog
-
▼
2011
(38)
- ► septiembre (1)
-
▼
mayo
(17)
- PROLOG: Media aritmetica de una lista
- PROLOG: Multiplica elementos de una lista (versión 2)
- PROLOG: Multiplica elementos de una lista
- PROLOG: Suma elementos de una lista (versión 2)
- PROLOG: Suma elementos de una lista
- PROLOG: Borra elemento de una lista
- PROLOG: Elemento N de una lista (versión 2)
- PROLOG: Elemento N de una lista
- PROLOG: Borra un elemento de una lista
- PROLOG: Ultimo elemento de una lista (versión 2)
- PROLOG: Ultimo elemento de una lista
- PROLOG: Primer elemento de una lista
- PROLOG: Invierte una lista
- PROLOG: Longitud de una lista (versión 2)
- PROLOG: Longitud de una lista
- PROLOG: Busca elemento en una lista
- PROLOG: Concatena listas
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
martes, 31 de mayo de 2011
PROLOG: Media aritmetica de una lista
10:42 |
Publicado por
a8a |
Editar entrada
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.
martes, 24 de mayo de 2011
PROLOG: Multiplica elementos de una lista (versión 2)
11:30 |
Publicado por
a8a |
Editar entrada
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
PROLOG: Multiplica elementos de una lista
11:27 |
Publicado por
a8a |
Editar entrada
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
domingo, 22 de mayo de 2011
PROLOG: Suma elementos de una lista (versión 2)
16:18 |
Publicado por
a8a |
Editar entrada
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
miércoles, 18 de mayo de 2011
PROLOG: Suma elementos de una lista
14:02 |
Publicado por
a8a |
Editar entrada
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
lunes, 16 de mayo de 2011
PROLOG: Borra elemento de una lista
14:39 |
Publicado por
a8a |
Editar entrada
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]
sábado, 14 de mayo de 2011
PROLOG: Elemento N de una lista (versión 2)
21:55 |
Publicado por
a8a |
Editar entrada
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
PROLOG: Elemento N de una lista
20:39 |
Publicado por
a8a |
Editar entrada
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
PROLOG: Borra un elemento de una lista
17:59 |
Publicado por
a8a |
Editar entrada
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]
jueves, 12 de mayo de 2011
PROLOG: Ultimo elemento de una lista (versión 2)
10:00 |
Publicado por
a8a |
Editar entrada
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.
PROLOG: Ultimo elemento de una lista
2:26 |
Publicado por
a8a |
Editar entrada
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
PROLOG: Primer elemento de una lista
2:13 |
Publicado por
a8a |
Editar entrada
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
lunes, 9 de mayo de 2011
PROLOG: Invierte una lista
18:30 |
Publicado por
a8a |
Editar entrada
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.
PROLOG: Longitud de una lista (versión 2)
13:27 |
Publicado por
a8a |
Editar entrada
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.
PROLOG: Longitud de una lista
12:48 |
Publicado por
a8a |
Editar entrada
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.
domingo, 8 de mayo de 2011
PROLOG: Busca elemento en una lista
21:23 |
Publicado por
a8a |
Editar entrada
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.
PROLOG: Concatena listas
20:51 |
Publicado por
a8a |
Editar entrada
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.
Suscribirse a:
Entradas (Atom)