Sunteți pe pagina 1din 26

UNIVERSIDAD TECNOLÓGICA DE

PANAMÁ

Facultad de Ingeniería de Sistemas Computacionales


Programa de Lic. en Informática Educativa
Computación
Capitulo de estructuras de datos
internas

Computación
Java

2
Introducción
Se necesita construir un programa que permita determinar cuantos alumnos del curso
tienen una nota en el certamen 1 mayor al promedio del curso (piensen en las
instrucciones que tendrá dicho algoritmo).

Para resolver este problema deberemos ingresar las notas de cada


alumno, sumar cada nota, y al final dividir por la cantidad de notas
ingresadas. Luego debemos comparar el promedio obtenido con cada
nota ingresada, contando cuantas notas son mayores al promedio
calculado.

El programa debe permitir almacenar todas las notas ingresadas, para


posteriormente comparar con el promedio obtenido. Para lo anterior se
utiliza la estructura básica denominada Vector (o arreglo
unidimensional). A continuación se revisarán los aspectos básicos
asociados al uso de vectores en los algoritmos.
Objetivos
 Manipular una colección de datos usando vectores
 Declarar y utilizar un vector de tipos de datos primitivos en
la implementación de un programa
 Inicializar vectores en la declaración y durante la ejecución.
 Realzar operaciones con vectores.
 Ordenar un vector
 Leer datos desde un archivo y almacenarlos en un vector.
Vectores
 Los vectores son una colección de datos del mismo
tipo, que tienen un nombre común.

 También son llamados arreglos unidimensionales. Los


cuales son definidos por un nombre, dimensión y
tipo de dato.

 Para acceder a un elemento particular de un arreglo se


usa su nombre y su ubicación en el conjunto
(denominado índice).
Arreglos

Definición

Colección finita, homogénea y ordenada de elementos.


Arreglos

Definición

Finita:
Todo arreglo tiene un límite; es decir, debe
determinarse cuál será el número máximo de
elementos que podrán formar parte del arreglo.

Homogénea:
Todos los elementos de un arreglo son del mismo tipo
(todos enteros, todos reales, booleanos, etc., pero
nunca una combinación de distintos tipos).

Ordenada:
Se puede determinar cuál es el primer elemento, el
segundo, el tercero,.... y el n-ésimo elemento.
Definición de vector
Un vector es una colección del mismo tipo de datos.
Declaración de un vector:
Un vector es un objeto en java
lluvia[0] 0.0
Un vector se construye con el operador new
lluvia[1] 0.0
double lluvia[]; lluvia[2] 0.0
lluvia = new double[12];
lluvia[3] 0.0
O
lluvia[4] 0.0
double lluvia[] = new double[12]; lluvia[5] 0.0
Se crea un vector de 12 componentes lluvia[6] 0.0
lluvia[7] 0.0
lluvia[8] 0.0
lluvia[9] 0.0
lluvia[10] 0.0
lluvia[11] 0.0
Vector

0 90
int[ ] V = new int[100]; // declaración
1
8 int[ ] V = {2,3,4,5}; //Declaración y
2 asignación.
V[i] 3
98 V[0] = 90; // asignación
4

V[i]=Integer.parseInt(JOptionPane.showInputDia
log("Introduzca un numero")); //asignación

99
V[4] = V[2] + V[0]; // asignación
Vector (Declaración)

int[ ] V = new int[10]; // declaración

int[ ] V = {2,3,4,5}; //Declaración y asignación.

String[] nombreMes =
{“enero”,”febrero”,”marzo”,”abril”,”mayo”,”junio”,”julio”,”agosto”,”septiembre”,”o
ctubre”,”noviembre”,”diciembre”};

int numeros[];
numeros = new int[4];
O
int numeros[] = new int[4];
Arreglos

Para un arreglo de tamaño n, se pueden almacenar


elementos desde la posición 0 hasta la posición n-1

23 99 33 8 Arreglo de 4
números enteros,
0 1 2 3 llamado numeros

En la posición 0 se almacena el valor 23, esto es, numeros[0]==23


