• No se han encontrado resultados

Procesamiento de datos simples III: Listas Septiembre de 2016

N/A
N/A
Protected

Academic year: 2021

Share "Procesamiento de datos simples III: Listas Septiembre de 2016"

Copied!
16
0
0

Texto completo

(1)

carlos.andres.delgado@correounivalle.edu.co

Carlos Andr´es Delgado S. Facultad de Ingenier´ıa. Universidad del Valle

(2)

Fundamentos de programaci´on

Carlos Andr´es

Delgado S. Definici´on

En algunas ocasiones tenemos muchas piezas de informaci´on del mismo tipo y se tiene problemas en como procesarlas. Para esto se tiene un tipo de dato llamado lista que permite tener un n´umero indefinido de piezas de informaci´on. Por ejemplo la lista de regalos de navidad de un ni˜no:

" i p h o n e 7 " " p l a s t i l i n a " " s e d a n t e " " b a n d e r a p i r a t a " " ojo de v i d r i o "

(3)

Delgado S.

1 Para una lista vac´ıa (sin elementos)

empty

2 Para una lista de un elemento:

(c o n s " i p h o n e 7 " empty )

3 Para una lista de dos elementos:

(c o n s " s e d a n t e " (c o n s " ojo de v i d r i o " empty ) )

¿C´omo construir´ıa la lista de nuestro ni˜no?:

" i p h o n e 7 " " p l a s t i l i n a " " s e d a n t e " " b a n d e r a p i r a t a " " ojo de v i d r i o "

(4)

Fundamentos de programaci´on Carlos Andr´es Delgado S. Definici´on

La lista de nuestro ni˜no es as´ı:

(c o n s " i p h o n e 7 " (c o n s " p l a s t i l i n a " (c o n s " s e d a n t e " (c o n s " b a n d e r a p i r a t a " (c o n s " ojo de v i d r i o " empty ) ) ) ) )

(5)

Delgado S.

Ejercicios en clase

En Dr Racket:

1 Construya una lista con los planetas del sistema solar 2 Construya una lista con sus 4 comidas favoritas 3 Construya una lista con cuatro colores

(6)

Fundamentos de programaci´on Carlos Andr´es Delgado S. Contrato

En nuestros contratos, ahora vamos a agregar el tipo de dato lista-de-X donde X son el tipo de dato de los elementos de la lista. Ejemplo ; ; A u t o r : C a r l o s A n d r ´e s Delgado , c o d i g o : 1 3 0 1 6 6 2 ; ; F e c h a de c r e a c i ´o n : 10- S e p t i e m b r e - 2 0 1 6 ; ; C o n t r a t o : l i s t a 3 n u m e r o s : numero , numero , n u m e r o - > l i s t a - d e - n u m e r o s ; ; P r o p ´o s i t o : E s t e p r o g r a m a r e c i b e 3 n ´u m e r o s y r e t o r n a una l i s t a ; ; E j e m p l o : ( l i s t a 3 n u m e r o s 1 2 3) r e t o r n a ( c o n s 1 ( c o n s 2 ( c o n s 3 e m p t y ) ) ) ; ; F u n c i ´o n ( d e f i n e ( l i s t a 3 n u m e r o s x y z ) (c o n s x (c o n s y (c o n s z empty ) ) ) ) ; ; E j e m p l o ( l i s t a 3 n u m e r o s 1 2 3 )

(7)

Delgado S.

Contrato

Los m´as comunes que vamos a usar

1 lista-de-numeros 2 lista-de-simbolos

3 lista-de-<estructura>, donde estructura es una estructura

(8)

Fundamentos de programaci´on

Carlos Andr´es

Delgado S. Ejercicios en clase

En Dr Racket:

1 Construya una funci´on que reciba 3 colores y retorne una

lista con ellos.

2 Construya una funci´on que reciba 3 n´umeros (a,b y c): 1 Si a > c entonces retorna una lista en este orden (a b c) 2 Si a < c y a < b entonces retorna una lista en este orden

(b c a)

