Está en la página 1de 7

Guía de ayudantía N°1

EII-147 Introducción a las Tecnologías de Información


Prof. Conztanza Hurtado – Pitehr Hurtado – Sebastián Gonzalez
Ayudantes: Sebastián Arancibia – Vanessa Brito – Vicente Fernández – Oscar Jamett –
Alfonso Lira –Vicente Ramirez –Francisco Solis –Gustavo Yañez

Ejercicio 1
Debido al fuerte temporal y al huracán que se aproxima a la región de Valparaíso, la escuela ha decidido
que las clases se realizarán en modalidad online. Por esto, se llevará a cabo un registro de los estudiantes de
EII147 mediante una lista de sus Rut. Para ello, genere una aplicación que maneje un arreglo de tipo String, de
un largo ingresado por el usuario. Además, desarrolle un menú interactivo que permita hacer las siguientes
acciones sobre el arreglo:

1. Agregar nuevo RUT: Debe solicitar al usuario el RUT del alumno que desea agregar. Para agregarlo debe
verificar que este no se encuentre previamente en el arreglo y que haya espacio disponible. Debe mostrar por
pantalla el resultado final de la acción.

2. Eliminar RUT: Para esto debe ingresar el RUT que desea eliminar, buscar y verificar que exista. Si existe,
se debe eliminar e informar el éxito de la operación, en cualquier otro caso, informar fracaso.

Desafío I: Transforme su menú, de tal forma que el usuario pueda ejecutar tantas acciones como desee, hasta
que indique que desea salir de la aplicación. (Pista: utilice una estructura iterativa y añada la acción salir)

Desafío II: La aplicación deberá permitir llevar el registro de la asistencia de los estudiantes. Para ello, deberá
añadir un segundo arreglo de tipo boolean, coordinado con el primero. Que un arreglo sea coordinado, implica
que el RUT de la posición i del primer arreglo, corresponde a la asistencia de la posición i del segundo arreglo.
Añada al menú anterior la opción de registrar asistencia, dado un RUT registrado por el usuario. Deberá informar
éxito o fracaso.

1
Ejercicio 2
Un jugador profesional de videojuegos le pide a usted como programador, crear una aplicación para mantener
al día las últimas versiones de los juegos que tiene en su colección. Para esto se necesita crear una arreglo de
dimensión N donde podamos guardar los nombres de los videojuegos. Considere que para mantener el
orden el arreglo debe ser compacto.

1. Agregar Videojuego: Verifique que el arreglo no se encuentre lleno, y que la versión anterior del juego no
esté en el estante. En caso de existir una versión anterior del juego debe eliminarla y agregar la nueva
versión en la misma posición. En caso de que se agregue correctamente, muestre un mensaje de éxito.

2. Eliminar Videojuego: Deberá buscar el Videojuego que desea eliminar, en caso de encontrarlo deberá
sacarlo del arreglo manteniendo este compacto. Una vez realizada la operación muestre un mensaje de
éxito, de lo contrario, informe que no se encontró el juego.

3. Posición del Videojuego: Deberá recorrer el arreglo en busca del juego que desea encontrar, en caso de
no encontrarlo muestre por pantalla que no tiene el juego. De lo contrario, muestre por pantalla la posición
numérica en la que se encuentra guardado el VideoJuego.

4. Salir:

Considere los nombres de los videojuegos como String.

Ejercicio 3
En las vacaciones de verano, Nicolás decide crear una PYME de pasteles para generar ingresos y poder salir
de vacaciones con sus amigos, debido a la gran cantidad de pedidos que le llegaban, decide pedirle a usted
que le ayude a crear un programa que le permita a Nicolás ingresar la cantidad de pedidos máximos que
puede agendar para la semana y la cantidad máxima de productos que puede llevar un cliente en un pedido.

Para esto, Nicolás le ayuda diciéndole que podría crear una matriz MxN, donde M es la cantidad máxima de
productos que un pedido puede tener, y N la cantidad máxima de pedidos que Nicolás puede agendar para la
semana (Esto ingresado por él). Luego, debe crear un menú de cliente, donde de la posibilidad a éste de:

1.- Ingresar RUT: Guarda el RUT del cliente para asociar el pedido a este.

2.- Agregar Pastel: Agrega al pedido del cliente, el pastel que éste decida (Naranja, Frutilla, Plátano,
Frambuesa).

3.- Eliminar Pastel: Elimina el pastel que el cliente ingrese.