En la posición 1 se almacena el valor 99, esto es, numeros[1]==99
En la posición 2 se almacena el valor 33, esto es, numeros[2]==33
En la posición 3 se almacena el valor 8, esto es, numeros[3]==8
Arreglos

Operaciones con los arreglos

• Lectura
• Escritura
• Actualización
Arreglos

Operaciones con los arreglos (LECTURA)

• Leer el arreglo consiste en indicar una posición


especifica del arreglo y mostrar su contenido.

• Solo es posible leer un valor al tiempo

Vector[i]=Integer.parseInt(JOptionPane.showInputDialog("Introd
uzca un numero"));
Arreglos

Operaciones con los arreglos (ESCRITURA)

• Escribir en el arreglo consiste en asignar valores en una


posición especifica del arreglo.

• Solo es posible escribir un valor al tiempo

JOptionPane.showMessageDialog(null, "El valor es "+ VECTOR[ i ]);


Arreglos

import java.io.*;

public class UsaArreglos{


public static void main(String [] args){

int numeros[]= new int[4];

numeros[0]=23;
numeros[2]=35;
numeros[1]=99;
numeros[3]=33;

JOptionPane.showMessageDialog(null, "El valor es "+ numeros[0]);

}
}
Arreglos

int numeros[]= new int[4];

Define un arreglo, llamado numeros, de tipo entero,


con capacidad para 4 elementos
Arreglos

numeros[1]=99;
numeros[3]=33;
numeros[0]=23;
numeros[2]=35;

El operador = permite asignar valores al arreglo.


Se debe especificar la posición.
Arreglos

JOptionPane.showMessageDialog(null, "El valor es "+ numeros[ 0 ]);

}
}

Para leer el valor en una


posición del arreglo se coloca
el nombre del arreglo, seguido
del índice .
Arreglos (actualización)

Operaciones:

• Tamaño de un vector
• Cargar un vector
• Acceso a los elementos del vector
• Suma de los elementos de un vector
• Búsqueda Lineal de un valor en un vector.
Tamaño de un vector
El tamaño de un vector se obtiene por medio de la constante pública
length.
for( int i = 0; i < lluvia.length; i++) {

}
Arreglos

• Cargar un vector:
cargar o llenado de un vector es asignarle un valor a
cada posición del vector, a través de una asignación
o a través de la instrucción de entrada.

for(i=0; i<numeros.length ; i++)


{

numeros[i]=Integer.parseInt(JOptionPane.showInputDialog("Introduzca un numero"));

}
Acceso a los elementos

Los elementos de un vector se acceden mediante un subíndice.


numeros[2] o numeros[i+1]

El índice de la primera posición de un vector es siempre 0.


Arreglos

• Suma de los elementos de un vector:


Se hace un recorrido secuencial desde el primer
elementos del vector ( elemento con índice 0), hasta
el elemento n-1, sumando cada elemento en la
variable acumulador.

suma =0;
for(i=0; i<numeros.length ; i++)
{
suma = suma + numeros[i];
}

JOptionPane.showMessageDialog(null, “La suma es : “+ suma);


Arreglos

Búsqueda Lineal

Compara cada elemento del arreglo con el


elemento a buscar. Ya que el arreglo no está en
ningún orden especifico, es igualmente probable que
el valor se encuentre en la primer posición que en la
ultima

for(i=0; i<numeros.length ; i++){

if(numeros[i]==valor)
JOptionPane.showMessageDialog(null, “Se encontro ");
}
Arreglos

USO:

• Desarrollar una programa que permita obtener la suma de los


elementos de un arreglo de 10 números enteros
• En una arreglo de 20 elementos se ha almacenado números
del 1 al 5. Indique la frecuencia de aparición de cada uno de
los 5 números
• Determinar cuantas veces se repite el valor x (ingresado por teclado) en
un vector A de dimensión 20 (considere los elementos ya ingresados)
• Leer un vector de dimensión 50 y contar el número de
elementos mayores al promedio
• Dado el vector A de dimensión 1000 imprimir el menor y el
mayor valor, indicando su ubicación dentro del arreglo.

Nota: para todos los enunciados considere vectores de tipo entero


Gracias