arreglos para programación en tiempo real
DEPARTAMENTO DE ING. MECATRONICA
Programación en tiempo real
Capítulo 17. Arreglos. Array.
17. ARREGLOS. Array
17.1. Concepto.
El arreglo es un tipo estructurado de datos, y representa, en un ambiente de programación,
a las entidades matemáticas denominadas vectores y matrices.
Sin lugar a dudas, es la estructurade datos más empleada por los programadores; y en
algunos lenguajes de programación suele ser la única estructura explícita disponible.
Se entiende por estructura de datos, la acción de agrupar elementos primitivos en cierta
forma. La forma más simple es agrupar componentes de igual tipo y asociarle un número de
orden a cada componente; éste es el caso del arreglo.
índice
dominio = Icontenido
codominio = C
En términos matemáticos abstractos la transformación (mapeo) puede anotarse:
A: I---> C
En Pascal puede anotarse, la definición del nuevo tipo A según:
type A = array [I] of C;
I se denomina tipo del índice, y debe ser un tipo ordinal.
C es el tipo del contenido, o de las componentes. También suele llamarse tipo base. Importa
insistir en que todas las componentesdeben ser de igual tipo.
El tipo estructurado A queda completamente definido, si están previamente definidos los
tipos I y C.
17.2. Notación.
Prof. Leopoldo Silva Bijit.
07-07-2003
186
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 17. Arreglos. Array.
Es preciso definir como denotar, o accesar, a una componente del arreglo.Una visión esquemática útil del arreglo es la siguiente, asumiendo declarada una variable
vector v de tipo A.
var v: A;
v
v[j]
Es decir, visualizar un objeto de tipo A como un vector renglón. Para denotar la componente
de orden j se emplea el nombre de la variable, y luego encerrado entre paréntesis cuadrados
el índice j.
v es una variable de tipo A, y está formada por una colección(secuencia o arreglo) de
componentes de tipo C. La secuencia está indexada por los elementos de I; es decir para
cada elemento de I existe un valor asociado de la secuencia, de tipo C.
17.3. Ejemplos de Definición de tipo arreglo.
Type vector = array [1..10] of real;
bitvector = array [1..32] of boolean;
linea = array [1..80] of char;
tabla = array [1..n] of integer;
17.4. ArreglosBidimensionales. Matrices.
Si en el arreglo unidimensional o vector, definido antes, se escogen las componentes tal que
éstas, a su vez, sean de tipo arreglo unidimensional se tendrá:
type matriz = array [R] of array [C] of T;
Donde R es dominio de los renglones y C el dominio de las columnas. T es el tipo de las
componentes o tipo base.
Con: var m : matriz;
Prof. Leopoldo Silva Bijit.07-07-2003
187
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 17. Arreglos. Array.
Se tendrá que una componente puede anotarse:
m[i][j]
Para simplificar la notación se acepta:
Type matriz = array [R, C] of T;
Y puede accesarse a una componente según:
m[i,j]
Ejemplo: Dos matrices, m y n, de 100 por 100 de valores enteros puededeclararse:
const dimension = 100;
type matriz = array [1..dimension,1..dimension] of integer;
var m, n: matriz;
17.5. Arreglos Multidimensionales.
Pueden definirse según:
Type M = array [T1,T2,...TN] of T;
Donde: T1 a TN son los tipos de los índices.
T es el tipo base.
En general:
::=
'array [' {* ',' } '] of'
Ejemplo: Sean las declaraciones:
a: array [1..3] of T;
b: array [1..2] of a;Se puede interpretar gráficamente las estructuras, según:
Prof. Leopoldo Silva Bijit.
07-07-2003
188
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
Programación en Pascal
Capítulo 17. Arreglos. Array.
b[1] [2]
b
a[1] a[2] a[3]
a[1] a[2] a[3]
b[1]
b[2]
b[2] [3]
De esta forma pueden
verse los arreglos multidimensionales como árboles.
Para...
Regístrate para leer el documento completo.