Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras Programación
Estructuras Programación
Dante Zanarini
16 de abril de 2019
Estructuras
1
Necesitamos más información en el estado
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
2
Necesitamos agrupar información
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
• Más allá de los programas interactivos, hay otras
situaciones en las que necesitamos
agrupar datos.
• Supongamos que queremos representar:
Una agenda,
el catálogo de una biblioteca,
colores,
puntos en el plano,
...
3
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
Una estructura bien simple
4
Una estructura bien simple
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
• Volvamos al ejercicio del círculo en la práctica 3.
• Necesitamos representar una posición en el plano
5
Una estructura bien simple
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
• Volvamos al ejercicio del círculo en la práctica 3.
• Necesitamos representar una posición en el plano
6
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
• Racket nos permite definir
De dónde sale posn?
7
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
por mail a 15dejuniomnr@gmail.com o escribinos por IG: https://www.instagram.com/15dejunio.mnr
• En el caso de posn:
• Racket nos permite definir
8
De dónde sale posn?
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
• Racket nos permite definir
• En el caso de posn:
(define-struct posn [x y])
• En general:
(define-struct Nombre [Campo1 ... CampoN])
• Finalmente, una lista con los nombres de los campos que incluye la
estructura 9
Qué hacemos cuando definimos una estructura?
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
(define-struct Nombre [Campo1 ... CampoN])
10
Qué hacemos cuando definimos una estructura?
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
(define-struct Nombre [Campo1 ... CampoN])
11
Otras estructuras...
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
(define-struct contacto [nombre tel mail])
• constructor: make-contacto
Ejemplo:
(make-contacto "Juan" "3416-342356" "jj@gmx.net")
• selectores: contacto-nombre,
contacto-tel y contacto-mail
Ejemplo:
(contacto-mail (make-contacto "Juan" "3416-342356" "jj@gmx.net"))
12
Leyes de evaluación...
Material descargado de la Apunteca de la 15 de Junio http://www.15dejuniomnr.com.ar/ --- Colaborá con tus apuntes
• Las leyes de evaluación para estructuras