Vous êtes sur la page 1sur 29

Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras

Denir Estructuras Operaciones Asociadas Denicin de o datos

Tipos de datos compuestos I: Estructuras


Angela Patricia Villota Gmez o
Universidad del Valle
5 de septiembre de 2008

Contenido
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

1 Tipos de datos simples

2 Datos compuestos

3 Estructuras

Denir Estructuras Operaciones Asociadas Denicin de datos o

Tipos de datos simples


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Hasta ahora hemos trabajado con los tipos de datos que cumplen con una caracter stica especial: no se pueden descomponer. Estos son:
Nmeros: pueden ser complejos, reales, racionales o u

enteros. La representacin de los nmeros es transparente o u para el programador.


Booleanos: son los valores de verdad true, false. Existen 3

operadores: and, or, not

Tipos de datos simples


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Hasta ahora hemos trabajado con los tipos de datos que cumplen con una caracter stica especial: no se pueden descomponer. Estos son:
Nmeros: pueden ser complejos, reales, racionales o u

enteros. La representacin de los nmeros es transparente o u para el programador.


Booleanos: son los valores de verdad true, false. Existen 3

operadores: and, or, not

Tipos de datos simples


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Hasta ahora hemos trabajado con los tipos de datos que cumplen con una caracter stica especial: no se pueden descomponer. Estos son:
Nmeros: pueden ser complejos, reales, racionales o u

enteros. La representacin de los nmeros es transparente o u para el programador.


Booleanos: son los valores de verdad true, false. Existen 3

operadores: and, or, not

tipos de datos simples: S mbolos


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Un s mbolo es un conjunto de caracteres antecedidos por una coma simple (). Se utilizan para denotar sustantivos (nombres), palabras, direcciones, entre otros. No signican nada para scheme, el signicado lo otorga el programador. Ejemplos: hola red doll Las operaciones con s mbolos que ms usaremos son: a Para preguntar si algo es un s mbolo: (symbol? any) Para preguntar si dos s mbolos son iguales: (symbol=? un-simbolo un-simbolo)

tipos de datos simples: S mbolos


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Un s mbolo es un conjunto de caracteres antecedidos por una coma simple (). Se utilizan para denotar sustantivos (nombres), palabras, direcciones, entre otros. No signican nada para scheme, el signicado lo otorga el programador. Ejemplos: hola red doll Las operaciones con s mbolos que ms usaremos son: a Para preguntar si algo es un s mbolo: (symbol? any) Para preguntar si dos s mbolos son iguales: (symbol=? un-simbolo un-simbolo)

tipos de datos simples: S mbolos


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Un s mbolo es un conjunto de caracteres antecedidos por una coma simple (). Se utilizan para denotar sustantivos (nombres), palabras, direcciones, entre otros. No signican nada para scheme, el signicado lo otorga el programador. Ejemplos: hola red doll Las operaciones con s mbolos que ms usaremos son: a Para preguntar si algo es un s mbolo: (symbol? any) Para preguntar si dos s mbolos son iguales: (symbol=? un-simbolo un-simbolo)

tipos de datos simples: S mbolos


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Un s mbolo es un conjunto de caracteres antecedidos por una coma simple (). Se utilizan para denotar sustantivos (nombres), palabras, direcciones, entre otros. No signican nada para scheme, el signicado lo otorga el programador. Ejemplos: hola red doll Las operaciones con s mbolos que ms usaremos son: a Para preguntar si algo es un s mbolo: (symbol? any) Para preguntar si dos s mbolos son iguales: (symbol=? un-simbolo un-simbolo)

Estructuras
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

En algunos problemas existen entidades que no pueden ser

descritas con un dato de tipo simple. Ejemplo: un punto en el plano cartesiano, que requiere de su coordenada X y Y.
Las Estructuras nos permiten denir datos que estn a

compuestos por datos simples.


Las Estructuras son entonces un tipo de dato compuesto.

Denir Estructuras
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

