Em um algoritmo que analisa a força de uma senha contando ocorrências de cada caractere, que tipo de variável…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que analisa a força de uma senha contando ocorrências de cada caractere, que tipo de variável é mais adequada para associar cada caractere ao seu número de ocorrências?
- A) Lista encadeada que armazena apenas caracteres únicos.
- B) Matriz bidimensional com posições para cada caractere e sua contagem.
- C) Array com um contador global para todas as ocorrências.
- D) Dicionário (mapa) que associa cada caractere a um contador inteiro.
- E) Conjunto que guarda caracteres sem repetição.
✅ Resposta correta: alternativa D
Resolução passo a passo
- O problema pede associar cada caractere ao seu número de ocorrências, ou seja, uma relação chave-valor, em que a chave é o caractere e o valor é um contador inteiro.
- Estruturas do tipo dicionário (ou mapa, map em C++, HashMap em Java, dict em Python) são feitas exatamente para isso: associam uma chave a um valor, permitindo consultar e incrementar a contagem de cada caractere de forma direta.
- Por que as outras estão erradas:
- A) Uma lista encadeada guarda apenas caracteres únicos, sem associar a eles um número de ocorrências, e a busca nela é lenta.
- B) Uma matriz bidimensional exigiria definir posições fixas para cada caractere e não é a forma natural de associar chaves arbitrárias a valores.
- C) Um contador global soma todas as ocorrências juntas e não separa a contagem de cada caractere.
- E) Um conjunto guarda apenas a presença ou ausência de caracteres, sem armazenar quantas vezes cada um aparece.
- Conclusão: a estrutura mais adequada é o dicionário (mapa) que associa cada caractere a um contador inteiro, alternativa D, que coincide com o gabarito oficial.
💡 Dica: Considere as estruturas de dados adequadas para contagem.
Alternativa por alternativa
O aluno acredita que a lista encadeada, por ser uma estrutura dinâmica, serve para guardar caracteres e suas contagens, sem perceber que ela não associa valores às chaves de forma direta.
O aluno imagina que cada caractere precisa de uma posição fixa em uma matriz e que a contagem pode ser guardada nessa posição, sem considerar que a matriz não é o tipo natural para associação chave-valor com chaves arbitrárias.
Por que engana: Escolher uma estrutura que não permite a associação direta entre caracteres e suas contagens, como uma lista encadeada ou um conjunto.
O aluno lê a frase 'contando ocorrências' como se fosse preciso apenas um contador único para tudo, ignorando que o enunciado pede a contagem separada para cada caractere.
Um dicionário permite mapear diretamente a chave (caractere) para um valor (contador) com acesso e atualização eficientes, facilitando a contagem durante laços de repetição.
O aluno confunde conjunto, que serve para verificar presença ou eliminar repetições, com uma estrutura que também guarda quantidades, esquecendo que o conjunto não armazena contagens.
Raio-X da questão
variáveis em algoritmos
avaliacao
tipos de variáveis em programação · estruturas de dados
Revisar tipos de variáveis e suas aplicações em algoritmos.
Escolher uma estrutura que não permite a associação direta entre caracteres e suas contagens, como uma lista encadeada ou um conjunto.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Em pseudocódigo, ao declarar uma variável chamada 'contador' para acumular o número de ocorrências de um dado, qual tipo…
- Qual a melhor forma de implementar um algoritmo que conta quantas vezes uma letra aparece em uma palavra?
- Em um algoritmo que valida uma senha fornecida pelo usuário antes de aplicar um hash, qual tipo de variável é mais…
- Em um algoritmo de autenticação escolar, qual tipo de dado é mais adequado para armazenar a senha ('senha') e por quê?
- Escreva um algoritmo em pseudocódigo que receba uma string de texto e devolva uma tabela (map) com a frequência de cada…
- Em um programa que conta a frequência de palavras em um texto, qual estrutura de dados é mais adequada para associar…
Todas as questões de Organização e representação da informação
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
