Taller de Vectores-java

7
ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS MSc Marco A. Adarme. E-mail: [email protected] HOJA DE EJERCICIOS ARREGLOS Objetivos: Reforzar los conceptos básicos de estructuras de Datos Simples: Vectores y matrices. Reforzar los conceptos del manejo de datos primitivos y objetos en Java. Nota : Los ejercicios deben realizarse utilizando el lenguaje JAVA , su solución debe implementarse en clases separadas. Las cadenas son representadas como vectores o matrices de char. Todo ejercicio debe tener una Clase Prueba en el paquete ufps.gui. Los String deben convertirse a vectores de char(toCharArray( )). Todas las clases implementadas deben contar con el métodos getter y setter, toString( ), equals y compareTo . ARREGLOS DE DATOS SIMPLES 1. Se tienen 3 vectores de N posiciones los cuales tiene almacenados los códigos de los estudiantes que matricularon la materia programación III, física II y Matemáticas III respectivamente. Elaborar programa que tenga los siguiente métodos : Crear un vector con los estudiantes que tienen matriculado programación III , física II y Matemáticas III. Crear un vector con los estudiantes que tienen matriculado programación III , física II pero no Matemáticas III. Crear un vector con los estudiantes que tienen matriculado programación III y Matemáticas III pero no física II. Crear un vector con los estudiantes que estan viendo dos de las tres materias(Cualquiera que sea). Crear un vector con los estudiantes que estan viendo sola una materia(Cualquiera que sea). El proceso de impresión de los vectores debe realizarse en un método aparte, invocado desde el “main”. 2. Diseñe una clase Manejo_Cadena que tenga los siguientes métodos:( No utilizar ningún método de la clase Array ni la Clase String): a. Dadas dos cadenas de caracteres s1 y s2, estando s2 vacía, copiar la cadena s1 en s2 sin utilizar ningún método de la clase Array.

Transcript of Taller de Vectores-java

Page 1: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

Objetivos:

Reforzar los conceptos básicos de estructuras de Datos Simples:

Vectores y matrices. Reforzar los conceptos del manejo de datos primitivos y objetos en

Java. Nota: Los ejercicios deben realizarse utilizando el lenguaje JAVA , su solución

debe implementarse en clases separadas. Las cadenas son representadas como vectores o matrices de char. Todo ejercicio debe tener una Clase Prueba en el paquete ufps.gui. Los String deben convertirse a vectores de

char(toCharArray( )). Todas las clases implementadas deben contar con el métodos getter y setter, toString( ), equals y compareTo .

ARREGLOS DE DATOS SIMPLES

1. Se tienen 3 vectores de N posiciones los cuales tiene almacenados los

códigos de los estudiantes que matricularon la materia programación III, física II y Matemáticas III respectivamente. Elaborar programa que tenga

los siguiente métodos : Crear un vector con los estudiantes que tienen

matriculado programación III , física II y Matemáticas III.

Crear un vector con los estudiantes que tienen matriculado programación III , física II pero no Matemáticas III.

Crear un vector con los estudiantes que tienen matriculado programación III y Matemáticas III pero no

física II. Crear un vector con los estudiantes que estan viendo dos

de las tres materias(Cualquiera que sea).

Crear un vector con los estudiantes que estan viendo sola una materia(Cualquiera que sea).

El proceso de impresión de los vectores debe realizarse en un método aparte, invocado desde el “main”.

2. Diseñe una clase Manejo_Cadena que tenga los siguientes métodos:( No utilizar ningún método de la clase Array –ni la Clase String):

a. Dadas dos cadenas de caracteres s1 y s2, estando s2 vacía, copiar la

cadena s1 en s2 sin utilizar ningún método de la clase Array.

Page 2: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

b. Dadas dos cadenas de caracteres s1 y s2 añadir una al final de la otra.

c. Leer una serie de palabras de teclado e insertarlos en una matriz de forma que este permanezca ordenado en todo momento. No se

podrán aceptar palabras iguales. d. Método que permita contar la cantidad de frases de una oración

(frase es una sucesión de palabras separadas por blancos y terminada en un punto)

e. Método que permita tomar una frase e imprimirlas cada una líneas diferentes.

f. Método que determine si una cadena es palíndrome(devolvera true ó

false ).

g. Método que tome dos cadenas L1 y L2 y determine si L1 y L2 son similares. L1 y L2 son similares si tienen la misma longitud y la información de L1 esta en L2 en cualquier orden.

h. Método que tome una cadena L1 y la convierta e Mayúsculas. (Sin

utilizar métodos de la clase String)

i. Método que tome una cadena L1 y la convierta e Minúsculas. (Sin utilizar métodos de la clase String)

j. Método que tome dos cadenas L1, L2, y devuelva cuantas veces esta la cadena L2 en L1.

