Buscar

Lista 1 completa

Prévia do material em texto

UNIVERSIDADE FEDERAL DO MARANHÃO – UFMA
DEPARTMENTO DE INFORMÁTICA
Curso: Licenciatura em Computação - Polo: Dom Pedro/MA
Disciplina: Linguagem de Programação II / Professor: Dr. Mário Meireles 
Aluno: Wilamy Santos da Silva
Lista de Exercícios 1 
1. Crie uma classe Retângulo, a qual deve ter como atributos base e altura, cada um dos quais configurados por padrão como 2. Forneça métodos que calculem o perímetro e a área do retângulo. Escreva um programa para testar a classe Retângulo. 
class Retangulo:
def __init__(self, ladoA, ladoB):
self.ladoA = ladoA
self.ladoB = lado
def trocaLados(self, ladoA, ladoB):
self.ladoA = ladoA
self.ladoB = lado
def retornaLados(self):
return (self.ladoA, self.ladoB)
def perimetro(self):
return 2 * self.ladoA + 2 * self.ladoB
def area(self):
return self.ladoA * self.ladoB
ret = Retangulo(4,7)
print("Lados: %i, %i" % ret.retornaLados())
print ("Perimetro: %i Area: %i" % (ret.perimetro(), ret.area()))
2. Faça uma classe que simule um televisor criando-o como um objeto. O usuário deve ser capaz de mudar de canal e aumentar ou diminuir o volume. Sua classe deve imprimir mensagens informativas do que acabou de ser feito, por exemplo: “Nível de volume 25”, “Canal 10” e assim por diante. Certifique-se de que o número do canal e o nível do volume permaneçam dentro de faixas válidas. Escreva um programa para testar sua classe. 
import time
class Televisor:
def __init__(self, canal="1", volume="80"):
self.canal = canal
self.volume = volume
@property
def canal(self):
return self.__canal
@canal.setter
def canal(self, numero):
if numero.isdigit():
num = int(numero)
if num > 0 and num <= 180:
self.__canal = num
else:
print("Canal Inválido")
else:
print("O canal deve ser apenas números!")
@property
def volume(self):
return self.__volume
@volume.setter
def volume(self, numero):
if numero.isdigit():
num = int(numero)
if num >= 0 and num <= 150:
self.__volume = num
else:
print("O volume deve ser entre 0 e 80")
else:
print("O volume deve ser apenas números!")
def mudaCanal(self):
num = input("Mudar para CANAL: ")
self.canal = num
def mudaVolume(self):
num = input("Mudar para VOLUME: ")
self.volume = num
def __str__(self):
return "CANAL: {} \nvolume: {}\n ".format(self.canal, self.volume)
def main():
tv01 = televisor()
while True:
print("\n"*40)
print(tv01)
print("opções ---------")
print("1 - mudar canal")
print("2 - mudar volume")
print("3 - desligar\n ---------------")
selec = input("Selecionar:")
if selec == "1":
tv01.mudaCanal()
elif selec == "2":
tv01.mudaVolume()
elif selec == "3":
print("Desligando ...")
break
else:
print("Selecione uma opção válida!")
time.sleep(2)
main()
3. Faça um programa orientado a objetos que: 
a) Possua uma classe chamada BombaCombustível, com no mínimo esses atributos:
I. valor_litro
II. quantidade_combustivel
b) Possua no mínimo esses métodos:
I. abastecer_por_valor( ) – método que recebe o valor a ser abastecido e retorna 
a quantidade de litros que foi colocada no veículo.
II. abastecer_por_litro( ) – método que recebe a quantidade em litros de combustível e retorna o valor a ser pago pelo cliente.
Escreva um programa para testar sua classe.
class Bomba:
def __init__(self, capacidade, preco):
self.capacidade = capacidade
self.preco = preco
def abastecerPorValor(self, valor):
litros = valor / self.preco
self.capacidade = self.capacidade - litros
return litros
def abastecerPorLitro(self, litros):
valor = litros * self.preco
self.capacidade = self.capacidade - litros
return valor
def alterarPreco(self, preco):
self.preco = preco
def encherBomba(self, litros):
self.capacidade = self.capacidade + litros
bomba = Bomba(2020, 3.8)
print ("Abasteceu %f litros" % bomba.abastecerPorValor(5))
print ("Abasteceu %f reais" % bomba.abastecerPorLitro(10))

Continue navegando