25 setembro 2006

Lógica de programação 4

Como prometido, hoje vamos fazer o nosso primeiro algoritmo. Vamos usar um problema tradicional pra isso: trocar uma lâmpada queimada. Uma primeira tentativa, usando uma linguagem conhecida por aí como Portugol ou português estruturado, poderia ser:

trocar lâmpada queimada
Simples, não? Pois é, mas os computadores são burros e não sabem o que significa trocar, nem o que seria uma lâmpada e muito menos qual a diferença entre uma lâmpada queimada e uma lâmpada boa. Vamos tentar explicar então, o que seria trocar uma lâmpada:
remover lâmpada queimada
colocar lâmpada boa
Agora está melhor. Mas e se a lâmpada estiver num lugar muito alto e você não alcançar a tal lâmpada? Nesse caso, podemos nos valer de um artifício técnico conhecido como escada. Se você subir na escada, alcança a lâmpada (espero). Vamos lá:
por escada em baixo da lâmpada
subir na escada
remover lâmpada queimada
colocar lâmpada boa
descer da escada
guardar escada
Ótimo, podemos ir pra casa. Mas peraí: isso de carregar escada pra lá e pra cá dá muito trabalho, e nós programadores somos preguiçosos. Vou até criar um fato para isso:
Fato 3: Os programadores são preguiçosos.
Não se assuste com a aparente negatividade desse fato. Os programadores são preguiçosos, mas no bom sentido: o que eles querem é poupar trabalho, tanto para eles quanto para os computadores. Trabalho humano poupado é igual a mais tempo para tomar cerveja (ou qualquer outro líquido que você costume consumir). Trabalho computacional poupado é igual a menos custos, o que algumas vezes significa mais dinheiro para os trabalhadores humanos.

É claro que os programadores usam de esperteza para poupar trabalho, em vez de realmente serem preguiçosos e simplesmente entregar uma caixa de papelão com luzinhas para o cliente (às vezes isso causava a perda de algumas vidas inocentes, e nem sempre existia um estagiário à mão para ser entregue à guilhotina). O método esperto que nós vamos usar nesse caso, conhecido como condicional, costuma poupar trabalho para os computadores, mas às vezes também poupa trabalho humano (mais sobre esses usos no futuro). Veja só:
se lâmpada muito alta então
por escada em baixo da lâmpada
subir na escada
remover lâmpada queimada
colocar lâmpada boa
descer da escada
guardar escada
senão
remover lâmpada queimada
colocar lâmpada boa
fim se
Agora sim: se a lâmpada for muito alta, fazemos todos aqueles passos que incluem pegar e guardar a escada. Por outro lado, se não precisarmos da escada nós poupamos trabalho e só trocamos a infeliz da lâmpada. No próximo post vamos ver como criar condicionais para outras coisas.

Nenhum comentário: