Está en la página 1de 21

Arreglos

UNIVERSIDAD TECNOLÓGICA NACIONAL | Facultad Regional Resistencia


Ingeniería en Sistemas de Información
Algoritmos y Estructuras de Datos
Si tuvieran que imprimir por pantalla la suma de los N
primeros números, y mostrar cada uno de los números

Qué herramientas de las


aprendidas hasta ahora
usarías

2
1.
Estructuras de Datos Estáticas
Qué son
Dinámicas
ESTRUCTURAS
DE DATOS
Estáticas

Las estructuras de datos estáticas
son aquellas en las que el tamaño
ocupado en memoria se define antes
de que cualquier acción se ejecute y no
puede modificarse dicho tamaño
durante la ejecución del proceso.
5
Un arreglo es un conjunto
homogéneo, finito y ordenado de
elementos

6
Los arreglos pueden clasificarse en
función a sus dimensiones

UNIDIMENSIONALES BIDIMENSIONALES MULTIDIMENSIONALES

7
Asignación

Operaciones
con Arreglos
Lectura /
Escritura

Recorrido

Actualización

Ordenamiento

Búsqueda

8
Definición en el ambiente

Ambiente
a: Arreglo de [1…7] de entero;

Dato: En Pascal se usa manejo de Tipos, por considerarse una estructura de datos

9
VECTORES
a: ARREGLO [1..7] de entero;

Nombre de
Definición de la estructura
la variable

9 5 6 2 4 8 3
Estructura física en memoria

Posición : 1
Contenido : a[1] = 9

10
Acceso a cada elemento
Acceso al elemento
Escribir ( a[1]);

Asignación de valores
a[1] := 23;

Los índices de un arreglo pueden ser: entero (subrango), alfabético o conjunto (caracter,
enumerado)

11
Ejemplo para utilizar vectores
Cargar 10 elementos en un vector, sumarlos y mostrar el
resultado por pantalla.
Pasos para resolver este problema:
• Leer un vector de 10 elementos
• Sumar los elementos
• Mostrar el resultado de la suma por pantalla

12
Program Ejemplo1; {Version 1}
Declaración del tipo del arreglo
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
Declaración de la variable arreglo
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
read(vec_sumandos[i] ) Lectura de los elementos del arreglo
for i := 1 to 10 do
suma:= suma +vec_sumandos[i];
writeln (´La suma de los números es´, suma); Suma de los elementos
end.
13
Que són Vectores Paralelos?
Dos o más arreglos que utilizan el mismo
subíndice para acceder a elementos de distintos
arreglos, se denominan arreglos paralelos.
Estos arreglos pueden procesarse simultáneamente

14
Ejemplo de Vectores Paralelos
Se tienen dos arreglos.
El primero contiene nombres de personas y el segundo contiene los sexos
de las personas del primer arreglo, codificados como ´f´ y ´m´.
Obtener a partir de estos otros dos arreglos, el primero de los cuales debe
contener todos los nombres de los varones y el segundo, el nombre de
todas las mujeres.

15
Formas de Recorrido
RECORRIDO NATURAL
Es aquél que permite posicionarse en cada elemento de la estructura
respetando el orden de su definición.

RECORRIDO ANTINATURAL
Es aquél que permite posicionarse en cada elemento de la estructura sin
respetar el orden de su definición.

16
MATRICES
Mi_Matriz 9 5 6 2 4 8 3

9 5 6 2 4 8 3

9 5 6 2 4 8 3
Nombre de
la variable

Posición : 3,1
Contenido : Mi_matriz [3,1] = 9

17
Definición en el ambiente

Ambiente
a: ARREGLO de [1…10, 1..5] de entero;

Se definen filas y columnas

18
Ejemplo en PASCAL
Se define primero un vector que contenga elementos de la matriz y luego la matriz
es un arreglo de arreglo

type
T_Matriz = array[ 1..10, 1..5 ] of integer;

var
Matriz: T_Matriz;

var
Matriz: array[ 1..10, 1..5 ] of integer;

19
Acceso a cada elemento
Acceso al elemento
Escribir ( a[1,2]);

Asignación de valores
a[1,2] := 23;

Los índices de un arreglo pueden ser: entero (subrango), alfabético o conjunto


(caracter, enumerado)
20
Ejemplo en Pascal
Una vez definidas las dimensiones de la matriz, se pueden utilizar ciclos manejados por
contador para recorrer y acceder a sus elementos, indicando fila y columna

Con la siguiente declaración:

type
T_matriz = array[ 1..10, 1..10 ] of real;

var
Matriz: T_matriz;

Carga de una matriz

for i:= 1 to 10 do
for j:= 1 to 10 do
readln(Matriz[i,j] )

21

También podría gustarte