El programador puede denir la estructura que necesita para dar solucin a un problema. o La cantidad y el tipo de los datos que componen una estructura, deben ser conocidos. Una estructura se dene de la siguiente forma: (define-struct nombre (campo 1 . . . campo n)) La denicin de la estructura posn (que representa puntos en el o plano cartesiano) es la siguiente: (define-struct posn (x y))

Ejemplos:
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Dena la estructura para la entidad cheque con campos: nmero de cheque, banco, fecha, y monto. u (define-struct cheque (numero banco fecha monto)) Dena la estructura agenda en la que se almacena un elemento de una agenda telefnica con los campos: o nombre telfono celular. e (define-struct agenda (nombre telefono celular))

Ejemplos:
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Dena la estructura para la entidad cheque con campos: nmero de cheque, banco, fecha, y monto. u (define-struct cheque (numero banco fecha monto)) Dena la estructura agenda en la que se almacena un elemento de una agenda telefnica con los campos: o nombre telfono celular. e (define-struct agenda (nombre telefono celular))

Ejemplos:
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Dena la estructura para la entidad cheque con campos: nmero de cheque, banco, fecha, y monto. u (define-struct cheque (numero banco fecha monto)) Dena la estructura agenda en la que se almacena un elemento de una agenda telefnica con los campos: o nombre telfono celular. e (define-struct agenda (nombre telefono celular))

Operaciones sobre estructuras


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Al momento de denir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear).
1 2 3

construir estructuras. seleccionar cada uno de los campos de una estructura. Preguntar si algo es una estructura de ese tipo.

Operaciones sobre estructuras


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Al momento de denir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear).
1 2 3

construir estructuras. seleccionar cada uno de los campos de una estructura. Preguntar si algo es una estructura de ese tipo.

Operaciones sobre estructuras


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Al momento de denir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear).
1 2 3

construir estructuras. seleccionar cada uno de los campos de una estructura. Preguntar si algo es una estructura de ese tipo.

Operaciones sobre estructuras


Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Al momento de denir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear).
1 2 3

construir estructuras. seleccionar cada uno de los campos de una estructura. Preguntar si algo es una estructura de ese tipo.

Ejemplo
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Para crear un ejemplar nuevo de algn tipo de estructura u

se antepone la palabra make al nombre de la estructura. Ejemplo: (make-cheque 001 bancolombia bril 22200) a (make-agenda nita 5541717 3104868786) a Para seleccionar un campo de la estructura se escribe el nombre de la estructura y el nombre del campo que se desea seleccionar. Ejemplo: (cheque-numero (make-cheque 001 bancolombia a bril2 2200)) (agenda-telefono (make-agenda anita 5541717 3104868786)) Para preguntar se pone el nombre de la estructura seguido de ?: (cheque? 2), (agenda? (make-agenda nita 5541717 a 3104868786))

Ejemplo
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Para crear un ejemplar nuevo de algn tipo de estructura u

se antepone la palabra make al nombre de la estructura. Ejemplo: (make-cheque 001 bancolombia bril 22200) a (make-agenda nita 5541717 3104868786) a Para seleccionar un campo de la estructura se escribe el nombre de la estructura y el nombre del campo que se desea seleccionar. Ejemplo: (cheque-numero (make-cheque 001 bancolombia a bril2 2200)) (agenda-telefono (make-agenda anita 5541717 3104868786)) Para preguntar se pone el nombre de la estructura seguido de ?: (cheque? 2), (agenda? (make-agenda nita 5541717 a 3104868786))

Ejemplo
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Para crear un ejemplar nuevo de algn tipo de estructura u

se antepone la palabra make al nombre de la estructura. Ejemplo: (make-cheque 001 bancolombia bril 22200) a (make-agenda nita 5541717 3104868786) a Para seleccionar un campo de la estructura se escribe el nombre de la estructura y el nombre del campo que se desea seleccionar. Ejemplo: (cheque-numero (make-cheque 001 bancolombia a bril2 2200)) (agenda-telefono (make-agenda anita 5541717 3104868786)) Para preguntar se pone el nombre de la estructura seguido de ?: (cheque? 2), (agenda? (make-agenda nita 5541717 a 3104868786))

