Programação JAVA ATPS
Projeto de pesquisa: Programação JAVA ATPS. Pesquise 862.000+ trabalhos acadêmicosPor: hifelipe • 4/6/2014 • Projeto de pesquisa • 1.474 Palavras (6 Páginas) • 315 Visualizações
1. DESAFIO
O desafio proposto na ATPS de Programação em JAVA Orientado a Objetos teve base na cobrança de fornecimento de energia das companhias elétricas usando as Unidades Consumidoras (UC) de alta tensão (Classe A) e baixa tensão (Classe B), que são residências ou empresas que consomem energia elétrica.
A cobrança é feita através da verificação mensal de cada UC, o funcionário faz a medição e calcula a quantidade consumida no mês subtraindo o valor obtido no mês anterior do valor obtido no mês atual.
Exemplo:
• Leitura anterior: 3244
• Leitura atual: 3318
• Quantidade de energia consumida: 74 KW/h
Porém pode ocorrer um evento chamado de “virada”, que é quando os ponteiros do medidor atingem o valor máximo e retornam ao zero. Nesse caso a leitura atual é menor que a leitura anterior.
Exemplo:
• Leitura anterior: 9809
• Leitura atual: 12
• Quantidade de energia consumida: 203 KW/h
A cobrança do consumo de energia é feita através de uma fatura onde é exibido 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.
1.1. Objetivo do desafio
O principal objetivo do desafio é desenvolver um sistema que calcule o consumo de energia elétrica de uma residência, utilizando a linguagem de programação JAVA com o paradigma de Orientação de Objetos.
2. ETAPA 1
A primeira etapa constitui em nos conhecimentos básicos da Programação Orientada a Objetos: tipos primitivos de dados, estrutura de controle, classes, métodos (características e comportamento), classes e objetos (instanciação).
É solicitado o desenvolvimento de uma classe que represente a Unidade Consumidora de baixa tensão, com todos os atributos e métodos necessários para que seja gerada uma fatura.
Figura 2.1: A classe Medidor, que representa a Unidade Consumidora
Depois se pede para que desenvolva um programa que utilize a classe criada para a Unidade Consumidora que leia as informações digitadas no teclado, e cria uma instância na classe Unidade Consumidora e armazene em uma variável. O programa deve solicitar o valor da leitura atual continuadamente e imprimir a fatura do mês, o programa só irá encerrar de fazer leituras quando o usuário digitar um número negativo. Para calcular o valor da tarifa de KW/h é considerado o valor de R$0,34.
Figura 2.2: A classe Medição, que demonstra o uso da instância da classe Medidor
Figura 2.3: Medição normal
Figura 2.4: Medição com a "virada"
3. ETAPA 2
A segunda etapa pede que se usem os conceitos de Encapsulamento (acessibilidade), tornando o programa menos suscetível a erros, delegando os métodos de uma classe a responsabilidade de manipulação dos atributos e outros métodos declarados na classe que se encontram.
Para essa etapa, pede-se que altere as classes usadas na etapa anterior, fazendo com que os atributos da classe que representa a Unidade Consumidora fiquem encapsulados. E também crie um método que cria uma fatura.
Figura 3.1: A classe Medidor1, que representa a Unidade Consumidora
Figura 3.2: A classe Medicao1, que encapsula os métodos da classe Medidor1
Figura 3.3: Mensagem de erro
Figura 3.4: Gerando a fatura
4. ETAPA 3
Nesta etapa os conceitos usados são atributos e métodos estáticos, e também os construtores. Estes conceitos tornam obrigatória a inicialização dos atributos do objeto, e que certos atributos podem ser compartilhados entre todas as instâncias e que é possível definir métodos que não precisam de instâncias para que sejam executados.
Considerando que o valor unitário do KW/h é o mesmo para todas as Unidades Consumidoras, é solicitado que modifique o programa desenvolvido na etapa anterior para que este atributo seja compartilhado por todos os objetos da classe Unidade Consumidora. E também, criar um método para inicializar os valores dos atributos quando uma instância da classe for criada.
Figura 4.1: A Classe unitConsumidoraPos, simula a Unidade Consumidora em uma leitura normal
Figura 4.2: A classe unitComsumidoraVirada, simula a Unidade Consumidora no caso de acontecer a “virada”
Figura 4.3: A classe teste, que recebe os valores de leitura da Unidade Consumidora
Figura 4.4: Mensagens de erro
Figura 4.5: Medições
Alterando o programa com o uso das classes modificadas anteriormente, pede-se que leia as informações digitadas no teclado para uma unidade consumidora
...