Por ejemplo: L1 Estaba Maria Mareada en el Mar L2 Mar

Devolverá: ( 3 ).

3. Realice una Clase de nombre Vector(cuyo miembro de instancia son un vector de “n” posiciones y el tamaño) que simule las operaciones de:

a. Constructor: Crea un vector de “n” posiciones dadas por el usuario, cuyos contenidos son números aleatorios.

b. Método AddElementoFin: Adiciona un elemento al final del vector(redimensionar el vector, OJO esto se hace es por implementación, puede utilizar vectores auxiliares).

c. Método AddElementoInicio: Adiciona un elemento al inicio del vector(redimensionar el vector).

Page 3: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

d. Método sort: Ordena el vector ascendentemente.

e. Método AddElemento_Ordenado : Se tiene un vector de enteros de N elementos, los elementos se encuentran ordenados ascendentemente se debe insertar un dato X en el vector de tal manera que el vector siga quedando ordenado ascendentemente.

4. Realice un programa en JAVA que permita:

f. Método Crear_Binario: Toma un número binario X representado en un long y crea un vector a partir de el. Se debe validar que X

represente un número binario.

g. Método Suma_Binaria , Toma como entrada M y N vectores que

representan un número binario y realiza la suma binaria de M+N. ( Queda a su consideración la forma de devolver los datos).

h. Método Multiplica_Binario , Toma como entrada M y N vectores que representan un número binario y realiza la multiplicación binaria de

M*N. ( Queda a su consideración la forma de devolver los datos).

i. Método Resta_Binaria , Toma como entrada M y N vectores que

representan un número binario y realiza la resta binaria de M-N. ( Queda a su consideración la forma de devolver los datos).

5. Se tienen dos matrices M y N las cuales se representa un polinomio. Cree

una tercera matriz R en la que se almacene la suma de dichos polinomios.

La Fila[0] representa el coeficiente y la Fila[1] el exponente. Los polinomios se encuentran ordenados.

N= 4X9 + 2X7 – 5X3 + 7X M= -2X7 + 3X6 – 4X

R= 4X9 + 3X6 –5X3 + 3X

Page 4: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

ARREGLOS DE OBJETOS

1. Se tiene un vector de N elementos(tipo Llamada) que almacena la información necesaria para facturar los clientes de Telecom. Esta

información consiste en el registro de llamadas que realizaron todos los usuarios en el mes de Junio. De cada llamada se conoce teléfono _ cliente, cedula, nombre _ cliente , dirección, teléfono al que llamo , duración _

minutos de la llamada. El sistema reconoce los números telefónicos por la siguiente nomenclatura:

Los Números de 5 cifras deben comenzar en “5” y pertenecen a números locales .

Los Números de 7 cifras deben comenzar en “9” y pertenecen a

números nacionales. Los Números de 9 cifras pertenecen a números de móviles. Solo se

pueden hacer llamadas a 3 proveedores y los números con los que comienzan son 300, 310 y el 311 para OLA, Comcel y Movistar respectivamente.

Los Números de 10 cifras pertenecen a números internacionales. Solo se pueden hacer llamadas a 3 países y los números con los que

comienzan son 911, 912 y el 913 para EEUU, Venezuela y España respectivamente.

Consideraciones Generales:

La empresa debido a fallos en su sistema registra llamadas erróneas. Se considera una llamada errónea si este número no concuerda con

la nomenclatura anteriormente expuesta. Estas llamadas no son tomadas en cuenta para la facturación.

Minutos locales tienen un valor de $100*min. Minutos Nacionales tienen un valor de $200*min. Minutos a Móviles: Ola tienen un valor de $150*min, Comcel y Movistar $170*min. Minutos Internacionales

a EEUU $500*min, Venezuela $350*min y España $550*min. Si una llamada tiene una duración de mas de una hora se le hace un

descuento del 50% al valor del minuto. Su programa debe:

Facturar: Imprime la factura de un cliente dada su Cedula.

---------------------------------------------------------------------------------------- Cédula: XXXX Nombre_cliente: XXXX

Telefóno_residencia: YYYY Dirección: XXXX Cantidad minutos_locales: XXXX Precio:$ZZZ Cantidad minutos_Nacionales: XXXX Precio:$ZZZ

Cantidad minutos_internacionales_EEUU: XXXX Precio:$ZZZ Cantidad minutos_internacionales_España: XXXX Precio:$ZZZ

Cantidad minutos_internacionales_Vzla: XXXX Precio:$ZZZ Cantidad minutos_Móviles_OLA: XXXX Precio:$ZZZ Cantidad minutos_Móviles_COMCEL: XXXX Precio:$ZZZ

Page 5: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

Cantidad minutos_Móviles_MOVISTAR: XXXX Precio:$ZZZ Total: $XXXXX

Total(Iva 20%) $XXXXXX