Denicin de datos o
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Pregunta: Cmo afecta el uso de estructura a la estrategia de o diseo? n Respuesta: No se agregan nuevos pasos, pero incluimos la denicin de los datos (Estructuras) que se van a utilizar. o La denicin de los datos se escribe al inicio del archivo y en o ella describimos en espaol y en scheme: n
1 2 3

la denicin de la estructura scheme o el nombre de la estructura en espaol n cmo se crea un nuevo ejemplar de dicha o estructura.scheme el tipo de los campos en espaol n

Denicin de datos o
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Pregunta: Cmo afecta el uso de estructura a la estrategia de o diseo? n Respuesta: No se agregan nuevos pasos, pero incluimos la denicin de los datos (Estructuras) que se van a utilizar. o La denicin de los datos se escribe al inicio del archivo y en o ella describimos en espaol y en scheme: n
1 2 3

la denicin de la estructura scheme o el nombre de la estructura en espaol n cmo se crea un nuevo ejemplar de dicha o estructura.scheme el tipo de los campos en espaol n

Ejemplos
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

(define-struct cheque (numero banco fecha monto)) un cheque es una estructura (make cheque n b f m) en donde n y m son nmeros, b y f son s u mbolos. Los selectores (no van en la denicin de datos) son: o (cheque numero unc heque) (cheque banco unc heque) (cheque fecha unc heque) (cheque monto unc heque) cual es la denicin de datos de agenda? o

Ejercicios
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o

Realice la denicin de datos de las siguientes estructuras: o


Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

1 2 3 4 5

(dene-struct pelicula (titulo productor)) (dene-struct novio (nombre cabello ojos telefono)) (dene-struct porrista (nombre telefono)) (dene-struct CD (artista titulo precio)) (dene-struct saco (material talla marca))

Problema
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

El resultado de un partido est compuesto por dos datos: un a s mbolo que representa el nombre del equipo y un nmero que u representa la cantidad de puntos obtenidos por el equipo. Escriba un programa en scheme que tome como entradas dos resultados de un partido y retorne el nombre del equipo que gan. Si hay empate el programa debe retornar el s o mbolo mpate. e

Entendiendo el problema
Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

denicin de datos: o (define-struct resultado (nombre puntos)) ;nombre es un simbolo, puntos es un numero. ;Operaciones: ;para crear un resultado: (make-resultado <nombre > <puntos>) ;selectores: ;el nombre de un resultado X: (resultado-nombre X) ;los puntos de un resultado X:(resultado-puntos X) contrato: gano-partido: resultado resultado to numero propsito: o funcion que retorna el nombre del equipo ganador, o empate ; segun sea el caso.

Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Anlisis de datos, ejemplos y a plantilla


1. Si los puntos del resultado 1 son iguales a los del resultado2, hubo empate y la funcion retorna mpate e 2. Si los puntos que marca el resultado 1 son mayores que los del resultado 2, entonces se retorna el nombre del resultado1. 3. En el caso contrario gana el resultado 2 Ejemplos: 1. (gano-partido (make-resultado merica 2) (make-resultado a cali 2)) debe retornar mpate e 2. (gano-partido (make-resultado zul 2 ) (make-resultado a marillo 0)) debe retornar zul a a 3. (gano-partido (make-resultado zul 2 ) (make-resultado a marillo 4)) debe retornar marillo a a el programa est en los archivos de ejemplos a

Tipos de datos compuestos I: Estructuras Angela Patricia Villota Gmez o Tipos de datos simples Datos compuestos Estructuras
Denir Estructuras Operaciones Asociadas Denicin de o datos

Fin de la Presentacin. o

Vous aimerez peut-être aussi