Aula 2.23 - Exercício 2 sobre recursividade.
Se você conseguiu fazer a atividade anterior, essa será fácil.
Um problema típico em computação consiste em converter um número da sua forma decimal para a forma binária. Por exemplo, o número 12 tem a sua representação binária igual a 1100. A forma mais simples de fazer isso é usando o método das divisões sucessivas: divide-se o número sucessivamente por 2, onde o resto da i-ésima divisão vai ser o dígito i do número binário (da direita para a esquerda).
Por exemplo:
12/2 = 6 e tem resto 0
6/2 = 3 e tem resto 0
3/2 = 1 e tem resto 1
1/2 = 0 e tem resto 1
Sendo assim, 12 em binário equivale a: 1100 (restos tomados de baixo para cima).
Agora escreva uma função recursiva que, dado um número decimal, imprima a sua representação binária corretamente. A assinatura da função deverá, obrigatoriamente, ser: void dec2bin(int dec);
Não será permitido utilizar variáveis globais, vetores, listas ou qualquer outra estrutura de dados para armazenar o número em binário, pois este será impresso à medida que for sendo calculado dentro da função.
Recomendo tentar antes de ver a resposta abaixo:
~
~~
~~~
~~~~
~~~~~
Resolução:
Bem simples, a recursividade está na linha 16.
>> Próxima aula, clique aqui.
COMENTÁRIOS