Você está na página 1de 3

Universidade Católica de Angola

Faculdade de Engenharia
Curso de Informática
Exame de Recurso – Fundamentos de Programação II
= Orientação à Objecto e Java =

Instruções
1 – Escreva o seu nome completo, matricula e turma em todas as folhas de prova
2 – As questões podem ser resolvidas em qualquer ordem
3 – As soluções que não forem apresentadas nas páginas a elas destinadas devem ser identificadas
com o número da questão a que se referem
4 – A prova só pode ser feita utilizando-se caneta (azul ou preta)
5 –A prova é individual, sem consulta e a interpretação das questões faz parte da prova (não está
autorizado qualquer tipo de diálogo)
7 – A prova tem a durante de 3 horas e deverá ser concluída dentro do tempo regulamentado.

Grupo I - 5 valores

1 - Considerando a hierarquia de generalização em UML indicada na figura abaixo, quais serão


os atributos de uma instância de E? (1 valor)

Assinale a alternativa CORRETA.


A.( ) r.
B.( ) r, z, w.
C.( ) r, z, w, x, y.
D.( ) r, z, w, t, u, x, y, v, s, q.
2 - Qual das afirmativas são verdadeiras a respeito do código abaixo? (marque uma ou
mais) (1 valor)
public class CarTeste {
public static void main(String args[]) {
byte b1 = 3;
byte b2 = 5;
byte b = (byte) b1 – b2;
System.out.println(b); }
}
a) O código não compila porque deveria usar uma conversão (cast) explicito
para converter int para byte.
b) O código não compila porque o tipo primitivo byte não aceita valores
negativos.
c) O código compila, executa e imprime: -2
d) O código compila, executa e imprime: 2
e) O código compila, executa e não imprime nada

3 - Qual é a saída quando o programa abaixo é executado: (1 valor)


public class Alfabeto {
public static void main(String args[]) {
int i = 65;
char c = (char) i;
System.out.println(“Após o “+ c + “ vem o “ + (c + 1) ); } }

Após o A vem o 66

4 ) Quais os valores finais de st1.x e st1.y no programa abaixo? (1 valor)

class StaticTest {
private static int x = 100;
private int y = 101;
public static void main(String args[]) {
StaticTest st1 = new StaticTest();
st1.x++;
st1.y++
StaticTest st2= new StaticTest();
st2.x++;
st2.y++;
StaticTest.x++;
System.out.println(“st1.x = “+ st1.x + “ st1.y = “+ st1.y); }
}

st1.x = 103 st1.y = 102

5 - O programa a seguir compila com erros (sim, não ou por que não?) ( 1 valor)

class ABC {
public static void main(String args[]) {
int x = 10;
String s;
if (x==10)
s = new String (“cinco”);
System.out.println(s); } }
Compila com erros porque a variável s não foi inicializada

II Grupo - 10 valores

1.º Escreva um método chamado contavetor( ) que receba como paramentos, um vector e
seu tamanho e retorne a soma de todos os elementos. 2 valores

2.º Escrever um método que receba o salário mensal e o percentual de reajuste. Calcular e
retornar o valor do novo salário. O salário mensal, reajuste e novo salário devem ser do
tipo float. (2 valores )

3.º Escreva um método que leia uma sequência de notas de alunos e mostre a maior e a
menor das notas. O final da leitura será identificado pela introdução de uma nota
negativa, que não deve fazer parte do cálculo. (2 valores)

4.º - Elabore um programa que receba a velocidade de um veículo e a velocidade máxima


permitida na estrada e calcule o valor da multa a ser paga pelo motorista. Sabe-se que:
 Se a velocidade do veículo for até a velocidade máxima permitida, o valor da multa é
zero
 Se a velocidade do veículo estiver até 20% acima da velocidade máxima permitida, o
valor da multa é de 180 Kwanzas
 Se a velocidade do veículo estiver acima de 20% da velocidade máxima permitida, o
valor da multa é de 600 Kwanzas ( 2 valores)

5.º - Escreva um programa que leia uma idade e informe se a pessoa é um eleitor obrigatório
(entre 18 e 69 anos), facultativo (entre 16 e 17 anos ou acima de 70) ou não é eleitor (menos de
16 anos) (2 valores )

III Grupo - 5 valores

1 Crie uma classe em Java com as seguintes características:


Classe Funcionário com mat, nome, função e salário. Todas as propriedades com exceção de
mat são de instância.
1.1 - Crie uma classe que defina um vector de 10 posições do tipo Funcionário e construa
um método para carregar um vector de 10 posições com 10 Funcionários;
1.2 - Crie um método para a classe acima que receba um Funcionário e verifique se o
nome fornecido encontra-se entre os Funcionários do vector, caso positivo informar a
posição;
1.3 - Crie um método que adicione 10% aos salários de todos os funcionários com salário
inferior a 1.000,00;
1.4 - Crie um método para varrer o vector e imprimir as propriedades mat, nome, função e
salários de todos os Funcionários.

Lembre-se: só programando aprende-se a programar!

Você também pode gostar