Considere o script PHP a seguir:
<?php
function f($v, $n) {
if ($n <= 0) return 1;
else
return $v[$n-1] * f($v, $n-2) + 1;
}
$a = array(0,1,2,3);
print (f($a, 4));
?>
O que será exibido na tela?
a) 6
b) 7
c) 0
d) NULL
Soluções para a tarefa
Respondido por
5
function f($v, $n) {
if ($n <= 0) return 1;
else
return $v[$n-1] * f($v, $n-2) + 1;
}
$a = array(0,1,2,3);
print (f($a, 4));
a função é chamada com o vetor (0,1,2,3) e o indice 4
como 4 é >0 então o primeiro if dá falso
então vai pegar o elemento (4-1) = 3 que é 3 e chamar recursivamente a funcão
agora com indice 2
pega o elemento (2-1) = 1 que é 1 e chama recursivamente a funçao agora com indice 0
aí o tal if dá verdadeiro e a função retorna 1 que é somado a 1, dá 2 que soma com 1, dá 3
Esse 3 retorna é somado a 1, dá 4 e é somado ao 3, que dá então 7
Resposta = 7 , alternativa B
https://repl.it/@bokomoko/httpsbrainlycombrtarefa13253457
if ($n <= 0) return 1;
else
return $v[$n-1] * f($v, $n-2) + 1;
}
$a = array(0,1,2,3);
print (f($a, 4));
a função é chamada com o vetor (0,1,2,3) e o indice 4
como 4 é >0 então o primeiro if dá falso
então vai pegar o elemento (4-1) = 3 que é 3 e chamar recursivamente a funcão
agora com indice 2
pega o elemento (2-1) = 1 que é 1 e chama recursivamente a funçao agora com indice 0
aí o tal if dá verdadeiro e a função retorna 1 que é somado a 1, dá 2 que soma com 1, dá 3
Esse 3 retorna é somado a 1, dá 4 e é somado ao 3, que dá então 7
Resposta = 7 , alternativa B
https://repl.it/@bokomoko/httpsbrainlycombrtarefa13253457
bokomoko:
obrigado pela oportunidade de ajudá-la
Perguntas interessantes
Inglês,
9 meses atrás
Biologia,
9 meses atrás
Português,
9 meses atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás