Taller de Vectores-java
-
Upload
jesus-rojas -
Category
Documents
-
view
37 -
download
1
Transcript of 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.
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).
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
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
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
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
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.