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
sábado, 14 de mayo de 2011
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]
Suscribirse a:
Enviar comentarios (Atom)
5 comentarios:
Necesito eliminar el ultimo elemento de una lista
Hola
Acabo de adicionar un ejemplo de como borrar el último elemento de una lista, espero te sirva:
http://xpasos.blogspot.com/2013/04/prolog-borra-ultimo-elemento-de-lista.html
Suponga que tiene los hechos que siguen:
Nombre (0, cero). Nombre (1, uno). Nombre (2, dos).
Nombre (3, tres). Nombre (4, cuatro). Nombre (5, cinco).
Nombre (6, seis). Nombre (7, siete). Nombre (8, ocho).
Nombre (9, nueve).
Escriba un predicado en PROLOG que traduzca una lista de números enteros, a una lista L1 de los nombres de los números presentes en la lista original.
Ejemplo: Si L = [1, 5, 6] el predicado debe generar la lista L1 = [uno, cinco, seis].
Hola
Acabo de ver el comentario anterior y según entiendo quieren hacer una regla que cambie una lista de números por su correspondiente en texto. Bueno, lo primero es corregir la info de entrada:
Nombre (0, cero) ...
falla, porque en Prolog las variables se inician con una mayúscula y en este caso como es un predicado debe ser en minúsculas, además no deben haber espacios entre Nombre y el paréntesis.
El programa sería algo así:
nombre(0, cero). nombre(1, uno). nombre(2, dos).
nombre(3, tres). nombre(4, cuatro). nombre(5, cinco).
nombre(6, seis). nombre(7, siete). nombre(8, ocho).
nombre(9, nueve).
cambia([], []).
cambia([X|Xs], [T|Ys]):-
nombre(X, T),
cambia(Xs, Ys).
Y para usarlo se daría:
?- cambia([1,5,6], L).
Y el resultado sería:
L = [uno,cinco,seis]
Espero les sirva.
Buenas, estoy tratando de eliminar n elementos de una lista, el problema es que me solo me elimina un elemento. Ejemplo alergias [amoxicilina, ampicilina] medicamentos_componente[amoxicilina,ampicilina] como resultado me tiene que dar [] pero como lo he hecho me devuelve [amoxicilina]. Alguna ide de como hacerlo? Gracias de antemano.
Publicar un comentario