POO. Unidad 2: Clases y objetos Ejercicio 2
-
Upload
fabiola-valerio -
Category
Education
-
view
1.478 -
download
1
description
Transcript of POO. Unidad 2: Clases y objetos Ejercicio 2
![Page 1: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/1.jpg)
Unidad 2: Clases y Objetos“Ejercicio 2”
![Page 2: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/2.jpg)
Vamos a subir un poco el nivel, pon atención al enunciado del siguiente
problema…Hola compañero, bienvenido a otro
ejercicio de este tutorial.
![Page 3: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/3.jpg)
Vamos a subir un poco el nivel, pon atención al enunciado del siguiente
problema…
![Page 4: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/4.jpg)
Construir una clase en java que defina a un estudiante, teniendo como atributos su número de carnet, nombre y las notas correspondientes al primer parcial, segundo parcial, trabajo acumulado y exámen final. La clase deberá tener los métodos necesarios para encontrar la nota final del estudiante basado en el cálculo usado en la UCYT (el primer parcial, el segundo parcial y el trabajo acumulado corresponden al 20% de la nota final cada uno y el exámen final el 40%). Del mismo modo deberá tener un método que defina si el estudiante está aprobado o reprobado. Un tercer método deberá imprimir la información del estudiante en una caja de diálogo gráfica. Deberá crear también una clase que contenga el método main donde se pidan los datos del estudiante de forma gráfica (utilizando la interface SWING), creando un objeto alumno y definiendo sus atributos. .
![Page 5: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/5.jpg)
Comencemos construyendo la clase Alumno.
Bien, para este problema vamos a construir dos clases una llamada Notas y otra llamada Alumno.
![Page 6: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/6.jpg)
Comencemos construyendo la clase Alumno.
![Page 7: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/7.jpg)
Ahora bien, ya que necesitamos calcular el
promedio final del alumno vamos a definir también el
método notafinal()
De acuerdo a los datos del problema vamos a definir las
variables carnet, nombre, notapp,notasp,notata y
notaef.
![Page 8: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/8.jpg)
Ahora bien, ya que necesitamos calcular el
promedio final del alumno vamos a definir también el
método notafinal()
De acuerdo a los datos del problema vamos a definir las
variables carnet, nombre, notapp,notasp,notata y
notaef.
import javax.swing.*; public class Alumno { String carnet; String nombre; int notapp; int notasp; int notata; int notaef;
![Page 9: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/9.jpg)
Ahora bien, ya que necesitamos calcular el
promedio final del alumno vamos a definir también el
método notafinal()
import javax.swing.*; public class Alumno { String carnet; String nombre; int notapp; int notasp; int notata; int notaef;
![Page 10: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/10.jpg)
Ahora bien, ya que necesitamos calcular el
promedio final del alumno vamos a definir también el
método notafinal()
import javax.swing.*; public class Alumno { String carnet; String nombre; int notapp; int notasp; int notata; int notaef;
public double notafinal() { double nf; nf = (this.notapp * 0.20) + (this.notasp * 0.20) + (this.notata * 0.20) + (this.notaef * 0.40); return nf; }
![Page 11: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/11.jpg)
Finalmente vamos a crear el método necesario para imprimir los datos del alumno en pantalla.
Para determinar cuando un alumno esta reprobado o no
vamos a crear el método estado que trabajara con la nota final que se calcule en
el método anterior.
![Page 12: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/12.jpg)
Finalmente vamos a crear el método necesario para imprimir los datos del alumno en pantalla.
Para determinar cuando un alumno esta reprobado o no
vamos a crear el método estado que trabajara con la nota final que se calcule en
el método anterior.
public String estado() { if (this.notafinal() >= 70 ) return "Aprobado"; else return "Reprobado"; }
![Page 13: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/13.jpg)
Finalmente vamos a crear el método necesario para imprimir los datos del alumno en pantalla.
public String estado() { if (this.notafinal() >= 70 ) return "Aprobado"; else return "Reprobado"; }
![Page 14: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/14.jpg)
Finalmente vamos a crear el método necesario para imprimir los datos del alumno en pantalla.
public String estado() { if (this.notafinal() >= 70 ) return "Aprobado"; else return "Reprobado"; }
public void MostrarDatos() { String datos = "Nombre :" + "\t" + this.nombre + "\n" + "Carnet No. :" + "\t" + this.carnet + "\n" + "Nota 1P :" + "\t" + this.notapp + "\n" + "Nota 2P :" + "\t" + this.notasp + "\n" + "Nota TA :" + "\t" + this.notata + "\n" + "Nota EF :" + "\t" + this.notaef + "\n" + "Nota Final :" + "\t" + this.notafinal() + "\n" + "Estado :" + "\t" + this.estado(); JOptionPane.showMessageDialog(null, datos);} }
![Page 15: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/15.jpg)
Para esto vamos a definir la clase Nota que será la que contenga el main del
programa.
¡Listo! Ya tenemos definida nuestra clase Alumno, vamos a probarla.
![Page 16: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/16.jpg)
Para esto vamos a definir la clase Nota que será la que contenga el main del
programa.
![Page 17: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/17.jpg)
Por último llamemos al método MostrarDatos para imprimir los resultados en
pantalla.
Ahora solicitaremos al usuario que ingrese los datos correspondientes.
Recuerda que showInputDialog devuelve
cadenas, por lo tanto debemos realizar las
conversiones correspondientes.
Vamos a importar la librería swing de java para trabajar
con un poco de interfaz gráfica y después, crearemos
un objeto de tipo Alumno.
![Page 18: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/18.jpg)
Por último llamemos al método MostrarDatos para imprimir los resultados en
pantalla.
Ahora solicitaremos al usuario que ingrese los datos correspondientes.
Recuerda que showInputDialog devuelve
cadenas, por lo tanto debemos realizar las
conversiones correspondientes.
Vamos a importar la librería swing de java para trabajar
con un poco de interfaz gráfica y después, crearemos
un objeto de tipo Alumno.
import javax.swing.*; public class Notas { public static void main(String[] args) { // TODO code application logic here Alumno a = new Alumno();
![Page 19: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/19.jpg)
Por último llamemos al método MostrarDatos para imprimir los resultados en
pantalla.
Ahora solicitaremos al usuario que ingrese los datos correspondientes.
Recuerda que showInputDialog devuelve
cadenas, por lo tanto debemos realizar las
conversiones correspondientes.
import javax.swing.*; public class Notas { public static void main(String[] args) { // TODO code application logic here Alumno a = new Alumno();
![Page 20: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/20.jpg)
Por último llamemos al método MostrarDatos para imprimir los resultados en
pantalla.
import javax.swing.*; public class Notas { public static void main(String[] args) { // TODO code application logic here Alumno a = new Alumno(); a.carnet = JOptionPane.showInputDialog("Carnet del Estudiante: "); a.nombre = JOptionPane.showInputDialog("Nombre del Estudiante: "); a.notapp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Primer Parcial: ")); a.notasp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Segundo Parcial: ")); a.notata = Integer.parseInt(JOptionPane.showInputDialog("Nota del Trabajo Acumulado: ")); a.notaef = Integer.parseInt(JOptionPane.showInputDialog("Nota del Examen Final: "));
Ahora solicitaremos al usuario que ingrese los datos correspondientes.
Recuerda que showInputDialog devuelve
cadenas, por lo tanto debemos realizar las
conversiones correspondientes.
![Page 21: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/21.jpg)
Por último llamemos al método MostrarDatos para imprimir los resultados en
pantalla.
import javax.swing.*; public class Notas { public static void main(String[] args) { // TODO code application logic here Alumno a = new Alumno(); a.carnet = JOptionPane.showInputDialog("Carnet del Estudiante: "); a.nombre = JOptionPane.showInputDialog("Nombre del Estudiante: "); a.notapp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Primer Parcial: ")); a.notasp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Segundo Parcial: ")); a.notata = Integer.parseInt(JOptionPane.showInputDialog("Nota del Trabajo Acumulado: ")); a.notaef = Integer.parseInt(JOptionPane.showInputDialog("Nota del Examen Final: "));
![Page 22: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/22.jpg)
Por último llamemos al método MostrarDatos para imprimir los resultados en
pantalla.
import javax.swing.*; public class Notas { public static void main(String[] args) { // TODO code application logic here Alumno a = new Alumno(); a.carnet = JOptionPane.showInputDialog("Carnet del Estudiante: "); a.nombre = JOptionPane.showInputDialog("Nombre del Estudiante: "); a.notapp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Primer Parcial: ")); a.notasp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Segundo Parcial: ")); a.notata = Integer.parseInt(JOptionPane.showInputDialog("Nota del Trabajo Acumulado: ")); a.notaef = Integer.parseInt(JOptionPane.showInputDialog("Nota del Examen Final: "));
a.MostrarDatos(); }}
![Page 23: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/23.jpg)
¿Notas como en ambas clases se hizo uso de la
referencia this?
Utilizando JCreator ejecutamos nuestro main y
obtenemos un resultado como el siguiente…
![Page 24: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/24.jpg)
¿Notas como en ambas clases se hizo uso de la
referencia this?
![Page 25: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/25.jpg)
Nos vemos en el siguiente ejercicio. Hasta pronto.
Esto fue todo por ahora, espero que la solución de este ejercicio te haya sido
clara y provechosa.
![Page 26: POO. Unidad 2: Clases y objetos Ejercicio 2](https://reader036.fdocuments.es/reader036/viewer/2022081422/558ba75fd8b42aed278b4599/html5/thumbnails/26.jpg)
Nos vemos en el siguiente ejercicio. Hasta pronto.