All pastes #2099577 Raw Edit

Stuff

public text v1 · immutable
#2099577 ·published 2012-01-05 14:07 UTC
rendered paste body
Quando lidamos com listas em funções recursivas a condição limite é quase sempre a lista vazia.
Resposta:
Verdadeiro Correcto Falso Incorrecto
Correcto
Pontuação para esta pergunta: 1/1.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar	Verdadeiro	13:49:05 em 15/12/11	1	1
1	Avaliar	Verdadeiro	13:49:05 em 15/12/11	1	1
Question 8
Pontuações: 1/1
A escrita de funções recursivas torna, geralmente, mais legível e elegante o código-fonte.
Resposta:
Verdadeiro Correcto Falso Incorrecto
Correcto
Pontuação para esta pergunta: 1/1.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar		13:49:15 em 15/12/11	0	0
2	Avaliar	Verdadeiro	13:49:16 em 15/12/11	1	1
2	Avaliar	Verdadeiro	13:49:16 em 15/12/11	1	1
Question 9
Pontuações: 4/4
Escreva uma função chamada factorial que calcule o factorial de um número inteiro n, sabendo que:


Exemplo:

Resposta:
Correcto
Correcto
Pontuação para esta pergunta: 4/4.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar	factorial 0 = 1 factorial n = n * factorial (n - 1)	13:54:24 em 15/12/11	4	4
1	Avaliar	factorial 0 = 1 factorial n = n * factorial (n - 1)	13:54:24 em 15/12/11	4	4
Question 10
Pontuações: 4/4
Escreva uma função chamada somatorio que calcule o somatório de todos os números inteiros de uma lista entre i e n. Não pode usar a função sum.

Exemplo:

 

Corresponde a: somatorio [1..100]
Cujo resultado é: 5050
Resposta:
Correcto
Correcto
Pontuação para esta pergunta: 4/4.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar	somatorio i n |i == n = n |otherwise = i + somatorio ((i-1) n)	14:06:26 em 15/12/11	0.2	0.2
2	Avaliar	somatorio i n |i == n = n |otherwise = i + somatorio ((i+1) n)	14:06:43 em 15/12/11	0.2	0.2
3	Avaliar	somatorio i n |i == n = n |otherwise = i + somatorio ((i + 1) n)	14:06:58 em 15/12/11	0.2	0.2
4	Avaliar	somatorio [i..n] |i == n = n |otherwise = i + somatorio ((i + 1) n)	14:08:22 em 15/12/11	0.2	0.2
5	Avaliar	somatorio [i..n] |i == n = n |otherwise = i + somatorio (i + 1) n	14:09:04 em 15/12/11	0.2	0.2
6	Avaliar	somatorio [] = 0 somatorio [i..n] = i + somatorio (i + 1) n	14:12:42 em 15/12/11	0.2	0.2
7	Avaliar	somatorio [] = 0 somatorio [i..n] = i + somatorio [(i + 1)..n]	14:15:22 em 15/12/11	0.2	0.2
8	Avaliar	somatorio [] = 0 somatorio i n = i + somatorio (i + 1) n	14:30:17 em 15/12/11	0.2	0.2
9	Avaliar	somatorio [] = 0 somatorio i n = i + somatorio i (n + 1)	14:30:43 em 15/12/11	0.2	0.2
10	Avaliar	somatorio [] = 0 somatorio (i:n) = i + somatorio n	14:31:37 em 15/12/11	0	0.2
11	Avaliar	somatorio [] = 0 somatorio (i:n) = i + somatorio n	14:37:11 em 15/12/11	0.2	0.2
12	Avaliar	somatorio [] = 0 somatorio (i:n) = i + somatorio n	14:37:17 em 15/12/11	0	0.2
13	Avaliar	somatorio [] = 0 somatorio (i:n) = i + somatorio n	14:39:20 em 15/12/11	4	4
13	Avaliar	somatorio [] = 0 somatorio (i:n) = i + somatorio n	14:39:20 em 15/12/11	4	4
Question 11
Pontuações: 5/5
Escreva uma função chamada fib que calcule o número de Fibonacci de um número inteiro n, sabendo que:

 

Para: fib 20
O resultado é: 6765
Resposta:
Correcto
Correcto
Pontuação para esta pergunta: 5/5.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar	fib 0 = 0 fib 1 = 1 fib n = fib (n - 1) + fib (n - 2)	14:18:39 em 15/12/11	5	5
1	Avaliar	fib 0 = 0 fib 1 = 1 fib n = fib (n - 1) + fib (n - 2)	14:18:39 em 15/12/11	5	5
Question 12
Pontuações: 1/1
O que acontece quando invoca a função criada na questão anterior com um valor como 30? Não estamos interessados no valor resultante mas na forma como este é calculado.

fib 30
Resposta:
Correcto
Correcto
Pontuação para esta pergunta: 1/1.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar	Quando invocamos a função com o valor 30, este, vai demorar algum tempo a ...	14:21:28 em 15/12/11	1	1
1	Avaliar	Quando invocamos a função com o valor 30, este, vai demorar algum tempo a ...	14:21:28 em 15/12/11	1	1
Question 13
Pontuações: 1/1
O uso de funções recursivas pode provocar perda de desempenho? Dica: a resposta talvez não se encontre no tutorial.
Resposta:
Verdadeiro Correcto Falso Incorrecto
Correcto
Pontuação para esta pergunta: 1/1.
Histórico de respostas:
#	Acção	Resposta	Hora	Classificação	Nota
1	Avaliar	Verdadeiro	14:21:40 em 15/12/11	1	1
1	Avaliar	Verdadeiro	14:21:40 em 15/12/11	1	1
Question 14
Pontuações: 0.5/2
Justifique a sua resposta à questão anterior.
Resposta:
Podemos verificar alguma perda de desempenho pois como pudemos verificar na função anterior, à medida que o valor com que é invocado na funcao aumenta, também aumenta significativamente o tempo de calculo do valor resultante.