clase15 arreglos
TRANSCRIPT
![Page 1: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/1.jpg)
Arreglos
Edisson Gutiérrez Jiménez
Universidad de Antioquia
Lógica y representación I
![Page 2: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/2.jpg)
Introducción
• En los temas anteriores se ha manejado el
concepto de campo variable como uno o más
caracteres, a los que se le asigna un espacio
en memoria donde se puede guardar en
forma temporal un único valor, bien sea
numérico, carácter o lógico. Ahora, el
concepto de variable se extenderá a un grupo
o colección de ellas, agrupadas bajo un mismo
nombre.
![Page 3: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/3.jpg)
Introducción
Los datos siempre que estén relacionados se
pueden organizar en estructuras, de tal manera
que podemos tener un conjunto de datos
numéricos, lógicos, o caracteres manejados a
través de un mismo nombre de variable. Una
estructura de datos es la organización que
reciben los datos para que sean tratados como
una unidad.
![Page 4: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/4.jpg)
Definición
• Un arreglo es un conjunto finito de
componentes del mismo tipo, los cuales se
diferencian o relacionan a través de un
subíndice.
Ele2
conElementos
Ele1 Ele3 Ele4
Ele6Ele5
![Page 5: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/5.jpg)
Clasificación de los arreglos
• Arreglos de una dimensión o vectores
• Arreglos de dos dimensiones o matrices
![Page 6: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/6.jpg)
Vectores
• Un vector es un arreglo donde los elementos
que lo conforman están dispuestos bajo un
mismo concepto de clasificación (fila o
columna), es decir, los datos están organizados
de una manera lineal, por lo que para
referenciar un elemento del arreglo es
necesario un índice, que indique la posición
relativa del elemento en el arreglo.
![Page 7: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/7.jpg)
• Cuando al nombre del arreglo se le adiciona el
índice, bien sea entre paréntesis o corchetes,
la componente a la cual hace referencia el
índice es tomada como una variable simple,
igual como lo hemos hecho hasta ahora. Por lo
tanto, puede estar involucrada en una
expresión, en una entrada o salida de datos, o
en una asignación.
![Page 8: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/8.jpg)
Ejemplo visual de un vector
• Como fila:
• Como columna:
Dato1 Dato2 Dato3 Dato4 Dato5 Dato6
0 1 2 3 4 5
Dato1 0
Dato2 1
Dato3 2
Dato4 3
Dato5 4
Dato6 5
![Page 9: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/9.jpg)
Ejemplo para llenar un vector
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner( System.in );
int i, tam=10;
int[] edades = new int[tam];
for (i = 0; i < tam; i++)
{
System.out.println("Ingrese la edad del estudiante " + (i+1));
edades[i] = sc.nextInt();
}
for (i = 0; i < tam; i++)
{
System.out.println("La edad del estudiante " + (i+1) + " es " + edades[i]);
}
}
![Page 10: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/10.jpg)
Ejemplo suma y promedio de un
vectorpublic static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner( System.in );
int i, tam, suma = 0;
float prom;
System.out.println("Ingrese el total de estudiantes: ");
tam = sc.nextInt();
int[] edades = new int[tam];
for (i = 0; i < tam; i++)
{
System.out.println("Ingrese la edad del estudiante " + (i+1));
edades[i] = sc.nextInt();
}
for (i = 0; i < tam; i++)
{
suma += edades[i];
}
prom = suma/tam;
System.out.println("La suma de las edades es: " + suma);
System.out.println("El promedio de las edades es: " + prom);
}
![Page 11: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/11.jpg)
Algoritmo que forme un vector de N elementos, y luego obtenga
la suma y el promedio de los elementos
ubicados en las posiciones impares del vector.
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner( System.in );
int i, tam, suma = 0, contImpares = 0;
float prom;
System.out.println("Ingrese el total de datos: ");
tam = sc.nextInt();
int[] datos = new int[tam];
for (i = 0; i < tam; i++)
{
System.out.println("Ingrese el dato " + (i+1));
datos[i] = sc.nextInt();
}
for (i = 1; i < tam; i+=2)
{
suma += datos[i];
contImpares++;
}
prom = suma/contImpares;
System.out.println("La suma de las posiciones impares es: " + suma + " y el promedio es " + prom);
}
![Page 12: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/12.jpg)
Ejercicio
• Diseñar un programa que encuentre la
posición en la que se encuentra el dato mayor
de un conjunto de N datos ingresados por el
usuario.
![Page 13: Clase15 arreglos](https://reader036.vdocuments.co/reader036/viewer/2022092623/587628911a28ab8b7b8b6319/html5/thumbnails/13.jpg)
Referencias
• OVIEDO, Efraín. Lógica de programación.