Informática, perguntado por madsonmaia, 1 ano atrás

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:

Soluções para a tarefa

Respondido por rayllecn
16

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.

Anexos:

shippandotp: restante da pergunta e assim
shippandotp: 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 - }
shippandotp: 01 - #include
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
rayllecn: Nesse caso a reposta correta seria a alternativa 3, pois o resultado exibido seria 2
Respondido por anderlonoliveira
0

Resposta:

Alternativa 3:

O resultado é: 2

Explicação:

Perguntas interessantes