





Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: MTP 1, Profesor: , Carrera: Ingeniería Técnica de Informática de Gestión, Universidad: UJAEN
Tipo: Apuntes
1 / 9
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!






Tema 7. Otras Estructuras de Datos 2
Tema 7. Otras Estructuras de Datos 3
Tema 7. Otras Estructuras de Datos 4
Definición de nuevos tipos de datos
nom_tipo1 = tipo …………………………………………………… ………………………… nom_tipoN = tipoN
TIPOS NUMERO = ENTERO LETRA = CARACTER VECTOR=ARRAY[10] DE ENTEROS VARIABLES VARIABLES NUM:NUMERO NUM:ENTERO L:LETRA L:CARACTER V:VECTOR V:ARRAY[10] DE ENTEROS
Tema 7. Otras Estructuras de Datos 7
Representación interna
Para almacenar un registro se reserva un espacio de memoria cuyo tamaño
total es la suma del espacio de almacenamiento requerido para el almacenamiento de cada uno de sus campos de manera individual
Este espacio de memoria se organiza internamente de manera que los m primeros bytes corresponden al primer campo del registro, los n siguientes al segundo, y así sucesivamente para cada uno de los campos del registro
Dos registros no van a ser del mismo tipo si, a pesar de tener los mismos campos, éstos no están declarados en el mismo orden (si tienen los campos declarados en un orden distinto, no va a coincidir su representación interna)
Ejemplo
empleado (39 bytes)
nombre (31 bytes) edad (2 bytes) casado (1 byte)
sexo (1 byte) salario (4 bytes)
Tema 7. Otras Estructuras de Datos 8
Manejo de un registro
SI fecha.dia = 1 ENTONCES ESCRIBIR(‘Primer día del mes’) FIN_SI empleado.sexo ← ’M’ {asignación} LEER(coordenada.x,coordenada.y) {lectura/escritura} ESCRIBIR(‘Posición en el plano: ‘, coordenada.x,’,’,coordenada.y)
Tema 7. Otras Estructuras de Datos 9
Registros jerárquicos
empleado: REGISTRO nombre:CADENA[30] sexo:CARACTER salario:REAL casado:LOGICO f_nac:REGISTRO dia:ENTERO mes:ENTERO año:ENTERO FIN_REG FIN_REG
Tema 7. Otras Estructuras de Datos 10
Arrays de registros
Constantes Tama= Tipos empleado = REGISTRO DNI: cadena[8] nombre: cadena[40] salario: entero IRPF: real casado: lógico FIN_REG empresa = ARRAY [Tama] de empleado Variables tourSA: empresa var_emp: empleado
tourSA[i]
tourSA[i].DNI tourSA[i].nombre ……… tourSA[i].casado
Tema 7. Otras Estructuras de Datos 13
Implementación en C
Tema 7. Otras Estructuras de Datos 14
Estructuras
struct nombre_estructura{ tipo1 campo1; …………………………………………………… ………………………… tipoN campoN; };
Tema 7. Otras Estructuras de Datos 15
Ejemplos
struct FECHA{ int dia,mes,anno; }; typedef struct FECHA Tfecha;
TFecha fecha; struct empleado{ char[31] nombre; char sexo; int edad; float salario; int casado; }emp1;
struct empleado emp2;
typedef struct empleado EMPLEADO; EMPLEADO emp3;
¿Cuántas variables se han declarado en total?
struct punto{ float x,y; }coord; typedef struct punto PUNTO; struct pieza{ char[20] descripcion; int codigo; flot precio; }pedido; struct punto coordenada; PUNTO coordenada2;
Tema 7. Otras Estructuras de Datos 16
struct punto{ float x,y; }; struct punto PUNTO={2,4}; struct pieza{ char[20] descripcion; int codigo; float precio; }pedido={“tornillo”,5,2.3};