Sie sind auf Seite 1von 4

UNELLEZ BARINAS

Programacin III

Profesor: Duglas Moreno

Arreglos de Registros
Definicin:
Un arreglo de registro es una estructura de datos homognea y esttica, que se
almacena en memoria RAM y cuyos elementos son heterogneos. Esta definicin
hace explicito al arreglo de registro como una estructura que contiene varios Registros,
siendo un arreglo una vector, una matriz, un cubo, entre otros.
Representacin Grfica:

Este sera un vector de registros


Elementos de un registro:
Posiciones: son los ndices de cada uno de los registros dentro del arreglo. Estos
ndices comienzan desde 0
Registros: son cada uno de los elementos que conforman el arreglo
Campos: son cada una de las caractersticas o atributos de los registros. Pueden ser
de diferentes tipos de datos
Sintaxis declarativa de un registro en pseudocdigo y C:
Pseudocdigo
1. Declarar el modelo de cmo va hacer el registro en la seccin Estructuras de

datos del pseudocdigo


Registro <nombre del registro>
Tipodato nombrecampo 1
Tipodato nombrecampo 1
...
Tipodato nombrecampo n
Fin registro
2. Declarar el arreglo que contendr el conjunto de registros, bien sea en la

seccin general o local para los subprogramas, de la siguiente manera


Registro nombredelregistro nombrearreglo[numerodeelementos]

duglasoswaldo@gmail.com

UNELLEZ BARINAS
Programacin III

Profesor: Duglas Moreno

Lenguaje C++
1. Declarar el modelo del registro. Se recomienda declararlo luego de los include
struct nombreregistro
{
tipodato campo1;
tipodato campo2;
...
tipodato campon;
};

2. Declarar el arreglo que contendr el conjunto de registros. Hay dos formas de


hacerlo:
Forma 1: Luego de la llave de la declaracin del registro se coloca el nombre
del arreglo y la cantidad de elementos dentro de corchetes, esto antes del ;
Forma 2: hacerlo en cualquier parte del programa de la siguiente manera:
struct nombreregistro nombreaarreglo[cantidadde elementos];
Es importante resaltar que la cantidad de corchetes que tenga la declaracin
del arreglo va a depender de la cantidad de dimensiones del arreglo a trabajar.

Ejemplo declaracin de un registro en pseudocdigo y C:


Pseudocdigo
C
Declaracin del modelo del Registro
Registro nomina
struct nomina
cadena nombre

entero largo cedula

char nombre[50];

entero lista

long cedula;

Fin registro

int lista;
};
Declaracin de las variables que manipularan al Registro

Registro nomina 4toA[35]


Registro nomina 4toB[36]

Forma 1: 4toA[35],4toB[36];
Forma 2: struct nomina 4toA[35],4toB[36];

duglasoswaldo@gmail.com

UNELLEZ BARINAS
Programacin III

Profesor: Duglas Moreno

Acceso a los campos de un registro:


Para manipular los elementos de un arreglo de registros debe realizarse elemento por
elemento campo a campo. La sintaxis para manipular el campo de un elemento de un
arreglo de registro es la siguiente:
Pseudocdigo: Variablearreglo[indice].campo
C: Variablearreglo[indice].campo;
As partiendo de los ejemplos descritos anteriormente, si deseo almacenar el valor
16544222 en la cedula del elemento 30 del arreglo de registro 4toA, se hara de la
siguiente manera:
Pseudocdigo: 4toA[29].cedula =16544222
C: 4toA[29].cedula =16544222;

Cabe destacar que los ndices de los arreglos deben en la gran mayora de los casos,
ser manipulados o controlados por un ciclo; adicionalmente a un arreglos de registro
unidimensional pueden aplicrsele las operaciones vistas en vectores como:
ordenacin por burbuja, bsqueda lineal y bsqueda binaria, tomando como referencia
un campo de los registros.
Arreglos de Registros en Subprogramas:
Los arreglos de registros son pasados por defecto por referencia, por ende no
necesitan de & para especificar este tipo de parmetro.
Ej. void llenar (struct nomina p[])
Programa Completo
#include<stdio.h>

cout << "Introduzca su apellido: ";

#include<iostream.h>

cin >> p[i].apellido;

struct persona
{

}
}

char nombre[50];
char apellido[50];

void escribir( struct persona p[])


{

};

clrscr();

void llenar( struct persona p[])


{

for (int i=0; i<5;i++)


{

for (int i=0; i<5;i++)

cout << "Persona:" << i+1 << endl;

duglasoswaldo@gmail.com

UNELLEZ BARINAS
Programacin III

Profesor: Duglas Moreno

cout << "Nombre: " << p[i].nombre<<


cout << "Persona:" << i+1 << endl;

endl;
cout << "Apellido: " << p[i].apellido<<

cout << "Introduzca su nombre: ";


cin >> p[i].nombre;

endl;
}
}
main()
{ struct persona p[5];
llenar(p);
escribir(p);
getch();
}

Arreglos de Registros Anidados:

Los arreglos de registros anidados son estructuras de datos en las cuales uno de los
campos del registro, tambin es un registro.
Estos arreglos se rigen por los mismos basamentos tericos de los registros anidados,
con la nica diferencia que para acceder a un elemento se debe incorporar el ndice,
luego del nombre del arreglo.
Ejemplo:
p[i].fechanac.dia;

duglasoswaldo@gmail.com

Das könnte Ihnen auch gefallen