3 En otro caso retorna (c a b)

(9)

Delgado S.

Acceder a una lista

Para acceder a una lista se cuentan con las siguiente funciones:

1 first Accede al primer elemento de la lista 2 rest Accede al resto de la lista

(10)

Fundamentos de programaci´on

Carlos Andr´es Delgado S.

Acceder a una lista

Pruebe: ( d e f i n e l i s t a − n u m e r o s (c o n s 1 (c o n s 4 (c o n s 7 (c o n s 8 empty ) ) ) ) ) (f i r s t l i s t a − n u m e r o s ) (r e s t l i s t a − n u m e r o s ) (f i r s t (r e s t l i s t a − n u m e r o s ) ) ¿Que observa?

(11)

Delgado S.

Acceder a una lista

Si observa detenidamente, first retorna elementos de la lista y rest listas, ya que la composici´on de una lista es un elemento seguido de una lista

(c o n s x y )

; ; x es e l e m e n t o

(12)

Fundamentos de programaci´on

Carlos Andr´es Delgado S.

Acceder a una lista

Pruebe:

( d e f i n e l i s t a − n u m e r o s (c o n s 1 (c o n s 4 (c o n s 7 (c o n s 8 empty ) ) ) ) )

(l e n g t h l i s t a − n u m e r o s ) ¿Que observa?

(13)

Delgado S.

Dado el caso anterior:

( d e f i n e l i s t a − n u m e r o s (c o n s 1 (c o n s 4 (c o n s 7 (c o n s 8 empty ) ) ) ) )

1 Acceda al tercer elemento de la lista: debe retornar 7 2 Acceda al cuarto elemento de la lista: debe retornar 8 3 Acceda al ´ultimo elemento de la lista: debe retornar empty

o ’()

Tenga cuidado, si ejecuta (first empty) o (rest empty) dar´a error ya que la lista vac´ıa no tiene elementos.

(14)

Fundamentos de programaci´on Carlos Andr´es Delgado S. Ejercicios en clase

1 Construya una funci´on que reciba una lista de 3 elementos

(numeros) y retorne su suma

2 Construya una funci´on que reciba dos listas de 4

elementos cada una, la primera lista tiene n´umeros y la segunda tiene cadenas de texto, la funci´on ubica el mayor elemento de la primera lista devolviendo el elemento de la segunda lista que le corresponde, ejemplo:

( d e f i n e l i s t a − n u m e r o s (c o n s 1 (c o n s 3 (c o n s 8 (c o n s 2 empty ) ) ) ) ) ( d e f i n e l i s t a − c o s a s (c o n s " g a t o " (c o n s " p e r r o " (c o n s " l o b o " (c o n s " m u l a " empty ) ) ) ) ) ; ; La f u n c i ´o n d e b e r e t o r n a r " l o b o "

(15)

Delgado S. 1 Construya una funci´on, que reciba dos simbolos (a y b) y

una lista. Esta funci´on busca en el lista el simbolo a en la lista y la reemplaza por el simbolo b.

( d e f i n e l i s t a − s i m b o l o s (c o n s ’ d i a (c o n s ’ n o c h e (c o n s

’ p e r r o (c o n s ’ p e r r o ) ) ) ) )

( r e e m p l a z a r ’ p e r r o ’ l o b o l i s t a − s i m b o l o s )

; ; R e t o r n a ( c o n s ’ dia ( c o n s ’ n o c h e ( c o n s ’ l o b o ( c o n s ’ l o b o ) ) ) )

2 Construya una funci´on que recibe un n´umero y una lista

de n´umeros. Si se ingresa el n´umero 1, se retorna la suma de la lista, si se ingresa 2, se retorna la multiplicaci´on de los elementos, en otro caso se retorna 0.

(16)

Fundamentos de programaci´on

Carlos Andr´es Delgado S.

Referencias

Documento similar

Un método de estudio aparte de ser una herramienta muy útil al momento de estudiar también nos ayuda a agilizar nuestra mente y tener una buena memoria para futuro?. Palabras

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de