4.- Mostrar pedido: Muestra la canasta del pedido que el cliente tiene hasta el momento.

5.- Confirmar compra: Entrega información al cliente de su canasta y del precio total del pedido, para luego
solicitarle al cliente que confirme esta canasta, en caso de confirmar, debe salir del menú cliente para agendar
un próximo pedido, en caso contrario, debe devolverlo al menú de selección de opciones.

Considere que los precios de los pasteles de Nicolás son los siguientes: Pastel de Naranja: $1500, Pastel de
Frutilla: $1250, Pastel de Plátano: $1750, Pastel de Frambuesa: $2000

Desafío 1: Construya el programa que le permita a los clientes agendar sus pedidos en la PYME de Nicolás,
con las especificaciones entregadas previamente.

Desafío 2: Agregue el código necesario para que, luego de realizar todos los pedidos, Nicolás pueda tener la
información de cada pedido si así lo desea, obteniendo la canasta completa para cada RUT y el precio de ésta.

2
Ejercicio 4
Un estudiante de la escuela, desea crear un sistema para manejar las notas que obtiene en los ramos que
cursa durante los distintos semestres, él no sabe programar, por lo que le solicita a usted que lo haga,
teniendo en cuenta las siguientes funcionalidades:

-Agregar ramo: Solicita la sigla del ramo al usuario y la agrega a la matriz siempre y cuando no exista con
anterioridad

-Agregar nota: Solicita la sigla del ramo, y si existe, solicita y agrega la nota al primer espacio vacío que
tenga ese ramo.

-Eliminar ramo: Elimina el ramo ingresado por el usuario junto con las notas asociadas a este.

-Calcular promedio: El usuario ingresa la sigla del ramo y el programa debe retornar el promedio con las
notas actuales registradas en la base de datos. Considere un cálculo de promedio simple con las notas
registradas hasta ese momento.

-Salir: El programa termina

Por último, se sabe que los ramos a lo más poseen 5 notas, y desea registrar un máximo de 10 asignaturas.

El estudiante le adjunta el siguiente modelo como guía para lo que quiere realizar:

EII147 70 70 70

EII1101 20 41

EII301 12

EII400 43

EII250 66 67

Desafío: A la aplicación anterior, agregue la opción de calcular el promedio total del estudiante, es decir, el
promedio de todos los promedios de los ramos registrados

3
Ejercicio 5
Asuma que usted es un bibliotecario de una librería nueva en la ciudad, y debe organizar una estantería con
todos los libros que quepan en esta. Teniendo en cuenta que el mueble posee un total de 8 niveles, y que en
cada uno de estos se pueden colocar un total de 30 libros. En este ejercicio se manejará un arreglo
bidimensional que guardará los nombres de cada una de las obras; considerando que este arreglo no es
compacto, desarrolle una aplicación interactiva que realice las siguientes operaciones:

Agregar libro: Agregar un libro a la estantería siempre y cuando este no se encuentre en ella.

Buscar libro: Buscar el libro ingresado por el usuario e indicar su posición.

Eliminar libro: Eliminar el libro ingresado por el usuario e indicar la posición en la que se encontraba.

Agregar libro en posición específica: Solicitar al usuario que ingrese el nombre del libro junto con una
posición concreta en fila y columna.

Salir.

Este código debe enseñar el menú solicitado nuevamente hasta que el usuario elija la opción de salir.

4
Ejercicio 6
Un jefe del área de personal de una empresa establece un beneficio para sus trabajadores que consiste en la
ponderación de su sueldo por un factor según la cantidad de horas extras que trabajan. El factor de
ponderación lo calcula como el total de días que hizo horas extras el trabajador dividido en el total del mes,
mas 0.5.

Para facilitar su trabajo lo ha contratado a usted para que implemente una aplicación en java que optimice el
cálculo del factor. Para ello debe realizar las siguientes consideraciones:

• Un arreglo String de largo definido por el usuario (jefe) que almacena los nombres de sus trabajadores.
Hay que considerar que este se encuentra compactado con Plibre.

• Una matriz correlacionada con el arreglo de nombres, en la cual la cantidad de filas las define como la
cantidad de días de un mes (30 o 31 opcional). En esta matriz se registra “si” en el caso que el trabajador
trabajo horas extras en ese día, y un “no” en el caso contrario. Además, puede ser que no se haya
registrado en alguna casilla del mes (null), por omisión es considera como un “no”.

Implemente un menú interactivo que permita:

