Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN
ACTIVIDAD ARREGLOS
TEC. SUP. EN
DESARROLLO Tema: Arreglos. Operaciones básicas.
DE SOFTWARE
Apellido y Nombre: Fecha: / /
Conceptos Teóricos
Un arreglo es un conjunto de elementos del mismo tipo de dato que comparten un nombre común;
podemos decir que se asemeja a una variable que puede almacenar más de un valor al mismo tiempo. Un
arreglo es un conjunto finito de elementos del mismo tipo cuyo acceso se realiza a través de índices. Desde el
punto de vista del programa un arreglo se define como una zona de almacenamiento contiguo (posiciones de
memoria consecutivas) que contiene una serie de elementos, todos del mismo tipo (enteros, reales, lógicos,
etc.) que pueden ser procesados individualmente o en conjunto.
Los siguientes arreglos, Vector_1 y Vector_2, son unidimensionales, comúnmente denominados
vectores, cuentan con espacio de almacenamiento suficiente para guardar 8 datos del tipo numérico y
alfanumérico respectivamente.
Un vector de tipo numérico con una dimensión de 8 espacios es:
33 18 3 65 94 4 7 12
Vector_1 0 1 2 3 4 5 6 7
Índices de Vectores
Los índices permiten referenciar directamente posiciones específicas de un vector. Los índices pueden
ser valores constantes ordinales (por ejemplo, Vector_1[5]), variables ordinales (por ejemplo, Vector_1[i])
o expresiones de tipo ordinal (por ejemplo, Vector_1[i+2])
Rango
El número de elementos de un vector se conoce como Rango del Vector. Este se determina mediante
la siguiente expresión: Rango de Vector=LS – LI +1
Límite inferior (LI): valor mínimo permitido para el índice
Límite superior (LS): el valor máximo permitido para el índice.
Por ejemplo, podría definirse un arreglo cuyos índices estuvieran entre 1 y 50, donde LI=1 y LS=50.
Entonces Rango de Vector=LS – LI +1, Rango de Vector=50 – 1 +1, Rango de Vector=50.
Lectura y Escritura
Para acceder a un elemento específico del arreglo valores, se indica el nombre del arreglo y el índice
que especifica su posición. Por ejemplo, si deseamos saber en el Vector_1, el valor 2, y en el Vector_2, el
valor 5, hacemos lo siguiente:
Escribir Vector_1 [2] //nos mostrará el valor 3
Escribir Vector_2 [i] //con i=5, entonces, nos mostrará el valor ‘sol’
La asignación de valores a los elementos de un vector se realiza indicando el espacio de orden con el
operador asignación para asignar el valor, de igual manera que con las variables simples. Es posible realizar
la carga de vectores con datos mediante estructuras de control repetitivas.
1 2 3 4
Matriz_1 1 2 3 4 Matriz_2 1 A O S O
1 4 7 5 9
2 B M L M
2 3 1 4 2
3 M L V X
3 5 8 3 1
4 G P H C
4 9 4 7 2
5 D C J W
Matriz_1: Una matriz de tipo numérico con una dimensión de 4 x 4.
Matriz_2: Una matriz de tipo caracter con una dimensión de 5 x 4.
Si la matriz tiene igual número de filas que de columnas se dice que se trata de una matriz cuadrada.
En las matrices cuadradas los elementos que ocupan las posiciones donde los índices de fila y columna son
iguales reciben el nombre de diagonal principal. Por ejemplo, en la Matriz_1 los elementos de la diagonal
principal son: 4, 1, 3, 2.
Índices de Matrices
Los índices permiten referenciar directamente posiciones específicas de los elementos de una matriz.
Los índices pueden ser valores constantes ordinales (por ejemplo, Matriz_1[1,1]), variables ordinales (por
ejemplo, Matriz_1[i,j]) o expresiones de tipo ordinal (por ejemplo, Matriz_1[i+2,j])
Rango
El número de elementos de una matriz se conoce como Rango de la Matriz. Este se determina
mediante la siguiente expresión:
Rango de la matriz=(LSF-LIF+1)*(LSC-LIC+1)
LSF: límite superior del índice de filas
LIF: límite inferior del índice de filas
LSC: límite superior del índice de columnas
LIC: límite inferior del índice de columnas
Lectura y Escritura
Para acceder a un elemento específico de una matriz, se indica el nombre de la matriz y los índices que
especifican una posición. Por ejemplo, si deseamos saber en Matriz_1, el valor que se encuentra en la fila 2,
columna 3, y en la Matriz_2, el valor que se encuentra en la fila 5, columna 1, hacemos lo siguiente:
Escribir Matriz_1 [2,3] //nos mostrará el valor 4
Escribir Matriz_2 [i,j] //con i=5 y j=1 entonces, nos mostrará el valor ‘D’
La asignación de valores a los elementos de una matriz se realiza indicando el espacio de orden con el
operador asignación para asignar el valor, de igual manera que con las variables simples. Es posible realizar
la carga de matrices con datos mediante estructuras de control repetitivas.
Arreglos Multidimensionales
Un arreglo multidimensional, puede definirse de tres, cuatro o hasta N dimensiones. De acuerdo a la
cantidad de dimensiones será necesario especificar la cantidad de índices para acceder a los elementos
individuales del arreglo. Por ejemplo, si el arreglo tiene 3 dimensiones, requiere de 3 índices; si el arreglo tiene
4 dimensiones, requiere de 4 índices; y si el arreglo tiene n dimensiones, entonces
requiere de n índices.
Multi
Rango
El número de elementos de arreglo multidimensional se determina mediante la siguiente expresión:
Rango del arreglo multidimensional=(LS1-LI1+1)*(LS2-LI2+1)* …*(LSn-LIn+1)
Por ejemplo, el rango para Multi, Rango de Multi =(LS1-LI1+1)*(LS2-LI2+1)* (LS3-LI3+1), entonces
Rango de Multi =(4-1+1)*(5-1+1)* (30-1+1)=600
Ejercicio: realizar la carga de valores a Multi, en pseudocódigo y en c++:
PROGRAMA Multidimensional #include <iostream.h>
CONSTANTES using namespace std;
D1=4
D2=5 const int D1=4, D2=5, D3=30;
D3=30 typedef char tipo_multi [D1][D2][D3];
TIPOS
tipo_multi=ARREGLO [1..D1, 1..D2, 1..D3] de entero main ()
VARIABLES {
num: tipo_multi tipo_multi num;
i,j,k:entero int i,j,k;
INICIO for(i=0;i<=D1-1;i++)
Para i desde 1 hasta D1 hacer for(j=0;j<=D2-1;j++)
Para j desde 1 hasta D2 hacer for(k=0;k<=D3-1;k++)
Para k desde 1 hasta D3 hacer {
Escribir "Ingrese un caracter"; cout<<"Ingrese un caracter"<<endl;
Leer num(i,j,k); cin>>num[i][j][k];
Fin Para }
Fin Para for(i=0;i<=D1-1;i++)
Fin Para for(j=0;j<=D2-1;j++)
Para i desde 1 hasta D1 hacer for(k=0;k<=D3-1;k++)
Para j desde 1 hasta D2 hacer {
Para k desde 1 hasta D3 hacer cout<<num[i][j][k]<<endl;
Escribir num(i,j,k); }
Fin Para system("pause");
Fin Para }
Fin Para
FIN
programa vectores
constantes
MAX =20
tipos
vector=arreglo [1..MAX] de enteros
variables
num:vector
opción, ocupado:entero
inicio
ocupado<-0
repetir
escribir ‘1-cargar vector‘
escribir ‘2-mostrar vector‘
escribir ‘3-salir‘
escribir ‘ingrese opcion:’
leer opcion
según opcion hacer
1: agregar(num,ocupado)
2: mostrar(num,ocupado)
3: escribir ‘fin del programa…’
de otro modo: escribir ‘opcion incorrecta’
fin_segun
hasta_que opcion=3
fin
Ejercicio 2: Considerando una matriz 3X3 (matriz cuadrada) de valores enteros, diseñe un programa (y los
procedimientos y funciones necesarios) que permita cargar la matriz, calcular la suma de su diagonal principal
y mostrar los elementos de la matriz.