quarta-feira, 1 de maio de 2013

Tomar Decisões.

Tomar Decisões.
Todas as linguagens de computador oferecem algum tipo de capacidade de tomada de decisão. Em C++ isso é tratado pela declaração if.
O formato da declaração if é direto. Ex:

if (m > n) // Se m é maior do que n...
{
   //Aqui o codigo....
}

Ao encontrar if, C++ executa a expressão logica contida nos parenteses. Caso a expressão condicional se m for maior que n. Se verdadeiro, o comando é passado para o codigo entre as chaves. Quando a expressão deixa de ser verdadeira, e passa a falsa, o controle passa para a próxima linha após o fechamento das chaves.

Vamos ver os operadores de comparação e seu significado.

= =  Igualdade. Verdade se o argumento do lado esquerdo  tiver o mesmo valor que a expressão do lado direito.
!=   Desigualdade. Oposto de igualdade.
>    Maior que. Verdadeiro se o argumento do lado esquerdo for maior que o do lado direito direito.
<    Menor que. Verdade se o argumento do lado esquerdo for menor que o do lado direito.
>=  Maior que ou igual a. Verdadeiro se o argumento esquerdo esquerdo for maior ou igual ao direito.
<=  Menor ou igual a. Verdade se o argumento esquerdo for menor ou igual ao direito.

#Dica. Não confunda o operador de igualdade = = com o de designação =.
Vamos ver os operadores em um programa.

------------------------------------------------------------------------------------------------------------


#include<cstdio>
#include<cstdlib>
#include<iostream>

using namespace std;

int main (int nNumberofArgs, char* pszArgs[])
{
    //Entrando com o operador1 e operador2
    int nOperador1;
    int nOperador2;
    cout << "\nEntre com o argumento 1: ";
    cin >> nOperador1;
 
    cout << "\nEntre com o argumento 2: ";
    cin >> nOperador2;
 
 
    //Agora, imprimindo os resultados
    if (nOperador1 > nOperador2 )
    {
      cout << "\nO argumento 1 e maior do que o argumento 2." << endl;
    }
    if (nOperador1 < nOperador2)
    {
      cout << "\nO argumento 2 e maior do que o argumento 1." << endl;
    }
    if (nOperador1 == nOperador2)
    {
      cout << "\nOs argumentos sao iguais." << endl;
    }
system("pause");
return 0;
}
------------------------------------------------------------------------------------------------------------

O programa declara duas variáveis int chamadas nOperador1 e nOperador2.
Após solicitar ao usuário que digite os argumentos, o programa executa três comparações:

Se nOperador1 é maior do que nOperador2
Se nOperador1 é menor do que nOperador2

Se nOperador1 é igual a nOperador2

Feita a comparação o programa exibe o resultado.
Mesmo não sendo necessário utilizar as chaves {} quando temos apenas uma declaração if, o uso é recomendado para evitar qq tipo de erro. #Ficaadica.

Podemos usar também a clausua else (caso contrário, se não) a expressão entre as chaves após o else serão será executada, caso a expressão condicional seja falsa. Ex:

if (m > n)
{
 //Aqui vai o código...
}
else
{
//Aqui vai o comando que deve ser executado caso a expressão seja falsa...
}
Vale lembrar que a cláusula else deve aparecer imediatamente após a chave de fechamento do if.

As chaves da cláusula if ou else podem conter  uma outra declaração if. Desta forma, teremos uma declaração if alinhada ou nested. Vamos ver um programa:

------------------------------------------------------------------------------------------------------------


#include<cstdio>
#include<cstdlib>
#include<iostream>


using namespace std;

int main (int nNumberofArgs, char* pszArgs[])
{
 //Digite o dia de seu aniversario
 int nAno;
 cout << "\nDigite em que nasceu. ";
 cin >> nAno;

 //Agora, vamos determinar o século
 if (nAno > 2000)
 {
  cout << "\nVc nasceu no seculo 21" << endl;
 }
 else
 {
  cout << "Vc nasceu ";
  if (nAno < 1950)
  {
   cout << "na primeira metade do seculo ";
  }
  else
  {
   cout << "na segunda metade do seculo ";
  }
  cout << "21" << endl;
 }

system("pause");
return 0;
}
------------------------------------------------------------------------------------------------------------
Para praticar, vc pode utilizar if alinhado no programa operador1 e operador2. #Valeapratica.
#Dica. Não é necessário o teste de igualdade. Se o operador1 não for menor ou maior que operador2, então ele deve ser igual.

Expressões condicionais compostas.

Os três operadores lógicos que podem ser usados para criar expressões condicionais compostas são:

&& AND (e) Verdadeiro, se o argumento do lado esquerdo e direito forem verdadeiros, do contrário, falso.

|| OR (ou) Verdadeiro, se qq dos argumentos, da esquerda ou da direita forem verdadeiros, do contrário, falso.

! NOT (não) Verdadeiro, se o argumento da direita for falso, do contrário, falso.

Numa expressão condicional composta, o programador esta fazendo uma ou mais perguntas, veja o exemplo no trecho de código:

if (m < nArgumento && nArgumento < 5)

Este teste não inclui as extremidades, isto é, este teste falhará se nArgumento for igual a m ou n. Use o operador de comparação <= se vc quiser incluir extremidades.













Nenhum comentário:

Postar um comentário