You are on page 1of 2

Terceira Prova de MAB 240 Computao II ca

Fabio Mascarenhas 6 de Julho de 2012


A prova individual e sem consulta. Responda as questes na folha de respostas, a lpis e o a ou a caneta. Se tiver qualquer dvida consulte o professor. u Nome: DRE:

Questo: a Pontos: Nota:

1 4

2 2

3 4

Total 10

1. Funes reais de uma varivel podem ser modeladas em Java pela seguinte interface: co a interface Funcao { double valor(double x); } (a) (2 pontos) Dena a classe Exp, que implementa Funcao e representa a fam de funes exponencilia co ais f (x) = nx , onde n um nmero inteiro passado no construtor da classe Exp. Por exemplo, (new e u 1 Exp(9)).valor(0.5) d como resultado o nmero 3 (9 2 ou 9). A operao de exponenciao em a u ca ca Java feita com a funo Math.pow. e ca (b) (2 pontos) O valor aproximado da derivada f de uma funo f qualquer em um ponto x pode ser ca obtido facilmente atravs da seguinte frmula: e o f (x) = f (x + ) f (x)

onde um nmero pequeno (quanto menor, melhor a aproximao). Dena a classe Derivada, e u ca que implementa Funcao e representa a derivada de uma funo qualquer passada no construtor, ca dado um tambm passado no construtor. Por exemplo, new Derivada(new Exp(2), 0.0001)) e e a derivada da funo f (x) = 9x com um de 0.0001. ca 2. (2 pontos) A classe a seguir representa uma modelagem bastante simples de uma conta corrente: class ContaCorrente { private int numero; private double saldo;

MAB 240 Computao II ca

Terceira Prova

6 de Julho de 2012

public ContaCorrente(int numero, double saldo) { this.numero = numero; this.saldo = saldo; } public void deposita(double valor) { this.saldo += valor; } public void retira(double valor) { this.saldo -= valor; } } Dena a classe ContaCorrenteLanc que extende ContaCorrente para incluir uma lista de lanamentos c (uma instncia de ArrayList<String>). Essa classe deve redenir os mtodos deposita e retira a e de ContaCorrente para adicionar as strings DEPOSITO DE n ou RETIRADA DE n na lista de lanamentos a cada depsito ou retirada, respectivamente, onde n o valor depositado ou retirado. c o e 3. O padro enumerador uma maneira de se percorrer uma sequncia de elementos. Um objeto enumerador a e e possui dois mtodos, um produz os elementos da sequncia um por um, dando um erro se j produziu e e a o ultimo elemento, e o outro diz se j se chegou ao nal da sequncia ou no. Enumeradores para a e a sequncias de inteiros podem ser modelados pela seguinte interface: e interface Enumerador { int proximo(); boolean final(); } (a) (2 pontos) Dena a classe EnumVetor, que implementa Enumerador e representa um enumerador para um vetor de inteiros passado no construtor. O trecho a seguir mostra um uso desse enumerador: Enumerador e = new EnumVetor(new int[] { 1, 3, 5 }); System.out.println(e.proximo()); // imprime 1 System.out.println(e.final()); // imprime false System.out.println(e.proximo()); // imprime 2 System.out.println(e.proximo()); // imprime 3 System.out.println(e.final()); // imprime true (b) (2 pontos) Escreva o corpo da funo abaixo, que recebe um enumerador e retorna uma lista com ca todos os elementos que ele pode produzir: static List<Integer> listaDeEnum(Enumerador e) { // corpo }

You might also like