0% encontró este documento útil (0 votos)
122 vistas2 páginas

Exam2 2022 I

El documento presenta dos ejercicios de programación orientada a objetos. El primer ejercicio pide crear una clase para modelar un aula con estudiantes y profesor, y determinar si se puede dar la clase. El segundo ejercicio pide implementar una agenda telefónica con contactos y funcionalidades como añadir, buscar y eliminar contactos.
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)
122 vistas2 páginas

Exam2 2022 I

El documento presenta dos ejercicios de programación orientada a objetos. El primer ejercicio pide crear una clase para modelar un aula con estudiantes y profesor, y determinar si se puede dar la clase. El segundo ejercicio pide implementar una agenda telefónica con contactos y funcionalidades como añadir, buscar y eliminar contactos.
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

Universidad Peruana Cayetano Heredia

Facultad de Ciencias y Filosofía


Departamento de Ciencias Exactas

PROGRAMACION AVANZADA 2022-I


EXÁMEN N° 2

Apellidos……………………..….………….. Nombres….…………….……….………DNI…........………….

Cree una carpeta de trabajo, nómbrela con su apellido paterno seguido de vuestro DNI, ejemplo
LOPEZ1234. Nombre cada archivo Python apropiadamente. Guarde los mencionados archivos en vuestra
carpeta, si es necesario cree subcarpetas, una carpeta para cada ejercicio. Guarde únicamente una
versión de cada programa, no se aceptarán varias versiones de un programa. Trate de ser explícito en
vuestro código agregando los comentarios necesarios.

Escriba una aplicación en Python usando Programación Orientada a Objetos para resolver cada
uno de los siguientes ejercicios.

1. [10 puntos] Un determinado Centro Educativo desea un software para gestionar un aula de
clase compuesto por varios estudiantes y un profesor.

Tanto de los estudiantes como de los profesores necesitamos saber su nombre, edad y sexo. De
los estudiantes, queremos saber también su calificación actual (entre 0 y 20) y del profesor que
materia dicta.

Las materias disponibles son, matemáticas, biología y física.

Los estudiantes podrían faltar a una clase (no disponible) en un 30%. El profesor podría no estar
disponible para una clase en 20% (reuniones, permisos, etc.).

El aula debe tener un identificador numérico, el número máximo de estudiantes y a qué materia
está asignada (matemáticas, biología o física). Piensa que más atributos necesita.

Un aula, para que se pueda dar la clase, necesita que el profesor esté disponible, que el profesor
dicte la materia correspondiente en el aula correspondiente (un profesor de biología no puede
dictar en un aula de matemáticas) y que haya más del 30% de alumnos.

Escriba una aplicación que permita crear un aula con un profesor y varios alumnos, y determinar
si puede darse la clase o no, teniendo en cuenta las condiciones antes mencionadas. Si se puede
dar la clase mostrar cuantos alumnos y alumnas (por separado) están aprobados de momento,
a la fecha.

NOTA: Los datos pueden ser aleatorios (nombres, edad, calificaciones, etc.) siempre y cuando
tengan sentido.

Para la calificación se tendrá en cuenta:


- Diseño de clases (objetos) correctamente implementadas
- Número de clases
- Campos y métodos públicos y privados
- Interacción entre las clases
- Uso de características propias de la relación de clases
- Programa de prueba correctamente implementada

© UPCH. CE. Programación Avanzada 2022. Examen Nº 2 Página 1 de 2


2. [10 puntos] Una determinada empresa solicita implementar un sistema que represente una
agenda telefónica de contactos.

Un contacto está definido por un nombre y un teléfono (no es necesario validar). Un contacto es
igual a otro cuando sus nombres son iguales.

Una agenda de contactos está formada por un conjunto de contactos. Se podrá crear de dos
formas, indicándoles el tamaño o con un tamaño por defecto (10).

Los métodos de la agenda serán los siguientes:

• aniadirContacto(c:Contacto): Añade un contacto a la agenda, sino se pueden añadir más a la


agenda se indicara por pantalla. No se pueden añadir contactos que existan, es decir, no
podemos duplicar nombres, aunque tengan distinto teléfono.
• existeContacto(c:Conctacto): indica si el contacto pasado (ingresado) existe o no.
• listarContactos(): Lista toda la agenda
• buscaContacto(nombre:String): busca un contacto por su nombre y muestra su teléfono.
• eliminarContacto(c: Contacto): elimina el contacto de la agenda, indica si se ha eliminado o
no por pantalla
• agendaLlena(): indica si la agenda está llena.
• huecosLibres(): indica cuantos contactos más podemos añadir.

Crea un menú con opciones para que el usuario pueda escoger y probar las funcionalidades del
sistema.

Para la calificación se tendrá en cuenta:


- Diseño de clases (objetos) correctamente implementadas
- Número de clases
- Campos y métodos públicos y privados
- Interacción entre las clases
- Uso de características propias de la relación de clases
- Programa de prueba correctamente implementada

Mayo 28, 2022

Antes de enviar vuestro trabajo tener en cuenta los siguientes:

a) Verifique que vuestra carpeta de trabajo tenga como nombre su Apellido seguido de su DNI.
Ejemplo: Lopez1234.
b) Verifique que vuestra carpeta de trabajo contenga los programas Python de cada ejercicio, si es
necesario cree subcarpetas, una carpeta para cada ejercicio. Guarde únicamente una versión de
cada programa, no se aceptarán varias versiones de un programa
c) La carpeta que va a enviar debe contener solamente los programas Python. No incluir archivos,
.doc, .pdf, fotos, imágenes, Shell.
d) Comprima vuestra carpeta de trabajo a fin de enviar vuestro examen como un solo archivo. La
carpeta comprimida debe de ser un archivo con la extensión: .zip o .rar
e) Enviar al correo electrónico del Coordinador, con el asunto: Examen N° 2

[Link]@[Link]
© UPCH. CE. Programación Avanzada 2022. Examen Nº 2 Página 2 de 2

También podría gustarte