Para somar todas as vagas de uma matriz de registros 'turmas' (linhas = salas, colunas = períodos) que possui…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Para somar todas as vagas de uma matriz de registros 'turmas' (linhas = salas, colunas = períodos) que possui o campo 'vagas', qual combinação de variável e estrutura de controle é adequada?
- A) Utilizar uma lista para armazenar as vagas
- B) Usar variáveis separadas para cada período
- C) Somar manualmente cada célula
- D) Usar uma variável acumuladora e dois laços aninhados (linhas e colunas).
- E) Usar apenas um laço para somar
✅ Resposta correta: alternativa D
Resolução passo a passo
- Identifique a estrutura de dados. Uma matriz de registros 'turmas' tem linhas (salas) e colunas (períodos), e cada célula é um registro que possui o campo 'vagas'. Para somar todas as vagas, é preciso visitar cada célula exatamente uma vez. Passo 2: Escolha a variável adequada. Uma variável acumuladora, inicializada com zero, guarda a soma parcial e recebe, a cada visita, o valor do campo 'vagas' da célula atual. Passo 3: Escolha a estrutura de controle adequada. Como a matriz tem duas dimensões, são necessários dois laços aninhados: o externo percorre as linhas (salas) e o interno percorre as colunas (períodos) de cada linha. Passo 4: Combine os elementos. Dentro do laço interno, a instrução acumuladora = acumuladora + turmas[i][j].vagas soma cada célula, e ao final do processo o acumulador contém o total de vagas. Passo 5: Verifique as demais alternativas. A) Uma lista armazena os valores, mas não os soma; é preciso ainda um processo de acumulação. B) Variáveis separadas para cada período não funcionam, pois o número de períodos pode mudar e a solução não generaliza para toda a matriz. C) Somar manualmente cada célula não é um procedimento algorítmico, é inviável para matrizes grandes e não define uma estrutura de controle. E) Um único laço não percorre as duas dimensões da matriz, a menos que a matriz seja primeiro transformada em uma estrutura linear, o que não está indicado na alternativa. Conclusão: a alternativa D é a correta e coincide com o gabarito oficial.
💡 Dica: Considere as estruturas de repetição e variáveis adequadas para a soma.
Alternativa por alternativa
O aluno acredita que armazenar os valores em uma lista já resolve o problema de somá-los, confundindo armazenamento com processamento.
O aluno pensa que criar uma variável para cada período permite somar, mas isso fixa a solução ao número atual de colunas e não generaliza para a matriz inteira.
O aluno usa a intuição do dia a dia, em que somar é feito manualmente, sem considerar que um algoritmo deve ser geral, repetível e aplicável a matrizes de qualquer tamanho.
Por que engana: O aluno pode confundir a necessidade de usar laços aninhados com a ideia de somar manualmente cada célula, optando por uma abordagem menos eficiente.
Um acumulador guarda a soma parcial enquanto laços aninhados percorrem todas as células da matriz, garantindo que todas as entradas 'vagas' sejam agregadas.
O aluno supõe que um único laço basta para percorrer toda a matriz, sem perceber que uma matriz tem duas dimensões e que cada célula precisa ser acessada por linha e coluna.
Raio-X da questão
matriz e controle de fluxo
avaliacao
estrutura de controle · matriz
Revisar como manipular matrizes e estruturas de controle em programação.
O aluno pode confundir a necessidade de usar laços aninhados com a ideia de somar manualmente cada célula, optando por uma abordagem menos eficiente.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Ao escrever um algoritmo que soma todos os valores em uma matriz 5x5 de inteiros, qual estrutura de controle é mais…
- Em um algoritmo que percorre uma matriz de registros 'estoque' com m linhas e n colunas para somar o campo 'quantidade'…
- Descreva, em pseudocódigo, um algoritmo que utilize uma matriz de registros 'turma' (linhas = fileiras, colunas =…
- Crie um algoritmo em pseudocódigo que, dada uma matriz em que cada linha é um registro de aula com campos: disciplina…
- Descreva em pseudocódigo um algoritmo que, dada uma matriz 'votos' onde cada linha é um registro [urnaID, candidato]…
- Ao programar, como você poderia usar uma matriz para organizar dados de alunos em uma turma?
🔎 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
