You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vamos modelar um notebook que pode ser ligado e desligado.
Crie a classe Notebook com os métodos ligar e desligar.
Crie o método mostrar que exibe o status do notebook.
Crie um atributo ligado que indica se o notebook está ligado ou desligado.
Coloque os atributos como privados e crie métodos para acessá-los e modificá-los.
Crie o método usar(tempo) que exibe uma mensagem de uso do notebook por um tempo.
Crie um código de teste como o teste abaixo.
classNotebook:
def__init__(self): # isso é o construtor em pythonself.__ligado: bool=False# ligado é atributo privado e inicializa com false# preencha com os métodos necessáriosnotebook=Notebook() # criando notebooknotebook.mostrar() # msg: Status: Desligadonotebook.usar(10) # msg: erro: ligue o notebook primeironotebook.ligar() # msg: notebook ligadonotebook.mostrar() # msg: Status: Ligadonotebook.usar(10) # msg: Usando por 10 minutosnotebook.desligar() # msg: notebook desligado
Parte 2 - Notebook com bateria
Nosso notebook vai ser modificado para ter um atributo bateria.
Esse atributo pode conter uma instância de uma bateria ou null se não houver bateria.
A classe Bateria deve ter um atributo carga que indica a quantidade de carga.
A classe Bateria deve ter um atributo capacidade que indica a quantidade máxima de carga.
Coloque os atributos como privados e crie métodos para acessá-los e modificá-los.
Ao criar uma bateria, passe a capacidade como parâmetro e inicialize a carga com a capacidade.
Para ligar o notebook, ele deve ter uma bateria e a carga da bateria deve ser maior que 0.
Ao usar o notebook, a carga da bateria deve diminuir.
Se a carga da bateria for 0, o notebook deve desligar.
Crie um código de teste como o teste abaixo.
classBateria:
def__init__(self, capacidade):
self.__capacidade: int=capacidade# capacidade é privadoself.__carga: int=capacidade# carga é privado e inicia com capacidade# preencha com os métodos necessáriosclassNotebook:
def__init__(self):
self.__ligado: bool=False# inicializa desligadoself.__bateria: Bateria|None=None# inicializa sem bateria# preencha com os métodos necessáriosnotebook=Notebook() # criando notebooknotebook.mostrar() # msg: Status: Desligado, Bateria: Nenhumanotebook.usar(10) # msg: erro: ligue o notebook primeironotebook.ligar() # msg: não foi possível ligarnotebook.mostrar() # msg: Status: Desligado, Bateria: Nenhumabateira=Bateria(50) # criando bateria que suporta 50 minutos e começa carregadabateira.mostrar() # (50/50)notebook.setBateria(bateria) # coloca a bateria no notebooknotebook.mostrar() # msg: Status: Desligado, Bateria: (50/50)notebook.usar(10) # msg: notebook desligadonotebook.ligar() # msg: notebook ligadonotebook.mostrar() # msg: Status: Ligado, Bateria: (50/50)notebook.usar(30) # msb: Usando por 30 minutosnotebook.mostrar() # msg: Status: Ligado, Bateria: (20/50)notebook.usar(30) # msb: Usando por 20 minutos, notebook descarregounotebook.mostrar() # msg: Status: Desligado, Bateria: (0/50)notebook.ligar() # msg: não foi possível ligarbateira=notebook.rmBateria() # msg: bateria removidabateira.mostrar() # (0/50)
Parte 3 - Notebook com carregador e bateria
Vamos modelar um notebook que pode ter ou não tanto carregador quanto bateria.
Terá que reescrever os métodos usar <tempo>, ligar.
Só poderá ligar se tiver carga na bateria ou carregador.
Enquanto em uso
se tiver apenas na bateria, a carga da bateria deve diminuir.
se estiver na bateria e no carregador, a carga deve aumentar.
O carregador possui uma potência que implica na quantidade de carga carregada por unidade de tempo.
A bateria possui uma carga e uma capacidade que representam a carga atual e o máximo possível de carga.
Para simplificar, vamos utilizar minutos como a unidade de tempo e de carga.
Uma bateria 15/50 significa que possui ainda 15 minutos de carga e suporta no máximo 50.
Um carregador com 3 de potência consegue em um minuto de uso, adicionar 3 minutos de carga na bateria.
Para facilitar, você pode imaginar o notebook sendo utilizado da seguinte forma.
Adapte a implementação para sua linguagem. Complete com os métodos necessários.