Вы находитесь на странице: 1из 1

24/06/2003 | Turma A

a) A prova e individual e sem onsulta.


b) Entender os enun iados faz parte da prova. Justi que suas respostas.
) Devolva a folha de quest~oes junto om as resolu ~oes no nal da prova.

1. (3 pontos) Uma moeda 


e lan
ada n > 1 vezes e sabe-se que n~
ao o orrem aras on-
se utivas. Determine uma re orr^
en ia para o n
umero de resultados poss
veis. Resolva

a re orr^
en ia pelo m
etodo das ra
zes ara ter
sti as.

2. (3 pontos) Considere a seguinte \prova por indu


a~o" de que todos os n
umeros naturais
s~ao iguais. Para a; b 2N , denotamos por max(a; b) o maior n
umero dentre a e b.

Vamos mostrar por indu


a~o em n que, para a; b 2N quaisquer, se max(a; b) = n ent~
ao

a = b.

Base. Se max(a; b) = 0 ent~


ao a = b = 0.

Passo. Suponha que (hip


otese indutiva), para a; b 2N quaisquer,

se max(a; b) = n 1 ent~
ao a = b

e vamos mostrar, para a; b 2N quaisquer,

se max(a; b) = n ent~
ao a = b.

Se max(a; b) = n, ent~
ao max(a 1; b 1) = n 1 e pela hip
otese indutiva

a 1 = b 1, ou seja a = b omo quer


amos mostrar.

Onde est
a o erro na prova por indu
a~o a ima?

3. (4 pontos) Considere o seguinte algoritmo que re ebe have e um vetor ordenado


vetor e devolve SIM se have o orre no vetor e devolve NAO aso ontrario.

fun tion Bus a(vetor, primeiro, ultimo, have)


{
if (primeiro == ultimo)
if (vetor[primeiro == have) return SIM
else return NAO
meio = primeiro + (ultimo-primeiro)/2;
if (vetor[meio == have) return SIM;
if (vetor[meio > have) return Bus a(vetor, primeiro, meio-1, have);
return Bus a(vetor, meio+1, ultimo, have);
}

3.1) Mostre por indu


a~o que o algoritmo est
a orreto.

3.2) Es reva uma re orr^


en ia para n
umero de ompara
o
~es exe utadas no pior aso,

T (n) onde n 
e o n
umero de elementos em vetor na primeira hamada da fun
a~o, e d^
e

uma estimativa superior para T (n) (siga todos os passos dados em aula).

Вам также может понравиться