a) Registrar trabajador: Recibe el nombre del trabajador por parte del usuario, lo agrega de manera
compacta y despliega por pantalla si es que pudo ser agregado con éxito. Considerar que no debe
encontrarse repetido.

b) Registrar horas extras de un trabajador: Recibe el nombre del trabajador al cual se le asignará un “Si”
en la matriz de horas extra en la primera fila vacía encontrada. Desplegar por pantalla si es que pudo
ser registrada, considerar que el trabajador no necesariamente se encuentra en el arreglo.

c) Cálculo del factor de ponderación de un trabajador: Recibe el nombre del trabajador y calcula el
factor de ponderación según los días registrados como “si” para ese trabajador y el total de días del
mes. Desplegar por pantalla cual es el factor, en el caso de que el factor no pudo ser calculado,
desplegar por pantalla por qué no se pudo.

d) El trabajador con el mayor factor de ponderación: Deberá calcular el factor de ponderación de


todos los trabajadores y comparar cual es el más alto. Desplegar por pantalla el nombre del
trabajador.

5
Ejercicio 7
1. El departamento de la empresa acuícola VIF está fortaleciendo el lado de las tecnologías de la información,
por lo cual le ha pedido a usted como futuro ingeniero diseñar una aplicación interactiva con el usuario
mediante sus conocimientos de JAVA. La aplicación mantiene en su BD los datos de los centros de cultivos,
los cuales son identificados por un ID, y en cada centro de cultivo se mantienen diversas especies. Lo
anterior se puede representar de la siguiente manera:

• Una matriz que maneja el tonelaje de los peces vigentes en el centro de cultivo según especie

• Se tiene un arreglo coordinado con las columnas de la matriz, el cual almacena todos los ID de los centros
de cultivos

• Otro arreglo coordinado con las filas de la matriz, el cual almacena todas las especies que maneja la
organización.

Visualmente se ve de la siguiente manera (solo referencial):

Para esto debe crear el siguiente menú:

a) Ingreso de nueva especie: Deberá verificar si existe posibilidad de ingresar una nueva especie al sistema
de la organización, de ser esto verdadero, se agrega la especie que el usuario ingresará por pantalla mostrando
un mensaje de éxito o fracaso

b) Ingreso de nuevo centro de cultivo: Deberá verificar si existe posibilidad de ingresar un nuevo centro de
cultivo al sistema de la organización de ser esto verdadero, se agrega la especie que el usuario ingresará por
pantalla mostrando un mensaje de éxito o fracaso.

c) Actualizar tonelaje: Deberá solicitar al usuario el centro de cultivo que tendrá la actualización y la especie,
luego verificar si los datos ingresados son correctos, de lo contrario mostrar mensaje por pantalla que los datos
ingresados son incorrectos y terminar este proceso, de lo contrario, seguir con el procedimiento y actualizar este
tonelaje (dato entregado por usuario). No se podrá actualizar el tonelaje a centros de cultivo que no manejen
una especie (tonelaje = 0).

d) Inicio de nueva especie en centro de cultivo: Esta opción recibirá por pantalla la especie que se desea
iniciar y el tonelaje inicial. Deberá buscar la especie y esta será iniciada en el primer centro de cultivo que no
maneje esta especie (tonelaje = 0).

e) Promedio: Esta función puede entregar el promedio del tonelaje, ya se por centro de cultivo o por
especie, por lo cual esta opción deberá proporcionar 2 opciones que calculen el promedio según la especie

6
que el usuario ingrese por pantalla (sin considerar los centros de cultivos que no manejen aquella especie) y
entregarlo por pantalla; o que sea el cálculo por centro de cultivo según el ID entregado por el usuario y calcular
el promedio del centro de cultivo de las especies manejadas (no se considerar las especies que el centro de
cultivo no maneja).

f) Salir: el menú termina.

Para el programa se debe tener en cuenta lo siguiente:

• El menú se deberá mostrar tantas veces como el usuario lo requiera, es decir, el menú se desplegará hasta
que el usuario ingrese la opción salir.

• La matriz debe tener exactamente la misma cantidad de columnas que el arreglo de los ID, y la misma
cantidad de filas que el arreglo de especies, por lo cual solo debe solicitar al usuario 2 tamaños, nada más.

• Existen centros de cultivos que no manejan especies, los cuales por defecto tendrán asignado el tonelaje 0.

• El ID es único.

• Las especies no se repiten.

También podría gustarte