Seguidores

terça-feira, 15 de janeiro de 2013

TOMADA DE DECISÃO #1 - Função IF

Heey! Voltando aqui para explicar para vocês mais uma função. Vamos entrar agora no assunto de tomada de decisão no Pascal. O assunto é abrangente e vou explicar o máximo possível. Então relaxa jovem, da uma pausa na leitura.., vá no armário da cozinha pegue dois pedaços do pão.., vá na geladeira.. corte uma fatia de presunto com queijo.. Prepare aew o seu Misto Quente é vamos aprender.

Hoje galera, iremos aprender a função IF. A função é bem parecida com a função “Se” que é existente no programa do Excel da Microsoft. A ideia dela é a mesma: Estabelecer uma condição onde se ela for verdadeira irá fazer um seguinte procedimento ou se a condição for falsa e irá prevalecer outro procedimento. Todo esse processo é conhecido como Tomada de Decisão.

A tomada de decisão consiste num método de rumo ou escolha que o programa irá tomar. Teoricamente funciona como uma declaração que é feita em forma de pergunta e dependendo da resposta a tomada de decisão é feita e o programa toma o rumo dessa decisão. Ficou difícil? Leva para o seu dia a dia.

Por inúmeras vezes você toma inúmeras decisões. Todas elas dependem muito da resposta que você obtém. Na linguagem de programação funciona da mesma forma. Toda a linguagem tem uma função em forma de decisão. No Pascal é a IF.

Como de já de costume vou mostrar como seria a função IF em fluxograma:



  
Havia dito a função IF de Pascal é muito parecida com a SE     do Excel.     Possuem a mesma ideia, mas tem estruturas diferentes. A estrutura da função se no Excel é dada da seguinte forma:

=SE(Teste_Logico;[Valor_se_Verdadeiro];[Valor_se_Falso])

Sendo que:

Teste_logico é onde você declara que condição quer que se leve em consideração;

Valor_se_Verdadeiro é onde você declara o que o programa (no caso do Excel é a célula) irá proceder se o resultado da condição for verdadeiro.

Valor_se_Falso é onde você declara o que a célula irá proceder se o resultado da condição for não for verdadeira.

Aqueles que já trabalham, vivenciam ou conhecem esta função no Excel não sentirá tanta dificuldade como que funciona a função IF.

É fundamental na tomada de decisão que conhecemos antes alguns fatores, sendo ele um dos cruciais os Operadores relacionais. Que são fatores que relacionam, no caso do IF, uma condição a uma variável ou constante. Lembramos que os operadores relacionais serão frisados mais a frente, em uma postagem futura. Sigam o exemplo da tabela dos operadores relacionais:

Maior que
Menor que
=
Igual a
>=
Maior ou igual
<=
Menor ou igual
<> 
Diferente


Bom agora que sabemos basicamente como a função funciona, vejamos agora o modelo da função IF de Pascal:

IF (condição) then

(A partir dessa linha de programação você da seqüência ao programa caso a
condição seja verdadeira, ou seja, o que o programa ira fazer se a condição
for atendida.)

Else (else é o que separa a condição verdadeira da falsa)

(A partir dessa linha de programação você da seqüência ao programa caso a
condição seja falsa, ou seja, o que o programa ira fazer se a condição
não for atendida.)

Perceba que esse modelo não possui ainda nenhuma condição estabelecida pelo motivo de não termos pergunta para ele ainda. Para explicar isso melhor vamos ver na pratica como isso funciona, montando um programa simples.
Vamos montar um programa no qual:


  •          Aparecerá a mensagem “Digite a nota do aluno:”
  •          Eu irei entrar com a nota de um aluno
  •          E se essa nota for maior ou igual que 5 aparecerá a palavra “Aprovado” se não apareça “Reprovado”.
Vamos lá?

Program Nota ;

var
x:real;// Declaração de variável onde irei entrar com a nota
 Begin // INICIO
   writeln('Digite a nota do aluno: '); //aqui esta a frase para identificar que ira entrar com a nota
   readln(x);// aqui está a função de leitura da nota que você irá digitar

  // AQUI COMEÇAREMOS A TOMADA DE DECISÃO COM IF

  if {se} (x>=5) {variavel X for MAIOR OU IGUAL a 5} then {faça}
   writeln ('Aprovado') // aqui é o que o programa irá fazer se a condição for atendida
  else {senão faça isso}
   writeln ('Reprovado'); // aqui é o que o programa irá fazer se a condição NÃO for atendida 
 End. //FIM

