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

Nombre de la materia

Programación Orientada a Objetos

Nombre de la Licenciatura
Ingeniería en Sistemas
Computacionales

Nombre del alumno


Marco Antonio Rodríguez Romero

Matrícula
010254043

Nombre de la Tarea
Tarea 7

Unidad # 6
Excepciones y Threads

Nombre del Profesor


Juan Carlos León Choreño

Fecha
21/06/2021
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

ACTIVIDAD 7

“Si no puedes volar, corre; si no puedes correr, camina; si no puedes caminar, gatea. Sin
importar lo que hagas, sigue avanzado hacia adelante”. -Martin Luther King

Objetivo:

Elaborar ejercicios prácticos que permitan la construcción del conocimiento, aplicando los
conceptos del manejo y declaración de excepciones así mismo la manipulación y control de
Threads.

Instrucciones:

Revisa los materiales correspondientes a los recursos de la semana 7, así como las Open
Class correspondientes que hayan impartido los profesores de la materia.

Forma de evaluación:

Criterio Ponderación

Presentación. 10%

Ocupando el formato de trabajos propuesto por la


Uuniversidad, desarrolla un documento claro y bien
redactado, cuidando la ortografía y presentando
correctamente cada sección: Introducción, Desarrollo,
Conclusiones y Bibliografía.

Evidencia del código. 50%

Se envía el código del programa en Java, a través de un


archivo o proyecto comprimido y este se ejecuta
correctamente, es decir, se cumplen el 100% de los
requerimientos solicitados en la problemática a resolver y
con las salidas solicitadas. Incluye en el código nombre,
matrícula, fecha y comentarios de los procesos más
importantes.

Evidencia en documento. 40%

Se incluye una introducción a la actividad redactada por el


Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

estudiante, la cual debe definir el marco teórico dentro del


cual se desarrolla la actividad.

En el Desarrollo de la actividad enviada, contiene capturas


de pantallas del código en Java y de la ejecución del mismo
tanto en corridas exitosas y no exitosas al 100% de la
problemática planteada en este documento. Se observan
bien la fecha y hora en esas imágenes. También incluye la
imagen del sitio donde se consultó el tipo de cambio con
fecha y hora.

Se explica claramente la manera de realizar la actividad y


de cómo se resolvieron los inconvenientes encontrados.

Las conclusiones son redactadas por el estudiante y reflejan


de forma contundente que el estudiante obtuvo un
aprendizaje significativo con esta actividad.

La bibliografía presentada es congruente con las citas que


se incluyen en el documento y es presentada en formato
APA y en orden alfabético.

Desarrollo de la actividad:
Realiza un programa en Java utilizando la filosofía de Programación Orientada a Objetos en
donde incluyas lo siguiente:
A. Resolución de la problemática planteada más abajo, utilizando el paradigma
Orientado a Objetos y realizado en el IDE de programación de tu preferencia: Eclipse,
Apache NetBeans, BlueJ, Intellij IDEA, etcétera.
B. Deberás enviar el proyecto comprimido .zip, .rar o .7z
C. Debes enviar además en un documento de Word todas las pantallas del código donde
comentes cada uno de los procesos más importantes del programa y además debes
incluir a manera de comentarios de documentación: tu nombre, matrícula y fecha de
realización del programa. El documento de Word debe incluir también pantallas de
ejecución del programa, donde se pueda corroborar la fecha y hora de la ejecución.
En caso de contar con un IDE de programación que no arroje la fecha y hora al
momento de la corrida, entonces se debe de notar la fecha y hora de tu
computadora, por ejemplo:
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

Es importante destacar que no solo se deben incluir pantallas de las ejecuciones


exitosas, sino también de aquellas donde el programa no funcionó correctamente y
en el Desarrollo de la actividad debes comentar cómo hiciste para corregirlas.

D. El documento debe incluir Introducción, Desarrollo, Conclusiones y Bibliografía en


formato APA . Recuerda que todo debe ser redactado por ti, no se debe copiar y pegar
de ningún sitio de Internet.
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

Problemática a resolver:
Ejercicio de Excepciones. Analiza el siguiente código y captúralo en tu IDE de preferencia,

Una vez capturado tu código y ejecutado, realiza lo siguiente:


1 Identifica las dos excepciones que es posible el código ejecute y muestra una captura
de pantalla por cada excepción que se presente en su ejecución.
2 Sólo puedes modificar el método main para el manejo o control de excepciones, para
que el programa termine de forma exitosa.
3 Aplica el manejo de la excepción correspondiente, cuando el usuario capture un valor
entero de cero, recuerda que sólo puedes modificar el cuerpo del método main().
4 Aplica el manejo de la excepción correspondiente en la llamada al método buscar(),
recuerda que sólo puedes modificar el cuerpo del método main().
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

Ejercicio de Threads. Analiza el siguiente diagrama UML de clase, y crea en tu IDE


preferido un proyecto que contenga las clases ahí descritas.

Una vez creada la estructura de las dos clases, realiza lo siguiente,


1. La clase Tarea debe heredar de la clase Thread, para ocupar la infraestructura de
hilos en Java.
2. La clase ProgramaHilos debe tener un arreglo de cuatro tareas mínimo.
3. En la clase Tarea, dentro del método run(), implementa un ciclo for tradicional que
vaya de 0 a 100, para que incremente el porcentaje de completado de 10 en 10; el
ciclo for deberá llamar únicamente al método trabajar().

4. El método trabajar() debe ser como el siguiente,

5. En la clase ProgramaHilos, dentro del método main() incia cada tarea invocando su
respectivo método start().
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

6. Ya integrado tu código ejecuta tu proyecto al menos unas 4 veces, captura la pantalla


de cada ejecución, observa los resultados y describe con tus propias palabras la razón
de los resultados obtenidos en cada ejecución.

Recuerda que toda fuente de información utilizada como consulta para el desarrollo de la
actividad, debe estar correctamente citada a lo largo de tu documento y registrada en la
bibliografía.

INTRODUCCION.
Debemos tener presente que siempre estamos propensos a encontrarnos con errores o
excepciones cuando estamos desarrollando algún programa, por eso de la importancia de
utilizar excepciones en java. Las excepciones nos indican que hay algo anómalo, inconsistente
o simplemente un Error, lo cual impide que el sistema se ejecute como debería de ser.
Supongamos que dos números que se introducen en dos controles de edición, se obtiene el
texto de cada uno de los controles de edición que se guarda en dos strings, o no se quitan los
espacios en blanco al principio y al final del string. En esta situación se pueden producir dos
excepciones NumberFormatException, si se introducen caracteres no numéricos y
ArithmeticException si se divide entre cero. Con los bloques Try - Catch podemos capturar y
procesar una posible excepción, evitando que el sistema se detenga sin necesidad cuando el
motivo de esto puede ser corregido fácilmente, la estructura básica es la siguiente.
Aplicando la estructura de los bloques, de esta manera nos aseguramos que la excepción
anterior fue controlada evitando que el sistema se detenga, en el catch podemos hacer el
proceso que consideremos conveniente, ya sea solo informar del error o solicitar nuevos
parámetros de entrada.
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

DESARROLLO.
Código Excepciones

package ProgramaUtel;
import java.util.Scanner;

