SlideShare una empresa de Scribd logo
1 de 4
Listas.
Secuencia ordenada de elementos (items) que pueden tener cualquier longitud, las listas pueden ser vacías
sino contienen elementos, y por lo general son estructuras con dos componentes: cabeza, cola.
Un conjunto de elementos encerrados entre corchetes y separados por comas. Una lista de símbolos sería
de la forma [elem_1, elem_2, ..., elem_N].
La lista vacía se representa con dos corchetes, [ ].
La manera más sencilla de escribir listas es enumerar sus elementos. La lista que consta de tres átomos a, b
y c puede escribirse como :
[ a, b, c ]
También podemos especificar una secuencia inicial de elementos y una lista restante, separadas por |.

La lista [a,b,c] también puede escribirse como :
[a, b, c | [ ] ]
[a, b | [c] ]
[a, | [b, c] ]

Un caso especial de esta notación es una lista con cabeza H y cola T, representada como [H | T]. La cabeza
puede usarse para extraer los componentes de una lista, de manera que no se requieren operadores
específicos para extraer la cabeza y la cola. La solución a la consulta :

Los elementos de una lista pueden ser :
            - Constantes
            - Variables
            - Estructuras

Operaciones con listas.
Las listas se pueden usar para representar conjuntos, sin embargo, entre las listas y los conjuntos existen
algunas diferencias:
- el orden de los elementos en un conjunto no es relevante, mientras que en las listas si lo es.
- en una listas se pueden repetir elementos;
A pesar de lo anterior , la mayoría de las operaciones que se realizan en las listas son análogas a las que se
efectúan en los conjuntos. Entre estas operaciones se encuentran:
- verificar la pertenencia de un elemento a una lista.
- concatenar listas
- agregar un elemento a una lista
- eliminar un elemento de una lista.

FUNCIONES DEFINIDAS.

VERIFICAR LA PERTENENCIA DE UNA ELEMENTO A UNA LISTA
Se desea verificar en una lista si existe un elemento específico, puede utilizarse las siguientes dos reglas.

member(X,[X|_]):-true.
member(X,[_|Y]):-member(X,Y).


Concatenación de listas
Unión de listas en una sola

concat([], L, L).
concat( [ X | L1 ] , L2, [ X | L3 ] ) :- concat(L1, L2, L3).




        1
Adición de elementos
Para agregar un elemento a una lista cualquiera se puede considerar que el nuevo elemento agregado a la
lista se ubicará en su Cabeza, por lo tanto se puede escribir lo siguiente:

agregar( X, L, [ X | L ] ).

Eliminación de elementos
La eliminación de elementos de una lista se puede definir como:

eliminar(X, L, L1).

En este caso, X es el elemento que se desea eliminar de la lista L y L1 es la lista resultante, o sea la lista L
menos el elemento X.
En Prolog se escribe las siguientes expresiones:

eliminar( X, [ X | Cola ], Cola ).
eliminar( X, [Y | Cola ] , [ Y | Cola1 ] ) :- eliminar(X,Cola,Cola1).

Otras operaciones con listas
Primer elemento
Identificar el primer elemento de una lista, o definido como la cabeza de la lista
primero([X|_],X).

Elementos que forman parte de la cola de la lista
Identificar los elementos diferentes al primero.
restantes([_|X],X).


Ejemplos
Una forma de definir que un conjunto de materias pertenece a una clasificación
ciclo_basico (geografía)
ciclo_basico (anatomía)
ciclo_basico (historia)
ciclo_basico (geometría)
ciclo_basico (botánica)
ciclo_superior (diseño)
ciclo_superior (cálculo)
ciclo_superior (literatura)
ciclo_superior (taller)
ciclo_superior (tecnología)

Se puede representar el mismo conocimiento aplicando listas y las instrucciones especificas

%aplicación de listas y la instrucción de pertenencia en una regla
ciclo_basico(X):- member(X,[geografia, anatomia, historia, geometria, botanica]).
ciclo_superior(X):-member(X,[diseno, calculo, literatura, taller, tecnologia]).




        2
Ejercicios

-Representar para los estudiantes del paralelo 5/1 de la carrera de informática, las características de hombre,
mujer, personas que estudian, personas que trabajan, colocar a cinco estudiantes como asistentes al
seminario de “Robótica”
- Aquellas personas que estudian son jóvenes.
- Los jóvenes que estudian están solteros.
- Los jóvenes que estudian son independientes
- Los estudiantes del Seminario y aquellos que trabajan están casados
- Si los estudiantes estudian Redes y son independientes, pasarán Redes
-Verónica es amiga de Edwin, de Sandra y de Ivonne

