0% encontró este documento útil (0 votos)
67 vistas11 páginas

Evaluación Final Algoritmos y Estructuras

Examen de Algoritmos y Estructura de datos

Cargado por

Daisuke Sagara
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
67 vistas11 páginas

Evaluación Final Algoritmos y Estructuras

Examen de Algoritmos y Estructura de datos

Cargado por

Daisuke Sagara
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INSTITUTO DE EDUCACIÓN SUPERIOR CIBERTEC

DIRECCIÓN ACADÉMICA
CARRERA PROFESIONALES

CURSO : Algoritmos y Estructura de Datos


SEMESTRE : 2024
NOTA
CICLO : Segundo
SECCIÓN : T2PO
DURACIÓN : 90 min
Fecha : 27/06/2024 Horas: 19:00 – 20.30

EVALUACIÓN FINAL (EF)

Consideraciones generales:

• La solución debe ser presentada en el archivo AED_Solucion_EF.pdf.


• Lea cuidadosamente la rúbrica para cumplir con todo lo solicitado.
• Si dos o más alumnos presentan la misma solución, recibirán la nota 99 (cero anulado).

LOGRO
Al término del curso, el alumno implementa los conceptos de encapsulamiento, herencia y
polimorfismo de la programación orientada a objetos en la construcción de aplicaciones java
básicas que realizan mantenimiento de datos almacenados en arreglo de objetos y archivos
planos.

Consolidado

Puntaje Llenar solo en caso de recalificación justificada


Pregunta
Máximo Obtenido Sustento Puntaje
1 10
2 10

Nota Recalificada

IES CIBERTEC 1
Problema 1 (8 puntos)

Se tiene la clase Empleado en el paquete clase, con los atributos privados: código (int), nombre
(String), Direccion (Sring) y telefono (String) y correo electrónico (String), un constructor que inicialice
los atributos privados, los métodos de acceso público set/get necesarios.

Se tiene la clase ArregloEmpleados en el paquete arreglo, con el atributo privado lista (ArrayList de
tipo Producto)

Implemente los métodos básicos


- Un constructor que cree el ArrayList.
- Método adicionar que recibe un nuevo empleado y la adicione al ArrayList.
- Método obtener que reciba una posición y retorne el objeto empleado respectivo.
- Método buscar que reciba un nombre y retorne el objeto empleado que los contiene.
En caso no exista retorne null.
- Método eliminar que reciba el objeto empleado y lo retire del ArrayList.

package Arreglo;

import [Link];
import [Link];

public class ArregloEmpleados {


private ArrayList<Empleado> lista;

public ArregloEmpleados() {
lista = new ArrayList<>();
}

public void adicionar(Empleado emp) {


[Link](emp);
}

public Empleado obtener(int posicion) {


if (posicion >= 0 && posicion < [Link]()) {
return [Link](posicion);
}
return null;
}

public Empleado buscar(String nombre) {


for (Empleado emp : lista) {
if ([Link]().equalsIgnoreCase(nombre)) {
return emp;
}
}
return null;
}

public void eliminar(Empleado emp) {

IES CIBERTEC 2
[Link](emp);
}

public ArrayList<Empleado> obtenerLista() {


return lista;
}
}

package Arreglo;

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class EmpleadoGUI extends JFrame {

private static final long serialVersionUID = 1L;


private JPanel contentPane;
private JTextArea txtS;
private ArregloEmpleados arreglo;

/**
* Launch the application.
*/
public static void main(String[] args) {
[Link](new Runnable() {
public void run() {
try {
EmpleadoGUI frame = new EmpleadoGUI();
[Link](true);
} catch (Exception e) {
[Link]();
}
}
});
}

/**
* Create the frame.

IES CIBERTEC 3
*/
public EmpleadoGUI() {
arreglo = new ArregloEmpleados();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 500, 400);
contentPane = new JPanel();
[Link](new EmptyBorder(5, 5, 5, 5));
[Link](new BorderLayout(0, 0));
setContentPane(contentPane);

txtS = new JTextArea();


[Link](false);
[Link](new JScrollPane(txtS),
[Link]);

JPanel panel = new JPanel();


[Link](panel, [Link]);

JButton btnAdd = new JButton("Adicionar Empleado");


[Link](new ActionListener() {
public void actionPerformed(ActionEvent e) {
agregarEmpleado();
}
});
[Link](btnAdd);

JButton btnShow = new JButton("Mostrar Empleados");


[Link](new ActionListener() {
public void actionPerformed(ActionEvent e) {
mostrarEmpleados();
}
});
[Link](btnShow);
}

