Olá, Marcelo!
Entendo a sua preocupação com a possibilidade de um loop infinito. Vamos analisar a situação: a alternativa correta sugere implementar um loop que percorra a lista de produtos, ajustando os preços conforme as regras estabelecidas.
A chave para evitar um loop infinito é garantir que, a cada iteração, o preço de um produto seja ajustado para que ele não precise ser ajustado novamente em uma próxima iteração. No seu caso, a lógica é a seguinte:
- Se o preço do produto já for maior ou igual a R$ 10.000,00, ele é mantido nesse valor e não precisa de mais ajustes.
- Se o preço for menor que R$ 10.000,00, ele é aumentado em 5%. Caso esse aumento faça o preço ultrapassar R$ 10.000,00, ele é ajustado para exatamente R$ 10.000,00.
Com essa lógica, cada produto será ajustado apenas uma vez. Assim, o loop não se tornará infinito porque, em cada iteração, o número de produtos que ainda precisam de ajuste diminui até que todos os preços estejam ajustados conforme as regras.
Por exemplo, suponha que temos um produto com preço de R$ 9.500,00. Ele será aumentado em 5%, resultando em R$ 9.975,00. Como não ultrapassou R$ 10.000,00, o preço final será R$ 9.975,00. Em outra situação, se o preço inicial fosse R$ 9.800,00, o aumento de 5% resultaria em R$ 10.290,00, mas o ajuste final o fixaria em R$ 10.000,00.
Espero ter ajudado. Caso tenha alguma dúvida, conte com nosso apoio!
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado