Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería Biomédica
Código:20190370
El examen consta de tres secciones diseñadas para evaluar tus conocimientos en programación
en Python. Asegúrate de leer atentamente las instrucciones de cada sección y proporcionar
respuestas claras y completas.
En esta sección, deberás responder a preguntas teóricas relacionadas con los conceptos y
características de Python. Asegúrate de proporcionar una explicación clara y concisa, y, cuando
corresponda, incluir ejemplos relevantes para respaldar tus respuestas.
EJEMPLO
class Persona:
def __init__(self, nombre, edad):
self.__nombre = nombre
self.__edad = edad
def obtener_nombre(self):
return self.__nombre
def obtener_edad(self):
return self.__edad
pág. 1
Programación Avanzada
Ingeniería Biomédica
Claramente se ve en este ejemplo que ‘Persona’ encapsula los datos ‘nombre’ y ‘edad’,
es decir no se puede acceder directamente a ellos, se debe de usar el método de acceso
‘obtener_nombre()’ y obtener_edad()’ para recién obtener los valores requeridos.
Permite que objetos de diferentes clases se comporten según del contexto que se le dan,
es decir es la capacidad que tiene un objeto para tomar muchas formas diferentes.
Un beneficio es la capacidad de escribir un código más flexible y extensible, esto facilita
la reutilización del código y crear estructuras más genéricas.
EJEMPLO
class Animal:
def sonido(self):
pass
class Perro(Animal):
def sonido(self):
return "La Obeja hace: Meehhh meehh!"
class Gato(Animal):
def sonido(self):
return "El Perro hace: Gau gau!"
class Vaca(Animal):
def sonido(self):
return "El Gallo hace: Kikiriki kikiriki!"
pág. 2
Programación Avanzada
Ingeniería Biomédica
EJEMPLO
# Apertura del archivo en modo lectura
archivo = open("archivo.txt", "r")
pág. 3
Programación Avanzada
Ingeniería Biomédica
5. ¿Cuál es la diferencia entre los modos de apertura 'r', 'w' y 'a' en el método open()?.
Proporciona un ejemplo para ilustrar tu respuesta.
En esta sección, se presentarán varios problemas para resolver mediante la escritura de código.
Puedes utilizar cualquier editor de texto de tu preferencia, como Visual Studio Code, Google
Colab o cualquier otro. Sin embargo, recuerda que debes proporcionar una captura de pantalla
del código desarrollado en tu respuesta, en lugar de copiar y pegar el código en el texto. Esto nos
permitirá evaluar tu capacidad para escribir código y entender su funcionamiento.
6. Supongamos que tienes una clase base llamada Figura y dos clases derivadas llamadas
Circulo y Rectangulo. Implementa el método calcular_area() en cada una de las clases,
de tal manera que se pueda calcular el área de un círculo y un rectángulo utilizando
polimorfismo. A continuación, crea una lista de objetos de tipo Figura que contenga
tanto círculos como rectángulos, y utiliza un bucle para calcular y mostrar el área de cada
figura en la lista.
pág. 4
Programación Avanzada
Ingeniería Biomédica
pág. 5
Programación Avanzada
Ingeniería Biomédica
pág. 6
Programación Avanzada
Ingeniería Biomédica
pág. 7
Programación Avanzada
Ingeniería Biomédica
a) Clase Tienda:
b) Clase Producto:
pág. 8
Programación Avanzada
Ingeniería Biomédica
pág. 9
Programación Avanzada
Ingeniería Biomédica
pág. 10
Programación Avanzada
Ingeniería Biomédica
pág. 11
Programación Avanzada
Ingeniería Biomédica
pág. 12
Programación Avanzada
Ingeniería Biomédica
10. Se te ha proporcionado un código que tiene errores relacionados con el uso de open()
para la manipulación de archivos. Tu tarea consiste en depurar y corregir el código para
que funcione correctamente. El código original intenta escribir un mensaje en un archivo
llamado "datos.txt", leer su contenido y mostrarlo en pantalla. Además, intenta escribir
un nuevo mensaje en el archivo después de leerlo.
Identifica los errores en el código y realiza las correcciones necesarias para que el
mensaje se escriba correctamente en el archivo.
pág. 13
Programación Avanzada
Ingeniería Biomédica
pág. 14