100% encontró este documento útil (1 voto)
609 vistas

Ejercicio de POO Utilizando Python - Ingeniería de Software - UNEMI

El documento describe la creación de una clase Carro en Python con atributos como color, velocidad máxima y cilindraje. La clase incluye métodos para girar, frenar, acelerar y presentar los datos del carro. El método de aceleración calcula la velocidad en función de los atributos del vehículo. La clase permite establecer y modificar los valores de los atributos.

Cargado por

Victor
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
100% encontró este documento útil (1 voto)
609 vistas

Ejercicio de POO Utilizando Python - Ingeniería de Software - UNEMI

El documento describe la creación de una clase Carro en Python con atributos como color, velocidad máxima y cilindraje. La clase incluye métodos para girar, frenar, acelerar y presentar los datos del carro. El método de aceleración calcula la velocidad en función de los atributos del vehículo. La clase permite establecer y modificar los valores de los atributos.

Cargado por

Victor
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
Está en la página 1/ 4

Planteamiento del problema

A partir de las definiciones de clases y objetos aprendidas realice el siguiente ejercicio.


Construir una clase Carro en el cual tendrá los siguientes atributos:
• Color, VelocidadMaxima, Cilindraje, Precio, Marca, Modelo Esta clase tendrá diferentes
comportamientos como:
• Estado, Girar, Frenar, Acelerar, Presentar Los comportamientos dependerán de
diferentes acciones: - Estado: deberá de permitir el ingreso de un valor tipo booleano en
donde si es verdadero deberá de presentar “Encendido” y por falso “Apagado”
• Girar: deberá de permitir el ingreso de un valor tipo string en donde si el valor es
“Derecha” deberá de presentar “Se ha girado a la derecha” y si es “Izquierda” deberá de
presenta el mensaje “Se ha girado a la izquierda”.
• Frenar: No debe de permitir el ingreso de valores, pero si deberá de presentar un
mensaje “se ha detenido el vehículo”.
• Acelerar: Este dependerá del valor de los atributos inicializados en donde:
◦ Si la VelocidadMaxima es menos a 150 y el cilindraje es menor que 150cc se deberá
de usar la siguiente formula y presentar su valor: (VelocidadMaxima / 5) * (cilindraje /
2000)
◦ Si la VelocidadMaxima es mayor que 150 y el cilindraje supera los 200cc se deberá
de usar la siguiente formula y presentar su valor: (VelocidadMaxima / 7) * (cilindraje /
1500)
• Presentar: Deberá de presentar todos los valores de los atributos inicializados
• La clase deberá de tener la capacidad de asignar y modificar sus valores iniciales (get y
set)
Resolución del problema
class Carro:
def __init__(self, color, marca, modelo, maxVelocidad, cilindraje, precio):
self.__color = color
self.__marca = marca
self.__modelo = modelo
self.__maxVelocidad = maxVelocidad
self.__cilindraje = cilindraje
self.__precio = precio

def girar(self, v):


if v.lower() == "derecha":
return print("Se ha girado a la derecha")
if v.lower() == "izquierda":
return print("Se ha girado a la izquierda")
print("Error, entrada no válida")

def estado(self, b):


print("Encendido" if b else "Apagado")

def frenar(self):
print("Frenando")

@property
def velocidadMenor(self):
return self.velocidadMax < 150 and self.cilindraje < 150

@property
def velocidadMayor(self):
return self.velocidadMax > 150 and self.cilindraje > 200
def acelerar(self):
if self.velocidadMenor:
return print(f"Acelerando: {round(self.velocidadMax / 5 * self.cilindraje/2000, 2)}km/h")
if self.velocidadMayor:
return print(f"Acelerando: {round(self.velocidadMax / 7 * self.cilindraje/1500, 2)}km/h")
print("Error, el carro no cumple con lo requerido")

@property
def modelo(self):
return self.__modelo

@property
def color(self):
return self.__color

@property
def velocidadMax(self):
return self.__maxVelocidad

@property
def cilindraje(self):
return self.__cilindraje

@property
def precio(self):
return self.__precio

@property
def marca(self):
return self.__marca
@marca.setter
def marca(self, valor):
self.__marca = valor

@modelo.setter
def modelo(self, valor):
self.__modelo = valor

@color.setter
def color(self, valor):
self.__color = valor

@velocidadMax.setter
def velocidadMax(self, valor):
self.__maxVelocidad = valor

@cilindraje.setter
def cilindraje(self, valor):
self.__cilindraje = valor

@precio.setter
def precio(self, valor):
self.__precio = valor

def presentar(self):
print(
f"\nDatos del carro \nMarca: {self.marca} \nColor: {self.color} \nModelo: {self.modelo} \
nVelocidad máxima: {self.velocidadMax}km/h\nCilindraje: {self.cilindraje}cc\nPrecio: $
{round(self.precio, 3)}\n")

También podría gustarte