Depois de aprendermos o que são expressões lógicas, iremos ver agora como colocá-las em nossos programas. Todas as linguagens de programação têm um ou mais comandos que permitem a um programa tomar caminhos diferentes baseado na avaliação de uma expressão lógica. Esses comandos recebem o nome genérico de comandos de decisão, e nós podemos usá-los também em nossos algoritmos.
Na vida real tomamos decisões a todo momento baseados em uma situação existente. Em programação chamamos esta situação de condição, e as alternativas possíveis de ações. Por exemplo: "Se tiver R$10,00 sobrando irei ao cinema hoje à noite, mas se não tiver ficarei vendo TV em casa". Qual é a condição nesta frase? Fácil, "tiver R$10,00 sobrando". Ela é uma expressão lógica, pois a pergunta "Tenho R$10,00 sobrando?" pode (tem que) ser respondida com "Sim" ou "Não". Lembre-se, então: em um algoritmo, toda condição tem que ser uma expressão lógica. Quais são as ações possíveis? Fácil, mais uma vez; "irei ao cinema" e "ficarei vendo TV em casa". A primeira só será realizada se a resposta à pergunta "Tenho dinheiro suficiente?" for "Sim", enquanto que a segunda será realizada caso a resposta seja "Não". Então, em um algoritmo, as ações são um ou mais comandos que serão realizados, alguns caso a avaliação da condição resulte em Verdadeiro, outros caso ela resulta em Falso.
Vamos colocar agora a frase do parágrafo anterior em outra forma, mais parecida com o que é um programa de computador:
Se "tiver R$10,00 sobrando" então
"irei ao cinema"
senão
"ficarei vendo TV em casa".
Veja que grifamos três palavras: Se então senão. Elas são muito importantes na estrutura dos comandos de decisão. Como próximo passo, vamos generalizar a estrutura que criamos acima:
Se <condição> então
<ações (uma ou mais) a serem realizadas se a condição for verdadeira>
senão
<ações (uma ou mais) a serem realizadas se a condição for falsa>
Para terminar a nossa comparação, devemos lembrar que os comandos do algoritmo são sempre imperativos, e que o computador só lida com quantidades definidas (ou seja, ele não sabe o que é "ter R$10,00 sobrando"). Para aproximar mais nossa frase de um algoritmo, poderemos ter a seguinte forma:
Se Dinheiro >= 10 então
Ir ao Cinema
senão
Ver TV em Casa
Entendeu a transformação? "Dinheiro" faz o papel de uma variável que contém o que eu tenho sobrando no momento, e se valor é maior ou igual a 10, então "tenho R$10,00 sobrando". Por falar nisso, fique sabendo que a técnica (ou arte) de se transformar perguntas do dia-a-dia em quantidades definidas que possam ser colocadas em um programa é a chave de se fazer algoritmos. Não se preocupe, no entanto: é algo fácil e que pode ser aprendido e desenvolvido.
Bom, agora já podemos fazer um programa que ajude nosso amigo...
Problema 4 - O que faço esta noite?
Enunciado
Faça um programa que peça ao usuário a quantia em dinheiro que tem sobrando e sugira, caso ele tenha 10 ou mais reais, que vá ao cinema, e se não tiver, fique em casa vendo TV.
Declare Dinheiro: Numerico
Escreva "Serviço Informatizado de Sugestões"
Escreva "Quanto dinheiro você tem sobrando?"
Leia Dinheiro
Se Dinheiro >= 10 entao
Escreva "Vá ao cinema hoje à noite."
senao
Escreva "Fique em casa vendo TV."
fim se
Escreva "Obrigado e volte sempre."
Em relação ao que vimos até agora, apenas uma novidade: a expressão fim se ao final do comando de decisão. Ela delimita o comando, isto é, mostra onde as ações da parte senão do comando terminam. Imagine o comando sem ela; ficaria assim:
// Exemplo de um trecho de programa INCORRETO
Se Dinheiro >= 10 entao
Escreva "Vá ao cinema hoje à noite."
senao
Escreva "Fique em casa vendo TV."
Escreva "Obrigado e volte sempre."
Neste caso, o computador não saberia se o comando Escreva "Obrigado e volte sempre." faria ou não parte do comando de decisão (a indentação, ou seja, o fato de algumas linhas estarem mais distantes da margem esquerda que as outras, não quer dizer nada para o computador; fazemos isto apenas - e esta é uma dica importante para você - para que o algoritmo fique mais fácil de ler). Assim o fim se é fundamental, e todas as linguagens de programação têm algo que cumpra esta função.
Quer saber como este algoritmo funciona? Clique aqui.
Página Inicial Lição Anterior Próxima Lição