public class ProgramaExcepciones {

private void operacion(){

try{

Scanner scn = new Scanner(System.in);

System.out.println("Escribe un número entero: ");


int val = scn.nextInt();
System.out.println("El valor a ocupar: \n"+ val);
int resultado = 25 / val;
System.out.println("El resultado de 25/"+val+" = "+resultado);
System.out.println("Finalizado operación. ");

}catch(Exception e){

System.out.println("ERROR!!! Selecciona solo números enteros.............." + e);

}
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

private void buscar(){

try{

Scanner scn = new Scanner(System.in);

System.out.println("Escribe una palabra: ");


String palabra = scn.next();

String cadena = "hola";

if(cadena.contains(palabra)){

System.out.println("Si se encontró la cadena");

if(palabra.length() % 2 == 0){

cadena = null;

}
} else {

System.out.println("No se encontró la cadena");

} catch(NullPointerException e){

System.out.println("ERROR!!! La cadena esta vacia" + e);

}
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

public static void main(String[] args) {

ProgramaExcepciones a = new ProgramaExcepciones();


a.operacion();
a.buscar();

Captura de Pantalla.
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

Código Hilos.
ClasePrincipal.
package hilos;

public class ClasePrincipal {

public static void main(String[] args) {

Hilo1 hilo1 = new Hilo1();


Hilo2 hilo2 = new Hilo2();
Hilo3 hilo3 = new Hilo3();
Hilo4 hilo4 = new Hilo4();

//Hilo1
hilo1.start();
try {
hilo1.sleep(10);
} catch (InterruptedException e) {
System.out.println("Error en el hilo1 " + e);
}

//Hilo2
hilo2.start();
try {
hilo2.sleep(10);
} catch (InterruptedException e) {
System.out.println("Error en el hilo2 " + e);
}
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

//Hilo3
hilo3.start();
try {
hilo3.sleep(10);
} catch (InterruptedException e) {
System.out.println("Error en el hilo3 " + e);
}

//Hilo4
hilo4.start();
try {
hilo4.sleep(10);
} catch (InterruptedException e) {
System.out.println("Error en el hilo4 " + e);
}
}

Hilo1
package hilos;

public class Hilo1 extends Thread {

@Override
public void run() {
for (int i = 0; i <= 5; i++) {
System.out.print(i + ": Tarea de Matematicas");

try {
Hilo1.sleep(1000);
} catch (InterruptedException e) {
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

System.out.println("Error en la clase Hilo1 " + e);


}
}
}
}

Hilo2
package hilos;

public class Hilo2 extends Thread{

@Override
public void run() {
for (int i = 0; i <= 5; i++) {
System.out.print("Tarea de Geografia");

try {
Hilo2.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Error en la clase Hilo2 " + e);
}
}
}

Hilo3
package hilos;

public class Hilo3 extends Thread{

@Override
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

public void run() {


for (int i = 0; i <= 5; i++) {
System.out.print("Tarea de Español");

try {
Hilo3.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Error en la clase Hilo3 " + e);
}
}
}
}

Hilo4
package hilos;

public class Hilo4 extends Thread {

@Override
public void run() {
for (int i = 0; i <= 5; i++) {
System.out.println("Tarea de Historia");

try {
Hilo4.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Error en la clase Hilo4 " + e);
}
}
}

}
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

Captura de Pantalla.

CONCLUSIÓN.
Se recomienda la utilización de excepciones para tratar condiciones de error en un programa
Java cuando se espera que éstas se produzcan de forma esporádica.
En Java para utilizar la multitarea debemos de usar la clase Thread. Desde el punto de vista de
las aplicaciones los threads son útiles porque permiten que el flujo del programa sea divido en
dos o más partes, permitiendo en esencia ejecutar varios procesos a la vez sin que se vea
alterado el resultado final, es decir, de forma concurrente y por tanto eso nos permite hacer
programas que se ejecuten en menor tiempo y sean más eficiente.
Cuando se está programando debemos tener claro que nuestro código no es perfecto, así
tengamos mucha experiencia en desarrollo siempre está la posibilidad de que algo falle, sea por
Unidad 7: Excepciones y Threads
Programación Orientada a Objetos

nuestro código o por otros factores, por eso de la importancia de contemplar todo desde antes,
posibles fallos o lo que pueda afectar el sistema.

REFERENCIAS.
Comas, A. (10 de Agosto de 2004). JAVA o PHP. Revista digital universitaria, 5 (7). Recuperado
de: http://www.revista.unam.mx/vol.7/num12/art104/dic_art104.pdf

Tutorial: Hilos/Threads en Java (Jorge, 2011).

Excepciones y Threads (Nereu, 2014).

También podría gustarte