ORIENTAÇÃO A OBJETO LISTA DE EXERCICIOS Classes e Objetos Obs.: para cada classe criada, o aluno deve efetuar a sua representação gráfica (diagrama) que deverá ser entregue (apresentado) juntamente com o código fonte funcionando. Para cada exercício deve ser criado, também, um arquvio “.java” contendo a função estática “main()” e um menu que possibilite testar todas as funcionalidades solicitadas no exercício. 1) Desenvolva uma classe “Calculadora” em Java, que possua as funcionalidades: somar, dividir, subtrair e multiplicar. A classe deve possibilitar, ainda, a verificação do histórico dos últimos 10 resultados obtidos e das últimas 10 operações realizadas pelo usuário. 2) Desenvolva uma classe “Cadastro” em Java, que permita cadastrar os alunos do IFPR. A classe deverá permitir o armazenamento do nome, idade, ano, curso e período (manhã, tarde ou noite) em que o aluno estuda. Ela permitirá, ainda, remover um aluno, listar os alunos de um determinado curso, listar os alunos que estudam em um determinado período, listar os alunos que estão entre uma determinada faixa de idade, buscar um aluno pelo seu nome e alterar os dados do aluno quando ele for encontrado. Para cada funcionalidade deve ser codificado um método específico dentro da classe. 3) Adapte todos os exercícios da aula anterior (Introdução: Orientação a Objeto e Linguagem Java), criando para cada um, uma classe que possua os atributos e métodos necessários para resolver cada um dos 4 problemas abordados. 4) Implemente uma classe em java que resolva sistemas de equação do 2º grau. A classe deve permitir que sejam especificados os sistemas de equação que se deseja resolver e posteriormente apresentar o resultado para cada um deles. Deve ser possível também, visualizar um relatório contendo o histórico dos últimos 5 sistemas resolvidos bem como as suas resoluções 5) Implmente uma classe Pilha em Java, que permita empilhar dados inteiros e possua um tamanho máximo especificado pelo usuário através de um método inicial de configuração. A pilha deve possui outros 3 métodos: int PUSH(int dado) ; Essa função vai inserir o valor inteiro “dado” dentro da pilha, retornando “1” caso a inserção tenha ocorrido corretamente e “-1” caso não tenha sido possível inserir. int POP() ; Essa função vai remover o próximo valor inteiro do topo da pilha, retornando “1” caso a remoção tenha ocorrido corretamente e “-1” caso não tenha sido possível remover. void VIEW() Essa função vai permitir visualizar o conteúdo da pilha implementada. 6) Implmente uma classe Fila em Java, que permita enfileirar dados do tipo String e possua um tamanho máximo especificado pelo usuário através de um método inicial de configuração. A fila deve possuir outros 3 métodos: int ENQUEUE(String dado) ; Essa função vai inserir o valor “dado”, do tipo String , dentro da fila, retornando “1” caso a inserção tenha ocorrido corretamente e “-1” caso não tenha sido possível inserir. int DEQUEUE() ; Essa função vai remover o próximo dado, tipo String, do topo da fila, retornando “1” caso a remoção tenha ocorrido corretamente e “-1” caso não tenha sido possível remover. void VIEW() Essa função vai permitir visualizar o conteúdo da fila implementada.