Para realizar a entrada e saída nos programas abaixo, utilize a classe Terminal. 1) Implemente uma pessoa. Em nossa abstração, cada pessoa tem cpf, ano de nascimento e renda. Faça métodos que permitam atribuir valores iniciais aos atributos de uma pessoa, bem como alterá-los (se adequado) e consultá-los. A seguir, crie um método que recebe o ano atual como parâmetro e calcula a idade desta pessoa. Faça um método também que calcula a diferença de idade entre duas pessoas (para isso, você precisará que a referência da outra pessoa seja passada por parâmetro). Instancie 2 pessoas lendo os seus dados via teclado Escreva os dados de ambas Calcule e escreva a diferença de idade entre elas. 2) Implemente um produto. Todo produto possui codigo e preço unitário. Construa os métodos necessários para permitir que sejam atribuidos valores iniciais aos atributos, bem como permitam alterá-los (se adequado) e consultá-los. A seguir, crie um método que aumenta o preço unitário a partir de um índice (%) informado como parâmetro. Defina também um método que calcula o desconto no preço unitário a partir do índice (%) informado como parâmetro. Por fim, implemente o método total a pagar que recebe como parâmetro o total de itens comprados desse produto e devolve o total a pagar. Instancie 2 produtos lendo os dados do teclado. Aumente o preço unitário do produto 1 em 10% Aplique um desconto de 7% no preço do produto 2 Leia quantidade comprada de cada produto, calcule e escreva o valor a pagar por cada um. 3) Faça um programa que auxilie um professor a calcular a média de seus alunos. Considere que cada aula tem três avaliações durante o semestre - P1, P2 e P3 - todas as notas são valores reais. O seu programa deve permitir o cálculo de 4 tipos de médias diferentes: aritmética, ponderada (com pesos: 2 para P1, 3 para P2 e 5 para P3), harmônica e geométrica. Instancie 2 alunos lendo os dados do teclado. Calcule e escreva cada uma das médias para cada aluno. 4) Faça um programa para auxiliar uma agência de correios a controlar o número de correspondências de seus clientes que tem caixa postal. A idéia básica é ter o controle de quantas cartas cada cliente tem em sua caixa postal. Para validar o programa, devem ser testados todos os métodos implementados com 2 clientes. Devem ser feitos métodos para inicializar a caixa postal com um determinado número de cartas, métodos para simular a inserção e remoção de um número qualquer de cartas e um método para retornar o número de cartas que está disponível no momento. 5) Complemente o programa anterior, inserido uma informação de quantas cartas que já passaram por cada caixa postal. Dessa forma, o correio terá condições de fornecer uma estatística para cada cliente do uso de sua caixa desde que esta foi criada. Melhore o programa anterior para testar os novos métodos criados. 6) Considere a classe Fracao, que tem como atributos dois inteiros (numerador e denominador), e como métodos: * construtor que inicializa os atributos da classe; * dois métodos para alterar isoladamente cada atributo (métodos do tipo set); * dois métodos para retornar os parâmetros (métodos do tipo get). Faça um programa que requer que o usuário entre com numerador e denominador (via teclado), crie um objeto Fracao, altere isoladamente cada um dos atributos e depois apresente na saída padrão os atributos do objeto. 7) Acrescente na classe Fracao os métodos somar, subtrair, dividir e multiplicar. Estes métodos recebem por parâmetro uma referência a um objeto do tipo Fracao e efetuam as operações de somar, subtrair, dividir e multiplicar, respectivamente, o objeto com o parâmetro - o resultado das operações fica armazenado no objeto. Crie objetos do tipo Fracao e a partir destes efetue operações com os métodos descritos.