Ivan é programador e trabalhador numa transportadora de carga que só transporta lotes em grupos de 10 kg 100 kg ou uma tonelada ele precisa construir um cronograma que determine rapidamente sem um Danone denominado número e divisível por 10 ou por 100 ou por 1000 como será o fluxograma dos dois informáticos para para entrar na saída desses programa
Soluções para a tarefa
Resposta:
Considerando que as quantidades de cargas sempre serão agrupadas em lotes de 10 kg, 100 kg ou 1000 kg, então não há como as cargas envolverem, por exemplo, números decimais nem com variações nas casas das unidades.
Isso significa que os valores de entrada serão sempre divisíveis por 10, pois o algarismo da unidade é 0. Além disso, devemos escolher convenientemente apenas uma categoria: a maior possível, o que implica dizer que mesmo que 400 kg possam ser agrupados em 40 lotes de 10 kg, escolheremos 4 lotes de 100 kg no lugar.
Nesse sentido, montamos um fluxograma cuja lógica consiste em subtrair do valor de entrada n o maior número constante possível (1000, 100 ou 10 kg) e escolher, com base no valor resultante da subtração, qual é o melhor valor fixo a ser subtraído na próxima iteração.
Seja o exemplo, n = 1510 kg. O primeiro passo para determinar a categoria é subtrair k = 1000 enquanto n for maior que 0. Isso só ocorrerá uma vez, restando 510 kg.
Como a subtração novamente por 1000 resultará em um número negativo n = -490, então a bifurcação escolhida será "NÃO" na decisão n == 0, restituímos a última operação somando 1000 ao negativo (ficando 510 kg) e adicionamos 1 ao valor de c.
Depois disso, transformamos k em 100 (valor de l) e subtraímos pelo novo k até n ficar menor que 0 novamente: n = -10. Quando isso acontecer, o valor de c que antes era 1 agora vai ser 2, ele vai cair na decisão "NÃO" e o k passa a valer 10 (valor de m).
Finalmente, somamos 100 ao valor de -10 ficando 90 e subtraímos de 10 em 10 até 0, momento em que o programa retorna que a categoria final é 10 kg e chega ao fim.