La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.

Presentaciones similares


Presentación del tema: "Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays."— Transcripción de la presentación:

1 Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.

2 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Supongamos que tenemos 10 variables: a; b; c; d; e; f; g; h; i; j Si se desea manipular las variables debemos poner sus nombres cada vez que se requiera Un enfoque más general es utilizar las variables con el mismo nombre, pero diferenciándolas con un nuúmero Semejante a como los libros de matemáticas utilizan los vectores y las tuplas a1; a2; a3; a4; a5; a6; a7; a8; a9; a10

3 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Ahora sumar las variables, es mucho más fácil:

4 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Suponga que se quieren leer 5000 enteros y hacer algún tipo de operación con ellos Con los contenidos que conocemos(¿?) hasta ahora necesitamos utilizar 5000 variables Problemas: –De comprensión en la codificación –De utilización de memoria La solución es utilizar ARREGLOS ó ARRAYS

5 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Los arreglos son conjuntos de variables que comparten un mismo nombre, son capaces de almacenar una colección de datos del mismo tipo. Pueden ser referenciadas de manera individual con ayuda de uno o más índices Tenemos según su dimensionalidad: –Unidimensionales (Ej. Vector Matemático) –Bidimensionales (Ej. Matriz) –Tridimensional (Ej. Cubo) –Multidimensionales

6 Departamento de Informática Programación de Computadores IWI-131 Ejemplos UNIDIMENSIONAL BIDIMENSIONAL TRIDIMENSIONAL

7 Departamento de Informática Programación de Computadores IWI-131 Ejemplos // Enteros tamaño int[] unidimensional={2,0,0,7}; //Arreglo bidimensional de enteros int[][] bidimensional={ {0,0,0},{1,1,1}};

8 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Como las variables, al utilizar un arreglo primero que se debe hacer es declararlo. Al igual que otras variables, la declaración de un arreglo tiene dos componentes primarios: tipoArreglo[] nombre; Un tipo de arreglo incluye el tipo de dato de los elementos que va contener el arreglo. 8

9 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Por ejemplo, el tipo de dato para un arreglo que sólo va a contener elementos enteros es un arreglo de enteros. int[] arrayDeEnteros; 9

10 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays int[] arrayDeEnteros; La parte int de la declaración indica que arrayDeEnteros es un arreglo de enteros. []: indica que su dimensionalidad es uno La declaración NO ha asignado memoria para contener los elementos del arreglo. 10

11 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Para asignar memoria se utiliza el operador new. La siguiente sentencia asigna la suficiente memoria para que arrayDeEnteros pueda contener diez enteros. int[] arrayDeEnteros = new int[10]; 11

12 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays En general, cuando se crea un arreglo, se utiliza el operador new, más el tipo de dato de los elementos del arreglo, más el número de elementos deseados encerrado entre corchetes cuadrados ('[' y ']'). TipoElemento[] nombreArray = new TipoElementos[tamano]; 12

13 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Ahora que se ha asignado memoria para un arreglo ya se pueden asignar valores a los elementos y recuperar esos valores. for (int j = 0; j < arrayDeEnteros.length; j++) { arrayDeEnteros[j] = j; StdOut.println("[j] = " + arrayDeEnteros[j]); } 13

14 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Como se puede ver en el ejemplo anterior, para referirse a un elemento del arreglo, se añade corchetes cuadrados al nombre del array. Entre los corchetes cuadrados se indica (bien con una variable o con una expresión) el índice del elemento al que se quiere acceder. El índice del array empieza en 0 y termina en la longitud del array menos uno. 14

15 Departamento de Informática Programación de Computadores IWI-131 Accediendo los elementos Un índice describe la posición de un elemento dentro de un arreglo. Recordar en Java el primer elemento tiene el índice cero!

16 Departamento de Informática Programación de Computadores IWI-131 Arreglos - Arrays Hay otro elemento interesante en el pequeño ejemplo anterior. –El bucle for itera sobre cada elemento de arrayDeEnteros asignándole valores e imprimiendo esos valores. –Se usa arrayDeEnteros.length para obtener el tamaño real del arreglo, length es una propiedad proporcionada para todos los arreglos de Java. 16

17 Departamento de Informática Programación de Computadores IWI-131 Ejemplos 1.- Realizar un programa en el que se ingresen 10 enteros, y luego muestre la suma de ellos y su promedio 2.- Encontrar el máximo de una lista de 10 elementos 3.- Desarrolle un programa que calcule el promedio de las notas de un curso

18 Departamento de Informática Programación de Computadores IWI-131 Arreglos Bidimensionales Un arreglo bidimensional es una lista de arreglos unidimensional Para declarar un arreglo bidimensional de enteros int [][] matriz = new int[3][4];

19 Departamento de Informática Programación de Computadores IWI-131 Ejemplo int fila=3,col=4; for(fila=0;fila<3;fila++) for(col=0;col<4;col++) matriz[fila][col]=fila*col; //más fácil for(fila=0;fila<matriz.length;fila++) for(col=0;col<matriz[0].length;col++) StdOut.print(matriz[fila][col]);

20 Departamento de Informática Programación de Computadores IWI-131 Arreglos Bidimensionales Por ejemplo: Cada alumno tiene tres notas, una por cada certamen. Entonces las notas de un alumno pueden contenerse en un arreglo de tamaño tres, Ahora si queremos mantener las notas de un curso de 52 alumnos. Podemos mantener las notas en un arreglo de 52 arreglos de tamaño 3

21 Departamento de Informática Programación de Computadores IWI-131 Notas del curso int alumnos=52; int notas=3; int curso[][] = new int[alumnos][notas]; int fila,col; for(fila=0;fila<alumnos;fila++) for(col=0;col<notas;col++) curso[fila][col]=StdIn.readInt(); Con lo cual curso[10][2] representa la nota del tercer certamen del alumno identificado como 10 (que realmente será el 11 ingresado dado que el arreglo comienza en 0)

22 Departamento de Informática Programación de Computadores IWI-131 Ejemplo Desarrolle un programa que reciba como entrada las notas de cada pregunta del certamen 1 de programación, para todos los alumnos, y muestre como salida un resumen con las notas finales de todos los alumnos

23 Departamento de Informática Programación de Computadores IWI-131 Multidimensionales No existe un limite lógico definido para la cantidad de dimensiones que puede tener un arreglo, físico sí, la memoria reservada. Java permite arreglos con mas de dos dimensiones,La forma general de una declaración de arreglo es: tipo[][]…[] nombre_var; nombre_var= new tipo[tamaño1][tamaño2]…[tamañoN]; int a=3,b=4,c=5,i,j,k; int[][][] arr= new int[a][b][c]; for(i=0; i<a; i++) for(j=0; j<b; j++) for(k=0; k<c; k++) arr[i][j][k]=i+j+k;

24 Departamento de Informática Universidad Técnica Federico Santa María Fin Preparando la revancha …


Descargar ppt "Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays."

Presentaciones similares


Anuncios Google