Implementar a função EXP com as seguintes características:
Utiliza a característica recursiva da exponenciação:
i. Baseexp = base.baseexp-1, exp >0
ii. Baseexp =1, exp ==0

Passo 1

Beleza, então o enunciado pede pra gente implementar uma função chamada EXP que receba dois parâmetros, base e exp (expoente), e devolva o valor de
base^exp
mas fazendo isso de forma recursiva.
Conteúdo: recursão em funções matemáticas.
O que vamos precisar:
- Saber que base^0 = 1 (caso base)
- Usar a definição recursiva base^exp = base times base^exp-1 para exp>0.

Passo 2

Definindo o caso base da recursão.
Em algoritmos recursivos, sempre precisamos de uma condição que faça a função parar de chamar a si mesma. Aqui sabemos que, por definição matemática,
base^0 = 1
Logo, se o expoente exp for igual a zero, a função deve imediatamente retornar 1, sem chamar ela própria de novo.

Passo 3

Definindo o caso recursivo.
Quando exp > 0, a gente aplica a regra
base^exp = base times base^exp - 1
Traduzindo pra código, isso vira: chamar EXP(base, exp-1) e multiplicar o resultado por base. Cada chamada vai diminuindo o expoente até chegar em zero (caso base).

Passo 4

Escrevendo o pseudocódigo completo (bem estilo “amigo explicando”):
função EXP(base, exp)  
  se exp == 0 então  
    retorna 1        // caso base: base^0 = 1  
  senão  
    // chama a si mesma com exp-1 e multiplica por base  
    retorna base * EXP(base, exp - 1)  

Resposta

A implementação recursiva da função EXP, que calcula base^exp, é:
função EXP(base, exp)  
  se exp == 0 então  
    retorna 1  
  senão  
    retorna base * EXP(base, exp - 1)  

Exercícios relacionados