Exercícios Resolvidos de Definindo funções recursivas

Ver Teoria

Enunciado

Elabore uma função recursiva capaz de realizar o cálculo de uma multiplicação recebendo como parâmetro dois números inteiros n 1 e n 2 positivos.

Passo 1

Transferindo todas as informações do enunciado para o escopo de uma função chamada m u l t i temos o seguinte trecho de código:

Uma função com tipo de retorno int que espera como parâmetro dois números n 1 e n 2 também inteiros.

Passo 2

Agora que já sabemos as entradas e saídas esperadas da nossa função, podemos definir o caso básico que ela terá.

Nesse caso, utilizaremos a condição n 2 = 0 para impedirmos a criação de novas instâncias recursivas (o motivo disso vai ficar mais óbvio no próximo passo).

Passo 3

A grande sacada para calcular uma multiplicação através de uma função recursiva está na realização de múltiplas somas.

Por esse motivo podemos somar o valor de n 1 e chamar recursivamente a função m u l t i passando como parâmetro o próprio n 1 e n 2 - 1 . Isso fará com que n 2 seja um contador das somas de n 1 (por isso o caso básico retorna nas instâncias recursivas quando n 2 = 0 ) fazendo com que n 1 seja somado com ele mesmo n 2 vezes, resultando assim em n 1 * n 2 .

Resposta

Ei, a resposta está no passo a passo :)