arreglos

Páginas: 5 (1107 palabras) Publicado: 30 de mayo de 2015
5.- Arreglos multidimensionales.
Hasta ahora nuestros arreglos son solo de una dimensión, es decir, tenemos nuestros datos
encadenados en línea recta:

[ ] - [ ] - [ ] - .... - [ ]

pero además, es posible definir arreglos de dos dimensiones, o también conocidos como matrices:

[ ] - [ ] - [ ] - .... - [ ]
| | | |
[ ] - [ ] - [ ] - .... - [ ]
| | | |
. . . .
. . . .
. . . .[ ] - [ ] - [ ] - .... - [ ]

A simple vista la estructura parece muy compleja pero no lo es tanto. En realidad un arreglo
bidimensional es tratado en forma muy similar a un arreglo unidimensional. Veamos como se
definen:

var nombre: ARRAY[ rango1, rango2 ] OF tipo;


Por ejemplo:

var Matriz: ARRAY[ 1..3, 1..5 ] OF integer;

es un arreglo bidimensional de 3x5. Originalmenteeste arreglo esta vacio:

[ ] - [ ] - [ ]
[ ] - [ ] - [ ]
[ ] - [ ] - [ ]
[ ] - [ ] - [ ]
[ ] - [ ] - [ ]

y si queremos guardar algo en alguna posición solo hacemos:

nombre[ columna, fila ] := valor;

Por ejemplo: Matriz[ 2, 2 ]:=3;

y el arreglo quedaría as¡:

[ ] - [ ] - [ ]
[ ] - [3] - [ ]
[ ] - [ ] - [ ]
[ ] - [ ] - [ ]
[ ] - [ ] - [ ]

El resto de lasoperaciones son las mismas que con los arreglos.

También podemos utilizar contadores para movernos por las filas y las columnas de manera de
leer, imprimir o copiar un arreglo bidimensional. Veamos un ejemplo:
Arreglos Multidimensionales
Estructura de Datos


ISC Gregorio García Estrada
------------------------------------------------------------------------------
uses crt;

var M:array[1..3, 1..4] of integer;
c, f: integer;

begin
randomize;
clrscr;

{ Rellena la matriz con numeros al azar }
for f:=1 to 4 do
for c:=1 to 3 do
M[c,f] := random(10);

{ Imprime la matriz }
for f:=1 to 4 do
begin
for c:=1 to 3 do write( '[', M[c,f], ']' );
writeln;
end;

readln;
end.
------------------------------------------------------------------------------

Asícomo arreglos bidimensionales también podemos crear arreglos de 3, 4, 5 ... y todas las
dimensiones que queramos:


Ej.: var R1: array[1..3, 0..5, -1..7, -2..6 ] of integer;
Pero solo podemos representar gráficamente hasta de 3 dimensiones, las demás solo se
consideran como estructuras para almacenar datos.

Pero para que nos sirven los arreglos?. Ahora podemos fácilmente crear juegos detablero
simples. De hecho el Archon se basa en un arreglo bidimensional. Si se dan cuenta ahora el
"Busca Minas" del Windows para nosotros no es mas que un arreglo bidimensional de tipo boolean.
Son útiles para crear las animaciones de nuestros juegos.
1.4 Arreglos Multidimensionales
Este también es un tipo de dato estructurado, que está compuesto por n dimensiones. Para hacer referencia acada componente del arreglo es necesario utilizar n índices, uno para cada dimensión
Para determinar el número de elementos en este tipo de arreglos se usan las siguientes fórmulas:
RANGO (Ri) = lsi - (lii + 1)
No. TOTAL DE ELEMENTOS = R1 * R2* R3 * ...* Rn
donde:
i = 1 ... n
n = No. total de dimensiones
Para determinar la dirección de memoria se usa la siguiente formula:
LOC A[i1,i2,i3,...,in] =base(A) + [(i1-li1)*R3*R4*Rn + (i2-li2)*R3*R2*... (in - lin)*Rn]*w
1.5 Operaciones Con Arreglos
Las operaciones en arreglos pueden clasificarse de la siguiente forma:
Lectura
Escritura
Asignación
Actualización
Ordenación
Búsqueda
a) LECTURA
Este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes.
La lectura se realiza de la siguiente manera:
para i desde1 hasta N haz
x<--arreglo[i]
b) ESCRITURA
Consiste en asignarle un valor a cada elemento del arreglo.
La escritura se realiza de la siguiente manera:
para i desde 1 hasta N haz
arreglo[i]<--x
c) ASIGNACION
No es posible asignar directamente un valor a todo el arreglo, por lo que se realiza de la manera siguiente:
para i desde 1 hasta N haz
arreglo[i]<--algún_valor
d) ACTUALIZACION
Dentro de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Arreglos
  • Arreglos
  • Arreglos
  • Arreglos
  • Arreglos
  • Arreglos
  • Arreglos
  • ARREGLOS

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS