GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO01Difícil⏱ longo

Projete em pseudocódigo um algoritmo que recebe uma matriz de registros 'estoque' (linhas = armazéns, colunas…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF07CO01

Criar soluções de problemas para os quais seja adequado o uso de registros e matrizes unidimensionais para descrever suas informações e automatizá-las usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete em pseudocódigo um algoritmo que recebe uma matriz de registros 'estoque' (linhas = armazéns, colunas = produtos) com campos 'produtoId' e 'quantidade' e retorna a lista de produtoIds cujo total agregado entre todos os armazéns é menor que um limiar 'minimo'. Explique as variáveis e o fluxo de controle.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Algoritmo (pseudocódigo): 1. função produtosAbaixoMinimo(estoque, minimo): 2. totals ? mapa vazio // chave: produtoId, valor: soma das quantidades 3. linhas ? número de linhas de estoque 4. colunas ? número de colunas de estoque 5. para i de 0 até linhas-1: 6. para j de 0 até colunas-1: 7. id ? estoque[i][j].produtoId 8. q ? estoque[i][j].quantidade 9. se id não em totals então totals[id] ? 0 10. totals[id] ? totals[id] + q 11. resultado ? lista vazia 12. para cada id em totals: 13. se totals[id] < minimo então adicionar id a resultado 14. retornar resultado Variáveis: totals (mapa de agregação), i/j (iteradores de linha/coluna), id/q (valores do registro), resultado (lista de saída). Fluxo: dois laços aninhados para agregar por produto, seguido de um laço sobre o mapa para filtrar pelos que estão abaixo do limiar. Complexidade: O(L*C) para percorrer a matriz (L=linhas, C=colunas) mais O(P) para filtrar (P = número de produtos distintos).

Explicação

O algoritmo utiliza um mapa para agregar as quantidades de cada produto, permitindo um acesso eficiente e a soma das quantidades de forma organizada. A estrutura de laços aninhados garante que todos os armazéns e produtos sejam percorridos, enquanto o segundo laço filtra os produtos que não atingem o limiar desejado. Essa abordagem é eficiente em termos de complexidade, pois separa a agregação da filtragem, otimizando o processamento dos dados.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

matriz de registros

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados · pseudocódigo

📚 Reveja

Revisar conceitos de matrizes e pseudocódigo.

⚠️ Erro mais comum

O aluno pode confundir a lógica de iteração e não somar corretamente as quantidades dos produtos em todos os armazéns.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Programação - Programação usando registros e matrizes

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.