Según ésta base de conocimientos,

¿Quiénes son las personas que están casadas?.
¿Quiénes pasarán redes?

TEMA 2: Considerando la malla curricular de la carrera de Ingeniería en Sistemas tanto en año como en
semestre, represente el conocimiento en Prolog tal que se pueda luego responder a las siguientes consultas:
¿Cuáles son las materias que pertenecen a las personas matriculadas en modalidad anual?
¿Cuáles son las materias que pertenecen a la personas matriculadas en modalidad semestral?
¿Cuáles son las materias que son consideradas "básicas", "complementarias", "de especialidad"?

TEMA 3. Especifique una lista de personas que pudieran estar registradas en las materias y determine las
siguientes consultas.
¿Personas registradas en las materias básicas de la malla anual?
¿Personas registradas en las materias "de especialización" de la malla anual?
¿Personas registradas en las materias básicas de la malla semestral?
¿Personas registradas en las materias "de especialización" de la malla semestral?
Malla semestral.




       3
Malla Anual




      4

Más contenido relacionado

La actualidad más candente

Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3eliezerbs
 
Listas Diapositivas...
Listas Diapositivas...Listas Diapositivas...
Listas Diapositivas...asdi
 
Listas en C#
Listas en C#Listas en C#
Listas en C#rezzaca
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no linealeslos4estatidinamicos
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datosRené Sosa Arana
 
Estructura de datos_Listas encadenadas presentacion
Estructura de datos_Listas encadenadas  presentacionEstructura de datos_Listas encadenadas  presentacion
Estructura de datos_Listas encadenadas presentacionGabriely Peña
 
Tutorial excell.ppt dylans delene
Tutorial excell.ppt dylans deleneTutorial excell.ppt dylans delene
Tutorial excell.ppt dylans delenedylans8
 
Unidad 3 diana karina pech may
Unidad 3 diana karina pech mayUnidad 3 diana karina pech may
Unidad 3 diana karina pech mayKarina1602
 
evidencias de la unidad 3
evidencias de la unidad 3evidencias de la unidad 3
evidencias de la unidad 3efrain_rap
 

La actualidad más candente (17)

Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Paginasweb abril27 30
Paginasweb abril27 30Paginasweb abril27 30
Paginasweb abril27 30
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3
 
Listas de Java
Listas de JavaListas de Java
Listas de Java
 
Listas Diapositivas...
Listas Diapositivas...Listas Diapositivas...
Listas Diapositivas...
 
Listas en C#
Listas en C#Listas en C#
Listas en C#
 
Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datos
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Estructura de datos_Listas encadenadas presentacion
Estructura de datos_Listas encadenadas  presentacionEstructura de datos_Listas encadenadas  presentacion
Estructura de datos_Listas encadenadas presentacion
 
Tutorial excell.ppt dylans delene
Tutorial excell.ppt dylans deleneTutorial excell.ppt dylans delene
Tutorial excell.ppt dylans delene
 
Unidad 3 diana karina pech may
Unidad 3 diana karina pech mayUnidad 3 diana karina pech may
Unidad 3 diana karina pech may
 
Teoria de listas
Teoria de listasTeoria de listas
Teoria de listas
 
Consulta
ConsultaConsulta
Consulta
 
evidencias de la unidad 3
evidencias de la unidad 3evidencias de la unidad 3
evidencias de la unidad 3
 
Listas
ListasListas
Listas
 

Destacado

Habilitación de bomberos 1
Habilitación de bomberos 1Habilitación de bomberos 1
Habilitación de bomberos 1Patriciaouterelo
 
Planejamento de estudo
Planejamento de estudoPlanejamento de estudo
Planejamento de estudoLuciana Soares
 
Apresentação corporativa dezembro
Apresentação corporativa   dezembroApresentação corporativa   dezembro
Apresentação corporativa dezembroMPX_RI
 
Señor milagros
Señor milagrosSeñor milagros
Señor milagrosangie4497
 
Word 2010 bordes y sombreado
Word 2010 bordes y sombreadoWord 2010 bordes y sombreado
Word 2010 bordes y sombreadodiegoal2012
 
Grupo2_9ºB
Grupo2_9ºBGrupo2_9ºB
Grupo2_9ºBberenvaz
 
Belcorp apresentação inicial
Belcorp apresentação inicialBelcorp apresentação inicial
Belcorp apresentação iniciallaisamonteiro
 
Trabajo de aula virtual y correo estudiantil 2
Trabajo  de aula virtual  y correo estudiantil 2Trabajo  de aula virtual  y correo estudiantil 2
Trabajo de aula virtual y correo estudiantil 2julianroko
 
