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

Escreva em pseudocódigo um algoritmo que, dada uma matriz M com m linhas e n colunas e um inteiro x, conte…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO02

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

Escreva em pseudocódigo um algoritmo que, dada uma matriz M com m linhas e n colunas e um inteiro x, conte quantas vezes x aparece em M usando loops aninhados e uma variável contador. Explique por que o algoritmo está correto, indique sua complexidade temporal em função de m e n e descreva como modificá-lo para interromper a busca assim que o contador atingir um limiar k.

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

Resposta esperada

Pseudocódigo (versão completa): contador := 0 para i de 1 até m faça para j de 1 até n faça se M[i][j] = x então contador := contador + 1 fim se fim para fim para retornar contador Correção: os loops aninhados visitam cada célula M[i][j] exatamente uma vez; portanto, incrementar contador ao encontrar M[i][j] = x contabiliza todas as ocorrências. Complexidade: no pior caso são verificadas m·n células, logo tempo O(m·n). Modificação para interrupção ao atingir k: contador := 0 para i de 1 até m faça para j de 1 até n faça se M[i][j] = x então contador := contador + 1 se contador >= k então retornar contador fim se fim se fim para fim para retornar contador Comentário sobre modificação: a alteração permite saída antecipada reduzindo o tempo médio quando k é pequeno; entretanto, no pior caso (quando ocorrem menos que k ocorrências) a complexidade continua O(m·n).

Explicação

O algoritmo percorre cada elemento da matriz uma única vez, garantindo que todas as ocorrências do número x sejam contadas. A complexidade O(m·n) reflete o fato de que, no pior cenário, todas as células precisam ser verificadas. A modificação para interromper a busca ao atingir o contador k otimiza o processo sem alterar a complexidade no pior caso.

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

contagem em matriz

📌 Objetivo

avaliacao

🧱 Pré-requisitos

loops aninhados · variáveis e contadores

📚 Reveja

Revisar conceitos de loops aninhados e complexidade algorítmica.

⚠️ Erro mais comum

O aluno pode esquecer de inicializar o contador antes de começar a contagem, resultando em um valor incorreto.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programaçã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

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.