Sei sulla pagina 1di 13

INGENIERIA DE SISTEMAS ASIGNATURA: PROGRAMACIN

Unidad 6: Arreglos Unidimensionales y Multidimensionales


Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
1. Definicin de array Un array (matriz o vector) es un conjunto finito y ordenado de elementos homogneos. La propiedad ordenado significa que el elemento primero, segundo, tercero,..., ensimo de un array puede ser identificado. Los elementos de un array son homogneos, es decir, del mismo tipo de datos. El subndice o ndice de un elemento (1, 2, ..., i, n) designa su posicin en la ordenacin del vector. Otras posibles notaciones del vector son: a1, a2,......ai,.......an A(1) , A(2), ., A(i), A(n)

Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
1.1 Caractersticas de los arrays unidimensionales
- Almacenan los elementos del array en posiciones de memoria continua. - Tienen un nico nombre de variable (por ejemplo NOTAS) que represente a todos los elementos. stos a su vez se diferencian por un ndice o subndice. NOTAS[1]NOTAS[n]. - Se puede acceder directa o aleatoriamente los elementos del array.

1.2 Formato de declaracin de un array (PASCAL) Type nombre_array = array [rango del subndice] of tipo

Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
Para declarar una variable tipo array, se utiliza la siguiente sintaxis: Type valores = array [1..10] of real; Var precios: valores; Primeramente se crea el tipo del array y luego se declara la o las variables referenciadas al array. O tambin, directamente en las variables: Var nombres : array [1..30] of string[30];

Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
1.3 Lectura y escritura de un array Para leer un vector se debe hacer elemento a elemento y se requiere de alguna estructura repetitiva, ya sea un while, repeat o for.
i := 1; While i <= 100 do Begin Read (Notas[I]); i := i+1 End; i:= 1; Repeat Read (Notas [i]); i := i + 1 Until (i > 100) For i:= 1 to n do Readln(Notas[i]);

Para visualizar un vector, igualmente, es necesario situarlo dentro de una estructura repetitiva.
For i := 1 to numero do Writeln (Notas [i]:3); Writeln; (* Evita que todas las salidas del vector aparezca en la misma lnea *).
Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
2. Arrays de varias dimensiones Los vectores examinados hasta ahora se denominan arrays unidimensionales y en ellos cada elemento se define o referencia por un ndice o subndice. Estos vectores son elementos de datos escritos en una secuencia. Sin embargo, existen grupos de datos que son representados mejor en forma de tabla o matriz, con dos o mas subndices. Los arrays no unidimensionales los dividiremos en dos grandes grupos:

- Arrays bidimensionales - Arrays multidimensionales

(2 dimensiones) (3 o ms dimensiones)

Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
2.1 Arrays bidimensionales (tablas / matrices) El array bidimensional se puede considerar como un vector de vectores. Es, por consiguiente, un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesita especificar dos subndices para poder identificar cada elemento del array.
Fila 1 Fila 2 Fila 3 Fila 4 Fila 5

Columna 4

Columna 2

Columna 5

Columna 3

Columna 1

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
Un array bidimensional M, tambin denominado matriz (trminos matemticos) o tabla (trminos financieros), se considera que tiene dos dimensiones (una dimensin por cada subndice) y necesita un valor para cada subndice para poder identificar un elemento individual. En notacin estndar, normalmente el primer subndice se refiere a la fila del array, mientras que el segundo subndice se refiere a la columna del array. Es decir, B [i, j] es el elemento de B que ocupa la Ia fila y Ja columna.

Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
2.2 Declaracin de arrays bidimensionales (PASCAL) Al igual que en los arrays unidimensionales o vectores, se crean con declaraciones type y var.

Ejemplo: Cant. Filas Type tabla = array [1..25,1..4] of real; Var grados : tabla;
Cant.Columnas

Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Unidad 6: Arreglos
2.3 Operaciones sobre arrays bidimensionales (PASCAL) Para localizar o almacenar un valor en el array se deben especificar dos posiciones o subndices, uno para la fila y otro para la columna. Escritura de una matriz Para mostrar el contenido de una matriz (al igual que para leer), se debe hacer referencia tanto a la fila como a la columna. As: For fila := 1 to 3 do Begin For columna := 1 to 4 do Write (A[fila, columna]:4); End;
Tomado de: Fundamentos de Programacin. Joyanes Aguilar (2003)

Programacin | Profa. Cristina Mata

Ejemplo (PASCAL) Calcular el promedio de cada estudiante de una lista de veinticinco alumnos de una clase de informtica con notas en cuatro asignaturas. program promedio; Var notas: array [1..25,1..4] of real; i,j: integer; suma,prom: real; Begin for i := 1 to 25 do Begin write (`Notas del estudiante: ,i:1); writeln (`En una misma lnea digite todas las notas); suma := 0; for j := 1 to 4 do Begin read (notas[i,j]); suma := suma + notas[i,j] End; readln; prom := suma/4; writeln (`La nota promedio del estudiante `,I:1, es `,Prom:1:1) End End.
Programacin | Profa. Cristina Mata

Programacin | Profa. Cristina Mata

Potrebbero piacerti anche