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

Projete um algoritmo recursivo em pseudocódigo que, dada uma matriz m×n com valores 0 e 1, retorne o tamanho…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF09CO02

Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo recursivo em pseudocódigo que, dada uma matriz m×n com valores 0 e 1, retorne o tamanho da maior região conectada de 1s considerando conectividade em quatro direções. Justifique a escolha da estrutura de dados e como o algoritmo evita visitar a mesma célula várias vezes.

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

Resposta esperada

Resposta modelo (pseudocódigo): funcao maiorIlha(mat): maximo = 0 para i de 0 ate m-1: para j de 0 ate n-1: se mat[i][j] == 1 entao: tamanho = dfs(i,j) se tamanho > maximo entao maximo = tamanho retorne maximo funcao dfs(i,j): se i<0 ou i>=m ou j<0 ou j>=n ou mat[i][j]==0 entao retorne 0 mat[i][j] = 0 // marca visitado in-place cont = 1 cont += dfs(i+1,j) cont += dfs(i-1,j) cont += dfs(i,j+1) cont += dfs(i,j-1) retorne cont Justificativa da estrutura: usa-se a própria matriz como estrutura primária (acesso O(1) por índice) e marcação in-place para evitar um vetor adicional de 'visitados', reduzindo uso extra de memória. A recursão (DFS) é natural para explorar regiões conectadas; complexidade O(m·n) no pior caso e espaço de pilha O(m·n) no pior caso de região grande.

Explicação

O algoritmo utiliza uma abordagem recursiva para explorar cada célula da matriz, contando o tamanho das regiões conectadas de 1s. A marcação in-place evita a necessidade de uma estrutura adicional para rastrear células visitadas, economizando memória. A complexidade O(m·n) garante eficiência ao percorrer toda a matriz, enquanto a recursão permite uma exploração completa das conexões.

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

algoritmo recursivo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos recursivos · estruturas de dados

📚 Reveja

Revisar conceitos de recursão e estruturas de dados para algoritmos.

⚠️ Erro mais comum

O aluno pode confundir a lógica de recursão com iteração, resultando em um algoritmo que não explora corretamente todas as regiões conectadas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Projetos com 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.