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
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
algoritmo em pseudocódigo
avaliacao
estrutura de repetição · estrutura de seleção condicional
Revisar conceitos de algoritmos, estruturas de repetição e seleção condicional.
O aluno pode esquecer de implementar a verificação do limite diarioMax, permitindo que o algoritmo selecione mais tarefas do que o permitido.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em uma usina, cada estado de uma turbina é registrado com um código de dois bits: | Estado | Código | |---|---| | Parada…
- No controle de um satélite, um gráfico de barras descrito pela equipe registra: com o sistema operacional iniciado, o…
- O clube de jogos da escola vai usar um programa simples para registrar cada participante. Em cada cadastro, a pessoa…
- Na horta da escola, uma estação simples registra a temperatura informada por um sensor. O programa deve mostrar essa…
- Pesquisadores acompanham o funcionamento de um robô que cuida de seis placas solares em uma estação de pesquisa. O robô…
- Por que alguns tablets de um centro cultural aparecem como disponíveis, embora estejam guardados para conserto? Para…
🔎 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
