Faça uma função recursiva que recebe um número inteiro como parâmetro e imprima o correspondente em binário.

Passo 1

Beleza, vamos lá! O enunciado pede para a gente criar uma função recursiva que recebe um número inteiro e imprime o seu equivalente em binário. Então, estamos trabalhando com programação, mais especificamente com recursão e sistemas de numeração. Para resolver isso, vamos precisar entender como funciona a conversão de números decimais para binários e como implementar recursão em uma função.

Passo 2

Primeiro, vamos falar sobre recursão. Recursão é quando uma função chama a si mesma para resolver um problema. É como se a função fizesse uma pequena parte do trabalho e depois pedisse ajuda para si mesma para continuar. Isso é útil para quebrar problemas grandes em partes menores e mais fáceis de resolver.

Passo 3

Agora, sobre a conversão de decimal para binário. Para converter um número decimal para binário, a gente divide o número por 2 e guarda o resto dessa divisão. Esse resto será um dos dígitos binários. Depois, a gente divide o resultado da divisão por 2 novamente e guarda o próximo resto, repetindo esse processo até que o resultado da divisão seja 0. Finalmente, a gente lê os restos de baixo para cima para obter o número binário.
Por exemplo, para converter o número 6:
  • 6 ÷ 2 = 3, resto 0
  • 3 ÷ 2 = 1, resto 1
  • 1 ÷ 2 = 0, resto 1
Lendo os restos de baixo para cima: 110.

Passo 4

Vamos implementar isso em uma função recursiva. Vou usar Python para ilustrar, mas o conceito é válido para outras linguagens também.
  1. Função recebe um número inteiro n.
  2. Se n for menor que 2, simplesmente imprime n (já que 0 e 1 são os próprios valores binários).
  3. Caso contrário, a função chama a si mesma com o valor de n dividido por 2 (usando divisão inteira) e depois imprime o resto da divisão de n por 2.
Isso vai garantir que os restos sejam impressos na ordem correta para formar o número binário.

Passo 5

Vamos ver como ficaria o código completo:

Resposta

def imprimir_binario(n):
    if n < 2:
        print(n, end='')
    else:
        imprimir_binario(n // 2)
        print(n % 2, end='')

# Exemplo de uso:
numero = 6
print(f"O número {numero} em binário é: ", end='')
imprimir_binario(numero)
# Saída: O número 6 em binário é: 110

Exercícios relacionados

Faça uma função que receba uma string como parâmetro e retorne o número de caracteres dessa string (sem utilizar a função strlen(), você irá implementar uma função que faz o mesmo que a função strlen()).
Ler uma matriz e transformá-la em uma matriz triangular inferior, atribuindo zero a todos os elementos acima da diagonal principal (ou seja, dada uma matriz A, para qualquer ). Imprimir a matriz no final.
1
Ler uma matriz de números inteiros com posições. Ler mais um número inteiro . Buscar o número na matriz e imprimir todas as posições em que ele foi encontrado. Caso o número não seja encontrado, imprimir a mensagem
Ler uma matriz , contar e escrever quantos valores maiores que 10 ela possui.