Documente Academic
Documente Profesional
Documente Cultură
la Programación
Tema 3: Arreglos
6
Sumario
Arreglos. Declaración
Acceso a los elementos de un Arreglo.
Conclusiones.
7
¿Qué es un Arreglo?
Es un grupo de posiciones en memoria que
almacena bajo el mismo nombre
(identificador) una colección de datos del
mismo tipo. (Manual de la Asignatura)
ordenados.
Arreglos.
Un Arreglo es un grupo de posiciones en memoria
que almacena bajo el mismo nombre (identificador)
una colección secuencial de datos del mismo tipo.
Posiciones 1 2 3 4 5 6 7 8
Notas 2 3 4 5 4 2 3 5
Índices 0 1 2 3 4 5 6 7
Arreglo dinámico
<tipo> * <identificador>;
11
Caso de estudio
//Programa que calcula el promedio de N notas
{
int N, suma = 0;
cin >> N;
int notas[N];
Conclusiones.
13
Acceso a los elementos de un Arreglo
Sintaxis:
<identificador>[<índice>]
exp_arit → int
14
Acceso a los elementos de un Arreglo
Sintaxis para obtener un valor:
<tipo> <ident_var> = <ident_arr>[<índice>];
Identificador Identificador
de la del arreglo
variable
Ejemplo:
int nota = notas[3];
Acceso a los elementos de un Arreglo
Sintaxis para modificar un valor:
<ident_arr>[<índice>] = <valor>;
Identificador
del arreglo
Ejemplo:
notas[3] = 5;
Sumario
Arreglos. Declaración y creación.
Acceso a los elementos de un Arreglo.
Conclusiones.
17
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char vocales [5];
vocales ‘’ ‘’ ‘’ ‘’ ‘’
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char vocales [5];
vocales[0] = ‘a’;
vocales ‘a’ ‘’ ‘’ ‘’ ‘’
19
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char vocales [5];
vocales[0] = ‘a’;
vocales[1] = ‘e’;
20
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char vocales [5];
vocales[0] = ‘a’;
vocales[1] = ‘e’;
vocales[2] = ‘i’;
21
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char vocales [5];
vocales[0] = ‘a’;
vocales[1] = ‘e’;
vocales[2] = ‘i’;
vocales[3] = ‘o’;
22
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char vocales [5];
vocales[0] = ‘a’;
vocales[1] = ‘e’;
vocales[2] = ‘i’;
vocales[3] = ‘o’;
vocales[4] = ‘u’;
23
Inicialización de un Arreglo
Si creamos el siguiente Arreglo:
char[] vocales = new char[5];
vocales[0] = ‘a’;
vocales[1] = ‘e’;
vocales[2] = ‘i’;
vocales[3] = ‘o’;
vocales[4] = ‘u’;
Lo anterior es equivalente a:
char vocales[] = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’};
Caso de estudio
//Programa que calcula el promedio de N notas {
int N, nota, suma = 0;
cin >> N;
nota 3 5 4 2 2 5
0 1 2 3 4 5
Caso de estudio
//Programa que calcula la cantidad de notas por encima
del promedio. Recorrido de un arreglo.
int contador = 0;
for(int i = 0; i < N; i++) {
if(notas[i] > promedio){
contador++;
}
}
cout << "La cantidad de notas que superan el promedio
son: " << contador;
}
nota 3 5 4 2 2 5
0 1 2 3 4 5
Caso de estudio
//Programa que calcula la cantidad de notas por encima
del promedio. Recorrido de un arreglo.
int contador = 0;
for(int i = 0; i < N; i++) {
if(notas[i] > promedio){
contador++;
}
}
cout << "La cantidad de notas que superan el promedio
son: " << contador;
}
nota 3 5 4 2 2 5
0 1 2 3 4 5
Caso de estudio
//Programa que calcula la cantidad de notas por encima
del promedio. Recorrido de un arreglo.
int contador = 0;
for(int i = 0; i < N; i++) {
if(notas[i] > promedio){
contador++;
}
}
cout << "La cantidad de notas que superan el promedio
son: " << contador;
}
nota 3 5 4 2 2 5
0 1 2 3 4 5
Caso de estudio
//Programa que calcula la cantidad de notas por encima
del promedio. Recorrido de un arreglo.
int contador = 0;
for(int i = 0; i < N; i++) {
if(notas[i] > promedio){
contador++;
}
}
cout << "La cantidad de notas que superan el promedio
son: " << contador;
}
nota 3 5 4 2 2 5
0 1 2 3 4 5
Caso de estudio
//Programa que calcula la cantidad de notas por encima
del promedio. Recorrido de un arreglo.
int contador = 0;
for(int i = 0; i < N; i++) {
if(notas[i] > promedio){
contador++;
}
}
cout << "La cantidad de notas que superan el promedio
son: " << contador;
}
nota 3 5 4 2 2 5
0 1 2 3 4 5
Caso de estudio
//Programa que calcula la cantidad de notas por encima
del promedio. Recorrido de un arreglo.
int contador = 0;
for(int i = 0; i < N; i++) {
if(notas[i] > promedio){
contador++;
}
}
cout << "La cantidad de notas que superan el promedio
son: " << contador;
}
nota 3 5 4 2 2 5
0 1 2 3 4 5
Sumario
Arreglos. Declaración y creación.
Acceso a los elementos de un Arreglo.
Conclusiones.
35
Asignación de Arreglos
int primos[] = {2, 3, 5, 7, 11, 13};
primos 2 3 5 7 11 13
36
Asignación de Arreglos
int primos[] = {2, 3, 5, 7, 11, 13};
primos[3]=20 primos 2 3 5 20 11 13
37
Asignación de Arreglos
int primos[] = {2, 3, 5, 7, 11, 13};
primos[3]=20 primos 2 3 5 20 11 13
int numeros[];
numeros
38
Asignación de Arreglos
int primos[] = {2, 3, 5, 7, 11, 13};
primos[3]=20 primos 2 3 5 20 11 13
int numeros[];
numeros
numeros = primos;
39
Asignación de Arreglos
int primos[] = {2, 3, 5, 7, 11, 13};
primos[3]=20 primos 2 3 5 25 11 13
int[] numeros;
numeros
numeros = primos;
numeros[3] = 25;
40
Asignación de Arreglos
int primos[] = {2, 3, 5, 7, 11, 13};
primos[3]=20 primos 2 3 5 25 11 13
int[] numeros;
numeros
numeros = primos;
numeros[3] = 25;
primos 2 3 5 7 11 13
42
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros
43
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros
44
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2
45
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2 3
46
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2 3 5
47
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2 3 5 7
48
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2 3 5 7 11
49
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2 3 5 7 11 13
50
Copia de un Arreglo en otro
int primos[] = {2, 3, 5, 7, 11, 13};
int[] numeros = new int[6];
primos 2 3 5 7 11 13
numeros 2 3 5 7 11 13
51
Sumario
Arreglos. Declaración y creación.
Acceso a los elementos de un Arreglo.
Conclusiones.
52
Algoritmos Básicos
1. Conteo y Suma
2. Búsquedas
Lineal.
De extremos (mayor/menor)
3. Ordenamiento
IP – Introducción a la Programación
Código Búsqueda lineal.
int BúsquedaLineal( int x ){
int i = 1; pos = -1;
bool encontrado = false;
while (i ≤ N && !encontrado){
if( x = notas[i]){
encontrado = true;
pos = i;
}
i = i + 1;
}
return pos;}
IP – Introducción a la Programación
Búsqueda del Mayor.
IP – Introducción a la Programación
Conclusiones
¿Qué hemos aprendido en la
clase de hoy hasta este
momento?
Conclusiones
Un Arreglo se caracteriza por:
• Almacenar los elementos en posiciones de
memoria continuas.
• Tener un único nombre de variable que
representa a todos los elementos.
• Accederse a los elementos con los corchetes
[ ] y un índice que varía de 0 a length-1.
• Acceso directo o aleatorio a los elementos.
• Ser de tamaño variable.
Conclusiones
¿Qué hemos aprendido en la
clase de hoy?
Estudio independiente
Desarrollar los ejercicios de la Guía de ejercicios
de arreglos unidimensionales del 1 al 8 para la
próxima clase práctica.