Sunteți pe pagina 1din 10

Servicio Nacional de Aprendizaje - SENA

Análisis y Desarrollo de Sistema de Información – ADSI

AP7-AA7.1-Ev1-Ejercicios de Programación con Estructuras de Datos


en Java

Presentado por:

Arbey Herrera Arrieta

Sincelejo - Sucre

2018
Ejercicios de Programación con Estructuras 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.
• Atletas por país: Solicita el nombre del país y muestra los nombres de
todos los atletas de ese país.
• Tiempo promedio 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; i<totalAtletas; i++){
nombre[1]=JOptionPane.showInputDialog(null,"ingrese el nombre del atleta:");
nacionalidad[i]=JOptionPane.showInputDialog(null, "ingrese la nacionalidad del
atleta:");
tiempo[i]=Double.parseDouble(JOptionPane.showInputDialog(null, "Ingrese el
tiempo en minutos del atleta:"));
sumTiempo=sumTiempo+tiempo[i];
}
//Datos Campeon
JOptionPane.showMessageDialog(null, "2. Datos del campeon");
for (int i=0; i<totalAtletas; i++){
if (tiempo[i]>may){
may=tiempo[i];
nombremin=nombre[i];
nacionalidadmin=nacionalidad[i];
}
}
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<totalAtletas; i++){
if(nacionalidadpais==null ? 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 atletas
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.
• 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));
}
}

S-ar putea să vă placă și