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
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:
-
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.
-
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.
-
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:
Resposta
O número “213” na base 4 corresponde a 39 na base decimal.