Exercícios Resolvidos de Definindo funções recursivas

Ver Teoria

Enunciado

Desenvolva uma função recursiva capaz de realizar a impressão de um número natural na base binária.

Passo 1

A primeira coisa que devemos fazer é definir um caso básico para a nossa função (aquele que vai impedir ela de criar instâncias infinitamente), para isso temos que pensar na maneira com que vamos resolver esse problema.

Nesse exemplo, utilizaremos sucessivas divisões por 2 analisando o resto de cada divisão, isso faz com que o nosso caso básico seja n = 0 , ou seja, paramos de realizar divisões quando o número já estiver totalmente dividido.

Só para lembrar... Se pegarmos todos os restos das divisões de um número por 2 (que se resumem apenas em 0 ou 1) teremos esse mesmo número na base binária.

Passo 2

Agora que já temos um caso básico, só nos resta pensar no passo de recursão que utilizaremos, que basicamente consiste em colocar na prática a nossa lógica de sucessivas divisões e análise de resto.

Onde imprimimos o resto da divisão de n (número recebido como parâmetro) por 2 e utilizamos uma chamada recursiva dessa função passando como parâmetro a divisão inteira (considera apenas a parte inteira) de n por 2.

Resposta

Dessa forma, podemos converter qualquer número natural para sua forma binária, simplesmente imprimindo os restos de sucessivas divisões desse número por 2 com chamadas recursivas.