Servicio Nacional de Aprendizaje - SENA Análisis y Desarrollo Desarrollo de Sistema Sistema de Información Información ADSI –
AP7-AA7.1-Ev1-Ejercicios AP7-AA7.1-Ev1-Ejercicios de Programación Programación con Estructuras Estructuras de Datos en Java
Presentado por: Arbey Herrera Herrera Arrieta
Sincelejo - Sucre 2018
Ejercici os de Programación co n Estructu ras de Datos en Java
1. En una competencia participan N atletas de los cuales es importante conocer su nombre, nacionalidad y su tiempo. Desarrolle una aplicación que presente el siguiente menú:
•
Registrar Atleta: Debe solicitar el nombre, la nacionalidad y el tiempo del
atleta •
Datos Campeón : Muestra el nombre, la nacionalidad y el tiempo del atleta
cuyo tiempo es el menor de todos. •
Atlet as p or país : Solicita el nombre del país y muestra los nombres de
todos los atletas de ese país. •
Tiempo pr omedio de todos los atletas: Muestra el tiempo promedio de
los atletas registrados. •
Características de la aplicación: La aplicación debe desarrollarse de
manera orientada a objetos, incluyendo las clases Atleta, Competencia y Principal. •
Debe emplear arreglos para su solución.
import javax.swing.JOptionPane;
public class EjercicioUno { public static void main(String[] args) { //Declaración de variables String nombre[]; String nacionalidad[]; double tiempo[]; int totalAtletas; double may=0; String nombremin=null; String nacionalidadmin = null;
String nacionalidadpais; String nombreatletapais; double sumTiempo=0; double tiempoPromedio; //Menu JOptionPane.showMessageDialog(null, "competencia\n"+"1. registrar Atleta\n"+"2. Datos del campeon\n"+"3. Atletas por pais\n" +"4. Tiempo pormedio de todos los atletas\n"+"5. Salir"); totalAtletas
=
Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese
la
cantidad de atletas")); nombre=new String[totalAtletas]; nacionalidad=new String[totalAtletas]; tiempo=new double[totalAtletas]; //Registrar Atletas JOptionPane.showMessageDialog(null,"1. Registrar Atleta"); for(int i=0; imay){ may=tiempo[i]; nombremin=nombre[i]; nacionalidadmin=nacionalidad[i]; }
"Ingrese
el
} JOptionPane.showMessageDialog(null,"El
nombre
del
atleta
campeon
es"+nombremin + "de nacionalidad"+nacionalidadmin+"cuyo timepo fue"+may); //Atletas por pais JOptionPane.showMessageDialog(null, "3. Atletas por pais"); nacionalidadpais=JOptionPane.showInputDialog(null,"ingrese la nacionalidad para mostrar los atletas de ese pais:"); for (int i=0; i
?
nacionalidad[i]==null:
nacionalidadpais.equals(nacionalidad[i])){ nombreatletapais=nombre[i]; JOptionPane.showMessageDialog(null,
"El
nombre
de
un
atleta
de
nacionalidad"+nacionalidadpais+"es"+nombreatletapais); } } //Promedio del tiempo de los atletas JOptionPane.showMessageDialog(null,"4. Tiempo promedio de todos los atletas"); tiempoPromedio=sumTiempo/totalAtletas; JOptionPane.showMessageDialog(null,"El
timepo
promedio
de
los
fue"+tiempoPromedio); JOptionPane.showMessageDialog(null,"5. Salir"); } }
2. Desarrolle una aplicación utilizando colecciones, la cual permita tener las siguientes funcionalidades:
•
Insertar elementos (al inicio, al final).
•
Eliminar elementos.
atletas
•
Obtener el valor de una posición determinada.
•
Asignar valor a una posición determinada.
•
Calcular la sumatoria de los valores de todos los elementos.
•
Calcular el promedio de los valores de todos los elementos.
•
Obtener el número de elementos.
•
Contar el número de valores igual a cero (0).
•
Calcular la suma de los pares.
•
Contar el número de repeticiones dado un número.
•
Modificar el valor de una posición por otro valor suministrado.
•
Cambiar todo el contenido.
•
Invertir el arreglo.
•
Obtener el mayor valor.
•
Obtener el menor valor.
•
Obtener los primeros n elementos del arreglo.
•
Obtener los últimos n elementos del arreglo.
•
Indicar si es palíndromo.
•
Indicar si un número se encuentra dentro del arreglo.
•
Mostrar el contenido del arreglo.
package ejerciciodos;
import java.util.*; public class EjercicioDos {
ArrayList numeros = new ArrayList();
public void insertarAlFinal(int valor) { numeros.add(valor); } public void insertarAlPrincipio(int valor){
numeros.add(0, valor); } public void mostrarContenido(){ System.out.println(numeros); } public void agregarAlFinal(Object valor){ numeros.add(valor); } public void eliminar(int valor){ numeros.remove(valor); } public void setValor(int posicion, int valor){ numeros.add(posicion, valor); } int getValor(int valor){
return (int)(numeros.get(valor)); } int cuentaElementos(){ int valor=numeros.size(); return valor; } int getSumatoria(){ int suma=0; for(Object numero : numeros){ suma = suma + (int) numero;
} return suma; } double getPromedio(){
int suma=0; double promedio=0;
for(Object numero : numeros){ suma = suma+(int) numero;
promedio=suma/numeros.size(); } return promedio; } int cuentaCeros(){ int cantidad=0; for(Object numero:numeros){ if((int)numero==0){ cantidad=cantidad+1; } } return cantidad; } int sumaPares(){ int par=0; for (Object numero:numeros){ if(((int)numero%2)==0){ par=par+(int)numero; } } return par; } int cuentaRepeticiones(int num){ int cuenta=0; for(Object numero:numeros){
if((int)numero==2){ cuenta=cuenta+1; } } return cuenta; } public void reemplazarValor(int antiguoValor, int nuevoValor){ numeros.set(antiguoValor, nuevoValor); } public void reemplazarTodo(){ numeros.clear(); numeros.add(9); numeros.add(10); numeros.add(11);
} int getMayor(){ int mayor=0; for(Object numero:numeros){ if((int)numero>=mayor){ mayor=(int)numero; } } return mayor; } int getMenor(){ int menor=11;
for(Object numero:numeros){ if((int)numero<=menor){ menor=(int)numero; }
} return menor; } boolean buscar(int numero){ return numeros.contains(numero); } }
public class TestMiColeccion{
public static void main(String[]args){
System.out.println("Mi Coleccion 1"); MiColeccion mc1=new MiColeccion(); mc1.insertarAlFinal(1); mc1.insertarAlFinal(2); mc1.insertatAlFinal(3); mc1.insertatAlPrincipio(4); mc1.mostrarContenido(); mc1.agregarAlFinal(9); mc1.agregarAlFinal(10); mc1.agregarAlFinal(11); mc1.mostrarContenido(); mc1.eliminar(0); mc1.eliminar(5); mc1.mostrarContenido(); mc1.setValor(0,0); mc1.setValor(6,0); mc1.mostrarContenido(); System.out.println("En la posicion 4 ests el"+mc1.getValor(4)); System.out.println("La sumatoria de sus elementos es:"+mc1.getSumatoria());
System.out.println("El promedio de sus elementos es:"+mc1.getPromedio()); System.out.println("En la Coleccion hay"+mc1.cuentaElementos()+"elementos"); System.out.println("y hay"+mc.cuentaCeros()+"ceros"); System.out.println("la sumatoria de los pares es"+mc1.sumaPares()); System.out.println("El numero 2 esta"+mc1.cuentaRepeticiones(2)+"veces"); mc1.reemplazarValor(0,9); mc1.mostrarContenido(); mc1.reemplazarTodo(); mc1.mostrarContenido(); System.out.println("El mayor elemento es:"+mc1.getMayor()); System.out.println("El mayor elemento es:"+mc1.getMenor()); mc1.insertarAlFinal(1); mc1.insertarAlFinal(2); mc1.insertarAlFinal(3); mc1.mostrarContenido(); System.out.println("Esta el 3 en la lista?"+mc1.buscar(3)); } }