1 Algoritmos Básicos - ramos on

Anuncio
IWI-131 PROGRAMACION DE COMPUTADORES
GUIA #4: JAVA
Ejercicio 1.
Se tienen dos archivos de texto con números enteros de nombres físicos datos1.txt y datos2.txt,
almacenando un número por línea, los cuales se relacionan, respectivamente, con los nombres
lógicos datos1 y datos2, mediante la siguiente definición:
In datos1=new In(“datos1.txt”)
In datos2=new In(“datos2.txt”)
Diseñe un programa JAVA que genere un tercer archivo de nombre físico datos3.txt con los
elementos de los archivos datos1.txt y datos2.txt, ordenados en forma ascendente y sin que se
repitan valores.
Observación:
- Los archivos de entrada, datos1.txt y datos2.txt, se encuentran desordenados.
- Los archivos de entrada, datos1.txt y datos2.txt, pueden tener elementos repetidos.
- Use un arreglo auxiliar para ordenar.
Ejercicio 2.
En una biblioteca se mantiene un archivo de texto con información de libros. El nombre físico del
archivo es biblio.txt, el cual tiene en cada línea la siguiente información:
inventario: numérico de largo 15;
nombre : string de largo 45
autor
: string de largo 45
valor
: numérico de largo 15
Recuerde que estos campos aunque se indican numéricos, están almacenados en un archivo de
texto por lo que al leerlos eventualmente podría requerirse convertir a número.
Los campos del registro son:
inventario: código numérico de identificación de cada libro.
nombre: título del libro.
autor: nombre del autor del libro.
valor: valor comercial del libro.
El archivo está lleno con todos los libros que tiene la biblioteca.
I) Considerando que los campos en cada línea están formateados de ancho fijo, diseñe un
programa JAVA que entregue:
(a) un listado con nombre y autor de todos los libros cuyo valor supere los $20:000 y
(b) la cantidad de libros y el capital (valor) en libros de la biblioteca.
II) Considere el mismo archivo anterior pero con un archivo no formateado donde los campos
están separados por comas y nuevamente haga un programa que obtenga los puntos a) y b)
usando la función split()
Ejercicio 3.
Realice el ruteo del siguiente programa JAVA :
public class guia{
public static int incrementar (int a)
{
a++;
return a;
}
public static int desordenar (int y, int x, int z)
{
int a;
x = x + incrementar(y);
a = x + y + z;
StdOut.printf("%d %d %d \n", y, x, z);
return a;
};
public static void main(String[] args)
{
int a, x, y, z;
x = 3;
y = 5;
z = 10;
a = x + desordenar (z, y, x);
StdOut.printf("%d %d %d %d \n", x, y, z,a);
}
}
Ejercicio 4.
Se desea calcular las notas del _ultimo certamen de Física 100 el cual contenía 30 preguntas de
alternativas (A..E). Se desea registrar en un arreglo unidimensional de caracteres denominado
plantilla, las respuestas correctas (la pauta de corrección) y en un arreglo bidimensional
denominado respuestas las 30 respuestas de cada uno de los 500 alumnos del curso.
Desarrolle un programa JAVA que incluya:
- Una función leer plantilla(plantilla), el cual permita el ingreso de las alternativas que
representan las 30 respuestas correctas.
- Una función leer respuestas(respuestas), el cual permita el ingreso de las 30 respuestas
de los 500 alumnos del curso.
- Una función nota curso(plantilla, respuestas), la cual devuelva el promedio del curso y,
además, genera un listado por pantalla mostrando para cada alumno la cantidad de respuestas
correctas, la cantidad de respuestas incorrectas y la nota del certamen, la cual se calcula de la
siguiente manera:
Ejercicio 5.
Se desea calcular la cantidad de cada letra mayúscula ”A" .. “Z" que aparece en cada una de las
líneas de un archivo de caracteres denominado letras.txt.
Desarrolle un programa JAVA que permita llenar un arreglo bidimensional de números enteros
denominado ocurrencia con la cantidad de ocurrencias de cada una de las 26 letras mayúsculas en
cada una de las líneas del archivo letras.txt.
Observaciones:
- ocurrencia[3,1] = 5 significaría que se contabilizaron 5 ocurrencias de la letra “A" en la línea 3.
- Considere que el archivo contiene a lo más 40 líneas (puede contener menos de 40 líneas).
Ejercicio 6.
Se desea manipular la información de cada una de las 100 participantes del concurso Miss Chile
para el año 2000.
Desarrolle un programa JAVA que permita realizar las siguientes operaciones:
-Crear el archivo de registros concursantes.txt conteniendo el nombre, la edad, la estatura y la
región de cada participante.
- A partir del archivo concursantes.txt y del ingreso de una edad mínima, una edad máxima y
una región, generar el archivo resultados.txt con la información de todas las concursantes de la
región determinada cuya edad está entre la edad mínima y la edad máxima especificada.
- A partir del archivo concursantes.txt, determinar las estaturas mínima, máxima y promedio de
las concursantes.
Observación: Al leer los datos desde el archivo concursantes.txt suponga que no se conoce la
cantidad de registros que contiene.
Ejercicio 7.
Una librería desea almacenar sus productos en un arreglo de registros. Cada registro debe incluir
los campos título, autor, ISBN (código), precio y stock. Diseñe funciones JAVA que permita
realizar las siguientes operaciones:
- Ingresar una partida de 100 libros
- Encontrar un libro a partir de un código ISBN ingresado por el usuario, mostrando el título, autor,
precio y stock correspondiente.
Ejercicio 8.
Utilizando subprogramas desarrolle un programa JAVA que permita realizar las siguientes
operaciones:
- Crear un archivo de números enteros positivos numeros.txt
- A partir del archivo, visualizar los números pares.
Observación:
- El programa debe incluir subrutinas para crear el archivo y seleccionar los números pares.
- Termine el ingreso de datos al archivo cuando el usuario ingrese un número negativo.
Ejercicio 9.
Una bodega mantiene un stock de materiales en un archivo bodega.txt. Para cada artículo se
almacena en una línea su código (un valor entero) y su precio (un valor real). Desarrolle un
programa JAVA que a partir del archivo bodega.txt realice las siguientes operaciones:
-Generar el archivo bodega2.txt con todos los materiales ordenados en forma ascendente según
precio.
-Generar el archivo codigo.txt con todos los materiales cuyo código sea superior a 399.
Observación: Utilice subprogramas para leer, seleccionar y ordenar.
Ejercicio 10.
Se tiene un archivo de texto con dos tipos de registros:
Registro tipo1:
Nombre
Apellido
Carrera
Notas
Registro tipo 2:
Fecha
Nota
El campo notas indica cuantas líneas del tipo 2 vienen en el archivo las cuales pueden ser cero o
más. Se solicita generar un archivo salida.txt que contenga los siguientes campos:
Nombre
Promedio
Obs. Considere que los campos están separados por coma.
Ejercicio 11.
Codificar una clase Java que permita generar objetos que representen el movimiento de un
automóvil. Los métodos que debe considerar son:
a) Acelerar hasta llegar a una velocidad
b) Frenar hasta llegar a una velocidad
Los atributos que debe manejar son:
a) Velocidad actual
Ejercicio 12.
Codificar una clase Java que permita generar objetos que representen el movimiento de un avión.
Los métodos que debe considerar son:
c) Acelerar hasta llegar a una velocidad
d) Frenar hasta llegar a una velocidad
e) Descender una cierta cantidad de metros. Debe considerar que si el avión está bajo los
1000 metros debe generar una alarma de preparar descenso.
f) Subir una cierta cantidad de metros
Los atributos que debe manejar son:
b) Velocidad actual
c) Altura actual
Descargar