Um time de desenvolvimento em Python 3 elaborou uma classe genérica para consumir recursos de fontes externas diversas, como arquivos, bancos de dados ou dispositivos de hardware. O código dessa classe é o que segue:
class FonteDeDados:
def __init__(self, endereco):
raise NotImplementedError()
def proximoDado():
raise NotImplementedError()
def possuiDados():
raise NotImplementedError()
Em que:
- __init__: Construtor da classe. Recebe como parâmetro o endereço do recurso a ser acessado (como o caminho do banco de dados, ou o nome do arquivo a ser acessado).
- proximoDado: Método que lê a menor unidade de dado que pode ser lido da fonte de dados. Caso não existam dados a serem lidos, esse método deve retornar “None”.
- possuiDados: Método com retorno booleano que indica se a fonte de dados ainda possui dados a serem lidos.
Estenda a definição dessa classe para criar a classe “FonteArquivo”, capaz de ler dados de um arquivo do sistema de arquivos local. Ao finalizar a leitura dos dados, o arquivo deve ser fechado adequadamente. Faça com que essa classe não produza exceções, exceto em situações intratáveis, como falta de memória ou falhas no acesso ao recurso requisitado (arquivo não encontrado, acesso negado, recurso indisponível etc.).
O código desenvolvido será avaliado de acordo com os seguintes critérios:
a) Estruturação da classe solicitada;
b) Funcionamento do método construtor;
c) Funcionamento do método proximoDado;
d) Funcionamento do método possuiDados.
Outros campos e métodos podem ser inclusos, caso necessário. Não é necessário inserir blocos de comentário no código. Erros de sintaxe serão considerados deméritos e descontados.
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em texto.
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
O acompanhamento do lançamento e pagamento de tributos constitui-se em uma importante atividade no contexto do conjunto de impostos, os quais representam obrigações do contribuinte. Considerando tal ambiente, suponha que o Tribunal de Contas do Município de São Paulo tem como objetivo a criação de um banco de dados para registrar dados relacionados ao controle do lançamento de impostos relativos a cada um dos tributos existentes, em cada exercício fiscal. Dessa forma, esse banco de dados deve conter três tabelas, a saber:
- Tabela Contribuinte: atributos CPF (texto com 14 caracteres, chave primária), Nome (texto com 30 caracteres), Endereço (texto com 30 caracteres), Nacionalidade (texto com …
A empresa FOO atua no ramo logístico, sendo responsável pelo envio de pacotes para os mais variados clientes. O sistema interno da empresa foi desenvolvido originalmente na linguagem Java, porém a equipe de desenvolvimento está realizando uma migração de partes do sistema para a linguagem Python, devido a uma maior variedade de recursos para a análise de dados.
a) O código apresentado a seguir representa uma classe de um usuário do sistema original.
public class Usuario {
String nome;
String senha;
public Usuario(String nome, String senha) {
this.nome = nome;
this.senha = senha;
}
}
Escreva o código correspondente na linguagem Python.
b) Aproveitando a migração do sistema, a equipe de desenv…
Um time de desenvolvimento em Python 3 elaborou uma classe genérica para consumir recursos de fontes externas diversas, como arquivos, bancos de dados ou dispositivos de hardware. O código dessa classe é o que segue:
class FonteDeDados:
def __init__(self, endereco):
raise NotImplementedError()
def proximoDado():
raise NotImplementedError()
def possuiDados():
raise NotImplementedError()
Em que:
- __init__: Construtor da classe. Recebe como parâmetro o endereço do recurso a ser acessado (como o caminho do banco de dados, ou o nome do arquivo a ser acessado).
- proximoDado: Método que lê a menor unidade de dado que pode ser lido da fonte de dados. Caso não existam dados a serem lidos, esse método …



