Crie um algoritmo que leia um número (com qualquer número de dígitos) em uma base numérica de ordem < 10 e calcule o número correspondente na base decimal. O número da ordem da base (e.g., 2 para binária, 3 para ternária, 8 para octal, etc.) deve também ser informado pelo usuário.

Passo 1

Vamos entender o que a questão está pedindo. Precisamos criar um algoritmo que receba um número em qualquer base menor que 10 (como binário, ternário, octal, etc.) e converta esse número para a base decimal. Para isso, vamos precisar conhecer o sistema de numeração posicional e como cada dígito contribui para o valor total na base decimal.

Passo 2

Primeiro, precisamos saber qual é a base do número que vamos converter. Por exemplo, se a base for 2 (binária), 3 (ternária), 8 (octal), etc. Além disso, o número pode ter qualquer quantidade de dígitos.

Passo 3

A teoria por trás da conversão de uma base para decimal envolve multiplicar cada dígito do número pela base elevada à posição do dígito, começando da direita com posição 0. A soma desses valores dará o número equivalente na base decimal.
A fórmula geral para converter um número Ndecimal = dn times b^n + dn-1 times b^n-1 + dots + d1 times b^1 + d0 times b^0 de base para decimal é:
Onde são os dígitos do número na base original.

Passo 4

Vamos criar o algoritmo passo a passo:
  1. Entrada de Dados:
    • Solicitar ao usuário que insira o número a ser convertido.
    • Solicitar ao usuário que informe a base do número.
  2. Processamento:
    • Inicializar uma variável para armazenar o resultado decimal, começando com 0.
    • Percorrer cada dígito do número, começando da direita (posição 0).
    • Para cada dígito, converter o caractere para um número inteiro.
    • Multiplicar o dígito pela base elevada à posição atual.
    • Somar o resultado à variável do resultado decimal.
  3. Saída:
    • Mostrar o número convertido na base decimal.

Passo 5

Vamos exemplificar com um número específico. Suponha que o usuário insira o número “213” na base 4.
Aplicando a fórmula:
2134 = 2 times 4^2 + 1 times 4^1 + 3 times 4^0 = 2 times 16 + 1 times 4 + 3 times 1 = 32 + 4 + 3 = 3910

Resposta

O número “213” na base 4 corresponde a 39 na base decimal.

Exercícios relacionados