Está en la página 1de 29

Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras

Definir Estructuras Operaciones Asociadas Definici´n de o datos

Tipos de datos compuestos I: Estructuras
´ Angela Patricia Villota G´mez o
Universidad del Valle
5 de septiembre de 2008

Contenido
Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras
Definir Estructuras Operaciones Asociadas Definici´n de o datos

1 Tipos de datos simples

2 Datos compuestos

3 Estructuras

Definir Estructuras Operaciones Asociadas Definici´n de datos o

Existen 3 operadores: and. La representaci´n de los n´meros es transparente o u para el programador.Tipos de datos simples Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n 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: • N´meros: pueden ser complejos. reales. • Booleanos: son los valores de verdad true. racionales o u enteros. not . or. false.

Tipos de datos simples Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Hasta ahora hemos trabajado con los tipos de datos que cumplen con una caracter´ ıstica especial: no se pueden descomponer. Existen 3 operadores: and. false. or. • Booleanos: son los valores de verdad true. La representaci´n de los n´meros es transparente o u para el programador. reales. Estos son: • N´meros: pueden ser complejos. not . racionales o u enteros.

or.Tipos de datos simples Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Hasta ahora hemos trabajado con los tipos de datos que cumplen con una caracter´ ıstica especial: no se pueden descomponer. reales. not . false. La representaci´n de los n´meros es transparente o u para el programador. Estos son: • N´meros: pueden ser complejos. • Booleanos: son los valores de verdad true. Existen 3 operadores: and. racionales o u enteros.

direcciones. No significan nada para scheme.tipos de datos simples: S´ ımbolos Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Un s´ ımbolo es un conjunto de caracteres antecedidos por una coma simple (’). el significado lo otorga el programador. palabras. Se utilizan para denotar sustantivos (nombres). Ejemplos: ’hola ’red ’doll Las operaciones con s´ ımbolos que m´s 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) . entre otros.

direcciones. Ejemplos: ’hola ’red ’doll Las operaciones con s´ ımbolos que m´s 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) . No significan nada para scheme. Se utilizan para denotar sustantivos (nombres).tipos de datos simples: S´ ımbolos Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Un s´ ımbolo es un conjunto de caracteres antecedidos por una coma simple (’). palabras. entre otros. el significado lo otorga el programador.

direcciones.tipos de datos simples: S´ ımbolos Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Un s´ ımbolo es un conjunto de caracteres antecedidos por una coma simple (’). No significan nada para scheme. entre otros. Se utilizan para denotar sustantivos (nombres). palabras. Ejemplos: ’hola ’red ’doll Las operaciones con s´ ımbolos que m´s 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) . el significado lo otorga el programador.

No significan nada para scheme.tipos de datos simples: S´ ımbolos Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Un s´ ımbolo es un conjunto de caracteres antecedidos por una coma simple (’). el significado lo otorga el programador. direcciones. palabras. entre otros. Ejemplos: ’hola ’red ’doll Las operaciones con s´ ımbolos que m´s 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) . Se utilizan para denotar sustantivos (nombres).

• Las Estructuras son entonces un tipo de dato compuesto. • Las Estructuras nos permiten definir datos que est´n a compuestos por datos simples. que requiere de su coordenada X y Y.Estructuras Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n 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.

o La cantidad y el tipo de los datos que componen una estructura. . campo n)) La definici´n de la estructura posn (que representa puntos en el o plano cartesiano) es la siguiente: (define-struct posn (x y)) . .Definir Estructuras Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos El programador puede definir la estructura que necesita para dar soluci´n a un problema. deben ser conocidos. Una estructura se define de la siguiente forma: (define-struct nombre (campo 1 .

e (define-struct agenda (nombre telefono celular)) 2 . u (define-struct cheque (numero banco fecha monto)) Defina la estructura agenda en la que se almacena un elemento de una agenda telef´nica con los campos: o nombre tel´fono celular. y monto.Ejemplos: Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos 1 Defina la estructura para la entidad cheque con campos: n´mero de cheque. banco. fecha.

Ejemplos: Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos 1 Defina la estructura para la entidad cheque con campos: n´mero de cheque. e (define-struct agenda (nombre telefono celular)) 2 . banco. fecha. y monto. u (define-struct cheque (numero banco fecha monto)) Defina la estructura agenda en la que se almacena un elemento de una agenda telef´nica con los campos: o nombre tel´fono celular.

Ejemplos: Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos 1 Defina la estructura para la entidad cheque con campos: n´mero de cheque. banco. e (define-struct agenda (nombre telefono celular)) 2 . y monto. u (define-struct cheque (numero banco fecha monto)) Defina la estructura agenda en la que se almacena un elemento de una agenda telef´nica con los campos: o nombre tel´fono celular. fecha.

Operaciones sobre estructuras Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Al momento de definir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear). seleccionar cada uno de los campos de una estructura. . 1 2 3 construir estructuras. Preguntar si algo es una estructura de ese tipo.

1 2 3 construir estructuras. seleccionar cada uno de los campos de una estructura.Operaciones sobre estructuras Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Al momento de definir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear). Preguntar si algo es una estructura de ese tipo. .

1 2 3 construir estructuras.Operaciones sobre estructuras Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Al momento de definir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear). 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 G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Al momento de definir una estructura se crean un conjunto de operaciones que podemos aplicar a la estructura (que acabamos de crear). Preguntar si algo es una estructura de ese tipo. . seleccionar cada uno de los campos de una estructura. 1 2 3 construir estructuras.

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 Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos • Para crear un ejemplar nuevo de alg´n tipo de estructura u se antepone la palabra make al nombre de la estructura. (agenda? (make-agenda ´nita 5541717 a 3104868786)) . 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: (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).Ejemplo Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos • Para crear un ejemplar nuevo de alg´n 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). 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 Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos • Para crear un ejemplar nuevo de alg´n tipo de estructura u se antepone la palabra make al nombre de la estructura. (agenda? (make-agenda ´nita 5541717 a 3104868786)) .

pero incluimos la definici´n de los datos (Estructuras) que se van a utilizar.Definici´n de datos o Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Pregunta: ¿C´mo afecta el uso de estructura a la estrategia de o dise˜o? n Respuesta: No se agregan nuevos pasos. o La definici´n de los datos se escribe al inicio del archivo y en o ella describimos en espa˜ol y en scheme: n 1 2 3 la definici´n de la estructura scheme o el nombre de la estructura en espa˜ol n c´mo se crea un nuevo ejemplar de dicha o estructura.scheme el tipo de los campos en espa˜ol n 4 .

pero incluimos la definici´n de los datos (Estructuras) que se van a utilizar. o La definici´n de los datos se escribe al inicio del archivo y en o ella describimos en espa˜ol y en scheme: n 1 2 3 la definici´n de la estructura scheme o el nombre de la estructura en espa˜ol n c´mo se crea un nuevo ejemplar de dicha o estructura.Definici´n de datos o Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Pregunta: ¿C´mo afecta el uso de estructura a la estrategia de o dise˜o? n Respuesta: No se agregan nuevos pasos.scheme el tipo de los campos en espa˜ol n 4 .

b y f son s´ u ımbolos.Ejemplos Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos 1 (define-struct cheque (numero banco fecha monto)) un cheque es una estructura (make − cheque n b f m) en donde n y m son n´meros. Los selectores (no van en la definici´n de datos) son: o (cheque − numero unc heque) (cheque − banco unc heque) (cheque − fecha unc heque) (cheque − monto unc heque) ¿cual es la definici´n de datos de agenda? o 2 .

Ejercicios Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Realice la definici´n de datos de las siguientes estructuras: o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos 1 2 3 4 5 (define-struct pelicula (titulo productor)) (define-struct novio (nombre cabello ojos telefono)) (define-struct porrista (nombre telefono)) (define-struct CD (artista titulo precio)) (define-struct saco (material talla marca)) .

e .Problema Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n 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 n´mero 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.

el nombre de un resultado X: (resultado-nombre X) .para crear un resultado: (make-resultado <nombre > <puntos>) .selectores: .los puntos de un resultado X:(resultado-puntos X) contrato: gano-partido: resultado resultado to numero prop´sito: o funcion que retorna el nombre del equipo ganador.Operaciones: .nombre es un simbolo. puntos es un numero. . segun sea el caso. . o empate .Entendiendo el problema Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos definici´n de datos: o (define-struct resultado (nombre puntos)) .

Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos An´lisis de datos. En el caso contrario gana el resultado 2 Ejemplos: 1. (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 . entonces se retorna el nombre del resultado1. Si los puntos del resultado 1 son iguales a los del resultado2. hubo empate y la funcion retorna ´mpate e 2. (gano-partido (make-resultado ´merica 2) (make-resultado a ’cali 2)) ”debe retornar ´mpate” e 2. ejemplos y a plantilla 1. (gano-partido (make-resultado ´zul 2 ) (make-resultado a ´marillo 0)) ”debe retornar ´zul” a a 3. 3. Si los puntos que marca el resultado 1 son mayores que los del resultado 2.

Tipos de datos compuestos I: Estructuras ´ Angela Patricia Villota G´mez o Tipos de datos simples Datos compuestos Estructuras Definir Estructuras Operaciones Asociadas Definici´n de o datos Fin de la Presentaci´n. o .