Entregable 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

Archivos, colecciones e hilos

Objetivo

Aplicar las colecciones y archivos como medio de almacenamiento de datos, tanto en memoria como
en medios de almacenamiento. Implementar hilos de ejecución en tareas de pseudoparalelismo.

Preámbulo

Refiriéndonos a colecciones existen 3 grandes grupos de categorías: los arreglos los cuales nos
permiten almacenar secuencialmente objetos de todo tipo y hacer operaciones de agregado,
actualizado y eliminado, permitiendo tener valores duplicados. Los sets que tienen la misma filosofía
que los arreglos, salvo la diferencia de no permitir valores duplicados, y los diccionarios, que permiten
asociar al valor del elemento con un campo llave, permitiendo operaciones específicas de
almacenamiento - relación.

Por otro lado tenemos a la escritura de archivos, que puede ser textual o binaria, para la escritura
binaria precisamos que el objeto esté ordenado y eso lo logramos serializándolo. Los hilos de
ejecución son entendidos como procesos ligeros cuyo principal uso es el dividir operaciones con gran
carga al procesador en subtareas con el propósito de no mermar al hilo principal y que este no pueda
seguir atendiendo peticiones por parte del usuario.

Desarrollo

Seguro haz escuchado la famosa fábula de Esopo “la liebre y la tortuga”, vamos a implementarla con
algunas mejoras.

1 Crea una nueva solución de consola. Programa la siguiente clase, no omitas los constructores ni
los getters y setters como propiedades. La clase debe estar serializada.

Mtro. Erick Huerta Valdepeña Pág. 1 de 4


Archivos, colecciones e hilos

2 En el método principal del proyecto, programa un método que sea capaz de leer mediante un
stream un archivo binario y depositarlo en un buffer de 256 bytes (byte[ ]). Tu método luego debe
tomar ese buffer de bytes y convertirlo en objeto.

3 Copia los datos que aparecen al final de esta práctica (no omitas ni agregues caracteres y cuida los
espacios en blanco) y dirígete al sitio https://base64.guru/converter/decode/file.

Copia la cadena base 64 en el área de texto. Decodifica el texto subido y guarda el archivo resultante.
Repite la operación para cada conjunto de datos. Al final deberás tener tres archivos binarios.

4 COLECCIONES. Crea un objeto de tipo ArrayList y agrégale tres instancias del tipo animal. Primero
tienes que crear tres objetos de tipo Animal e instanciarlos mediante la lectura de los datos
almacenados en los archivos binarios. Usa tus métodos programados anteriormente.

Mtro. Erick Huerta Valdepeña Pág. 2 de 4


Archivos, colecciones e hilos
5 SIMULACIÓN Liebre vs Tortuga. Vas a programar la fábula de la liebre y la tortuga con su pequeña
variante. Ocupa los primeros dos animales contenidos en tu ArrayList. Imprime en pantalla las
características de los animales que van a competir. Lanzarás dos hilos de ejecución, cada hilo
apuntará a un método el cuál imprimirá la primer letra del nombre del animal mediante un bucle, el
animal que logre imprimir en pantalla su inicial 800 veces ganará la carrera.

6 CONSIDERACIONES. La velocidad del animal. La velocidad de impresión será la diferencia de


dormir 100 ms el hilo menos la velocidad del animal.

En algún momento de la carrera deberás evaluar si el animal se duerme, si esto sucede lo dormirás
10 veces su velocidad, debes notificar en pantalla que dicho animal se ha dormido. Luego de
transcurrido ese tiempo, el animal despertará (también lo debes notificar) y continuará con la carrera.

Cuando un animal llegué a la meta primero, deberás notificar que dicho animal ganó la carrera.
Apóyate con banderas booleanas si lo precisas. Toma capturas de pantalla y llena tu reporte
empleando el formato de entrega de prácticas.

7 ANIMAL EXTRA. Modifica el programa. Ahora emplea al segundo y tercer animal de tu ArrayList,
fíjate que sucedió, de igual manera toma evidencia de los resultados obtenidos y llena tu reporte.

8 Sube tu reporte a plataforma en formato PDF. No olvides anotar que aprendiste.

Mtro. Erick Huerta Valdepeña Pág. 3 de 4


Archivos, colecciones e hilos

DATOS PARA LA PRÁCTICA

ANIMAL 1
AAEAAAD/////AQAAAAAAAAAMAgAAAE90ZXN0U2VyaWFsaXphY2lvbiwgVmVyc2lvbj0xLjAuNzU5O
S4zNDUxNSwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBQEAAAAYdGVzdFN
lcmlhbGl6YWNpb24uQW5pbWFsAwAAAAZub21icmUJdmVsb2NpZGFkCHNlRHVlcm1lAQAACAECA
AAABgMAAAAHVG9ydHVnYRQAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
ANIMAL 2
AAEAAAD/////AQAAAAAAAAAMAgAAAE90ZXN0U2VyaWFsaXphY2lvbiwgVmVyc2lvbj0xLjAuNzU5O
S4zNDUwMiwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBQEAAAAYdGVzdFN
lcmlhbGl6YWNpb24uQW5pbWFsAwAAAAZub21icmUJdmVsb2NpZGFkCHNlRHVlcm1lAQAACAECA
AAABgMAAAAGTGllYnJlMgAAAAELAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
ANIMAL 3
AAEAAAD/////AQAAAAAAAAAMAgAAAE90ZXN0U2VyaWFsaXphY2lvbiwgVmVyc2lvbj0xLjAuNzU5O
S4zNDU2MCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBQEAAAAYdGVzdF
NlcmlhbGl6YWNpb24uQW5pbWFsAwAAAAZub21icmUJdmVsb2NpZGFkCHNlRHVlcm1lAQAACAEC
AAAABgMAAAAgTmluamEgVG9ydHVnYSBBZG9sZWNlbnRlIE11dGFudGVQAAAAAQsAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

Mtro. Erick Huerta Valdepeña Pág. 4 de 4

También podría gustarte