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

Proponha um algoritmo em pseudocódigo que, dada uma lista A de n inteiros e um inteiro k>0, determine o…

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

Proponha um algoritmo em pseudocódigo que, dada uma lista A de n inteiros e um inteiro k>0, determine o comprimento do maior subvetor contíguo cuja soma é múltipla de k. Use laços (repetições) aninhados e explique como as variáveis de controle são inicializadas e atualizadas durante a execução.

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

Resposta esperada

Pseudocódigo (solução ingênua com laços aninhados): algoritmo MaiorSubvetorMultiplo(A[1..n], k) max_len <- 0 for i de 1 até n faça soma <- 0 // reinicia soma para cada novo início i for j de i até n faça soma <- soma + A[j] se (soma mod k = 0) e ((j - i + 1) > max_len) então max_len <- j - i + 1 fimse fimfor fimfor retorne max_len fimalgoritmo Inicializações e atualizações: max_len começa em 0 e guarda o maior comprimento encontrado; para cada i a variável soma é zerada e acumulada no laço interno; j varia até o fim do vetor, e a condição soma mod k = 0 verifica múltiplos de k. Complexidade temporal: O(n^2). Espaço extra: O(1).

Explicação

O algoritmo proposto utiliza laços aninhados para explorar todos os subvetores contíguos da lista, garantindo que cada soma seja verificada quanto à sua divisibilidade por k. A variável max_len é atualizada sempre que um subvetor com soma múltipla de k é encontrado, permitindo rastrear o comprimento máximo. A abordagem tem complexidade O(n^2), o que é aceitável para listas de tamanho moderado, e utiliza espaço extra constante, já que apenas algumas variáveis são necessárias.

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 em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

laços aninhados em programação · soma de elementos de um vetor

📚 Reveja

Revisar conceitos de subvetores e soma de inteiros.

⚠️ Erro mais comum

O aluno pode confundir a lógica de controle dos laços, resultando em um algoritmo que não percorre corretamente todos os subvetores.

🌎 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.