Projete a assinatura de um algoritmo que calcula o desvio padrão de uma coleção de dados numéricos e aceite…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar os recursos ou insumos necessários (entradas) para a resolução de problemas, bem como os resultados esperados (saídas), determinando os respectivos tipos de dados, e estabelecendo a definição de problema como uma relação entre entrada e saída.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete a assinatura de um algoritmo que calcula o desvio padrão de uma coleção de dados numéricos e aceite uma variável parâmetro que indica se o cálculo é para 'amostra' ou 'população'. Indique nomes e tipos das entradas e da saída.
- A) stdDev(dados: List<real>, amostra: List<boolean>) -> real
- B) stdDev(dados: List<real>, amostra: boolean) -> real
- C) stdDev(dados: List<real>, amostra: int) -> real
- D) stdDev(dados: List<string>, amostra: boolean) -> string
- E) stdDev(dados: Map<string, real>, amostra: boolean) -> real
✅ Resposta correta: alternativa B
Resolução passo a passo
- A questão pede a assinatura de uma função que calcula o desvio padrão de dados numéricos e recebe um parâmetro que indica se o cálculo é de amostra ou de população. Passo 2: A entrada de dados precisa ser uma coleção de números reais, logo List<real>. Passo 3: O parâmetro que indica o tipo de cálculo é uma opção binária (amostra ou população), o que pede o tipo boolean (verdadeiro para amostra, falso para população). Passo 4: O desvio padrão é um número, então a saída é real. Passo 5: Juntando as partes, a assinatura correta é stdDev(dados: List<real>, amostra: boolean) -> real, que é a alternativa B. Passo 6: A alternativa A está errada porque transforma o parâmetro de modo em uma lista de booleanos, quando ele deve ser um único valor. Passo 7: A alternativa C está errada porque usa int para uma escolha binária, o que é menos adequado do que boolean. Passo 8: A alternativa D está errada porque usa List<string>, e o desvio padrão exige dados numéricos, além de retornar string em vez de real. Passo 9: A alternativa E está errada porque usa Map<string, real>, uma estrutura de chave e valor que não é pedida, já que a questão fala apenas em uma coleção de dados numéricos. Passo 10: O gabarito oficial B está correto.
💡 Dica: Defina claramente os tipos de dados e a lógica do algoritmo.
Alternativa por alternativa
O aluno entendeu que o parâmetro de modo precisa ser uma coleção, achando que a flag deve ser uma lista de booleanos como os dados são uma lista de reais.
Por que engana: Confundir o tipo do parâmetro 'amostra', utilizando uma lista em vez de um booleano, o que gera um erro de tipo na assinatura da função.
A variável booleana 'amostra' permite escolher entre divisão por (n-1) ou por n; entrada é lista numérica e saída é um valor real.
O aluno acha que uma opção binária pode ser representada por um inteiro (como 0 e 1) e não percebe que boolean expressa exatamente a escolha entre dois estados.
O aluno leu mal o enunciado e tratou os dados como textos, quando a questão fala em dados numéricos, e também fez a saída ser string em vez de número.
O aluno acha que, por a coleção ter valores numéricos, ela deve ser organizada em um mapa com rótulos textuais, sem perceber que a questão pede apenas uma sequência de números.
Raio-X da questão
desvio padrão
avaliacao
tipos de dados em programação · funções e parâmetros
Revisar a definição e cálculo do desvio padrão.
Confundir o tipo do parâmetro 'amostra', utilizando uma lista em vez de um booleano, o que gera um erro de tipo na assinatura da função.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Indique a estrutura genérica (assinatura) de um algoritmo que recebe leituras de sensores em coleções de tamanhos…
- Projete um algoritmo em pseudocódigo que receba uma lista de leituras numéricas (dados) e identifique leituras anômalas…
- Escreva um algoritmo em pseudocódigo que leia uma sequência de dados numéricos de sensores, calcule a média e o desvio…
- Projete um algoritmo generalizado que receba uma coleção de registros de alunos com notas em várias disciplinas e…
- Projete a assinatura de um algoritmo generalizado chamado normalizar que aplica min–max scaling a um conjunto de…
- Elabore um algoritmo em pseudocódigo que, dado um vetor de leituras de temperatura (números), calcule a média e…
Todas as questões de Estratégias de solução de problemas - Generalizaçã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
