Compu

Páginas: 8 (1918 palabras) Publicado: 9 de marzo de 2013
MANEJO DE ARREGLOS EN PASCAL

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. Es la estructura de 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 agruparelementos 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.

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 serun tipo ordinal.
C es el tipo del contenido, o de las componentes. También suele llamarse tipo base. Importa insistir en que todas las componentes deben ser de igual tipo.
El tipo estructurado A queda completamente definido, si están previamente definidos los tipos I y C.

Notación.

Es preciso definir como denotar, o accesar, a una componente del arreglo. Una visión esquemática útil delarreglo es la siguiente, asumiendo declarada una variable vector v de tipo A.
var v:A;
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. Lasecuencia está indexada por los elementos de I; es decir para cada elemento de I existe un valor asociado de la secuencia, de tipo C.

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;

Arreglos Bidimensionales. Matrices.

Si en el arreglo unidimensional ovector, 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;
v[j]
v

Se tendrá que una componente puede anotarse:
m[i][j]
Para simplificar la notaciónse 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 puede declararse:
const dimension = 100;
type matriz = array [1..dimension,1..dimension] of integer;
var m, n: matriz;

Arreglos Multidimensionales.

Pueden definirse según:

Type M = array [T1,T2,...TN] of T;
Donde: T1 a TNson los tipos de los índices.
T es el tipo base.
En general:
<tipoarreglo>::=
'array [' {<tipo ordinal>* ',' } '] of' <tipobase>
Ejemplo: Sean las declaraciones:
a: array [1..3] of T;
b: array [1..2] of a;

Arreglos estáticos.

Es importante destacar que los arreglos en Pascal son estructuras estáticas; es decir, el número de sus componentes queda determinado en elmomento en que el programa es traducido a lenguaje de máquina. Esto está de acuerdo con la estrategia de diseño de Pascal, de que todos los tipos deben estar completamente especificados en el momento de la compilación.
Esto produce dificultades cuando se desea trabajar con arreglos de largo variable. En estos casos suele definirse un espacio igual al mayor largo que se desee manipular; con laconsiguiente mala utilización de memoria para los casos en que el largo sea menor que el definido. Si el largo variable máximo no es conocido, no podrá usarse esta estructura; y quizá convendría emplear un lenguaje que admitiera arreglos dinámicos.

Por esta razón los valores máximos de los índices suelen definirse como constantes. Si se tiene un programa funcionando con una determinada dimensión...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compu
  • Compu
  • Compu
  • compu
  • compu
  • Compu
  • compu
  • Compu

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS