Está en la página 1de 13

UNEFM

ARREGLOS

INFORMÁTICA
UNEFM - Departamento de Gerencia

MSc. Norkys Medina


norkysmedina@gmail.com
Departamento de Gerencia – UNEFM
Arreglos

ÍNDICE
1. ¿Qué es un arreglo? 2
2. Clasificación de los arreglos 3
3. Arreglos unidimensionales o vectores 3
3.1. Declaración de un arreglo unidimensional o vector 3
3.2. Operaciones con arreglos unidimensionales o vectores 4
3.3. Ejercicios Resueltos 6
3.4. Ejercicios Propuestos 12

Profesora MSc. Norkys Medina Pág. Nro. 1


Departamento de Gerencia – UNEFM
Arreglos

1. ¿Qué es un arreglo?

Un arreglo es una estructura formada por una cantidad fija de datos de un mismo tipo, cada uno de los cuales se
referencia por uno o más índices que determinan la posición del dato en el arreglo.

Se puede imaginar un arreglo como una estructura de celdas contiguas que puedan almacenar valores y tiene un
único nombre de variable, que representa todos los elementos.

Ejemplo 1

El siguiente arreglo contiene las notas correspondientes a un grupo de 10 estudiantes.

NOTAS

1 19

2 12

3 14

4 17
Índice del Elementos del Arreglo
Arreglo 5 10

6 08

7 15

8 11

9 07

10 18

En este caso se observa lo siguiente:

• NOTAS es el nombre del arreglo


• Las notas contenidas en el arreglo son todas de un mismo tipo: entero.
• 1, 2, 3, ... n son los índices o subíndices del arreglo (pueden ser enteros, no negativos, variables o
expresiones enteras).
• NOTAS[1] nombre del primer elemento del arreglo NOTAS cuyo valor es 19
• NOTAS[10] nombre del elemento 10 del arreglo NOTAS cuyo valor es 18

Profesora MSc. Norkys Medina Pág. Nro. 2


Departamento de Gerencia – UNEFM
Arreglos

2. Clasificación de los arreglos

Los arreglos se clasifican en UNIDIMENSIONALES (vectores o listas) y MULTIDIMENSIONALES (tablas o matrices).

3. Arreglos unidimensionales o vectores

Son una lista o columna de datos del mismo tipo, a los que colectivamente se hace referencia mediante un nombre.
Deben cumplir lo siguiente:
• Compuesto por un número de elementos finito.
• Tamaño fijo: el tamaño del arreglo debe ser conocido en tiempo de compilación.
• Homogéneo: todos los elementos son del mismo tipo
• Son almacenados en posiciones contiguas de memoria, cada uno de los cuales se les puede acceder
directamente.
• Cada elemento se puede procesar como si fuese una variable simple ocupando una posición de memoria.

Ejemplo 2
Dado un vector denominado X cada uno de sus elementos se designará por ese mismo nombre diferenciándose
únicamente por su correspondiente subíndice que se coloca entre corchetes.

X
1 22 X[1]

2 17 X[2]

3 23 X[3]

4 14 X[4]

5 32 X[5]

3.1. Declaración de un arreglo unidimensional o vector

En pseudocódigo los arreglos unidimensionales se declaran de la siguiente manera:

Variables
Identificador: arreglo[N] de Tipo_de_dato

Donde:
Identificador: es el nombre del arreglo
N: corresponde al tamaño del arreglo o el número de elementos que contiene.
Tipo_de_Dato: se refiere al tipo de dato de los elementos y puede ser de cualquiera de los tipos ya estudiados (entero,
rela. Cadena, carácter, lógico).

Profesora MSc. Norkys Medina Pág. Nro. 3


Departamento de Gerencia – UNEFM
Arreglos

Ejemplo 3

Variables
Nombre: arreglo [60] de cadena
Not1 : arreglo [6] de reales
Codigo: Arreglo [10] de cadena
Anum: arreglo [100] de enteros

3.2. Operaciones con arreglos unidimensionales o vectores

Lectura:

Tienen que utilizarse estructuras repetitivas para leer los elementos del arreglo. A medida que se leen los datos
solicitados al usuario en cada repetición del ciclo, se van almacenando en cada posición o celda del arreglo.

Ejemplo 4

