Vista previa del material en texto
Pseudocódigo 1 Estructuras o registros AGENDA Pseudocódigo Estructura Definición Declaración Ejemplo Estructura anidada Estructura con arreglo Arreglo de estructuras Ejemplo Ejercicio 2 PREGUNTA ¿ Cómo almacenar y localizar datos de vehículos (bicicletas, triciclos, motos, autos y camiones) cómo placa, color, marca, modelo, año, precio, si son de diferente tipo? 3 ESTRUCTURA O REGISTRO Es un conjunto de datos que mantienen algún tipo de relación, aunque sean de distinto tipo, permitiendo manipularlos todos juntos, usando un mismo identificador, o cada uno por separado. Las estructuras son llamadas también muy a menudo registros, o records. Tienen muchos aspectos en común con los registros usados en bases de datos. Y siguiendo la misma analogía, cada objeto de una estructura se denomina a menudo campo, o field. 4 DEFINICIÓN Definición Estructura identificadorTipo tipo identificadorCampo1 tipo identificadorCampo2 tipo identificadorCampo3 …. FEstructura Ejemplo Estructura Alumnos Entero codigo Cadena apellidos Cadena nombres Entero anioNac FEstructura 5 DECLARACIÓN VARIABLE TIPO ESTRUCTURA Declaración IdentificadorTipo IdentificadorVariable Alumnos alumno Referencia a campo de variable estructura IdentificadorVariable.identificadorCampo alumno.codigo 6 ESTRUCTURA ANIDADA 7 Un campo de una estructura puede ser una variable de otra estructura. Redefinimos la estructura Alumnos. Queremos usar en lugar de año de nacimiento, la fecha de nacimiento. Estructura Fecha Entero dia Entero mes Entero anio FEstructura Estructura Alumnos Entero codigo Cadena apellidos Cadena nombres Fecha fechaNac FEstructura Alumnos alumno alumno.fechaNac.dia14 ESTRUCTURA CON ARREGLO 8 Se puede utilizar como campo de una estructura a un arreglo. Redefinimos la estructura Alumnos. Queremos incluir el campo notas que pueda guardar 6 notas. Estructura Fecha Entero dia Entero mes Entero anio FEstructura Estructura Alumnos Entero codigo Cadena apellidos Cadena nombres Fecha fechaNac Entero notas[6] FEstructura Alumnos alumno alumno.notas[4]20 ARREGLO DE ESTRUCTURAS Se puede integrar lo que conocemos de arreglos y estructuras, para crear arreglos cuyos elementos sean variables de estructura, resultando una potente herramienta para almacenar datos. IdentificadorTipo identificadorVariable[tamaño] Alumnos clase[30] Esto declara un arreglo de 30 elementos donde cada uno es una variable del tipo Alumno. El arreglo se llama clase. Para i de 1 a 30 hacer leer(clase[i].codigo) … fPara 9 SUBPROGRAMAS: INGRESAR Y MOSTRAR DATOS DE ARREGLO DE ESTRUCTURAS Acción llenarVEst(tipo vec[], entero cant) Para i de 1 a cant hacer leer(vect[i].identificadorCampo) …. fPara fAcción Acción mostrarVEst(tipo vec[], entero cant) Para i de 1 a cant hacer escribir(vect[i].identificadorCampo) …. fPara fAcción 10 EJEMPLO (PARTE 1) Crear un arreglo llamado clase de tamaño 30, que contenga estructuras de tipo Alumnos. Ingresar datos a t elementos del arreglo. //Prototipo Acción llenarVEst(Alumnos clas[], entero c) Estructura Fecha Entero dia Entero mes Entero anio FEstructura Estructura Alumnos Entero codigo Cadena apellidos Cadena nombres Fecha fechaNac Entero notas[6] FEstructura 11 EJEMPLO (PARTE 2) Acción Principal DV Entero t Alumnos clase[30] Inicio hacer leer(t) mientras t<=0 o t>30 llenarVEst(clase,t) … Fin 12 EJEMPLO (PARTE 3) //Implementación Acción llenarVEst(Alumnos clas[], entero c) DV Entero i, k Inicio Para i de 1 a c hacer leer(clas[i].codigo) leer(clas[i].apellidos) leer(clas[i].nombres) leer(clas[i].fechaNac.dia) leer(clas[i].fechaNac.mes) leer(clas[i].fechaNac.anio) Para k de 1 a 6 hacer leer(clas[i].notas[k]) fpara Fpara FAcción 13 Problema • Crear subprograma para contar la cantidad de alumnos que nacieron después de 1995. 14