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. Algoritmos e Lógica de Programação I. Maringá: Unicesumar, 2016. Assim, considere o seguinte trecho de código em Linguagem C:
Respostas
Olá, o trecho de código não me foi fornecido mas pesquisei um pouco e encontrei o trecho abaixo (imagem), que acredito ser o correspondente ao enunciado. Assumindo isso, farei o máximo para ajudá-lo.
Em C, chamamos de recursividade quando uma função chama a si mesma, ou seja, uma função recursiva cria uma na memória uma nova ocorrência da função com comandos e variáveis “isolados” das ocorrências anteriores, sendo executada até que todas as ocorrências tenham sido resolvidas, ou seja, ocorrendo em loop.
Elas tornam o código mais simples e elegante, fazendo com que seja mais fácil de entender a primeira vista. Porém, caso o loop recursivo seja muito grande acabará consumindo muita memoria, pois cada chamada recursiva aloca memória para os parâmetros e variáveis.
Assim, o após realizarmos o teste do código em questão, constataremos o resultado exibido será 6, pois para cada chamada da função recursiva retorna os valores somando.
Espero ter ajudado.
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 - }
02 - #include
03 - int SVR(int *v, int n){
04 - if(n == 0){
05 - return 0;
06 - }
Ao realizar o teste de mesa no algoritmo recém apresentado, constata-se que seria apresentada a seguinte mensagem na tela do computador:
Alternativas
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
Resposta:
Alternativa 3:
O resultado é: 2
Explicação: