Escola Náutica Infante Dom Henrique. Grupo I (7.5 valores)



Documentos relacionados
Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Seleção Múltipla Laços (while, do-while, for) AULA 05

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Vetores Unimensionais

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011

Estruturas de Repetição e String. Vanessa Braganholo

Lógica de Programação. Lógica de Programação com Java

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Manual de conversão de Pseudo-algoritmo para Java

Variáveis Compostas. Vanessa Braganholo

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

4 Conceito de Herança

Sintaxe Básica de Java Parte 2

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

MsC. João Maria MsC. Liviane Melo

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

PROGRAMAÇÃO JAVA. Parte 3

Estruturas de Repe,ção e String

Técnicas de Programação II

Aula de PG Novembro de 2013, LT14D e LT11D - Sobre o Tipo String do Java

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Classes, instâncias e métodos de acesso. prática

Operadores e Estruturas de Decisão. Vanessa Braganholo

Orientação a Objetos e Java

JAVA. Professor: Bruno Toledo

Variáveis Compostas. Leonardo Gresta Paulino Murta.

Arrays em Java. Introdução à Programação. Bruno Cartaxo

Comando Portugol (Visualg) Java

Vetores Unimensionais

Universidade Federal do ABC BCM Processamento da Informação Prática Prova Substitutiva Primeiro Quadrimestre de 2018

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação de Computadores para GI

Variáveis Compostas. Leonardo Gresta Paulino Murta.

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Algoritmos I Aula 14 Java: estruturas de seleção e repetição

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Aula 4 Estruturas de Controle

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Estruturas de Repetição e String

Variáveis primitivas e Controle de fluxo

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Técnicas de Programação II

Programação por Objectos. Java

Pilha e Fila. Pilha em C. Definir o registro que representará cada elemento da pilha.

Programação Orientada aos Objectos I

Programação Estruturada e Orientada a Objetos

private static Ascii ascii = new Ascii(); static List<Character> asciinumber = ascii.getasciitable(); Scanner input = new Scanner(System.

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

1. Cotação de cada pergunta: / / (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame.

9 Classes Abstractas e Interfaces

Departamento de Ciência de Computadores Estruturas de Dados (CC114)

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

INSTRUÇÕES DE REPETIÇÃO

AULA 6 - ARRAYS. Array de 10 elementos

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Simulado de Linguagem de Programação Java

MsC. João Maria MsC. Liviane Melo

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

1 Considere o seguinte código e responda às questões enunciadas.

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Comando de Seleção em Java

Orientação a Objetos AULA 09

Vetores Unimensionais

Linguagem de Programação III

Algoritmia e Programação APROG. Vetores. Algoritmia e Java. Nelson Freire (ISEP DEI-APROG 2012/13) 1/32

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Aula 7 Modularização. Processamento da Informação. Universidade Federal do ABC

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

Java Standard Edition (JSE)

Interfaces POO. Prof. Marcio Delamaro

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Universidade Federal de Goiás Instituto de Informática 1ª Prova de Introdução a Programação 06/04/11

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Análise de Programação

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Algoritmos I Aula 13 Linguagem de Programação Java

Operadores e Estruturas de Decisão

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Programação orientada a objetos em Java

Transcrição:

Grupo I (7.5 valores) Este grupo é formado por questões de resposta múltipla. Para cada uma delas, existe uma resposta correcta. Assinale com uma cruz no enunciado do exame a opção que considere correcta. Atenção: Uma resposta errada desconta ¼ da cotação da pergunta. Ausência de resposta vale 0 valores. 1) Considere o seguinte programa: (1,5 valores) public class Main { final int MAX = 10; public static void main(string[] args) { Main programa = new Main(); programa.imprime(0); void imprime(int n){ while (n < MAX){ System.out.println (3*n); n++; A O último número da sequência escrito no ecrâ é 0. B O programa escreve no ecrã uma sequência decrescente de números iniciada em MAX C Escreve no ecrã uma sequência crescente de números iniciada em 0 e terminada em 10. D O último número da sequência escrito no ecrã é 27. 2) Considere o seguinte programa: (1,5 valores) public class Main { public static void main(string[] args) { String str1 = "Manuel"; String str2 = "Manuel"; if (str1==str2) System.out.println("São Iguais"); else System.out.println("São Diferentes"); A O programa não funciona, pois a classe main não foi instanciada (através de new). B O programa imprime São Diferentes, pois não se podem comparar Strings com == C - O programa imprime São Iguais porque as Strings têm o mesmo apontador. D O programa imprime São Iguais porque o operador == compara o conteúdo de cada String Pág 1 de 7

3) Considere o seguinte programa: (1,5 valores) public class Array { public static void main (String args[]){ int[] d = {1,2,3,4; int s = 0; for (int i = 0; i < d.length; i++) System.out.println(s+=i*d[i]); A- O resultado é a sequência de inteiros 0, 2, 6, 12; B- O resultado é a sequência de inteiros: 0, 2, 8, 20; C- O resultado é a sequência de inteiros: 0, 1, 2, 3; D - O programa não funciona, pois a classe main não foi instanciada (através de new). 4) No Java, as interfaces:: (1,5 valores) A Permitem simular herança multipla, pois uma classe pode implementar várias interfaces em simultâneo. B Podem ser instanciadas como qualquer objecto. C Não permitem a definição de constantes. Apenas permitem definir variáveis D Não permitem herança de outras interfaces 5) Considere o seguinte programa: (1,5 valores) public class Teste { int Bananas = 0; public static void main (String[] args) { Teste Objecto1=new Teste(10); Objecto1.ImprimeBananas(); public Teste(int t){ alterarbananas(t); public void alterarbananas(int n){ Bananas = n; public void ImprimeBananas(){ System.out.println(Bananas); A O programa imprime no ecrã o valor 0. B O programa não imprime qualquer valor C O programa imprime no ecrã o valor 10. D O programa imprime no ecrã a palavra Bananas Pág 2 de 7

II (7.5 valores) Questões para resolução. Leia com atenção o enunciado e justifique todas as respostas: 6) Considere o programa seguinte: public class Velocipede { public int velocidade = 10; Velocipede b1 = new Velocipede(); Velocipede.acelerar(); public void acelerar() { velocidade ++; public void travar(){ velocidade --; public int obtervelocidade(){ return velocidade; a) O programa contêm um erro relativo a manipulação de métodos de objecto e de classe. Corrija-o. (2.5 valores) O método acelerar está a ser chamado por main como sendo estático. public class Velocipede { public int velocidade = 10; Velocipede b1 = new Velocipede(); b1.acelerar(); public void acelerar() { velocidade ++; public void travar(){ velocidade --; public int obtervelocidade(){ return velocidade; Pág 3 de 7

b) Escreva uma outra classe denominada Bicicleta que herde todas as características da classe anterior Velocipede. A nova classe bicicleta deverá ainda ter ainda as seguintes características: (2.5 valores) Variáveis de classe: numrodas = 2; Variáveis de objecto: cadenciapedais=0; mudancaactual=0; Métodos de objecto: ReduzVelocidade(int x). O método ReduzVelocidade deverá decrementar a velocidade actual em x unidades, caso este seja menor ou igual à variável velocidade. Caso contrário não decrementa e imprime mensagem informativa : x > velocidade Deverá também criar uma nova instancia de Bicicleta no método main() e decrementar a velocidade de 5. public class Bicicleta extends Velocipede{ static int NumRodas = 2; int cadenciapedais=0; int mudancaactual=0; Bicicleta b3= new Bicicleta(); b3.reduzvelocidade(10); System.out.println(b3.obterVelocidade()); public void ReduzVelocidade(int x){ if (x<=velocidade) velocidade=velocidade-x; else System.out.println(x + " > " + velocidade); c) Adicione à classe Bicicleta dois métodos: Um para alterar o valor da variável de classe NumRodas para 4 e outro para obter o valor da variável de classe NumRodas. Se criasse agora uma nova instancia (b4) do objecto Bicicleta qual o valor da variável de classe NumRodas? Justifique. (2.5 valores) public class Bicicleta extends Velocipede{ Pág 4 de 7

static int NumRodas = 2; int cadenciapedais=0; int mudancaactual=0; Bicicleta b3= new Bicicleta(); b3.reduzvelocidade(4); System.out.println(b3.obterVelocidade()); b3.alteranumrodas(); System.out.println(b3.ObtemNumRodas()); Bicicleta b4= new Bicicleta(); System.out.println(b4.ObtemNumRodas()); public void ReduzVelocidade(int x){ if (x<=velocidade) velocidade=velocidade-x; else System.out.println("x Maior que velocidade actual"); public void AlteraNumRodas(){ NumRodas=4; public int ObtemNumRodas(){ return(numrodas); A variável de classe NumRodas agora fica com o valor 4 para todas as instancias criadas. Pág 5 de 7

Elaboração de programa simples. III (5 valores) (5 valores) 7) Elabore um programa que peça a introdução de um número inteiro através teclado, guarde esse inteiro introduzido num array de 10 elementos e continue novamente a pedir e guardar inteiros até atingir o limite de 10 elementos. As seguintes validações deverão ocorrer: Caso: 1 - O valor introduzido seja igual a qualquer um dos 10 valores anteriores, deverá imprimir no ecrã a mensagem Erro: Valor introduzido anteriormente. Continua a pedir introdução de valores no ecrã até atingir os 10. 2 Para todos os outros casos deverá imprimir no ecrã a mensagem Valor não introduzido anteriormente e continuar a pedir a introdução de valores no ecrã até atingir os 10 elementos. 3 Quando forem introduzidos 10 elementos o programa pára. Métodos obrigatórios: O programa deverá ter além do método main() pelo menos o seguinte método: boolean validaentrada(int entrada) Método que faz a validação do valor introduzido variável entrada verifica se o valor introduzido já o tinha sido anteriormente. Se verdade, devolve o valor true. Caso contrário devolve o valor false. import java.util.scanner; public class Main { static int entrada; static int[] array; static boolean a; static int i=0; static final int MAX = 10; public static void main(string[] args) { array = new int[max]; Scanner in = new Scanner(System.in); while (i<max) { System.out.println("Introduza o Número do mês: "); entrada = in.nextint(); if (valida (entrada)) System.out.println("Introduziu: " + entrada); else System.out.println("Erro: Valor introduzido anteriormente: " + entrada); static boolean valida(int valor) { for (int x=0;x<array.length;x++) { if (array[x] == valor) { System.out.println("Valor nao introduzido anteriormente " + array[x] + valor ); Pág 6 de 7

array a=false; break; else { a=true; array[i]=valor; // Adiciona o valor introduzido e validado ao i++; // Incrementa indice do array; System.out.println(a); return a; Boa Sorte Pág 7 de 7