QUESTÃO 5
Um objeto é dito recursivo se ele for definido em termos de si próprio. Destaca-se que o conceito de recursão não é encontrado apenas na programação, mas também na matemática e no dia a dia como, por exemplo, quando vemos uma imagem que contém a si própria.
LEAL, Gislaine Camila Lapasini. OLIVEIRA, Pietro Martins de. Algoritmos e Lógica de Programação II. Maringá - PR.: UniCesumar, 2020.
Assim, considere o seguinte trecho de código em Linguagem C:
01 - #include
02 - #include
03 - int SVR(int *v, int n){
04 - if(n == 0){
05 - return 0;
06 - }
07 - else{
08 - return v[n] + SVR(v, n-1);
09 - }
10 - }
11 - int main(){
12 - int A[3], s;
13 - A[0]=3;
14 - A[1]=2;
15 - A[2]=1;
16 - s = SVR(A, 1);
17 - printf("O resultado é: %d", s);
18 - }
Ao realizar o teste de mesa no algoritmo recém apresentado, constata-se que seria apresentada a seguinte mensagem na tela do computador:
Alternativa 1: O resultado é: 4
Alternativa 2: O resultado é: 3
Alternativa 3: O resultado é: 2
Alternativa 4: O resultado é: 1
Alternativa 5: O resultado é: 0
Respostas
respondido por:
0
Resposta:
Alternativa 3: O resultado é: 2
Explicação:
Para esse teste temos que:
foi definido os valores para o vetor A;
A = (3,2,1)
A[0] = 3, A[1] = 2, A[2] = 1
bem na chamada da função SRV, observe que:
SRV(A,1), ou seja estamos atribuindo o n, a um valor de 1, que no caso não vai cair na primeira verificação de n == 0, logo vai chamar recursivamente a função só que o v[n], será v[1] = e sabemos que na posição [1] do vetor temos o valor de 2, sendo assim teremos:
2 + SRV(v,n-1), observe que n-1 irá resultar em 0 pois lá na função chamamos esse n de 1, 1-1 = 0, sendo n ==0 caímos na primeira condição, e retornamos o valor de 0.
Logo o 2 que ficou esperando o resultado será somado com 0
2+0 = 2.
Perguntas similares
3 anos atrás
3 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
7 anos atrás
7 anos atrás