Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Christian Vasquez Semana6 ProavzII

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Programación orientada a objetos con Python. Parte II.

Christian Alejandro Vásquez Lolli

Programación Avanzada II

Instituto IACC

03 de octubre de 2021
Desarrollo

1.-

Imagine que usted ha sido seleccionado para diseñar lógicamente (puede usar elementos
gráficos como formas de Word, tipo un mapa conceptual) un sistema para el registro de
estudiantes de colegios privados de la Región Metropolitana de Santiago, este sistema debe
manejar las personas dentro del proceso como son: estudiantes con todos sus atributos
(nombre, apellido, rut, dirección) y apoderados también con sus atributos (nombre, apellido,
Rut, dirección), que año y asignaturas cursan cada uno de los estudiantes, si realizan
actividades extras, especificando cual actividad realizan.

Ahora bien, basándose en esa situación ponga en práctica sus conocimientos adquiridos de
Python y ejemplifique lo siguiente:

1. La abstracción de clases, Interfaz de objetos, clases anónimas y sobrecarga en la POO

(3 puntos).

2. Explique la aplicación de iteración de objetos, métodos mágicos y clonación de objetos

para casos presentados (3 puntos).

3. Diseñe la abstracción de clases, sobrecarga y métodos mágicos en los casos dados (3

puntos).
Respuestas:

1.- Mediante un mapa conceptual: Definimos Class y sus atributo.

CLASS PERSONA
NOMBRE
APELLIDO
RUT
DIRECCION

CLASS ESTUDIANTE CLASS CLASS ESTUDIO


CLASS EXTRAS
NOMBRE APODERADO ASIGNATURA
ESTUDIANTE
APELLIDO NOMBRE AÑO
MUSICA
RUT APELLIDO ESTUDIANTE
CIENCIAS
DIRECCION RUT APODERADO
COCINA
DIRECCION

De acuerdo a lo requerido se diseña un sistema para el registro de estudiantes de colegios

privados de la Región Metropolitana de Santiago, este sistema debe manejar las personas dentro

del proceso como son: estudiantes con todos sus atributos (nombre, apellido, rut, dirección) y

apoderados también con sus atributos (nombre, apellido, Rut, dirección), que año y asignaturas

cursan cada uno de los estudiantes, si realizan actividades extras, especificando cual actividad

realizan.
El algoritmo aplicado es el siguiente:

class Persona(object):
 """Persona"""
 def __init__(self, nombre, apellido, rut, direccion):
 self.nombre = nombre
 self.apellido = apellido
 self.rut = rut
 self.direccion = direccion

class Estudiante(Persona):
 """estudiante"""
 def __init__(self, nombre, apellido, rut, direccion, anno):

 Persona.__init__(self, nombre, apellido, rut, direccion)
 self.anno = anno
 self.tareas = ['taller','historia','Frances','Teoria Musical']
 self.extras = ["Futbol","Judo"]
 def __str__(self):
 return "%s %s %s, cursa: %s,y sus asiganaturas son: %s,y realiza actividades co
mo:%s" % (
 self.__doc__[0:11], self.nombre, self.apellido,
 self.anno, self.consulta_tareas(),self.consulta_extras())
 def consulta_tareas(self):
 return ', '.join(self.tareas)
 def consulta_extras(self):
 return ",".join(self.extras)

class Apoderado (Estudiante):
 """El apoderado"""
 def __init__(self,nombre, apellido, rut, direccion ,anno ,padre):

 Estudiante.__init__(self, nombre, apellido, rut, direccion, anno)
 self.padre=padre
 self.estudiante= str(estudiante1)

 def __str__(self):
 return "%s %s %s que vive en %s%s,es apoderado del %s" % (
 self.__doc__[0:12],self.nombre,self.apellido,
 self.direccion,self.anno,self.estudiante)
 def consulta_padre(self):
 return ",".join(self.padre)
nombre_completo = lambda nombre,apellido: "nombre completo: {self.nombre()}
{self.apellido()}"
estudiante1 = Estudiante ("Steffan", "Vasquez", "16.434.432-1", "Juan Cariman 18
00", "el quinto año")
estudiante2 = Estudiante ("Christian", "Vásquez", "19.153.454-4", "Juan Cariman 
1800", "el segundo año")
Apoderado = Apoderado ("Pablo","Vasquez","8.231.543-2","Peñalolen", estudiante1)
nombre_completo=(apoderado.nombre,apoderado.apellido)
print ("\n" + str(apoderado) + "\n")
print ("\n" + str(estudiante2)+"\n")
print (estudiante2.rut)
print (apoderado)
print (nombre_completo)

De acuerdo al método de salida nos aparecería que el apoderado “PABLO VASQUEZ” que
reside en la comuna de PEÑALOLEN, SANTIAGO, es apoderado directo del estudiante
“STEFFAN VASQUEZ” quien cursa el “QUINTO AÑO”, donde sus asignaturas son:
“TALLER”, HISTORIA, FRANCES, TEORIA MUSICAL además posee clases de FUTBOL y
JUDO como actividades extras. De la misma forma, podemos apreciar un segundo estudiante
llamado “CHRISTIAN VASQUEZ”, quien cursa el SEGUNDO AÑO escolar, presentando como
estudios académicos TALLER, HISTORIA, FRANCES, TEORIA MUSICAL indicando además
sus actividades extras siendo futbol y judo.
Bibliografía

 Convantec (S.f). Funciones avanzadas. Recuperado de: https://entrenamiento-


pythonbasico.readthedocs.io/es/latest/leccion5/funciones_avanzadas.html.

 (S.f). Abstracción. Programación Orientada a Objetos (POO). Recuperado de:


https://styde.net/abstraccion-programacion-orientada-a-objetos/.

 Martin, A. (2007). Programador Certificado JAVA 2. Curso práctico. 2° Edición.


España: Grupo Editorial RAMA. Recursos Python (S.f). Sobrecarga de funciones o
despacho múltiple en Python. Recuperado de: https://recursospython.com/guias-y-
manuales

 IACC (2021) SEMANA 6 – PROGRAMACION AVANZADA II.-

También podría gustarte