private void agregarEmpleado() {


try {
int codigo =
[Link]([Link](this, "Ingrese el
código:"));
String nombre = [Link](this,
"Ingrese el nombre:");
String direccion =
[Link](this, "Ingrese la dirección:");
String telefono =
[Link](this, "Ingrese el teléfono:");
String correo = [Link](this,
"Ingrese el correo electrónico:");

IES CIBERTEC 4
Empleado emp = new Empleado(codigo, nombre,
direccion, telefono, correo);
[Link](emp);
[Link]("Empleado añadido: " + nombre + "\n");
} catch (Exception e) {
[Link]("Error al añadir empleado.\n");
}
}

private void mostrarEmpleados() {


[Link]("");
for (Empleado emp : [Link]()) {
[Link]("Código: " + [Link]() + ",
Nombre: " + [Link]() +
", Dirección: " + [Link]() +
", Teléfono: " + [Link]() +
", Correo: " +
[Link]() + "\n");
}
}
}

package clase;

public class Empleado {


private int codigo;
private String nombre;
private String direccion;
private String telefono;
private String correoElectronico;

public Empleado(int codigo, String nombre, String


direccion, String telefono, String correoElectronico) {
[Link] = codigo;
[Link] = nombre;
[Link] = direccion;
[Link] = telefono;
[Link] = correoElectronico;
}

public int getCodigo() {


return codigo;
}

public void setCodigo(int codigo) {


[Link] = codigo;
}

public String getNombre() {

IES CIBERTEC 5
return nombre;
}

public void setNombre(String nombre) {


[Link] = nombre;
}

public String getDireccion() {


return direccion;
}

public void setDireccion(String direccion) {


[Link] = direccion;
}

public String getTelefono() {


return telefono;
}

public void setTelefono(String telefono) {


[Link] = telefono;
}

public String getCorreoElectronico() {


return correoElectronico;
}

public void setCorreoElectronico(String correoElectronico)


{
[Link] = correoElectronico;
}
}

RÚBRICA
Problema 1 10 puntos 8 puntos 3 puntos 0 puntos

10 Implementa los dos Implementa un método Implementa un método No implementa ninguno


métodos correctamente correctamente y el otro parcialmente. de los dos métodos
puntos parcialmente

Problema 2 (12 puntos)

Diseñe las clases Persona, Paciente y Doctor. Las clases Paciente y Doctor serán
subclases de la clase Persona. Para el diseño de las clases considere lo siguiente:

La clase Persona debe tener:


- Atributos privados: codigo (int), nombre (String), especialidad(String).
- Un constructor que inicialice todos los atributos.

IES CIBERTEC 6
- Métodos de acceso set/get para todos los atributos.

La clase Paciente debe tener:


- Atributos privados: codigo (int), nombre (String), especialidad(String), Consultorio(String),
fecha(String), hora(String), fecha y hora se refiere a la atención.
- Un constructor que inicialice todos los atributos.
- Métodos de acceso set/get para todos los atributos.

La clase Doctor debe tener:


- Atributos privados: codigo (int), nombre (String), especialidad(String) y categoría (int).
- Un constructor que inicialice todos los atributos.
- Métodos de acceso set/get para todos los atributos.
- Un método que retorne el sueldo del doctor de acuerdo a la siguiente tabla:

Categoría Sueldo
1 S/. 12000.0
2 S/. 11800.0
3 S/. 9500.0
4 S/. 7250.0

Desarrolle lo siguiente:
- Identifique la clase padre con sus atributos y métodos
- Identifique las clases hijas con sus atributos y métodos
- Diagrame la relación entre las clases

Rúbrica
Excelente: Bueno: Regular: Deficiente:
Puntos
10 puntos 5 puntos 2 puntos 0 puntos
Identifica clase Identifica clase
Desarrolla
padre e hijas con padre con sus No implementa
10 correctamente los
sus atributos y atributos y nada.
enunciados.
métodos. métodos.
SOLUCION:
package Arreglo;

public class Doctor extends Persona {


private int categoria;

public Doctor(int codigo, String nombre, String


especialidad, int categoria) {
super(codigo, nombre, especialidad);
[Link] = categoria;
}

public int getCategoria() {


return categoria;
}

IES CIBERTEC 7
public void setCategoria(int categoria) {
[Link] = categoria;
}

public double calcularSueldo() {


switch (categoria) {
case 1:
return 12000.0;
case 2:
return 11800.0;
case 3:
return 9500.0;
case 4:
return 7250.0;
default:
return 0.0;
}
}
}

package Arreglo;

import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class HospitalGUI extends JFrame {

private static final long serialVersionUID = 1L;


private JPanel contentPane;
private JTextArea txtS;

/**
* Launch the application.
*/
public static void main(String[] args) {
[Link](new Runnable() {
public void run() {
try {
HospitalGUI frame = new HospitalGUI();
[Link](true);
} catch (Exception e) {
[Link]();

IES CIBERTEC 8
}
}
});
}

/**
* Create the frame.
*/
public HospitalGUI() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
[Link](new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
[Link](null);

txtS = new JTextArea();


[Link](false);
JScrollPane scrollPane = new JScrollPane(txtS);
[Link](10, 11, 414, 239);
[Link](scrollPane);

[Link]("\n\nDatos del Doctor:\n");


Doctor doctor1 = new Doctor(1, "Dr. Juan Perez",
"Cardiología", 2);
[Link]("Nombre: " + [Link]() +
"\n");
[Link]("Especialidad: " +
[Link]() + "\n");
[Link]("Categoría: " + [Link]() +
"\n");
[Link]("Sueldo: S/. " +
[Link]() + "\n");

[Link]("\nDatos del Paciente:\n");


Paciente paciente1 = new Paciente(101, "Ana Gómez",
"Pediatría", "Consultorio A", "2024-06-28", "15:00");
[Link]("Nombre: " + [Link]() +
"\n");
[Link]("Especialidad: " +
[Link]() + "\n");
[Link]("Consultorio: " +
[Link]() + "\n");
[Link]("Fecha de atención: " +
[Link]() + "\n");
[Link]("Hora de atención: " +
[Link]() + "\n");

IES CIBERTEC 9
}
}

package Arreglo;
public class Paciente extends Persona {
private String consultorio;
private String fecha;
private String hora;

public Paciente(int codigo, String nombre, String


especialidad, String consultorio, String fecha, String hora) {
super(codigo, nombre, especialidad);
[Link] = consultorio;
[Link] = fecha;
[Link] = hora;
}

public String getConsultorio() {


return consultorio;
}

public void setConsultorio(String consultorio) {


[Link] = consultorio;
}

public String getFecha() {


return fecha;
}

public void setFecha(String fecha) {


[Link] = fecha;
}

public String getHora() {


return hora;
}

public void setHora(String hora) {


[Link] = hora;
}
}

package Arreglo;
public class Persona {
private int codigo;
private String nombre;
private String especialidad;

IES CIBERTEC 10
public Persona(int codigo, String nombre, String
especialidad) {
[Link] = codigo;
[Link] = nombre;
[Link] = especialidad;
}

public int getCodigo() {


return codigo;
}

public void setCodigo(int codigo) {


[Link] = codigo;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


[Link] = nombre;
}

public String getEspecialidad() {


return especialidad;
}

public void setEspecialidad(String especialidad) {


[Link] = especialidad;
}
}

IES CIBERTEC 11

También podría gustarte