---------------------------------------------------------------------------------------- Estadística:

o Imprime el nombre del cliente que tiene el mayor consumo en minutos internacionales(Suponga que es uno).

o Imprime el nombre del cliente con la factura de mayor valor(

Suponga que es uno).

2. Resolver una ecuación de segundo grado y realizar todos los cálculos incluyendo sus soluciones reales. Cree una clase pública “ecuación”

definiendo las variables de instancia y métodos que crea necesarios. Los métodos de la clase ecuación no deben ser static. Utilizar la clase Prueba y crear un arreglo con N ecuaciones de segundo grado y mostrar su solución.

Considere todas las validaciones que crea necesaria para el correcto funcionamiento del programa.

3. Diseñe una clase Cuenta que represente una cuenta bancaria y permita

realizar operaciones como ingresar y retirar una cantidad de dinero, así

como realizar una transferencia de una cuenta a otra. Se debe :

Defina la clase utilizando la sintaxis de Java, definiendo las variables de instancia y métodos que crea necesarios.

Implemente cada uno de los métodos de la clase. Los métodos deben

actualizar el estado de las variables de instancia y mostrar un mensaje en el que se indique que la operación se ha realizado con

éxito. Diseñe un programa en Java (clase Prueba) que dado un arreglo de

objetos de tipo Cuenta realice operaciones con ellos.

4. Se tiene la clase “Elemento” esta clase contiene la definición de un elemento de la tabla periódica: Tiene un constructor con tres parámetros exclusivamente. Los parámetros serán el nombre, el símbolo y la valencia.

Puede tener métodos que devuelvan el contenido de los atributos. Deberá tener un método toString(String) para devolver toda la información del

elemento. Realice un programa en JAVA (Clase Prueba)permita crear un arreglo de “N” posiciones y almacena los elementos. El arreglo tendrá por nombre “Tabla_periódica”. El programa debe contar con el siguiente menú

de opciones: Crear Tabla Periódica

Eliminar elemento por su símbolo Consultar

Consultar por símbolo

Page 6: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

Consultar por Nombre del elemento Consultar por valencia

Salir (Debe tener un mensaje de confirmación de salida).

5. Implementar una Clase “Mes”, la clase tendrá como atributo(campos) una

matriz “dias” de 5 * 7 que representa un mes del año(columnas =lunes, martes, miércoles,etc.. y filas=dias). Desarrolle métodos para:

ConstructorRecibe un parámetro de 1 a 12 que representa un mes y un año , crea en la matriz los días correspondientes a ese mes.

String Obtenerundia(int dia)(devuelve el nombre del dia(Por eje: si dia=13, método devuelve “Lunes”).

Int []getDias(String Nombre_dia)(Devuelve en un vector de datos enteros los dias correspondientes a un día de la semana.(Por ejem: si Nombre_dia=”Lunes”, vector_dias[ ]={6,13,20,27} ).

String toString()(Devuelve la matriz en un formato de presentación(Ud escoge la forma de presentar la matriz utilizando cadenas).

Realice una Clase prueba que permita crear un Calendario completo(Vector de meses [12]), Con el siguiente menú de opciones:

Crear Calendario (Recibe el año) Consultar

Consultar Mes o Consultar dia_mes(Dado un día y un mes imprime el

nombre del dia).

o Consultar diaspornombre_mes(Dado un nombre día y un mes imprime los días).

o Consultar cuantos meses tienen 31 días.

o Consultar si el año es bisiesto. Salir (Debe tener un mensaje de confirmación de salida).

5. Dada la clase Pais con las siguientes variables de instancia:

Nombre País Población

Page 7: Taller de Vectores-java

ESTRUCTURAS DE DATOS- UFPS-ING DE SISTEMAS

MSc Marco A. Adarme. E-mail: [email protected]

HOJA DE EJERCICIOS ARREGLOS

Idioma Indice de Mortalidad Infantil Indice de Analfabetismo

Realice un programa en JAVA que cree una matriz de N*M posiciones de paises, donde N representa un continente y M representa un país en el

continente ,permita manipular su información , a través del siguiente menu de opciones:

Crear Matriz de paises.

Consultar o Nombre de Paises dado un Continente. o País con el mayor indice de grado de mortalidad

infantil(pueden ser varios). o País con la mayor cantidad de habitantes.

o País con la menor cantidad de habitantes. o País con el mayor indice de grado de

analfabetismo infantil(pueden ser varios).

o Paises que hablan un idioma “X”. Salir (Debe tener un mensaje de confirmación de salida).

0 1

AMERICA(0) <<OBJETO COLOMBIA>> <<OBJETO VENEZUELA>>

EUROPA(1) <<OBJETO ESPAÑA>> <<OBJETO INGLATERRA>>

Nota: Ud debe implementar una solución que permita asignar los nombres de

los continentes a la matriz de paises.