Logo Studenta
¡Este material tiene más páginas!

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.dia14
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