Variables
notas: Arreglo [30] de Real
I: entero
:
Para i = 1 hasta 30 Hacer i=1
Imprimir(“Introduzca nota: ”) Mientras i<= 30 Hacer
Leer( notas[i]) Imprimir(“Introduzca nota: ”)
Fin_Para Leer( notas[i])
i = i+1
Fin_mientras

Escritura:

Tienen que utilizarse estructuras repetitivas para imprimir o mostrar por pantalla los elementos del arreglo.
Generalmente, en cada repetición del ciclo, se imprime cada elemento almacenando en cada posición o celda del
arreglo.

Ejemplo 5

Para i= 1 hasta 30 Hacer i=1


Imprimir(notas[i]) Mientras i<= 30 Hacer
imprimir(notas[i])
i =i+1
Fin_mientras

Profesora MSc. Norkys Medina Pág. Nro. 4


Departamento de Gerencia – UNEFM
Arreglos

Copiar:

Tienen que utilizarse estructuras repetitivas para copiar uno a uno los elementos de un arreglo en otro. Ambos
arreglos tienen que ser de tipos compatibles y del mismo tamaño. No podemos copiar elementos de un arreglo de
tipo real en otro de tipo entero, pero si lo contrario.

Ejemplo 6

Variables
Defi, notas: Arreglo [30] de Real
I: entero

Para i = 1 hasta 30 Hacer i=1


Defi[I] = Notas[I] Mientras i<= 30 Hacer
Fin_para defi[i] = notas[i]
i = i+1
Fin_mientras;

En este ejemplo, es necesario realizar antes del ciclo, las operaciones de Escritura en el arreglo Notas, solicitando los
datos al usuario (como se mostró en el ejemplo anterior).

Sumar, restar, multiplicar, dividir, // o %:

Tienen que utilizarse estructuras repetitivas para realizar estas operaciones uno a uno con los elementos de los
arreglos involucrados. Estos arreglos tienen que ser de tipos compatibles y del mismo tamaño.

Ejemplo 7

Para i = 1 hasta N Hacer i=1


X[i] = A[i] + B[i] Mientras i<= N Hacer
Fin_para X[i] = A[i] + B[i]
i=i+1
Fin_mientras

En este ejemplo es necesario declarar N como constante y el contador i y los arreglos (X, A, B) como variables. Antes
de los ciclos mostrados, hacen falta las operaciones de Escritura en los arreglos A y B, solicitando los datos al usuario.
El procedimiento es el mismo para las operaciones restar, multiplicar, dividir, // ó %, solo basta con cambiar el
operador + por el correspondiente a la operación requerida: * - / // %

Profesora MSc. Norkys Medina Pág. Nro. 5


Departamento de Gerencia – UNEFM
Arreglos

3.3. Ejercicios Resueltos


1. Realice un algoritmo que almacene en un arreglo los nombre de 15 empleados de una empresa y luego
los muestre en un listado por pantalla.

Constantes:

Constante Descripción Tipo


N = 15 Representa la cantidad de empleados. A su vez, es el tamaño del arreglo. Entero

Explicación de las variables:


Variable Descripción Tipo
ANom Representa un arreglo de 15 posiciones que contiene en cada celda cada uno Carácter
de los nombres de los empleados.
i Representa el contador del ciclo y a su vez es el índice del arreglo. Entero

Algoritmo:
Algoritmo Empleados
Constantes
N = 15
Variables
ANom: arreglo [N] de cadena
i: entero
Inicio
Para I=1 Hasta N Hacer # Ciclo Para de 15 repeticiones (desde 1 hasta N: una por cada posición del arreglo)
Imprimir(“Indique el nombre del empleado: ”) # solicita el nombre del empleado
Leer(ANom[I]) # Lee el nombre del empleado en la variable del arreglo y lo almacena en éste
Fin_ para
Imprimir(“Listado de empleados”) # Coloca un título para el listado: este debe ser antes del ciclo
Para I=1 Hasta N Hacer # Ciclo para imprimir el listado
Imprimir(ANom[I]) # Imprime en cada repetición del ciclo cada nombre contenido en el arreglo
# uno debajo de otro hasta completar el listado
Fin_ para
Fin.

2. Realice un algoritmo para leer cédula y nota de un grupo de 30 estudiantes. Y mostrar un listado por
pantalla con estos datos, además de calcular e imprimir la nota promedio.

Constantes:

Constante Descripción Tipo


N = 30 Representa la cantidad de estudiantes. A su vez, es el tamaño de los Entero
arreglos.