Israel palestina
Israel palestinaIsrael palestina
Israel palestinajcmglp
 
El mercader de venecia general
El mercader de venecia generalEl mercader de venecia general
El mercader de venecia generalkelincita
 
Precentacion del blog
Precentacion del blogPrecentacion del blog
Precentacion del blogMAJOMOYA
 
How to Install Spooky2 Software
How to Install Spooky2 SoftwareHow to Install Spooky2 Software
How to Install Spooky2 SoftwareSpooky2 Rife
 

Destacado (20)

Habilitación de bomberos 1
Habilitación de bomberos 1Habilitación de bomberos 1
Habilitación de bomberos 1
 
Nanorobots 10 a
Nanorobots 10 aNanorobots 10 a
Nanorobots 10 a
 
Planejamento de estudo
Planejamento de estudoPlanejamento de estudo
Planejamento de estudo
 
Apresentação corporativa dezembro
Apresentação corporativa   dezembroApresentação corporativa   dezembro
Apresentação corporativa dezembro
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Señor milagros
Señor milagrosSeñor milagros
Señor milagros
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
Rss
RssRss
Rss
 
Word 2010 bordes y sombreado
Word 2010 bordes y sombreadoWord 2010 bordes y sombreado
Word 2010 bordes y sombreado
 
Grupo2_9ºB
Grupo2_9ºBGrupo2_9ºB
Grupo2_9ºB
 
Belcorp apresentação inicial
Belcorp apresentação inicialBelcorp apresentação inicial
Belcorp apresentação inicial
 
Trabajo de aula virtual y correo estudiantil 2
Trabajo  de aula virtual  y correo estudiantil 2Trabajo  de aula virtual  y correo estudiantil 2
Trabajo de aula virtual y correo estudiantil 2
 
Fotos
FotosFotos
Fotos
 
Israel palestina
Israel palestinaIsrael palestina
Israel palestina
 
El mercader de venecia general
El mercader de venecia generalEl mercader de venecia general
El mercader de venecia general
 
Sandra martins livro
Sandra martins livroSandra martins livro
Sandra martins livro
 
Precentacion del blog
Precentacion del blogPrecentacion del blog
Precentacion del blog
 
How to Install Spooky2 Software
How to Install Spooky2 SoftwareHow to Install Spooky2 Software
How to Install Spooky2 Software
 
Hector pinto
Hector pintoHector pinto
Hector pinto
 
Recomendaciones
RecomendacionesRecomendaciones
Recomendaciones
 

Similar a Listas prolog m_c (20)

Listas prolog m_c
Listas prolog m_cListas prolog m_c
Listas prolog m_c
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdf
 
Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdf
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Micromundos Para Desocupados Parte Ii
Micromundos Para Desocupados Parte IiMicromundos Para Desocupados Parte Ii
Micromundos Para Desocupados Parte Ii
 
C9est lin
C9est linC9est lin
C9est lin
 
Listas c#
Listas c#Listas c#
Listas c#
 
Scala collections
Scala collectionsScala collections
Scala collections
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdf
 
Saiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosaSaiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosa
 
Colas, filas
Colas, filasColas, filas
Colas, filas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Manejo de filtros y ordenación de datos
Manejo de filtros y ordenación de datosManejo de filtros y ordenación de datos
Manejo de filtros y ordenación de datos
 
Ed002
Ed002Ed002
Ed002
 
Iii uniddad estructuras lineales
Iii uniddad estructuras linealesIii uniddad estructuras lineales
Iii uniddad estructuras lineales
 
jhon anton 31.184.245 (declaraciones Listas).pdf
jhon anton 31.184.245 (declaraciones Listas).pdfjhon anton 31.184.245 (declaraciones Listas).pdf
jhon anton 31.184.245 (declaraciones Listas).pdf
 

