0% acharam este documento útil (0 voto)
42 visualizações6 páginas

Prova de Programação em Java

O documento descreve um programa em Java que simula o comportamento de veículos (caminhões e motos) ao longo de vários passos, registrando o consumo de combustível e a distância percorrida. Ele fornece classes Veículo, Moto e Caminhão com atributos, métodos e herança para modelar os objetos e seu comportamento.

Enviado por

geisielly
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
42 visualizações6 páginas

Prova de Programação em Java

O documento descreve um programa em Java que simula o comportamento de veículos (caminhões e motos) ao longo de vários passos, registrando o consumo de combustível e a distância percorrida. Ele fornece classes Veículo, Moto e Caminhão com atributos, métodos e herança para modelar os objetos e seu comportamento.

Enviado por

geisielly
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Prova de Java

1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicao que simula o comportamento de dois tipos de veculos (caminhes e motos). No momento que o programa executado, ele ir perguntar quantos veculos sero criados e quantos passos sero executados. Cada passo representa uma determinada quantidade de tempo em que o carro roda em determinada velocidade. Depois de cada passo o veculo consumiu uma certa quantia de combustvel e rodou uma certa distncia. No trmino do programa o programa ir exibir o consumo total de combustvel e a distncia percorrida.

import [Link]; import [Link]; import [Link]; /** * Classe que executa o programa * * Data: 08/04/2010 * @author [Link] * */ public class Programa { public static void main(String[] args) throws IOException { // inicializa entrada teclado

BufferedReader reader = new BufferedReader(new InputStreamReader([Link])); [Link]("Informe a quantidade de veculos: "); int qtdVeiculos = [Link](); [Link]("Informe a quantidade de passos: "); int qtdPassos = [Link]([Link]()); // instancia o array de veiculos Veiculo veiculos = new Veiculo[qtdVeiculos]; // inicializa a frota de veiculos for (int i = 0; i < qtdVeiculos; ) { int numero = i+1; [Link]("["+ numero +"] Informe o tipo do veiculo (c - caminhao, m - moto): "); // le o tipo de veiculos String tipo = [Link](); // verifica se o tipo digitado caminho ou moto, Se no for c nem m, mostra mensagem de erro na tela if ([Link](c)) { veiculos[i].setNumero(i+1); i++; } else if ([Link]("m")) { veiculos[i] = new Moto(); veiculos[i].setNumero(i+1); i++; } else { [Link]("Tipo invlido!"); } } // executa os passos para cada um dos veiculos for (int i = 0; i < qtdPassos; i++) { for (int j = 0; k < qtdVeiculos; j++) { veiculos[j].anda(); } } // imprime as informaes de cada um dos veiculos for (int i = 0; i < qtdVeiculos; i++) { veiculos[i].ImprimeInformacoes(); [Link]("---------------------"); } } } /**

* A classe moto, simula o comportamento de um veculo * Data: 08/04/2010 * * @author [Link] * */ public class Veiculo { protected real kmPercorrida; protected float qtdCombustivel; private int numero; public float getKmPercorrida() { return kmPercorrida; } public float getQtdCombustivel() { return qtdCombustivel; } /* * No faz nada nesta classe */ public void anda() { } /** * Imprime as informaes do veculo */ public void imprimeInformacoes() { [Link]("Distncia percorrida: " + kmPercorrida + " km"); [Link]("Combustvel restante: " + qtdCombustivel + " l"); } public int getNumero() { return numero; } } /** * A classe moto, simula o comportamento de uma motocicleta * Data: 08/04/2010 * * @author [Link] * */ public class Moto extends Veiculo { /** * Construtor da classe.

* Esse mtodo executado sempre que uma classe * criada */ public Moto() { [Link] = 11; } /** * Mtodo que simula um passo no caminho */ public void anda() { float consumo = 26; // 26 km/l float kmPasso = 2; // se ainda tem combustivel, diminui if ([Link] > 0) { kmPercorrida = kmPercorrida + 2; float combustivelConsumido = kmPasso / consumo; [Link] = [Link] - combustivelConsumido; } } /** * Imprime as informaes do veiculo */ public void imprimeInformacoes() { [Link]("Moto no.:" + getNumero()); // a diretiva super na frente do mtodo, significa que est chamando o mtodo da classe pai [Link](); } } /** * A classe caminho, simula o comportamento de uma motocicleta * Data: 08/04/2010 * * @author [Link] * */ public class Caminhao extends Veiculo { /** * Construtor da classe. * Esse mtodo executado sempre que uma classe * criada */ public Caminhao() { [Link] = 100; }

/** * Mtodo que simula um passo no caminho */ public void anda() { float consumo = 13; // 26 km/l float kmPasso = 0.5f; if (qtdCombustivel > 0) { kmPercorrida = kmPercorrida + kmPasso; float combustivelConsumido = kmPasso / consumo; [Link] = [Link] - combustivelConsumido; } } /** * Imprime as informaes do caminho */ public void imprimeInformacoes() { [Link]("Caminho no.:" + getNumero()); // a diretiva super na frente do mtodo, significa que est chamando o mtodo da classe pai [Link](); } } 2) Assinale V ou F para cada uma das afirmativas: (2 pontos) ( ) Objetos do mundo real tem duas caractersticas em comum: estado e cidade ( ) Classe o esteretipo de um objeto ( ) Atributo = Comportamento ( ) Comportamento = Ao ( ) Mensagem a forma como os objetos se comunicam ( ) Encapsulamento o mecanismo utilizado para disponibilizar mtodos que operam sobre os dados e que protegem o acesso direto indevido aos atributos de uma instncia fora da classe onde estes foram declarados ( ) Com base no diagrama do exerccio 1, podemos dizer que Veculo herda as caractersticas de Moto. ( ) Com base no diagrama do exerccio 1, correto afirmar que o mtodo imprimeInformaes sobrescrito nas classes moto e caminho. 3) Assinale V ou F para cada uma das afirmativas: (2 pontos) ( ) O modificador private na frente de um mtodo, significa que o mtodo s visvel para a prpria classe ( ) O modificador protected significa que o mtodo visvel para qualquer classe ( ) O modificador private na frente de um atributo, significa que o atributo visvel somente para os mtodos que contm o modificador public. ( ) O modificador protected na frente de um atributo, significa que o atributo visvel somente para os mtodos que contm o modificador protected. ( ) O ponto de nicio da execuo de um programa acontece no mtodo main

( ) A palavra reservada void na frente de um mtodo, significa que o mtodo no retorna nenhum valor

4) Implemente um programa Java que calcule a rea de um triangulo retngulo (possui um ngulo de 90 graus) e de um retngulo. (2 pontos) Se implementar usando herana ganha mais 1 ponto. rea do tringulo Area = base * altura / 2 rea do retngulo rea = base * altura A confirmao da pontuao ser feita mediante a resposta correta as perguntas do professor amanh durante a aula.

Boa sorte!

Você também pode gostar