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.
Exercícios relacionados
Crie um algoritmo de caixa eletrônico que lê a quantidade de dinheiro a ser sacado e imprime a menor quantidade de notas a ser dada ao usuário. A sua máquina de saque eletrônico é carregada com 1.000 (mil) notas de 100, 50, 20, 10, 5 e 1 cada. Imprimir também a quantidade de cada nota a ser dada ao usuário. Lembre-se que você tem uma quantidade finita de cada tipo de nota. O final da leitura é marcado pelo valor 0 que não deve ser calculado.
Exemplo: 98 = uma nota de 50, duas notas de 20, uma nota de 5, e três notas de 1.
Perceba que a cada saque há uma quantidade menor de cada tipo de notas.
Outra situação é quando não é possível sacar o dinheiro com a quantidade de notas existentes. Neste caso, o programa deve cancelar a operação e informar o usuário que não é possível realizar o saque.
Exemplo: 98 = uma nota de 50, duas notas de 20, uma nota de 5, e três notas de 1.
Perceba que a cada saque há uma quantidade menor de cada tipo de notas.
Outra situação é quando não é possível sacar o dinheiro com a quantidade de notas existentes. Neste caso, o programa deve cancelar a operação e informar o usuário que não é possível realizar o saque.
Crie um algoritmo que leia um número N e verifique se ele é primo. O seu programa deve fazer o MíNIMO de interações possíveis.
Jogo de dados. Dois jogadores estão confrontando-se entre si, usando dois dados, numerados de 1 até 6 (dado <random.randint(1,6)). Vence uma rodada quem obtiver o maior número no lançamento. Entretanto, caso um jogador obtiver um lançamento com dois dados iguais (por exemplo, 1 e 1 , 2 e
. ) e o outro jogador não, o jogador que tiver lançado a dupla ganha. Caso os dois jogadores fizerem o lançamento e o resultado for de duas duplas para os dois jogadores, ganha o jogador com a dupla maior. A disputa é em 11 lançamentos. Indique o jogador vencedor ou se houve empate.
Faça um programa que preencha uma matriz
com valores aleatórios e calcule o seu determinante. Uma vez a matriz lida, a parte que faz o cálculo do determinante não se pode ter mais de 4 linhas e não pode haver mais de três células especificadas por linha (em outras palavras, você não pode colocar em uma única linha a fórmula do determinante).