Mostrando postagens com marcador condicional. Mostrar todas as postagens
Mostrando postagens com marcador condicional. Mostrar todas as postagens

27 setembro 2006

Lógica de programação 5

Se você prestou atenção no condicional do último post, viu que eu destaquei algumas das palavras do código da troca da lâmpada. Aquelas são palavras com significado especial na nossa linguagem de programação. Todas as linguagens de programação têm palavras especiais, conhecidas como palavras reservadas, que indicam ao computador o que tem que ser feito. Essas palavras têm que ser colocadas numa ordem definida para que o computador possa entendê-las: é a sintaxe da linguagem, o formato em que o texto deve aparecer. Elas são reservadas porque são usadas pela linguagem: você não pode usá-las para outras coisas porque isso confunde o computador. Essa é a sintaxe do condicional, sem e com senão, respectivamente:

se condição então
ações (se a condição for verdadeira)
fim se

se condição então
ações (se a condição for verdadeira)
senão
ações (se a condição for falsa)
fim se
É bom lembrar que as ações são executadas apenas se a condição for verdadeira quando o computador estiver testando o condicional. O computador vai executando um comando depois do outro, na ordem em que foram escritos: se depois que o computador já tiver passado pelo condicional a condição se tornar verdadeira, isso não influi em nada nesse ponto do código — o computador não retorna a esse condicional só porque a condição mudou.

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.