Considere a seguinte tarefa de programação: "Dado um número inteiro positivo n como entrada, crie um laço while que utilize aritmética para armazenar a frequência de cada dígito presente em n em um dicionário frequency_map. O número de entrada n será fornecido como um tipo de dado numérico, não como uma string. Para cada iteração do laço, você deve atualizar frequency_map antes de reduzir n." Arraste os passos do pseudocódigo abaixo para organizá-los na ordem correta e criar uma solução válida para a tarefa acima.

Questão

Considere a seguinte tarefa de programação:

"Dado um número inteiro positivo n como entrada, crie um laço while que utilize aritmética para armazenar a frequência de cada dígito presente em n em um dicionário frequency_map. O número de entrada n será fornecido como um tipo de dado numérico, não como uma string. Para cada iteração do laço, você deve atualizar frequency_map antes de reduzir n."

Arraste os passos do pseudocódigo abaixo para organizá-los na ordem correta e criar uma solução válida para a tarefa acima.

Alternativas

dígito = n mod 10

95%

se o dígito não estiver nas chaves do mapa de frequência

n = parte inteira de (n / 10)

caso contrário, adicione 1 ao valor do dígito em frequency_map.

enquanto n for maior que 0

Inicialize um dicionário vazio frequency_map

Adicionar dígito ao mapa de frequência com um valor inicial de 1

Explicação

Precisamos montar um laço while que conte a frequência de cada dígito de nn usando apenas operações aritméticas (sem converter para string).

Passo a passo lógico:

  1. Primeiro, criamos a estrutura que vai armazenar as contagens: um dicionário vazio frequency_map.
  2. Enquanto ainda houver dígitos para processar (isto é, enquanto n>0n > 0), repetimos.
  3. Em cada repetição, extraímos o último dígito com módulo 10: dıˊgito=nmod10\text{dígito} = n \bmod 10.
  4. Antes de reduzir nn, atualizamos o dicionário:
    • Se o dígito ainda não existe como chave, inserimos com valor inicial 1.
    • Caso já exista, incrementamos em 1.
  5. Só então removemos o último dígito de nn fazendo divisão inteira por 10: n=n/10n = \lfloor n/10 \rfloor.

Essa ordem garante a condição do enunciado: atualizar frequency_map antes de reduzir n.

Alternativa correta: (f).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.