Exercícios - JAVA Tipos de Dados Instruções Primitivas Tipos de Dados e Instruções Primitivas Escreva um programa que: 1. Realize a soma de dois valores numéricos e apresente o resultado obtido 2. Calcule a área de uma circunferência apresentando a medida calculada. Forneça o Raio e estipule PI = 3.14 3. Efetue o cálculo do salário líquido de um professor. Para fazer este programa você deverá possuir alguns dados, tais como o valor da hora-aula, número de aulas dadas no mês e o percentual de desconto do INSS. 3 Tipos de Dados e Instruções Primitivas 4. Leia uma temperatura em graus Centígrados e apresente-a convertida em graus Fahrenheit. A fórmula de conversão é F = (9*C+160)/5. Onde F é a temperatura em Fahrenheit e C é a temperatura em Centígrados. 5. Leia uma temperatura em graus Fahrenheit e apresente-a convertida em graus Centígrados. A fórmula de conversão é C = (F-32)*(5/9). Onde F é a temperatura em Fahrenheit e C é a temperatura 4 em Centígrados. Tipos de Dados e Instruções Primitivas 6. Ler dois valores para as variáveis A e B, efetuar a troca dos valores de forma que a variável A passe a possuir o valor da variável B e que a variável B passe a possuir o valor da variável A. Apresentar os valores trocados. 7. Efetuar a leitura de um número inteiro e apresentar o resultado do quadrado deste número. 8. Ler dois inteiros e imprimir o resultado do quadrado da diferença do primeiro valor pelo segundo. 7 Tomada de Decisões Tomada de Decisões • Escreva um programa que: 1. Leia dois valores numéricos, efetue a adição e apresente o seu resultado caso o valor somado seja maior que 10. 2. Leia dois valores numéricos, efetue a adição e apresente o seu resultado caso o valor somado seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5, caso o valor somando não seja maior ou igual a 10, este deverá ser apresentado subtraindo-se de 7. 9 Tomada de Decisões 3. Efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500, se o salário for maior ou igual a 500 mas menor ou igual a 1000, seu reajuste será de 10%, caso seja ainda maior que 1000 o reajuste deverá ser de 5%. 4. Leia três valores para os lados de um triângulo, considerando lados como: A, B e C. Verificar se os lados fornecidos formam realmente um triângulos, e se for esta condição verdadeira, deverá ser indicado qual tipo de triângulo foi formado: isóceles, escaleno ou equilátero. 10 Tomada de Decisões 5. Leia dois valores numéricos e apresente as diferenças do maior pelo menor. 6. Efetue a leitura de um valor inteiro positivo ou negativo e apresente o número lido como sendo um valor positivo, ou seja, o programa deverá apresentar o módulo de um número fornecido. Lembre-se de verificar se o número fornecido é menor que zero, sendo multiplique-o por -1. 11 Tomada de Decisões 7. Leia quatro valores referentes a quatro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da média escolar for maior ou igual a 5. Se o aluno não foi aprovado, indicar uma mensagem informando esta condição. Apresentar junto das mensagens o valor da média do aluno para qualquer condição. 12 Tomada de Decisões 8. Leia quatro valores referentes a quatro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da média escolar for maior ou igual a 7. Se o valor da média for menor que 7, solicitar a nota de exame, somar com o valor da média e obter nova média. Se a nova média for maior ou igual a 5, apresentar uma mensagem dizendo que o aluno foi aprovado, indicar uma mensagem informando esta condição. Apresentar com as mensagens o valor da média do aluno, para qualquer condição. 13 Tomada de Decisões 9. Efetue a leitura de três valores (a, b, c) e efetue o cálculo da equação de segundo grau, apresentando as duas raízes, se para os valores informados for possível efetuar o referido cálculo. 10. Efetue a leitura de três valores (a, b, c) e apresente os valores dispostos em ordem crescente. 11. Efetue a leitura de quatro números inteiros e apresente os números que são divisíveis por 2 e 14 Tomada de Decisões 12. Efetue a leitura de quatro números inteiros e apresente os números que são divisíveis por 2 ou 3. 13. Efetue a leitura de cinco números inteiros e identifique o maior e o menor valor. 15 Estruturas de Repetição Estruturas de Repetição • Escreva um programa que: 1. Peça a leitura de um valor para a variável X, multiplique este valor por 3 implicando-o à variável de resposta R e apresentar o valor obtido, repetindo esta seqüência por 5 vezes. 2. Efetue o cálculo da fatorial do número 5. 3. Apresente o quadrado dos números inteiros de 15 a 200. 17 Estruturas de Repetição 4. Apresente os resultados da tabuada de multiplicação de um número qualquer. 5. Apresente o total da soma obtida dos cem primeiros números inteiros. 6. Apresente no final o somatório dos valores pares existentes na faixa de 1 até 500. 7. Apresente todos os valores numéricos inteiros ímpares situados na faixa de 0 a 20. 18 Estruturas de Repetição 8. Apresente todos os números divisíveis por 4 que sejam menores que 200. 9. Apresente a potência de 3 variando de 0 a 15. 10. Apresente o valor de uma potência de uma base qualquer elevada a um expoente qualquer. 11. Apresente a série de Fibonnaci até o 15 . Termo. Série: 1 1 2 3 5 8.... 19 Orientação à Objetos Orientação à Objetos 1. Desenvolva três classes: – Uma classe pneuque tenha características como a marca, tipo de pneu, etc. – Uma classe motor que tenha características de velocidade em RPM, fabricante, status do motor (ligado / desligado) e funcionalidades para ligar e desligar o motor, verificar velocidade do motor, etc. – Uma classe carro que tenha 1 motor e quatro pneus e que sejam definidas características para o carro (como o ano, modelo, fabricante, etc.) e funcionalidades (acelerar, mudar a marcha, frear, etc.) 2. Escrever uma classe de uma pilha genérica 31 Orientação à Objetos 3. Dados o seguintes contextos, implemente as classes utilizando os mecanismos de encapsulamento de dados. – a) Cada carta tem um naipe: ouros, copas, espadas ou paus. Cada carta também tem um valor: 2 a 10, valete, dama, rei ou ás... No mundo real, as cartas não fazem muito. Uma carta simplesmente exibe seu naipe e seu valor. Uma carta tem um estado: face para cima ou face para baixo. – b) Um conta bancária é identificada por número, agência e saldo. É possível creditar, debitar e transferir valores entre contas. Além disso é possível, a qualquer momento, obter o 32 saldo da conta. Orientação à Objetos 4. Dados o seguintes contextos, implemente as classes: – Os clientes de uma agência bancária são identificados pelo seu nome e cpf. Cada cliente pode possuir uma conta corrente e uma poupança. Estas contas bancárias são identificadas por número e agencia. Todas as contas mantém um controle sobre o saldo resultante das operações de crédito e débito. É possível transferir valores para outra conta bancária. Sobre as transações de conta corrente que envolvem débito, tais como saque e transferência de valores, incide o valor de 0,38% da CPMF. Poupança não paga CPMF e tem os rendimentos creditados sempre na mesma data, a chamada “data de aniversário” da poupança. 33 Orientação à Objetos 5. Dados o seguintes contextos, implemente as classes: – Uma locadora de carros possue carros de diversos tipos: popular, luxo, utilitário, etc. Os carros possuem código (placa do carro), tipo, modelo, ano, cor, chassi, kilometragem e valor do km rodado. Para cada aluguel é emitida uma nota fiscal com os dados do cliente, do carro, a quilometragem percorrida e o valor do aluguel. Nesta locadora existem clientes especiais e clientes comuns. Os especiais possuem uma taxa de desconto e um valor de quilometragem extra para seus aluguéis. Os clientes são identificados por código, nome, cpf, telefone e endereço. 34 Orientação à Objetos 6. Dados o seguintes contextos, implemente as classes: – Deseja-se implementar um sistema para venda de passagens aéreas. Sabe-se que cada vôo possui um código de identificação, origem, destino, horário de saída e horário previsto de chegada. Cada vôo oferece um número limitado de lugares. Ao comprar um lugar no vôo, cada passageiro deve informar nome, CPF, telefone e endereço. No bilhete emitido no momento da venda da passagem devem constar as informações do passageiro, do vôo e o valor da passagem. 35 Orientação à Objetos 7. Dados o seguintes contextos, implemente as classes: – Toda figura geométrica possui uma área e um perímetro, calculados a partir das medidas dos lados da figura. Considere as seguintes formas : • Círculo: perímetro = 2*PI*raio e área = PI * raio2 • Retângulo: perímetro = 2*base + 2*altura e área = base*altura • Triângulo: perímetro = ladoA + ladoB + ladoC e área = R[p*(pA)*(pB)*(p-C)] (onde R equivale a raiz quadrada e p é o perímetro) – No caso dos triângulos, deve-se verificar se as medidas informadas de fato constituem um triângulo (um dos lados é maior do que a soma dos outros dois). – Implemente FiguraGeométrica como uma classe abstrata. 36 Orientação à Objetos 8. Projete e implemente um sistema que modele um banco. Para um dado banco deve ser possível: – obter seu nome; – obter seu código; – criar uma nova conta. • Para cada conta criada deve ser possível (não se preocupe com o seu armazenamento): – obter o nome do correntista; – obter seu código; – banco ao qual a conta pertence; – obter obter oseu saldo; – fazer uma aplicação; – efetuar um débito. 37 Orientação à Objetos 9. Escreva o código para implementar a seguinte hierarquia de classes: 38 Orientação à Objetos • Classe Animal – Atributos • String nome – Métodos • void imp() // imprime o nome e // a classe do animal • String getNome() • void talk() falo” // “Eu não 39 Orientação à Objetos • Classe Passaro – Métodos • void talk() piu.” // “piu, • Classe BemTeVi – Métodos • void talk() vi” // “bem-te- 40 Orientação à Objetos • Classe Papagaio – Atributos • String vocabulario; // frase – Métodos • void talk() // exibe vocabulário • void setVoc(String v) // altera vocabulário 41 Orientação à Objetos • A classe mamífero não tem atributos ou métodos. • Classe Cachorro – Atributos • boolean lateMuito – Métodos • void setLateAlto() • void setLateBaixo() • void talk() // “AU! AU!” ou “au, au...” 42 Orientação à Objetos • Classe Vaca – Métodos • void talk() // “Muuu...” 43 Orientação à Objetos 10.Faca uma classe Conta que contenha o nome do cliente, o numero da conta, o saldo e o limite. Estes valores deverao ser informados no construtor, sendo que o limite nao podera ser maior que o valor do salario mensal do cliente. Faca um metodo deposito e um metodo retira. O metodo retira ira devolver true ou false, dependendo se o cliente pode retirar. Faca um metodo saldo que retorne o saldo do cliente. 11.Faca uma classe ContaEspecial que funciona como a classe do exercício 1 mas que aceite um limite de ate 3x o valor do salario do cliente. 12.Faca uma classe Cartao que receba um objeto do tipo conta e uma senha. Devera conter um metodo retirada e um metodo saldo, semelhante à classe do exercício 1, mas que receba uma senha que devera ser a mesma armazenada no cartao. Faca tambem um metodo que altere a senha, desde que receba a senha antiga como parametro. 45 Orientação à Objetos 13. Faca uma classe Radio que ira herdar de Produto. Devera ter um metodo Escutar que retornara uma String contendo a estacao e a banda (ex.: 94.9 FM) da radio. Devera conter um metodo trocaEstacao e um metodo trocaBanda. Devera alterar o metodo toString de forma a acrescentar a estacao e a banda. 47