Está en la página 1de 27

Taller de Programación

Introducción

• ¿Si nos piden ingresar los nombres de N personas y


después mostrarlas en pantalla. Cómo haríamos para
guardar esos nombres en variables?

nombre1 = “Carlos”
nombre2 = “Julian”
nombre3 = “Cristian”
nombre4 = “Miguel”
.
.
nombreN= …..
2
Introducción

• Solución: Un arreglo

nombres [ ] = …

3
Logro de aprendizaje

Al final de la sesión el alumno manejará


arreglos usando java

4
Agenda

• Arreglos de 1 dimensión
• Funciones Math

5
ARREGLOS

Un array o arreglo es una estructura de datos que contiene una


colección de datos del mismo tipo y almacenados consecutivamente en
memoria.

• Tienen un nombre en común.


• Los elementos se identifican por un índice.
• Puede manejar tipos primitivo y objetos
ARREGLOS
Características del Arreglo

Es finito Homogéneo Ordenado


ARREGLOS

Tipos de Arreglos

Unidimensionales Bidimensionales Multidimensionales


ARREGLOS

Arreglos Unidimensionales

Índice Elemento

[0] [1] [2] [3] [4] [5] [6]


Nombre

A 10 50 145 2 456 20 -1

Tamaño : cantidad de elementos del arreglo


¿ Cual es el tamaño de este arreglo ?
ARREGLOS
Operaciones con arreglos

• Declaración de un arreglo :
tipo[] nombre
tipo nombre[]
• Creación de arreglo unidimensionales :
nombre =new tipo[tamaño]
• Acceso a un elemento :
nombre[índice]
ARREGLOS DE 1 DIMENSION
Un array (arreglo) en Java es una estructura de datos que nos permite
almacenar un conjunto de datos del mismo tipo. El tamaño de los arrays
se declara al inicio y no puede cambiar. Se declara así:

TipoDato[ ] variable = new TipoDato[dimension];

Ejemplos:
•int[ ] edad = new int[4];
•double[ ] estatura = new double[3];
•boolean[ ] estado = new boolean[5];
•String[ ] nombre = new String[2];

Los valores por defecto son los siguientes:


a) Para números el valor cero ( 0 ).
b) Para cadenas y letras el valor vacío “”.
c) Para booleanos el valor false.
ARREGLOS DE 1 DIMENSION
Cada elemento de un arreglo tiene un índice. El primer elemento detiene
el índice= 0 y el último = (total de elementos – 1). Tenga cuidado de no
confundir la cantidad de elementos con el ultimo índice del arreglo.

nombres [ ] =

4 elementos
ARREGLOS DE 1 DIMENSION
Ejercicio resuelto
parte 1:

Lea por teclado 4


números enteros y los
guárdelos en un array.
Calcule y muestre el
promedio de los valores
que están en el array.
ARREGLOS DE 1 DIMENSION
Ejercicio resuelto
parte 2:

Haga el ejercicio
anterior pero use la
estructura repetitiva
for para reducir el
tamaño del código.
ARREGLOS DE 1 DIMENSION
NOTAS ADICIONALES:

1. Existe otra maneras de declarar un arreglo:

TipoDato[ ] variable;
variable = new TipoDato[dimensión];

2. Existe otra manera de inicializar un arreglo si se saben los datos:

TipoDato[ ] variable = { Elem1, Elem2, ... ElemN};

Ejemplo:
int[ ] edad = {45, 23, 11, 9}; //Array de 4 elementos
double[ ] estatura = {1.73, 1.67, 1.56}; //Array de 3 elementos
String[ ] nombre = {"María", "Gerson"}; //Array de 2 elementos
ARREGLOS DE 1 DIMENSION
Ejercicio Resuelto:
Inicialice una arreglo con los nombres de los días de la semana y haga
un programa que pregunte un numero de día y muestre en pantalla su
descripción obteniéndola del arreglo.
ARREGLOS DE 1 DIMENSION
FUNCIONES UTILES PARA ARREGLOS:

Si se tiene: TipoDato[] varArray = new TipoDato[cantidad];

1. Para saber la cantidad de elementos de varArray use:

int a = varArray.length; // no es el ultimo índice

2. Para recorrer varArray sin tener que saber su cantidad de elementos


use el for para objetos:

for (TipoDato elemento : varArray){


//aca van las instrucciones a ejecutarse
}
// la variable varArray es del mismo tipo de datos que elemento
// elemento no es un arreglo
// útil solo para leer contenido de varArray, no para grabar
ARREGLOS DE 1 DIMENSION
Ejemplo de length y nuevo for:

Se calcula el tamaño del arreglo para


que el for de vueltas hasta el último
elemento.
Ultimo Indice = Cantidad Elementos - 1

Cada vuelta, cada elemento del arreglo


se graba en la variable x hasta que llega
al último elemento
ARREGLOS DE 1 DIMENSION
Ejercicio A:
Cree un arreglo de 12 posiciones. Ingrese en el código los nombres de
los meses del año en él. Haga un programa que pregunte un numero de
mes y muestre en pantalla su descripción. Obténgala del arreglo.
ARREGLOS DE 1 DIMENSION
Ejercicio B:
Crea un programa en el que se pida por consola el nombre de 2 alumnos
y la nota de cada uno de ellos como valor numérico. El resultado que
debe mostrarse es el nombre de cada alumno, su nota como texto
(Sobresaliente, Notable, Bien o Suspenso).

Crear un array numérico y otro de String

El programa debe comprobará la nota de cada alumno:


Si la nota está entre 0 y 4,99 será un Suspenso.
Si la nota está entre 5 y 6,99 será un Bien.
Si la nota está entre 7 y 8,99 será un Notable.
Si la nota está entre 189 y 20 será un Sobresaliente.

Muestra por pantalla, el alumno su nota y su resultado en palabras


ARREGLOS DE 1 DIMENSION
Ejercicio C:
Crea un array numérico con 5 elementos. Los números de cada elemento
deben ser valores pedidos por teclado al usuario. Muestra por consola el
índice y el valor al que corresponde. Debes utiliza bucles tanto para pedir
los valores de los elementos del array como para mostrar su contenido
por pantalla.

Ejemplo: Introducimos los valores 2, 4, 5, 8 y 10 .Lo que se tiene que


mostrar por consola sería:

En el indice 0 esta el valor 2


En el indice 1 esta el valor 4
En el indice 2 esta el valor 5
En el indice 3 esta el valor 8
En el indice 4 esta el valor 10
FUNCIONES MATH
Esta clase ya viene incluida en nuevas versiones de Java, por lo que no
habrá que importar ningún paquete para ello. Para utilizar esta clase,
debemos escribir :

Math.método(parámetros);

Se mostrarán algunas de las funciones:


•double a = Math.abs(double b); //valor absoluto de b
•int a = Math.abs(int b); //valor absoluto de b
•double a = Math.ceil(double b); //redondea b al mayor entero
•double a = Math.floor(double b); //redondea b al menor entero
•double a = Math.sin(double b); // seno de b en radianes
•double a = Math.cos(double b); // coseno de b en radianes
•double a = Math.tan(double b); // tangente de b en radianes
FUNCIONES MATH
• double a = Math.max(double b, double c); //el maximo entre b y c
• int a = Math.max(int b, int c); //el maximo entre b y c
• double a = Math.min(double b, double c); //el maximo entre b y c
• int a = Math.min(int b, int c); //el maximo entre b y c
• double a = Math.pow(double b, double c); //b elevado a la c
• double a = Math.random(); //valor al azar entre 0 y 1
• long a = Math.round(double b); //redondea b a un numero sin decimal;
• int a = Math.round(float b); //redondea b a un entero;
• double a = Math.sqrt(double b); //raiz cuadrada de b

Para ver el listado completo vea en:


https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html
FUNCIONES MATH
Ejemplo:
FUNCIONES MATH
NOTAS ADICIONALES:

•Se tiene ésta equivalencia Math.sqrt(b) = Math.pow(b, 0.5)

•Para calcular números al azar entre 0 y 100 usar: Math.random()*100

•Para calcular números al azar entre a y b usar:


a + Math.random()*(b-a)

•Para redondear a una cantidad de decimales (por ejemplo 2) lo


podremos hacer: Math.round(numero*100)/100.0
Preguntas

26
Resumen

1. Para que sirve el atributo length de un arreglo?


2. Cuando crea e inicializa una variable indicando
sus datos debe encerar esos datos entre
corchetes o llaves?
3. Cual es la relación entre el numero de elementos
de un arreglo y el máximo indica del mismo?

También podría gustarte