1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.
Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en...
Transcript of Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en...
![Page 1: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/1.jpg)
Facultad de Informática Culiacán
Arreglos en Java
UNIVERSIDAD AUTÓNOMA DE SINALOA
Instructor: MC. Gerardo Gálvez Gámez
Diciembre de 2016
1
![Page 2: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/2.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Competencias
Al final de este módulo, los estudiantes serán capaces de:
Describir los distintos tipos de Arreglos.
Crear arreglos.
Usar arreglos.
![Page 3: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/3.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
¿Qué es un Arreglo?
Una arreglo es una secuencia de elementos▫ Todos los elementos de un arreglo son del mismo
tipo
▫ Las estructuras pueden tener elementos dedistintos tipos
▫ Se accede a elementos individuales usando índicesenteros (acceso aleatorio)
Índice entero 0
(cero)
Índice entero 4
(cuatro)
![Page 4: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/4.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Tipos de arreglos en java
Unidimensionales o Lineales
Un solo índice asociado con
cada elemento
long[] Arreglo;
Bidimensionales
Dos o más índices asociados con
cada elemento
int[][] Matriz;
Notación para declarar arreglos, según su tipo:
![Page 5: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/5.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Acceso a los elementos de un arreglo
Se indica un índice entero para cada dimensión
▫ Los índices se cuentan a partir de cero
3
2
1
long[] Arreglo;...Arreglo[3];
int[][] Matriz;...Matriz[1][2];
![Page 6: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/6.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Conocer la longitud de un arreglo
Se comprueba con la propiedad Length
Arreglo Matriz
int filas = Arreglo.length;int Filas = matriz.length;
int Columnas = matriz[0].length;
![Page 7: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/7.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Creación de un arreglo
¡Declarar una variable de arreglo no es lo mismoque crear un arreglo!
▫ Para crear el arreglo explícitamente hay que usarnew
▫ El valor implícito por defecto de los elementos deun arreglo es cero
Arreglo
0 0 0 0
Matriz
0 0 0
0 0 0
Variable Tabla
long[] Arreglo = new long[4];
int[][] Matriz = new int[2][3];
![Page 8: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/8.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Inicialización de los elementos de un arreglo
Arreglo
0 1 2 3
long[] Arreglo = {0, 1, 2, 3};
Matriz
5 4 32 1 0
int[][] MAtriz = {{5, 4, 3},{2, 1, 0}
};
![Page 9: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/9.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Creación de un arreglo de tamaño calculado
class Example {static void main( ) {
int[] Arreglo = CrearArreglo();...
}static int[] CrearArreglo(){
int Tamaño;Scanner Leer= new Scanner(System.in);System.out.print(“Tamaño del arreglo:”);Tamaño=Leer.nextInt(); int[] Arreglo = new int[Tamaño];return Arreglo;
}}
![Page 10: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/10.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Devolución de Arreglos desde métodos
class Example {static void main( ) {
int[] Arreglo = CrearArreglo(42);...
}static int[] CrearArreglo(int Tamaño) {
int[] Arreglo = new int[Tamaño];return Arreglo;
}}
![Page 11: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/11.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Paso de Arreglos como parámetros
class Example2 {static void main( ) {
int[] Arreglo = {10, 9, 8, 7};Metodo(Arreglo);System.out.print(Arreglo[0]);
}
//*******método********static void Metodo(int[] pArreglo) {
pArreglo[0]++;}
}
![Page 12: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/12.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
![Page 13: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/13.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Problema #1
• Codificar el siguiente pseudocódigo, quepermite:
▫ Leer 10 números enteros proporcionados por elusuario, para:
Imprimir aquellos números que son superiores ala media de los números proporcionados.
![Page 14: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/14.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Propuesta Algoritmo Modular
//Objetivo: Leer valores numéricos, guardarlos en un arreglo e imprimiraquellos que son superiores a la media.
//Programador: MC. Gálvez
//Fecha: ___de Noviembre de 2015
INICIO//Definición de Constantes y Variables Globales
PRINCIPAL ()
INICIO
//Definición de Constantes y Variables Locales
CONST ENTERO Tamaño=10
ENTERO Numeros[Tamaño]
REAL Media=0
LecturaDatos(Numeros,Tamaño)
Media= CalcularMedia(Numeros,Tamaño)
ImprimirNumerosSuperiores(Numeros,Tamaño,Media)
FIN
14
![Page 15: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/15.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Propuesta Algoritmo Modular
SINVALOR LecturaDatos(ENTERO Numeros[], ENTERO Tamaño)
INICIO
ENTERO Indice
DESDE(Indice=0;Indice<Tamaño,Indice=Indice+1)
IMPRIMIR “Proporciona el valor de la celda [”, Indice+1, ”]:”
LEER Numeros[Indice]
FIN_DESDE
IMPRIMIR “Fin de lectura…”
FIN
REAL CalcularMedia (ENTERO Numeros[], ENTERO Tamaño)
INICIO
ENTERO Indice,Suma=0,Media
DESDE(Indice=0;Indice<Tamaño,Indice=Indice+1)
Suma=Suma+ Numeros[Indice]
FIN_DESDE
Media=Suma/Tamaño
FIN
15
![Page 16: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/16.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Propuesta Algoritmo Modular
SINVALOR ImprimirNumerosSuperiores (ENTERO Numeros[],ENTERO Tamaño, REAL Media)
INICIO
ENTERO Indice
DESDE(Indice=0;Indice<Tamaño,Indice=Indice+1)
SI(Numero[Indice]>Media)
IMPRIMIR Numeros[Indice]
FIN_SI
FIN_DESDE
IMPRIMIR “Fin de Impresión…”
FIN
16
![Page 17: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/17.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Problema #2
• Codificar al lenguaje el pseudocódigoObtenido en la materia de algoritmia, que:
▫ Permitía leer 10 valores enteros y guardarlosen un arreglo, luego
a) Imprimirlos en forma inversa a como fueronproporcionados.
b) Imprimir el mayor
c) Imprimir el menor
d) Determinar si un elemento X se encuentra en elarreglo.
![Page 18: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/18.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Problema #3
• Codificar el pseudocódigo Obtenido en lamateria de algoritmia que permitía:
▫ Leer y guardar datos numéricos en un arreglobidimensional de 2 x 3, y determinar:
Cual es el número mayor
Cual es el promedio
Cuantos números son mayores al promedio
Imprimir los valores por renglón
Imprimir los valores por columna
![Page 19: Arreglos en Java - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Lenguajes/Java/4.-Arreglos en Java.pdf · Bidimensionales Dos o más índices asociados con cada elemento int[][] Matriz;](https://reader033.fdocument.pub/reader033/viewer/2022043003/5f841818fc81c461666daa76/html5/thumbnails/19.jpg)
Estructuras de Selección y Repetición en C#• FIUAS
Preguntas?