Profesora MSc. Norkys Medina Pág. Nro. 6


Departamento de Gerencia – UNEFM
Arreglos

Explicación de las variables:


Variable Descripción Tipo
ACed Representa un arreglo de 30 posiciones que contiene en Cadena
cada celda cada una de las cédulas de los estudiantes.
Anota Representa un arreglo de 30 posiciones que contiene en Entero
cada celda cada uno de las notas de los estudiantes.
I Representa el contador del ciclo y a su vez es el índice de Entero
los arreglos.
Sn Es el acumulador de las notas (suma las notas). Entero
P Almacena el promedio de notas Real

Algoritmo Listado_notas
Constantes
N =30
Variables
ACed: arreglo [N] de cadena
Anota: arreglo [N] de entero
I, sn: entero
P: real
Inicio
Sn=0 # Inicializa el acumulador de notas en cero, antes del ciclo Para
Para I=1 Hasta N Hacer # Ciclo Para de 30 repeticiones (desde 1 hasta N=30)
Imprimir(“Indique cédula: ”) # solicita la cédula del estudiante
Leer(Aced[I]) # Lee la cédula en la variable del arreglo y lo almacena en éste
Imprimir(“Indique nombre: ”) # solicita el nombre del estudiante
Leer(Anta[I]) # Lee el nombre en la variable del arreglo y lo almacena en éste
Sn = sn + Anota[I] # Suma la nota leída al acumulador
Fin_ para
P = Sn/n
Imprimir(“Listado de notas”) # Coloca un título para el listado: este debe ser antes del ciclo
Imprimir(“Cédula Nota”) # Coloca un subtítulo para los datos a imprimir
Para I=1 Hasta N Hacer # Ciclo para imprimir el listado
Imprimir(Aced[I], Anota[I]) # Imprime en cada repetición una línea con la cédula y al lado la nota
# uno debajo de otro hasta completar el listado
Fin_ para
Fin.

3. Escribir un algoritmo que lea 50 números reales, los almacene en un arreglo, calcule el promedio y determine
cuantos números están por encima del promedio. Muestre el listado de los números, el promedio y la cantidad de
números por encima de éste.

Constantes:

Constante Descripción Tipo


N = 50 Representa la cantidad de números reales Entero

Profesora MSc. Norkys Medina Pág. Nro. 7


Departamento de Gerencia – UNEFM
Arreglos

Explicación de las variables:


Variable Descripción Tipo
AReales Representa un arreglo de 50 posiciones que contiene en cada celda cada uno Real
de los números reales que se ingresan.
i Representa el contador del ciclo y a su vez es el índice del arreglo. Entero
cep Es el contador de números reales que están por encima del promedio Entero
sr Es el acumulador de los números reales contenidos en el arreglo Real
pro Almacena el promedio de todos los números reales contenidos en el arreglo. Real

Algoritmo:
Algoritmo Reales
Constantes
N = 50
Variables
areales: arreglo [N] de reales
sr, pro: real
i, cep: entero
Inicio
sr = 0 # Inicializa en cero el acumulador de los números
cep = 0 # Inicializa en cero el contador de los números que están por encima del promedio
Para i = 1 Hasta N Hacer # Ciclo Para de 50 repeticiones (desde 1 hasta N=50)
Imprimir(“Introduzca Número: ”) # solicita el número
Leer(areales[I]) # Lee el número en la variable del arreglo (areales) y lo almacena en éste
sr = sr + areales[I] # Suma el número leído y almacenado en el arreglo al acumulador sr
Fin_para
pro = sr/N # Calcula el promedio de los números
Imprimir(“Números leídos”) # Coloca un título para el listado
Para i = 1 Hasta N Hacer # Ciclo Para de 50 repeticiones para imprimir el listado
Imprimir(areales[I]) # Imprime en cada repetición cada número contenido en el arreglo
Si areales[I] > Pro entonces # Verifica si el número está por encima del promedio
cep = cep + 1 # Si el número está por encima del promedio, le suma uno al contador
Fin_si
Fin_para
Imprimir(“El promedio es de: ”, Pro) # Imprime el promedio
Imprimir(“Cantidad de números por encima del promedio: ”,cep) # Imprime la cantidad de
# números mayores al
# promedio
Fin.

