Em uma estufa, um programa analisa a umidade de cinco canteiros, na ordem indicada, e aciona a irrigação…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em uma estufa, um programa analisa a umidade de cinco canteiros, na ordem indicada, e aciona a irrigação quando a leitura é menor que 30%. Observe o esquema: as leituras são 22%, 35%, 27%, 18% e 30%. O programa atual usa: `i <- 0; enquanto i < 5: se leituras[i] < 30 então irrigar(i + 1); i <- i + 2`. A numeração dos canteiros começa em 1, mas os índices da lista começam em 0. Explique como o incremento de `i` causa uma decisão incorreta no programa e escreva uma versão corrigida que avalie todos os canteiros. Indique quais canteiros serão irrigados e justifique o resultado, incluindo o caso da leitura de 30%.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Como `i` aumenta de 2 em 2, o programa avalia apenas os índices 0, 2 e 4 e deixa de verificar os canteiros 2 e 4; assim, não detecta que o canteiro 4 precisa de irrigação. Uma correção é: `i <- 0; enquanto i < 5: se leituras[i] < 30 então irrigar(i + 1); i <- i + 1`. Com essa versão, serão irrigados os canteiros 1, 3 e 4, cujas leituras são 22%, 27% e 18%. O canteiro 5 não será irrigado, pois 30% não é menor que 30%.
Explicação
O incremento de 2 faz o índice saltar uma posição a cada repetição, portanto algumas leituras não são examinadas. Incrementá-lo de 1 garante que todos os índices de 0 a 4 sejam verificados; a condição estrita `< 30` exclui a leitura igual a 30%.
Raio-X da questão
Iteração em lista com índice e condição.
Identificar um erro
Índices de listas iniciados em zero. · Condições relacionais e execução sequencial de código.
Laços while, incremento e comparação estrita.
Manter i <- i + 2, ignorando índices alternados, ou incluir a leitura de 30% por confundir < com <=.
Sustentabilidade e uso eficiente da água.
Atenção aos detalhes e revisão sistemática.
Automação de irrigaç
Questões parecidas com resolução
- Um sistema de uma estufa analisa cinco leituras de umidade do solo: 19, 22, 24, 27 e 20. O algoritmo conta as leituras…
- Projete e simule um algoritmo em pseudocódigo para controlar a irrigação de uma pequena horta usando leituras periódicas…
- Um sistema de irrigação segue o esquema: leia a umidade do solo; se umidade < 30, ligue a água; caso contrário…
- Na horta da escola, um painel deve avisar enquanto a umidade do solo estiver abaixo de 50. O programa usado no painel é…
- Projete um algoritmo (em linguagem oral ou escrita) que controle a irrigação de um vaso: verificar a umidade do solo…
- Descrição: fluxograma de um algoritmo que rega plantas usando sensor de umidade. Proponha uma decomposição em pelo menos…
Todas as questões de Programação - Programação com listas e recursã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
