Uma função é denominada recursiva quando ela é chamada novamente dentro de seu corpo.
Implementações recursivas tendem a ser menos eficientes, porém facilitam a codificação e seu entendimento.
CELES, W.; CERQUEIRA, R.; RANGEL, J. L. Introdução a estrutura de dados. Rio de Janeiro, 2004 (com adaptações).
Considere a função recursiva f(), a qual foi escrita em linguagem C na imagem
Suponha que a função f() é acionada com os seguintes parâmetros de entrada:
f({2,-4,7,0,-1,4},6);
Nesse caso, o valor de retorno da função f() será:
a) 8
b) 10
c) 13
d) 15
e) 18
Soluções para a tarefa
Resposta:
LETRA C) 13
Explicação:
#include <stdio.h>
int main() {
int v[]= {2,-4,7,0,-1,4};
int x = f(v, 6);
printf("%d",x);
return (0);
}
int f(int v[], int n){
if(n == 0)
return 0;
else{
int s;
s = f(v, n-1);
if (v[n-1] > 0) s = s + v [n-1];
return s;
}
}
O valor de retorno da função f() será: C) 13.
Aspectos importantes para a resolução de valor de retorno de uma função
- primeiramente, o programa foi desenvolvido em linguagem C que é compilada de propósito geral, com características imperativa e padronizada;
#include <stdio.h>
int main()
int v[]= {2,-4,7,0,-1,4};
int x = f(v, 6);
printf("%d",x);
return (0);
}
int f(int v[], int n){
if(n == 0)
return 0;
else{
int s;
s = f(v, n-1);
if (v[n-1] > 0) s = s + v [n-1];
return s;
por meio do uso da linguagem C, é possível criar:
- sistemas operacionais;
- aplicativos variados;
- controladores de dispositivos;
- programação de microcontroladores
leia mais sobre linguagem C:
https://brainly.com.br/tarefa/51234555
#SPJ2
Dado isso, fazendo o teste de mesa
execução s= r+4= retorna=8
1ª Recursão s= r-1 retorna=4
2ª Recursão s= r+0 retorna=5
3ª Recursão s= r+7 retorna=5
4ª Recursão s= r-4 retorna=-2
5ª Recursão s= r+2 retorna=2
6ª Recursão retorna=0
Logo a Resposta certa é
a) 8