4. Escribir un algoritmo para crear 3 arreglos de longitud 10: Un arreglo A y un Arreglo B que contendrán números
enteros leídos por teclado y un tercer arreglo C que contendrá el promedio de los elementos contenidos en A y B.
Muestre el listado con el resultado contenido en el Arreglo C.

Profesora MSc. Norkys Medina Pág. Nro. 8


Departamento de Gerencia – UNEFM
Arreglos

Constantes:
Constante Descripción Tipo
N = 10 Representa la cantidad de números enteros a almacenar en cada arreglo. A su Entero
vez es la longitud o tamaño de los arreglos.

Explicación de las variables:


Variable Descripción Tipo
A, B Representan dos arreglos de longitud 10 que contendrán en cada posición cada Entero
uno de los números enteros que se ingresan.
C Es un arreglo que contendrá en cada posición el promedio de los dos elementos Real
contenidos en cada posición de A y B.
I Representa el contador del ciclo y a su vez es el índice de los arreglos. Entero

Algoritmo:
Algoritmo Arreglos
Constantes
N = 10
Variables
A, B: arreglo [N] de enteros
C: arreglo [N] de reales
I: entero
Inicio
Para I = 1 Hasta N Hacer # Ciclo Para de 10 repeticiones (desde 1 hasta N=10)
Imprimir(“Introduzca Número del primer arreglo: ”) # Solicita el número del arreglo A
Leer(A[I]) # Lee el número en la variable del arreglo (A) y lo almacena en éste en la posición I
Imprimir(“Introduzca Número del segundo arreglo: ”) # Solicita el número del arreglo B
Leer(B[I]) # Lee el número en la variable del arreglo (B) y lo almacena en éste en la posición I
Fin_para
Para I:=1 Hasta N Hacer # Ciclo Para de 10 repeticiones (desde 1 hasta N=10)
C[I] = (A[I] + B[I])/2 # Calcula el promedio para cada par de números almacenados en los
# arreglos A y B y almacena el resultado en la posición I del arreglo C
Fin_para
Imprimir(“Resultado”) # Coloca un título al listado
Para I = 1 Hasta N Hacer # Ciclo para imprimir el listado
Imprimir(C[I]) # Imprime en cada repetición cada elemento contenido en el arreglo C
Fin_para
Fin.
5. Realice el algoritmo: se tiene cédula y sueldo de un grupo de 45 empleados y se va a producir un
aumento del 50% del sueldo. Se requiere calcular este aumento y el nuevo sueldo. Muestre un listado
con estos datos, además de calcular e imprimir el total de la nómina.

Constantes:
Constante Descripción Tipo
N = 45 Representa la cantidad de empleados. A su vez, es el Entero
tamaño de los arreglos.

Profesora MSc. Norkys Medina Pág. Nro. 9


Departamento de Gerencia – UNEFM
Arreglos

Explicación de las variables:


Variable Descripción Tipo
ACed Representa un arreglo de 45 posiciones que contiene en Cadena
cada celda cada una de las cédulas de los empleados.
ASue Representa un arreglo de 45 posiciones que contiene en Real
cada celda cada uno de los sueldos de los empleados.
Aum Representa un arreglo de 45 posiciones que contiene en Real
cada celda el aumento del 50%.
ANSue Representa un arreglo de 45 posiciones que contiene en Real
cada celda el nuevo sueldo.
I Representa el contador del ciclo y a su vez es el índice de Entero
los arreglos.
Tn Representa el total de la nómina: es un acumulador de los Real
sueldos con el aumento (sueldos nuevos)

Algoritmo Nuevo_sueldo
Constantes
N =45
Variables
ACed: arreglo [N] de cadena
ASue, Aum, ANSue: arreglo [N] de Real
I: entero
Tn: real
Inicio
Tn=0 # Inicializa el acumulador de Sueldos nuevos en cero, antes del ciclo Para
Para I=1 Hasta N Hacer # Ciclo Para de 45 repeticiones (desde 1 hasta N=45)
Imprimir(“Indique cédula: ”) # solicita la cédula del empleado
Leer(Aced[I]) # Lee la cédula en la variable del arreglo y lo almacena en éste
Imprimir(“Indique sueldo: ”) # solicita el sueldo
Leer(ASue[I]) # Lee el sueldo en la variable del arreglo y lo almacena en éste
Aum[I] = ASue[I] * 0.5 # Calcula el aumento y lo almacena en Aum[I]
ANSue[I] = ASue[I] * Aum[I] # Calcula el nuevo sueldo y lo almacena en ANSue[I]
Tn = Tn + ANSue[I] # Suma el nuevo sueldo calculado al acumulador
Fin_ para
Imprimir(“Nuevos Sueldos”) # Coloca un título para el listado: este debe ser antes del ciclo
Imprimir(“Cédula Sueldo Aumento Nuevo Sueldo”) # Coloca un subtítulo para los datos a imprimir
Para I=1 Hasta N Hacer # Ciclo para imprimir el listado
Imprimir(Aced[I], ASue[I], Aum[I], ANSue[i]) # Imprime en cada repetición una línea con
# la cédula, el sueldo, el aumento y el nuevo sueldo,
# uno al lado del otro
Fin_ para
Imprimir(“Total sueldos: “, Tn)
Fin.

Profesora MSc. Norkys Medina Pág. Nro. 10


Departamento de Gerencia – UNEFM
Arreglos

6. Realice el algoritmo: se tiene una lista de 20 números enteros, se requiere determinar:


a) Cuantos son positivos
b) Cuantos son negativos
c) Cuantos son ceros.

Imprimir la lista y los resultados.

Constantes:

Constante Descripción Tipo


N = 20 Representa la cantidad de números de la lista. A su vez, Entero
es el tamaño del arreglo.

Explicación de las variables:


Variable Descripción Tipo
ANum Representa un arreglo de 20 posiciones que contiene en Entero
cada celda un número entero.
Cp Representa el contador de números que son positivos. Entero
Cn Representa el contador de números que son negativos. Entero
Cc Representa el contador de números que son ceros. Entero
I Representa el contador del ciclo y a su vez es el índice del Entero
arreglo.

Algoritmo Lista_numeros
Constantes
N = 20
Variables
ANum: arreglo [N] de entero
Cp, cn,cc, i: entero
inicio
cp = 0
cc = 0 # Inicializa los tres contadores en cero, antes del ciclo Para
cn = 0
Para I=1 Hasta N Hacer # Ciclo Para de 20 repeticiones (desde 1 hasta N=20)
Imprimir(“Indique número: ”) # solicita un número
Leer(Anum[I]) # Lee el número en la variable del arreglo y lo almacena en éste
Si anum[i] >0 entonces # Si el número es mayor que cero (Positivo)
cp = cp +1 # Le suma uno al contador de números positivos
Sino
Si anum[i] <0 entonces # Si el número es menor que cero (Negativo)
cn = cn +1 # Le suma uno al contador de números negativos
Sino # Sino es cero
cc= cc + 1 # Le suma uno al contador de ceros
Fin_si
Fin_si
Fin_ para

Profesora MSc. Norkys Medina Pág. Nro. 11


Departamento de Gerencia – UNEFM
Arreglos

Imprimir(“Números leídos”) # Coloca un título para el listado: este debe ser antes del ciclo
Para I=1 Hasta N Hacer # Ciclo para imprimir el listado de los números
Imprimir(Anum[I]) # Imprime en cada repetición un número por línea
Fin_ para
Imprimir(“Cantidad de números positivos: ”, cp)
Imprimir(“Cantidad de números negativos: ”, cn)
Imprimir(“Cantidad de ceros: ”, cn)
Fin.

3.4. Ejercicios Propuestos

1. Realice un algoritmo que almacene en dos arreglos la cédula y los nombres de 25 estudiantes y luego los muestre
en un listado por pantalla con estos datos.
2. Realice un algoritmo que lea cien números enteros, calcule el cubo de cada uno de ellos, los coloque en un arreglo
y los muestre en un listado por pantalla.
3. Realice un algoritmo que almacene en un arreglo cincuenta números enteros, los muestre por pantalla y determine
cuántos de ellos son pares y cuantos impares.
4. Escribir un algoritmo para crear 3 arreglos de longitud 10: Un arreglo A y un Arreglo B que contendrán números
enteros leídos por teclado y un tercer arreglo C que contendrá la multiplicación de los elementos contenidos en A
y B. Muestre el listado con el resultado contenido en el Arreglo C.
5. Se tienen los siguientes datos de un grupo de 40 estudiantes: cédula, nota 1 y nota 2, se requiere calcular la nota
definitiva de cada estudiante, sabiendo que esta es el promedio de las dos notas. Mostrar un listado con la cédula
y la nota definitiva.

Profesora MSc. Norkys Medina Pág. Nro. 12

También podría gustarte