Está en la página 1de 27

Taller de

Programación

Razón social
00.00.2015
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 la sesión

Al final de la sesión el alumno manejará


arreglos usando JAVA.

4
Agenda

1.Arreglos de 1 dimensión
2.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.

Características:
• Tienen un nombre en común.
• Los elementos se identifican por un
índice.
• Puede manejar tipos primitivo y objetos

6
Arreglos
Características:

Es finito Homogéneo Ordenado

Tipos de Arreglos:

Unidimensionales Bidimensionales Multidimensionales

7
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 ?

8
Arreglos
Operaciones con Arreglos

• Declaración de un arreglo:
tipo[] nombre
tipo nombre[]

• Creación de arreglos unidimensionales :


nombre =new tipo[tamaño]

• Acceso a un elemento :
nombre[índice] 9
Arreglos de una dimensión
Operaciones
Un array (arreglo) en Java con
es una estructura deArreglos
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. 10
Arreglos de una dimensión
Cada elementoOperaciones con Arreglos
de un arreglo tiene un índice. El primer
01 elemento tiene 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

11
Arreglos de una dimensión
Ejercicio resuelto parte 1:

• Lea por teclado 4


números enteros y
guárdelos en un
array. Calcule y
muestre el promedio
de los valores que
están en el array.

12
Arreglos de una dimensión
Ejercicio resuelto parte 2:

• Haga el ejercicio
anterior pero use la
estructura repetitiva
for para reducir el
tamaño del código.

13
Ejercicio 1

• Cree un arreglo de Ejemplos


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.

14
Arreglos de una dimensión
NOTAS ADICIONALES:Operaciones con Arreglos

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 15
Arreglos de una dimensión
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.

16
Arreglos de una dimensión
FUNCIONES UTILES PARA ARREGLOS:
Operaciones con 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 elemento es del mismo tipo de datos que varArray
// elemento no es un arreglo
17
// útil solo para leer contenido de varArray, no para grabar
Arreglos de una dimensión
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
18
Ejercicio 2
Crea un programa en el que se pida por consola el nombre de 2 alumnos y
Ejemplos
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 9 y 10 será un Sobresaliente.

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


Ejercicio 3
Crea un array numérico con 5 elementos.
Ejemplos
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 utilizar 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 20
Funciones Math

Esta clase ya viene incluida en nuevas


versiones de Java, por lo que no habrá que
01
importar ningún paquete para ello. Para utilizar
esta clase, debemos escribir :

Math.método(parámetros);
Para ver el listado de métodos completo vea en:
21
https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html
Funciones Math

02 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
•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 22
Funciones Math
Ejemplo

23
Funciones Math
Operaciones con Arreglos
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

24
¿Preguntas?

25
Resumiendo…
Responder lo siguiente:
• Para que sirve el atributo length de un arreglo?

• Cuando crea e inicializa una variable indicando sus


datos debe encerar esos datos entre corchetes o
llaves?

• Cual es la relación entre el numero de elementos de


un arreglo y el máximo índice del mismo?
26
FIN

27