Listas prolog m_c

  • 1. Listas. Secuencia ordenada de elementos (items) que pueden tener cualquier longitud, las listas pueden ser vacías sino contienen elementos, y por lo general son estructuras con dos componentes: cabeza, cola. Un conjunto de elementos encerrados entre corchetes y separados por comas. Una lista de símbolos sería de la forma [elem_1, elem_2, ..., elem_N]. La lista vacía se representa con dos corchetes, [ ]. La manera más sencilla de escribir listas es enumerar sus elementos. La lista que consta de tres átomos a, b y c puede escribirse como : [ a, b, c ] También podemos especificar una secuencia inicial de elementos y una lista restante, separadas por |. La lista [a,b,c] también puede escribirse como : [a, b, c | [ ] ] [a, b | [c] ] [a, | [b, c] ] Un caso especial de esta notación es una lista con cabeza H y cola T, representada como [H | T]. La cabeza puede usarse para extraer los componentes de una lista, de manera que no se requieren operadores específicos para extraer la cabeza y la cola. La solución a la consulta : Los elementos de una lista pueden ser : - Constantes - Variables - Estructuras Operaciones con listas. Las listas se pueden usar para representar conjuntos, sin embargo, entre las listas y los conjuntos existen algunas diferencias: - el orden de los elementos en un conjunto no es relevante, mientras que en las listas si lo es. - en una listas se pueden repetir elementos; A pesar de lo anterior , la mayoría de las operaciones que se realizan en las listas son análogas a las que se efectúan en los conjuntos. Entre estas operaciones se encuentran: - verificar la pertenencia de un elemento a una lista. - concatenar listas - agregar un elemento a una lista - eliminar un elemento de una lista. FUNCIONES DEFINIDAS. VERIFICAR LA PERTENENCIA DE UNA ELEMENTO A UNA LISTA Se desea verificar en una lista si existe un elemento específico, puede utilizarse las siguientes dos reglas. member(X,[X|_]):-true. member(X,[_|Y]):-member(X,Y). Concatenación de listas Unión de listas en una sola concat([], L, L). concat( [ X | L1 ] , L2, [ X | L3 ] ) :- concat(L1, L2, L3). 1
  • 2. Adición de elementos Para agregar un elemento a una lista cualquiera se puede considerar que el nuevo elemento agregado a la lista se ubicará en su Cabeza, por lo tanto se puede escribir lo siguiente: agregar( X, L, [ X | L ] ). Eliminación de elementos La eliminación de elementos de una lista se puede definir como: eliminar(X, L, L1). En este caso, X es el elemento que se desea eliminar de la lista L y L1 es la lista resultante, o sea la lista L menos el elemento X. En Prolog se escribe las siguientes expresiones: eliminar( X, [ X | Cola ], Cola ). eliminar( X, [Y | Cola ] , [ Y | Cola1 ] ) :- eliminar(X,Cola,Cola1). Otras operaciones con listas Primer elemento Identificar el primer elemento de una lista, o definido como la cabeza de la lista primero([X|_],X). Elementos que forman parte de la cola de la lista Identificar los elementos diferentes al primero. restantes([_|X],X). Ejemplos Una forma de definir que un conjunto de materias pertenece a una clasificación ciclo_basico (geografía) ciclo_basico (anatomía) ciclo_basico (historia) ciclo_basico (geometría) ciclo_basico (botánica) ciclo_superior (diseño) ciclo_superior (cálculo) ciclo_superior (literatura) ciclo_superior (taller) ciclo_superior (tecnología) Se puede representar el mismo conocimiento aplicando listas y las instrucciones especificas %aplicación de listas y la instrucción de pertenencia en una regla ciclo_basico(X):- member(X,[geografia, anatomia, historia, geometria, botanica]). ciclo_superior(X):-member(X,[diseno, calculo, literatura, taller, tecnologia]). 2
  • 3. Ejercicios -Representar para los estudiantes del paralelo 5/1 de la carrera de informática, las características de hombre, mujer, personas que estudian, personas que trabajan, colocar a cinco estudiantes como asistentes al seminario de “Robótica” - Aquellas personas que estudian son jóvenes. - Los jóvenes que estudian están solteros. - Los jóvenes que estudian son independientes - Los estudiantes del Seminario y aquellos que trabajan están casados - Si los estudiantes estudian Redes y son independientes, pasarán Redes -Verónica es amiga de Edwin, de Sandra y de Ivonne Según ésta base de conocimientos, ¿Quiénes son las personas que están casadas?. ¿Quiénes pasarán redes? TEMA 2: Considerando la malla curricular de la carrera de Ingeniería en Sistemas tanto en año como en semestre, represente el conocimiento en Prolog tal que se pueda luego responder a las siguientes consultas: ¿Cuáles son las materias que pertenecen a las personas matriculadas en modalidad anual? ¿Cuáles son las materias que pertenecen a la personas matriculadas en modalidad semestral? ¿Cuáles son las materias que son consideradas "básicas", "complementarias", "de especialidad"? TEMA 3. Especifique una lista de personas que pudieran estar registradas en las materias y determine las siguientes consultas. ¿Personas registradas en las materias básicas de la malla anual? ¿Personas registradas en las materias "de especialización" de la malla anual? ¿Personas registradas en las materias básicas de la malla semestral? ¿Personas registradas en las materias "de especialización" de la malla semestral? Malla semestral. 3