1) Crie a seguinte estrutura de classes



Lista 2 – Programa??o Orientada a Objetos1) Crie uma classe denominada Equacao que possua três atributos do tipo double: a, b e c. Tais atributos devem ser encapsulados, por isso, crie métodos get e set para cada um. Tal classe também deve possuir mais três métodos. O primeiro denominado delta, que calcula o delta de uma equa??o do segundo grau pela fórmula:delta = b2 – 4*a*cO segundo, denominado retornaX1, que retorna um dos resultados da equa??o, calculado pela fórmula:x1 = -b + Math.sqrt(delta)2*aO terceiro, denominado retornaX2, que retorna o outro resultado da equa??o, calculado pela fórmula:x2 = -b - Math.sqrt(delta)2*aCrie um applet que possua um objeto do tipo Equacao, representando uma equa??o real. Tal applet deve receber os valores de a, b e c do usuário e exibir os dois resultados da equa??o. Após calcular e exibir os valores de uma equa??o, o applet deve perguntar se o usuário deseja informar outros valores ou sair do programa.2) Crie um applet que represente a posi??o geográfica de duas sondas submarinas, utilizadas para explora??o de petróleo. Os dados necessários para cada sonda s?o: nome, longitude (podendo ser representada pela sua posi??o no eixo X entre 0 e 180) e latitude (podendo ser representada pela sua posi??o no eixo Y entre 0 e 90). Toda vez que o applet for executado o usuário deverá informar os dados de quantas sondas achar necessário. Para cada sonda, deverá ent?o ser pintado na tela um círculo de raio 3, nas coordenadas X e Y contidas na sonda.Crie uma classe Sonda e um vetor do tipo Sonda, cada uma das sondas deve ser um objeto deste vetor. Fica a cargo do programador definir a forma de entrada de dados. Após a cria??o dos objetos no vetor, utilize os dados inseridos para desenhar círculos na tela (cada um representando uma sonda). A posi??o de cada círculo deve corresponder aos valores de X e Y informados para cada sonda.3) Crie uma classe com métodos estáticos para solucionar problemas matemáticos. Tais métodos e suas características s?o apresentados a seguir:primo: recebe um inteiro e retorna se ele é primo ou n?operfeito: recebe um inteiro e retorna se ele é um número perfeito ou n?o. Números perfeitos s?o aquele que s?o iguais à soma de seus divisores. O 6 é perfeito pois 1+2+3=6.fatorial: recebe um inteiro e retorna seu fatorialfibonacci: recebe um inteiro N e retorna o N-ésimo número da Série de Fibonacci. Tal série é uma sequencia de números onde o primeiro é 0, o segundo é 1 e a partir do terceiro, cada número é igual à soma de seus antecessores. Ou seja, o terceiro é 1, pois 0+1=1, o quarto é 2 (1+1 = 2), e assim sucessivamente.x1: recebe os valores a, b e c de uma equa??o do segundo grau e retorna a primeira raiz.x2: recebe os valores a, b e c de uma equa??o do segundo grau e retorna a segunda raiz.Crie um programa que dê ao usuário a op??o (por meio de um menu) de utilizar os métodos criados na classe descrita anteriormente. Após escolher uma das op??es, o programa deve pedir os dados necessários e exibir o resultado. Coloque nesse menu uma op??o para terminar o programa. 4) Crie uma classe denominada Elemento, com os atributos indice(int), dado (String) e proximo(Elemento). Crie uma classe denominada Pilha, que possui a implementa??o de uma pilha de objetos da classe Elemento. Em Pilha, crie os métodos: empilha (recebe um objeto do tipo Elemento), desempilha (retorna um objeto do tipo Elemento), pilhaVazia (retorna true se a pilha estiver vazia e false caso contrário) e imprime (retorna uma String com todos os dados de todos os elementos contidos na pilha). Crie um aplicativo que possua um objeto do tipo pilha. Crie um menu que dá as seguintes op??es para o usuário: 1-Empilhar 2-Desempilhar3-Exibir a pilha4-Sair5) Crie uma classe denominada Cargo que possui os campos: titulo (String) e salario (double). Crie também uma classe denominada Funcionario, a qual possui os seguintes atributos e seus tipos: nome (String), CPF (String) e Funcao (Cargo, descrito acima). Crie um vetor do tipo Funcionário. Crie um menu em um JOptionPane com as seguintes op??es:1-Cadastrar um funcionário2-Listar todos os funcionários3-Buscar funcionário por nome4-SairSe o usuário escolher a op??o 1, apenas um funcionário deve ser inserido no vetor. Se ele escolher a op??o 2, todos os dados de todos os funcionários devem ser exibidos na tela. Se ele escolher a op??o 3, o programa deve pedir um nome e exibir na tela todos os dados do funcionário com aquele nome. Exiba “Funcionário n?o encontrado” se tal funcionário n?o existir no vetor. A op??o 4 finaliza o programa.6) Crie a seguinte estrutura de classes apresentada na figura. Todos os atributos de todas as classes devem ser encapsulados, ou seja, devem ser private com métodos getters e setters. Essa estrutura de classes será utilizada por uma loja de pedras. As pedras s?o classificadas em “pedras comuns” e “pedras preciosas”. Toda pedra possui um nome, que será salvo no atributo nome da classe Pedra. Sobre as pedras comuns (classe Comum), deseja-se saber o volume da pedra em metros cúbicos (atributo volume) e o valor de um metro cúbico (atributo valorMetroCubico). Sobre as pedras preciosas, deseja-se saber o valor de um grama (atributo valorGrama), o peso da pedra em gramas (atributo peso) e a porcentagem de pureza (atributo pureza).O método valorPedra() deve calcular o valor da pedra cadastrada. Na classe Comum, o valor da pedra é calculado multiplicando-se o volume pelo valorMetroCubico. Na classe Preciosa, o valor da pedra é calculado multiplicando-se o peso da pedra pelo valorGrama, tudo isso multiplicado pela porcentagem de pureza da pedra.Exemplo: se valorGrama=10.0, peso = 5.0 e pureza = 80.0, valorPedra() retornara 40.0, pois (10.0 * 5.0 * (80.0/100)) = 40.Importante: Os construtores das três classes recebem valores para todos os par?metros contidos na classe. Crie um applet para manipular a estrutura de classes descrita acima. Nele, devem ser criados dois vetores, um com objetos do tipo Preciosa e outro com objetos da classe Comum (todos de tamanho 1000). Crie o seguinte menu:A op??o 1 cadastra um único objeto da classe Preciosa, de forma que o usuário preencha todos os atributos do objeto criado. A op??o 2 cadastra um único objeto da classe Comum da mesma forma. A op??o 3 exibe em um JOptionPane o nome e o valor da pedra de todas a pedras cadastradas nos vetores (independente se os vetores est?o cheios ou n?o). A op??o 4 deve finalizar o applet.8) Crie a seguinte estrutura de classesEssa estrutura de classes será utilizada por uma loja que vende dois tipos de produtos: mercadorias e servi?o. Crie um applet para manipular a estrutura de classes criada no exercício anterior. Nele, devem ser criados dois vetores, um com objetos do tipo Mercadoria e outro com objetos do tipo Servico. Implemente o seguinte menu:Esse menu deve aparecer várias vezes, até que o usuário escolha a op??o 5 (sair). A op??o 1 cadastra um objeto no vetor mercadoria. Para isso, ela chama um chama um método denominado cadastraMercadoria, que recebe como par?metro todos os dados para todos os atributos de mercadoria. O mesmo ocorre com a op??o 2 e o vetor de objetos do tipo Servi?o. A op??o 3, ao ser escolhida, pede para o usuário informar o nome de uma mercadoria. O applet deve ent?o buscar no vetor e exibir todos os dados do objeto que possui o nome igual ao informado pelo usuário. O mesmo deve ocorrer com a op??o 4 e o vetor de Servi? o intuito de economizar tempo para resolu??o da prova, o método cadastraServico, a op??o 2 e a op??o 4 n?o precisam ser implementados, uma vez que s?o muito parecidos com o método cadastraMercadoria, op??o 1 e op??o 3, respectivamente.9) Implemente um applet de uma calculadora com todos os algoritmos e as quatro principais opera??es (+ - * /). Utilize como modelo a calculadora do Windows.10) Crie um applet equivalente ao teclado virtual de bancos online. Ele deve conter bot?es com todos os algarismos, uma caixa de texto para o número da conta, outra para o número da agência e outra para a senha. As caixas de texto devem ser preenchida normalmente, exceto a caixa de texto da senha que deve ser preenchida pelo teclado virtual. Crie também um bot?o para validar a senha. Só será considerada a seguinte conta:Agência: 1001-9Conta: 141414-13Senha: 12345611) Crie um aplicativo que quando o usuário clica na tela aparece um ponto naquela posi??o, ou seja, um pequeno círculo é desenhado na posi??o que foi clicado. Para facilitar a implementa??o crie uma classe Ponto com os atributos x e y. Na classe Principal, crie um vetor de pontos. Para cada clique na tela do aplicativo, crie um objeto novo no vetor e chame o método repaint() (método de JFrame/JApplet). Desenhe os círculos com o método paint do JFrame, utilizando para isso os pontos contidos no vetor. Obs: o método repaint serve para for?a a execu??o do método paint. Obs: modifique o programa utilizando o evento mouseDragged de MouseMotionListener.12) Implemente a seguinte hierarquia de classes: ContaBancaria (superclasse, com os atributos: senha, número e saldo), ContaCorrente (com um atributo para armazenar quantidade de transa??es realizadas e outro para armazenar o limite do cheque especial) e ContaPoupanca (com um atributo para armazenar a taxa de rendimento do último mês). Crie um construtor em ContaBancaria que recebe dados de todos os atributos. Além dos métodos get e set para cada um dos atributos, essa classe dever possuir um método abstrato denominado Saca(), o qual recebe como par?metro um valor a ser retirado do saldo. Na classe ContaCorrente, tal método dever reduzir o valor do saldo até o limite do cheque especial, ou seja, os objetos podem ter saldos negativos. Na classe ContaPoupanca, o métodos saca() deve garantir que o saldo sempre terá valores positivos.Crie um aplicativo que simula o programa utilizado em um caixa eletr?nico. Tal programa deve possuir um vetor do tipo ContaBancaria para salvar objetos do tipo ContaCorrente e ContaPoupan?a, os quais ser?o manipulados pelo programa. Crie também uma interface onde o usuário escolhe em uma tela uma das seguintes op??es:Criar conta correnteCriar conta poupan?aSacarDepositarVerificar SaldoCrie uma tela para cada uma dessas op??es.Todas as contas devem ser criadas com o saldo igual a zero. Para a op??o de Sacar e Verificar Saldo, o computador deve pedir para que o usuário informe número da conta e senha. Para a op??o Depositar, o usuário deve inserir somente o número da conta e, logicamente, o valor depositado. A op??o Verificar Saldo deve exibir todos os dados da conta, exceto a senha. O programador é responsável em criar qualquer outra tela ou funcionalidade que ser torne necessária para o programa.13) Crie a seguinte estrutura de classes:O método todosDados deve retornar uma string contento todos os atributos do objeto. O construtor de cada classe deve iniciar os objetos com valores nulos.Crie um aplicativo que possua um vetor de objetos do tipo Veículo. Crie uma tela principal que possua um menu (JMenu) onde o usuário pode escolher se deseja cadastrar no vetor um carro, uma caminh?o ou uma moto. Para cada um dos cadastros, crie uma tela própria. Crie também uma op??o nesse menu que ao ser escolhida exiba uma tela com todos os dados de todos os objetos.14) Crie o aplicativo para ser utilizado em simula??es das elei??es de 2010. Crie uma classe Candidato, com os atributos nome (String), partido(String) e numvotos(long). Crie uma classe para cada tipo de candidato, s?o eles: presidente, governador, senador, deputado federal e deputado estadual. Tais classes devem ser filhas de Candidato. Todas elas devem possuir um atributo denominado numero, o qual deve ser diferente para cada tipo candidato: presidente e governador devem possuir apenas 2 dígito, senador tem 3, deputado federal 4 e deputado estadual 5. Garanta que essa restri??o seja sempre atendida. Utilize o polimorfismo no método setNumero().Crie um aplicativo com um vetor do tipo Candidato. Crie telas para cadastrar cada um dos tipos de candidatos no vetor. Crie também telas próprias para a vota??o de cada tipo de candidato. Nas telas de vota??o, o usuário de fornecer apenas o número do candidato votado. O programa deve procurar no vetor o candidato que possui tal número e incrementar seu atributo numvotos.Verifique que o programa pode ser dividido em dois conjuntos de telas. A primeira é destinada a cadastrar candidatos no vetor. A segunda é destinada a efetuar vota??o. A lógica de funcionamento do programa deve ficar por conta do programador. Fica como sugest?o a cria??o uma tela de administra??o onde o usuário poderá cadastrar os candidatos. Ela também deve possuir uma op??o para iniciar a vota??o que, quando escolhida, deve exibir a seguinte sequência de telas de voto: presidente, governador, senador 1, senador 2, deputado federal e deputado estadual. Após a última tela, a primeira deverá ser exibida para que outro usuário fa?a a vota??o. Também fica a cargo do programador definir uma forma de exibir o resultado final da elei??o.15) Crie um editor de texto simples. Ele deve possuir as seguintes opera??es: abrir arquivo, salvar arquivo e novo. Manipule arquivos texto. A forma da interface gráfica fica a cargo do programador, sendo necessária (obviamente) a cria??o de uma caixa de texto com múltiplas linhas para que o usuário possa escrever seu texto. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download