2. DEFINICION
Un arreglo se define como una colección finita. Homogénea y ordenada de
elementos:
• Finita.- Todo arreglo tiene un límite, es decir se sabe determinar
cuál será el número máximo de elemento que podrán
formar parte del arreglo.
• Homogénea.- Todos los elementos de u arreglo son del mismo tipo.
• Ordenada.- Se puede determinar cuál será el primer elemento, el
segundo, el tercero y el enésimo elemento
3. ARREGLOS UNIDIMENSIONALES O
VECTORES
• Un arreglo de una dimensión es una lista
de variables, todas de un mismo tipo alas
que se hace referencia por medio de un
nombre común.
• Declaración: tipo
nombre_arreglo[tamaño];
• Donde – tipo, declara el tipo base
del arreglo, que es el tipo de cada
elemento del mismo
• nombre_arreglo, es el nombre del
arreglo
• tamaño, es el nro. de elemento del
arreglo
4. ARREGLOS BIDIMENSIONALES O
MATRICES
• Ejemplo
Int arreglo [i][3]
• Los arreglos bidimensionales
se usan para representar
datos que pueden verse
como una tabla con filas y
columnas. La primera
dimensión del arreglo
representa las columnas,
cada elemento contiene un
valor y cada dimensión
representa una relación.
Int cuadro {3}{4};
0 1 2
i I0 I1 i2
(i+1) (I+1)0 (i+1)1 (i+1)2
5. ENUNCIADO DEL PROBLEMA 19:
• Durante el partido de futbol entre la selección de argentina contra Servia y
Montenegro, los alumnos Osores y Chia discutían como podían programar
la tabla de posiciones con los resultados de los partidos del mundial de
futbol. Luego de un gran debate propusieron la siguiente grafica de
estructuras de datos para almacenar los datos de los resultados de los
partidos. Desarrolle una solución utilizando un menú de opciones.
6. CODIFICACIÓN EN JAVA:
P
R
I
M
E
R
A P
A
R
T
E
package IMPORTANTE;
import biblioteca.LE;
public class PrgMundial {
public static void main(String[] args) {
int numEquipo=0,total,opc,rpta,calculo;
String nombres[]=new String[10000];
int puntajeAct[]=new int[1000];
int golesFavor[]=new int[10000];
int golesContra[]=new int[1000];
int partidos[][]=new int[1000][3];
7. String menu = "Tabla de posiciones del mundial de futboln"
+ "-----------------------------------------------------n"
+ "[1] Ingreso de datos de los equiposn"
+ "[2] Mostrar la tabla con el puntaje de los equiposn"
+ "[3] Finalizarn"
+ "-----------------------------------------------------n"
+ "Ingrese una opción: n" ;
String datos;
boolean sw=false ;
do {
opc = LE.leerInt(menu);
switch ( opc ) {
case 1:
do{
nombres[numEquipo]=LE.leerString(" Ingrese el nombre del equipo " + " " + (numEquipo + 1));
do{
partidos[numEquipo][0]=LE.leerInt(" Ingrese el numero de partidos jugados del equipo" + " " + (numEquipo + 1));
if(partidos[numEquipo][0]<1){
LE.mostrarError("EL numero de partidos jugados es invalido.....Reintente");
}
}while(partidos[numEquipo][0]<1);
8. do{
partidos[numEquipo][1]=LE.leerInt(" Ingrese el numero de partidos ganados del equipo" + " " + (numEquipo + 1));
if(partidos[numEquipo][1]>partidos[numEquipo][0] || partidos[numEquipo][1]<0){
LE.mostrarError("El numero de partidos ganados es invalido....Reintente");
}
}while(partidos[numEquipo][1]>partidos[numEquipo][0]);
calculo= partidos[numEquipo][0]-partidos[numEquipo][1];
do{
partidos[numEquipo][2]=LE.leerInt(" Ingrese el numero de partidos empatados del equipo" + " " + (numEquipo + 1));
if(partidos[numEquipo][2]<0 || partidos[numEquipo][2]>calculo){
LE.mostrarError("La unica opcion a poner es: "+calculo);
}
}while(partidos[numEquipo][2]!=calculo);
golesFavor[numEquipo]=LE.leerInt(" Ingrese los goles a favor del equipo " + " " + (numEquipo + 1));
golesContra[numEquipo]=LE.leerInt(" Ingrese los goles en contra del equipo" + " " + (numEquipo + 1));
numEquipo++;
rpta = LE.mostrarPreguntaOpcion2 ( "¿Desea continuar?" );
}while( rpta==0 );
9. sw=true;
break;
case 2:
for(int i=0;i<numEquipo;i++){
puntajeAct[i]=(partidos[i][1]*3)+partidos[i][2];
}
if(sw){
datos="La tabla de posiciones del mundial de futbol es la siguiente:n"+ "nombre / PJ / PG / PE / GF / GC / PA nn" ;
for(int i=0;i<numEquipo;i++){
datos += (i+1)+ " - " + "" + nombres[i] + " / "+ partidos[i][0] + " / " + partidos[i][1] + " / " + partidos[i][2] + " / " + golesFavor[i] + " / " + golesContra[i] + " / "
+ puntajeAct[i] + "n" ;
}
LE.mostrarInformacion ( datos + "n" ) ;
}else {
LE.mostrarError ( "Ingrese primero la opción 1" ) ;
}
break ;
case 3:
LE.mostrarInformacion ( "Usted ha finalizado el programa" ) ;
break;
default:
LE.mostrarError("Opción no válida… Reintente!");
}
}while ( opc != 3 ) ;
}
}
10. CONCLUSIONES
• Con este trabajo hemos aprendido que el uso de arreglos de codificación es analítico por lo que se
debe tener una clara visión de lo que se va a codificar en la situación plasmada
• Se puede decir que los arreglos pueden variar dependiendo sus dimensiones. Estos pueden ser
unidimensionales y bidimensionales; a los primeros se le conoce como vectores y como su nombre
indican poseen una dimensión o una lista de datos del mismo tipo y los bidimensionales poseen dos
dimensiones; se usan para representar datos que pueden verse como en una tabla con filas y
columnas y se les conoce como matrices.
• La codificación es algo tan simple como lo que realizamos a diario cuando transformamos imágenes
visuales o entidades conceptuales en palabras, oraciones, textos y las comunicamos a aquellos que
nos rodean. Conocemos a la codificación como cualquier operación que implique la asignación de
un valor de símbolos o caracteres a un determinado mensaje verbal o no verbal con el propósito de
transmitirlo a otros individuos o entidades que compartan el código.