Bom, vamos analisar agora. Percebemos que antes de qualquer coisa temos que declarar a variável para que possamos digitar a nota. Sabemos que uma nota escolar normalmente é quebrada (5,6; 8,9; 2,4), ou seja, no programa temos a necessidade de declarar esta variável como real. Bom feito isso vamos analisar o próximo passo:

writeln('Digite a nota do aluno: ');

 readln(x);

Esta parte do programa é o que ira identificar a Tomada de Decisão que ser feita em seguida. Sem seguida é onde “a pergunta é feita”

  if (x>=5) then

Isso significa que se o numero que nós digitamos for igual ou maior que o numero 5 então o programa ira fazer o seguinte:

writeln ('Aprovado')

else
writeln ('Reprovado');

Se a nota for maior ou igual a 5 ele mostrara a palavra aprovado. Em seguida notamos a palavra “ELSE” que é o que separa a condição verdadeira e falsa. É importante falar que NUNCA poderemos colocar “;” no final da linha anterior antes da palavra Else, pois o seu programa irá dar erro e não funcionará. Notem que não foi colocado no final de Writeln(‘Aprovado’).

É importante ressaltar que sempre é aconselhável colocar “BEGIN” e “END;” antes de cada decisão. Isso é aconselhável por que se tiver mais de uma ação a fazer conforme a decisão isso fará com que o programa também não funcione. Ou seja, se tivermos mais de uma linha de programação dentro do que o programa irá fazer dependendo da decisão.

Por exemplo, se no programa também fosse pedido que se o aluno for aprovado aparecerá também a palavra abaixo “Parabéns” e se ele for reprovado aparecesse a frase abaixo “Sinto Muito”, seriam dois procedimento e necessitaríamos de mais de uma linha de programação. Portanto a decisão ficaria assim:

IF (x>=5) then // condição
  begin // inicio do que o programa ira fazer se a condição for verdadeira
   writeln ('Aprovado');
    writeln (‘Parabéns’);
  end // fim do que o programa ira fazer se a condição for verdadeira. NOTE QUE ESTA SEM “;”
ELSE
begin // inicio do que o programa ira fazer se a condição for verdadeira
  writeln ('Reprovado');
  writeln (‘Sinto Muito’);
end; // inicio do que o programa ira fazer se a condição for verdadeira NOTE QUE ESTE SIM TEM “;”

É legal se sempre fizerem isto, pois, inúmeras vezes (ou na função IF ou não) irão usar mais de uma linha de programação depois de uma função de decisão. Isso mantém até mesmo o seu programa mais organizado.

Por hoje é isso, fechamos aqui a função IF, ela é bastante complexa e pode ser usada de inúmeras formas. Façam o download dopascalzim e testem a vontade. Gostou jovem ? Seja um dos nossos membros. Curta nossa fanpage do Facebook isso ajuda e valoriza nossas postagens. Faça o download do programa utilizado hoje. Duvidas estaremos à disposição. Ok, Valew, falow’s e até mais.!

2 comentários:

  1. Respostas
    1. Ficamos contentes em saber que tenha gostado.

      Fique atento as nossas próximas postagens

      Abraços

      Excluir

Os comentários feitos no Compiler são moderados. Antes de escrever, observe as regras e seja criterioso ao expressar sua opinião. Não serão publicados comentários nas seguintes situações:

1. Sem o remetente identificado com nome (Não serão aceitos anônimos).
2. Que não tenham relação clara com o conteúdo noticiado (Principalmente o First).
3. Que tenham teor calunioso, difamatório, injurioso, racista, de incitação à violência ou a qualquer ilegalidade.
4. Que tenham conteúdo que possa ser interpretado como de caráter preconceituoso ou discriminatório a pessoa ou grupo de pessoas.
5. Que contenham linguagem grosseira, obscena e/ou pornográfica.
6. Que transpareçam cunho comercial ou ainda que sejam pertencentes a correntes de qualquer espécie.
7. Que tenham característica de prática de spam.

O Compiler.Pas não se responsabiliza pelos comentários dos internautas e se reserva o direito de, a qualquer tempo, e a seu exclusivo critério, retirar qualquer comentário que possa ser considerado contrário às regras definidas acima