Buscar

Enunciado Questão 3 Em uma competição de robótica, uma equipe de estudantes está utilizando Python para programar um robô autônomo. Eles decidem ...

Enunciado Questão 3 Em uma competição de robótica, uma equipe de estudantes está utilizando Python para programar um robô autônomo. Eles decidem criar uma classe chamada ‘Autobot’ para gerenciar as funções do robô, como movimento, sensoriamento e processamento de dados. A classe ‘Autobot’ deve ter os seguintes atributos: ‘name’ (nome do robô), ‘model’ (modelo do robô), e ‘processing_power’ (capacidade de processamento, medida em gigaflops). Além disso, a classe deve incluir um método compute que aumenta o ‘processing_power’ temporariamente, representando uma sobrecarga de processamento para tarefas complexas. Considerando as boas práticas de programação orientada a objetos em Python e a necessidade funcional da equipe, qual das seguintes implementações da classe ‘Autobot’ é a mais adequada? Alternativas A) class Autobot: def __init__(self, name, model): self.name = name self.model = model def compute(self, extra_power): self.processing_power += extra_power B) class Autobot: def __init__(self, name, model, processing_power): self.name = name self.model = model self.processing_power = processing_power C) class Autobot: def __init__(self, name, model): self.name = name self.model = model self.processing_power = 10 D) class Autobot: def __init__(self, name, model): self.name = name self.model = model self.processing_power = 10 def compute(self, extra_power): self.processing_power += extra_power E) class Autobot: def __init__(self, name, model, processing_power): self.name = name self.model = model def compute(self, extra_power):

💡 1 Resposta

User badge image

Ed Verified user icon

Vamos analisar cada alternativa: A) class Autobot: def __init__(self, name, model): self.name = name self.model = model def compute(self, extra_power): self.processing_power += extra_power - Esta implementação não inicializa o atributo 'processing_power' na criação do objeto, o que pode causar erros ao tentar acessá-lo no método 'compute'. Portanto, não é a mais adequada. B) class Autobot: def __init__(self, name, model, processing_power): self.name = name self.model = model self.processing_power = processing_power - Esta implementação inicializa todos os atributos necessários na criação do objeto, garantindo que 'processing_power' seja definido corretamente. É uma implementação adequada. C) class Autobot: def __init__(self, name, model): self.name = name self.model = model self.processing_power = 10 - Nesta implementação, 'processing_power' é inicializado com um valor fixo de 10, o que não reflete a capacidade real do robô. Portanto, não é a mais adequada. D) class Autobot: def __init__(self, name, model): self.name = name self.model = model self.processing_power = 10 def compute(self, extra_power): self.processing_power += extra_power - Esta implementação é semelhante à alternativa B, mas adiciona o método 'compute' para aumentar a capacidade de processamento temporariamente. É uma implementação adequada. E) class Autobot: def __init__(self, name, model, processing_power): self.name = name self.model = model def compute(self, extra_power): - Nesta implementação, falta a inicialização do atributo 'processing_power' na criação do objeto, o que pode causar problemas ao tentar acessá-lo no método 'compute'. Portanto, não é a mais adequada. Portanto, as implementações mais adequadas são as alternativas B e D, pois inicializam corretamente todos os atributos necessários e incluem o método 'compute' para aumentar temporariamente a capacidade de processamento.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais