UNIDAD 6: ARREGLO UNIDIMENSIONAL, MULTIDIMENSIONAL Y SU MANEJO
6.1 Definición de arreglo unidimensional:
Un array (que algunos autores traducen como "arreglo") es una estructura que se utiliza para guardar una serie de elementos, todos los cuales son del mismo tipo (por ejemplo, 20 números reales).A la hora de definir un array, deberemos indicar el índice inferior y superior (desde dónde y hasta dónde queremos contar), separados por dos puntos (..), así como el tipo de datos de esos elementos individuales. Por ejemplo, para guardar hasta 200 números enteros, usaríamos:
lista: array [1..200] of integer
Para mostrar en pantalla el segundo elemento de esa lista de números (o de ese vector) se usaría
write(lista[2]);
matriz1: array [1..3, 1..2] of real
y para ver el elemento (3,1) de la matriz haríamos:
writeLn (matriz1[3,1]);
Program Array00;
program ArrayBi;
write(lista[2]);
6.2 Arreglo multidimensional:
Cuando se trata de una matriz de 2, 3 o más dimensiones, podemos indicar los rangos de valores aceptables, separados por comas. Por ejemplo, una matriz de bidimensional de tamaño 3x2 que debiera contener números reales sería:
matriz1: array [1..3, 1..2] of real
y para ver el elemento (3,1) de la matriz haríamos:
writeLn (matriz1[3,1]);
6.3: Manejo de arreglos:
Un ejemplo completo, que guarde varios datos en un array y luego muestre uno de ellos podría ser:Program Array00;
var
datos: array[1..4] of integer;
begin
datos[1] := 20;
datos[2] := 12;
datos[3] := 7;
datos[4] := 35;
writeLn('El segundo dato es ',dato[2]);
end.
Es habitual recorrer todo un array usando un bucle "for", de modo que podamos pedir y mostrar los datos de forma repetitiva. Por ejemplo, podríamos pedir al usuario 5 números y luego mostrarlos en orden inverso, así:
Program Array01;
Es habitual recorrer todo un array usando un bucle "for", de modo que podamos pedir y mostrar los datos de forma repetitiva. Por ejemplo, podríamos pedir al usuario 5 números y luego mostrarlos en orden inverso, así:
Program Array01;
var
datos: array[1..5] of integer;
i: integer;
begin
for i := 1 to 5 do
begin
write('Deme el dato ',i,': ');
readLn(datos[i]);
end;
write('Los datos al reves son: ');
for i := 5 downto 1 do
write(datos[i], ' ');
writeLn;
end.
Cuando se trabaja con arrays multidimensionales, sean matrices (bidimensionales) o de más dimensiones, es más fácil anidar bucles para acceder a cada uno de los datos del arreglo. Ejemplo:
var
datos: array[1..2, 1..3] of integer;
fila,columna: integer;
begin
for fila := 1 to 2 do
for columna := 1 to 3 do
begin
write('Deme el dato de la fila ',fila,
' y columna ', columna, ': ');
readLn(datos[fila, columna]);
end;
writeLn('El dato de la fila 1 y columna 2 es ',
datos[1,2]);
end.
Comentarios
Publicar un comentario