PRÁTICA DE LABORATÓRIO INSTRUÇÕES A cobrança pelo fornecimento de energia elétrica realizada pelas companhias concessionárias é baseada na quantidade de energia consumida por Unidade Consumidora (UC), que é uma residência ou empresa que recebe a energia elétrica. As Unidades Consumidoras são classificadas como de alta tensão (classe A) e de baixa tensão (classe B). Para as unidades consumidoras de baixa tensão as regras para a cobrança são mais simples: o valor a ser pago é o produto da quantidade de energia consumida (medida em KW/h) pelo valor unitário do KW/h. Para determinar a quantidade de energia consumida é instalado um medidor de energia elétrica em cada UC, como o ilustrado a seguir. A medição é feita mensalmente por um funcionário da empresa de energia elétrica que passa em cada UC e verifica o valor marcado no medidor. A quantidade de energia consumida no mês é obtida subtraindo o valor lido do medidor no mês anterior do valor lido no mês atual. Exemplo: Leitura anterior: 3244 Leitura atual: 3318 Quantidade de energia consumida: 74 KW/h Existe a possibilidade de ocorrer a “virada” do medidor, que acontece quando os ponteiros atingem o valor máximo e voltam ao zero. Neste caso, a medição do mês atual é menor que a medição do mês anterior. Exemplo: Leitura anterior: 9809 Leitura atual: 12 Quantidade de energia consumida: 203 KW/h Para que o cliente seja cobrado pelo seu consumo, é gerada uma fatura contendo o código da UC, nome do proprietário da UC, endereço da UC, leitura atual, leitura anterior, a quantidade consumida de KW/h, o valor da tarifa por KW/h e o valor a ser pago pela quantidade de KW/h consumida. ETAPA 1 - Tipos primitivos de dados, estrutura de controle, classes, atributos, métodos e instanciação. Desenvolva uma classe que representa uma Unidade Consumidora de baixa tensão. Identifique os atributos e métodos necessários para que seja possível gerar a fatura de energia elétrica. Utilizando a classe desenvolvida, faça um programa que leia do teclado as informações de uma unidade consumidora, e crie uma instância da classe de unidade consumidora armazenando-a em uma variável. Depois o programa deverá solicitar continuamente o valor da leitura atual para a unidade consumidora e imprimir na tela a fatura do mês. O programa deverá solicitar leituras até que o usuário forneça um valor negativo, o que encerrará o programa. Considere que o valor da tarifa de KW/h é de R$0,34. ETAPA 2 - Encapsulamento. Modifique o programa feito na etapa anterior de tal modo que os atributos da classe que representa a Unidade Consumidora de baixa tensão fiquem encapsulados. Além disso, coloque nesta classe um método para a geração da fatura. O programa resultante das adequações necessárias deve executar de forma semelhante ao programa produzido na Etapa 1. ETAPA 3 - Atributos e métodos estáticos e construtores. Sabendo-se que o valor unitário do KW/h é o mesmo para todas as UCs, modifique o programa da etapa anterior para que este atributo seja compartilhado por todos os objetos da classe Unidade Consumidora. Nesta classe, desenvolva o método apropriado para inicializar os valores dos atributos quando uma instância da classe for criada. Com o uso da classe modificada, altere o programa para que leia do teclado as informações de uma unidade consumidora e crie uma instância da classe inicializando seus atributos. Após a instanciação do objeto o programa deverá apresentar um menu com três opções: 1- fornecer uma leitura e gerar fatura; 2- alterar o valor unitário do KW/h; 3- sair do sistema. Caso o usuário forneça algum valor inválido para a leitura (número negativo ou maior que 9999) ou para o valor unitário (número negativo), o sistema deve apresentar uma mensagem de erro e o sistema deve voltar para o menu. ETAPA 4 - Herança, conversão de tipos de objetos e sobrescrita de métodos. Para calcular a tarifa a ser paga pelos consumidores de alta tensão, são instalados medidores capazes de registrar dois valores. O primeiro valor indica a leitura necessária para contabilizar o consumo de energia realizado em horário normal. Já o segundo valor deve ser usado com a finalidade de calcular o consumo realizado em horário de pico. O valor unitário do KW/h em horário normal é o mesmo utilizado pela classe Unidade Consumidora. Entretanto, o valor do KW/h do horário de pico é 30% maior que o valor do KW/h normal. Altere o programa da etapa anterior, desenvolvendo uma classe que representa uma Unidade Consumidora de Alta Tensão. Esta classe deve conter, entre outros, um método para gerar a fatura para este tipo de consumidor. A fatura para a Unidade de Alta Tensão deve conter: o código da UC, nome do proprietário da UC, endereço da UC, leitura de horário normal atual, leitura de horário normal anterior, leitura de horário de pico atual, leitura de horário de pico anterior, a quantidade consumida de KW/h em horário normal, a quantidade consumida de KW/h em horário de pico, o valor da tarifa por KW/h em horário normal, o valor da tarifa por KW/h em horário de pico, o valor a ser pago pela quantidade consumida de KW/h em horário normal, o valor a ser pago pela quantidade consumida de KW/h em horário de pico e o valor total da tarifa. Utilizando as classes desenvolvidas, faça um programa em que inicialmente o usuário deverá informar se a unidade consumidora será de baixa tensão (B) ou alta tensão (A). De acordo com o tipo de consumidor escolhido, os dados iniciais da respectiva instância devem ser lidos. Após isso, como na etapa anterior, deverá ser apresentado um menu com três opções: 1- fornecer uma leitura e gerar fatura; 2- alterar o valor unitário do KW/h; 3- sair do sistema. A opção 1 do menu do programa da etapa anterior deve ser alterada para que sejam lidos os valores da leitura em horário de pico e normal, caso o usuário tenha escolhido que o tipo da UC é de alta tensão.