Christian Vasquez Semana6 ProavzII

August 31, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Christian Vasquez Semana6 ProavzII...

Description

 

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 Reg ió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 casos presentados presentados (3 puntos). 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 atr atributo. ibuto. CLASS PERSONA  NOMBRE APELLIDO RUT DIRECCION

CLASS ESTUDIANTE  NOMBRE APELLIDO RUT DIRECCION

CLASS APODERADO  NOMBRE APELLIDO RUT

CLASS ESTUDIO ASIGNATURA AÑO ESTUDIANTE APODERADO

CLASS EXTRAS ESTUDIANTE MUSICA CIENCIAS 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 apoder ados también con sus atributo atributoss (nomb (nombre, re, apellido, Rut, dirección) dirección),, que año y asignaturas asignaturas cursan cada uno de los estudiantes, si realizan actividades extras, especificando cual actividad realizan.

 

El algoritmo aplicado es el siguiente:

class   Persona Persona( (object object): ): class  """Persona"""  def def   __init__ __init__( (self self, , nombre nombre, , apellido apellido, , rut rut, , direccion direccion): ):  self self. .nombre nombre    = nombre  self self. .apellido apellido    = apellido  self self. .rut rut    = rut  self self. .direccion direccion    = direccion class Estudiante class  Estudiante( (Persona Persona): ):  """estudiante"""  def def   __init__ __init__( (self self, , nombre nombre, , apellido apellido, , rut rut, , direccion direccion, , anno anno): ):  Persona Persona. .__init__ __init__( (self self, , nombre nombre, , apellido apellido, , rut rut, , direccion direccion) )  self self. .anno anno    = anno  self self. .tareas tareas    = ['taller' 'taller', ,'historia' 'historia', ,'Frances' 'Frances', ,'Teoria Musical'] Musical']  self self. .extras extras    = ["Futbol" "Futbol", ,"Judo" "Judo"] ]  def def   __str__ __str__( (self self): ):  return return   "%s %s   %s %s   %s %s, , cursa: %s %s,y ,y sus asiganaturas son: %s %s,y ,y realiza actividades co mo:%s mo: %s" "  % (  self self. .__doc__ __doc__[ [0:11 11], ], self self.nombre, .nombre, self self.apellido, .apellido,  self self.anno, .anno, self self.consulta_tareas(), .consulta_tareas(),self self.consulta_extras()) .consulta_extras())  def def   consulta_tareas consulta_tareas( (self self): ):  return return   ', '.join( .join(self self.tareas) .tareas)  def def   consulta_extras consulta_extras( (self self): ):  return return   "," ",".join( .join(self self.extras) .extras) class Apoderado class  Apoderado    (Estudiante Estudiante): ):  """El apoderado"""  def def   __init__ __init__( (self self, ,nombre nombre, , apellido apellido, , rut rut, , direccion direccion    ,anno anno    ,padre padre): ):   Estudiante.__init__ __init__( (self self, , nombre, apellido, rut, direccion, anno)  self self.padre=padre .padre=padre  self self.estudiante= .estudiante= str str(estudiante1) (estudiante1)  def def   __str__ __str__( (self self): ):  return return   "%s %s   %s %s   %s %s    que vive en %s%s %s%s,es ,es apoderado del %s %s" "  % (  self self. .__doc__ __doc__[ [0:12 12], ],self self.nombre, .nombre,self self.apellido, .apellido,  self self.direccion, .direccion,self self.anno, .anno,self self.estudiante) .estudiante)  def def   consulta_padre consulta_padre( (self self): ):

 

return   "," ",".join( .join(self self.padre) .padre)  return nombre_completo = lambda lambda   nombre nombre, ,apellido apellido: : "nombre completo: {self.nombre()} {self.apellido()}" estudiante1 = Estudiante ("Steffan" ("Steffan", , "Vasquez" "Vasquez", , "16.434.432-1" "16.434.432-1", , "Juan Cariman 18 00", 00" , "el quinto año") año") estudiante2 = Estudiante ("Christian" ("Christian", , "Vásquez" "Vásquez", , "19.153.454-4" "19.153.454-4", , "Juan Cariman 1800", 1800" , "el segundo año") año") Apoderado = Apoderado ("Pablo" ("Pablo", ,"Vasquez" "Vasquez", ,"8.231.543-2" "8.231.543-2", ,"Peñalolen" "Peñalolen", , estudiante1) nombre_completo=(apoderado.nombre,apoderado.apellido) print  print   ("\n \n" "  + str str(apoderado) (apoderado) + "\n \n" ") print  print   ("\n \n" "  + str str(estudiante2)+ (estudiante2)+" "\n \n" ") print  print   (estudiante2.rut) print  print   (apoderado) print  print   (nombre_completo)

De acuerdo al método de salida nos aparecería que el apoderado “PABLO VASQUEZ” que reside res ide en la com comuna una de PEÑ PEÑALO ALOLEN LEN,, SANT SANTIAG IAGO, O, es apoder apoderado ado dir direct ectoo del estudi estudiant antee “STE “STEFF FFAN AN VA VASQ SQUE UEZ” Z” qui quien en curs cursaa el “Q “QUI UINT NTO O AÑ AÑO” O”,, do dond ndee su suss as asig igna natu tura rass son: 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



 



 

Convan Conv anttec (S.f (S.f)). Func Funcio ione ness avan avanzzadas adas.. Re Recu cupe pera rado do de: de: https://entrenamiento pythonbasico.readthedocs.io/es/latest/leccion5/funciones_avanzadas.html . (S.f (S.f). ). Abst Abstra racc cció ión. n. Pr Progr ogram amaci ación ón Orie Orient ntada ada a Obje Objeto toss (P (POO OO). ). Re Recu cupe pera rado do 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 desp despac acho ho múlt múltip iple le en Pyth Python on.. Recu Recupe pera rado do de de:: https://recursospython.com/guias-ymanuales  IACC (2021) SEMANA 6 – PROGRAMACION AVANZADA II.-

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF