Controle de fluxo em C++ if - else
Aqui vamos criar funções que nos permitam alterar a leitura de execução do código. Ou seja, já dissemos que a leitura de execução do código é de cima para baixo (lê a primeira linha de código – executa, lê a 2ª linha --- executa,..e por aí adiante)
O que agora vamos fazer e criar mecanismos para alterar esse leitura sequencial e permitir:
Execução de código de acordo com a condição
Repetição de execução de código sujeito a condição
Saltar linhas de código
Decisão em C++
Em C++ os métodos de tomada de decisão presentes na linguagem C estão disponíveis para as tarefas mais corriqueiras que o programa deve executar. Além desta forma de controle de decisões, C++ provê certas funcionalidades relacionadas a objetos que modificam a forma como o código é estruturado e, por consequência, decidem como o programa deve se comportar em determinadas situações.
Examinemos os métodos básicos e analisemos de forma simples as estruturas de decisão presentes no modelo de programação orientado a objetos, para entender como isso poderá nos ajudar a tornar o código mais bem construído.
De modo geral, a maioria das linguagens de programação existentes utiliza-se das estruturas if-else ou switch-case.
if-else
if
Se você quer que o software execute um determinado comando somente em certas situações, utilize if para determinar isto. O programa vai, então, executar a primeira linha de código após o if, se a declaração entre parênteses for verdadeira.
Exemplo:
#include <iostream>
using namespace std;
int main(void)
{ int variavel;
cout << “Escreva um numero: ";
cin >>variavel;
if(variavel == 5)
cout << “A variável é igual a
5";
return 0;
}
Pode-se usar valores booleanos:
bool variavel;
if(variavel) //if será executado se booleano for verdadeiro, como não lhe foi atribuído valor, é falso
cout << “variável é verdadeira!";
Ou, se booleano tiver que ser falso para ocorrer a execução:
if(!variavel) // O ! faz com que só haja execução da próxima linha se variável for falsa cout << “variável é falsa!";
Mas se você quiser que o computador execute várias linhas após o if se este for verdadeiro? Basta usar chaves:
if(variavel) { cout << “A variável é verdadeira...\n";
cout << “E continua executando” << “até que seja fechado o
if” << " com o }"; }
else
É também possível usar o bloco else para o computador executar várias linhas de código caso uma condição tenha o valor booleano falso.
Por exemplo:
if(temperatura < 20)
{ cout << “Está frio"; }
else
{ cout<< “Está calor"; }
Assumindo que a variável temperatura tem tipo inteiro (int), se esta contiver um valor, por exemplo, 20, será apresentada na tela a mensagem “Está calor”, uma vez que 20 < 20 é uma expressão é contradição, logo tem o valor booleano falso.
Podemos ainda encadear vários else, e obter ainda mais possibilidades:
if(deposito < 20)
{ cout << “Depósito de gasóleo inferior a 20%"; }
else if(deposito < 50)
{ cout << “Tem menos de metade do depósito";
}
else
{ cout << “Ainda tem meio depósito ou mais"; }
Desta forma, conseguimos distinguir o nível de depósito de gasóleo de um carro em 3 níveis diferentes.
Para distinguir por mais níveis, bastaria acrescentar mais }
else
if(...condição...)
{ para distinguir os diferentes patamares.
De notar que, cada caso é avaliado individualmente, por ordem. Isto é, primeiro seria verificado se o depósito tem menos de 20% de gasóleo; apenas se esta condição for falsa é que o computador avalia a segunda condição, para verificar se o depósito tem menos de 50% de gasóleo, e por ainda adiante.
Comentários
Enviar um comentário