Defina a assinatura (nome e parâmetros) de um algoritmo que recebe uma coleção de números e uma variável n…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Defina a assinatura (nome e parâmetros) de um algoritmo que recebe uma coleção de números e uma variável n (parâmetro) e retorna a soma dos primeiros n elementos. Use termo 'variável' e 'parâmetro' no enunciado.
- A) function soma(lista: Lista<numero>, n: decimal) -> numero
- B) function soma(lista: Lista<numero>, n: boolean) -> numero
- C) function soma(lista: Lista<string>, n: inteiro) -> numero
- D) function soma(lista: Lista<numero>, n: inteiro) -> numero
- E) function somaElementos(n: inteiro) -> numero
✅ Resposta correta: alternativa D
Resolução passo a passo
- Identifique o que a assinatura precisa conter. O algoritmo recebe uma coleção de números (a lista), um parâmetro n que indica quantos elementos somar, e deve retornar um número, que é a soma. Logo, a assinatura precisa de dois parâmetros: uma lista de números e um valor inteiro n.
- Analise o tipo do parâmetro n. Como n representa uma quantidade de elementos (os primeiros n), ele deve ser um inteiro. Não faz sentido contar 2,5 elementos nem usar um valor lógico como quantidade.
- Analise o tipo da coleção. Como o enunciado fala em coleção de números, o tipo deve ser Lista<numero>, e não Lista<string>.
- Verifique se a assinatura tem a forma pedida. A alternativa D declara function soma(lista: Lista<numero>, n: inteiro) -> numero, que atende a todos os requisitos: recebe a coleção de números, recebe n como inteiro e retorna um número.
- Por que as outras estão erradas. A usa n decimal, o que não faz sentido para uma quantidade de elementos. B usa n boolean, que não representa uma quantidade. C usa Lista<string>, mas o enunciado pede uma coleção de números. E não recebe a coleção de números, que é indispensável para calcular a soma.
- Conclusão. A alternativa correta é a D, que coincide com o gabarito oficial.
💡 Dica: Identifique os parâmetros e a operação de soma.
Alternativa por alternativa
O aluno acha que o parâmetro n pode ser qualquer valor real, sem perceber que n representa uma contagem de elementos e, portanto, precisa ser inteiro.
O aluno trata n como uma condição ou flag (verdadeiro ou falso) em vez de uma quantidade, confundindo o papel do parâmetro.
Por que engana: Confundir o tipo de dado do parâmetro n, utilizando um tipo inadequado como boolean ou string em vez de inteiro.
O aluno lê mal o enunciado e declara a lista como coleção de strings, ignorando que a coleção deve conter números.
A assinatura indica claramente a entrada (lista, parâmetro n) e a saída (número), permitindo reutilizar a função para qualquer instância ajustando o parâmetro n.
O aluno esquece que a soma depende da coleção de números e declara apenas o parâmetro n, o que deixaria a função sem os dados a somar.
Raio-X da questão
assinatura de algoritmo
fixacao
assinatura de algoritmo · tipos de dados
Revisar como definir assinaturas de algoritmos e o uso de parâmetros.
Confundir o tipo de dado do parâmetro n, utilizando um tipo inadequado como boolean ou string em vez de inteiro.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Escreva um algoritmo que receba uma lista de números e retorne a soma de todos os elementos. Exponha o passo a passo da…
- Explique como funciona um algoritmo que utiliza repetição simples para calcular a soma de números consecutivos de 1 a n…
- Descreva como seria um algoritmo que, utilizando recursão, calcula a soma dos números de 1 a n. Detalhe as etapas e como…
- Indique a estrutura genérica (assinatura) de um algoritmo que recebe leituras de sensores em coleções de tamanhos…
- Elabore um algoritmo em pseudocódigo para somar todos os números de uma lista de inteiros.
- Considere um problema em que você deve calcular a soma de múltiplos números. Como você poderia criar um algoritmo que…
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
