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

Crie e simule um algoritmo em pseudocódigo que, dada uma sequência de tarefas onde cada tarefa tem duas…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO02

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

Crie e simule um algoritmo em pseudocódigo que, dada uma sequência de tarefas onde cada tarefa tem duas variáveis (duracao: inteiro em minutos, prioridade: boolean), selecione tarefas para um dia com limite diarioMax (inteiro). O algoritmo deve usar repetição e seleção condicional para: (a) incluir primeiro tarefas com prioridade=true enquanto houver tempo; (b) em seguida incluir tarefas com prioridade=false até atingir diarioMax; (c) retornar a lista de tarefas selecionadas e o tempo total usado. Explique também como o algoritmo evita exceder diarioMax e o que faz se nenhuma tarefa couber.

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

Resposta esperada

Modelo de resposta (pseudocódigo): algoritmo SelecionarTarefas(tarefas, diarioMax) selecionadas <- [] tempoUsado <- 0 i <- 1 // primeira passagem: prioritar tarefas com priority = true while i <= length(tarefas) do if tarefas[i].priority = true then if tempoUsado + tarefas[i].duracao <= diarioMax then append(selecionadas, tarefas[i]) tempoUsado <- tempoUsado + tarefas[i].duracao end if end if i <- i + 1 end while // segunda passagem: incluir não-prioritárias se houver espaço i <- 1 while i <= length(tarefas) do if tarefas[i].priority = false then if tempoUsado + tarefas[i].duracao <= diarioMax then append(selecionadas, tarefas[i]) tempoUsado <- tempoUsado + tarefas[i].duracao end if end if i <- i + 1 end while // resultado retornar (selecionadas, tempoUsado) end algoritmo Como evita exceder diarioMax: antes de incluir cada tarefa verifica-se a condição tempoUsado + duracao <= diarioMax; se falsa, a tarefa é ignorada. Se nenhuma tarefa couber (por exemplo, todas têm duracao > diarioMax), a lista selecionadas permanece vazia e tempoUsado = 0; o algoritmo retorna essa informação, permitindo tratamento posterior (mensagem ao usuário ou ajuste do diarioMax).

Explicação

O algoritmo é eficaz porque prioriza tarefas com alta prioridade antes de considerar as de baixa prioridade, garantindo que o tempo disponível seja utilizado da melhor forma possível. A verificação da condição de tempo antes de adicionar uma tarefa evita que o limite diário seja ultrapassado. Além disso, ao retornar uma lista vazia quando nenhuma tarefa cabe, o algoritmo permite que o usuário saiba que ajustes são necessários.

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

estrutura de repetição · estrutura de seleção condicional

📚 Reveja

Revisar conceitos de algoritmos, estruturas de repetição e seleção condicional.

⚠️ Erro mais comum

O aluno pode esquecer de implementar a verificação do limite diarioMax, permitindo que o algoritmo selecione mais tarefas do que o permitido.

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