• Matéria: Informática
  • Autor: NunesHouse
  • Perguntado 4 anos atrás

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: matheusnascimento20
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