Estrutura Condicional C++ Resumo3 Profª. Ivre Marjorie R. Machado www.professoresalgoritmos.com Estrutura Condicional • Na estrutura sequencial, todos os comandos são executados independente de qualquer coisa/condição • Usando a estrutura condicional, é possível criar um programa que possui partes que não são executadas todas as vezes, – É necessário verificar se a condição é: VERDADEIRA ou FALSA www.professoresalgoritmos.com Exemplo • Faça um algoritmo para a troca de lâmpada: 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Busca uma lâmpada nova 4. Subir na escada 5. Retirar a lâmpada velha 6. Colocar a lâmpada nova 7. Guardar a escada www.professoresalgoritmos.com Exemplo • Faça um algoritmo para a troca de lâmpada: 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Busca uma lâmpada nova 4. Subir na escada 5. Retirar a lâmpada velha 6. Colocar a lâmpada nova 7. Guardar a escada www.professoresalgoritmos.com Exemplo • Faça um algoritmo para a troca de lâmpada queimadas: 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Busca uma lâmpada nova 4. Acionar o interruptor Teste condicional 5. Se a lâmpada não acender, então a) Subir na escada b) Retirar a lâmpada queimada c) Colocar a lâmpada nova 6. Guardar a escada www.professoresalgoritmos.com Exemplo • Faça um algoritmo para a troca de lâmpada queimadas: 1. Acionar o interruptor Teste condicional no início 2. Se a lâmpada não acender, então a) b) c) d) e) f) g) Pegar uma escada Posicionar a escada embaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada queimada Colocar a lâmpada nova Guardar a escada www.professoresalgoritmos.com Fluxograma Símbolo usado para representar a tomada de decisão. Se a condição for verdadeira o fluxo continua para o lado do Sim, se a condição for falsa, o fluxo continua para o lado do Não Esse é o único símbolo do fluxograma que permite a saída de dois fluxos (setas Sim e Não) Sim Condição Não www.professoresalgoritmos.com Exemplo • Faça um algoritmo (fluxograma e pseudocódigo) em seguida, um programa em C++ para fazer a divisão do primeiro número pelo segundo, somente se o segundo número for maior que ZERO. www.professoresalgoritmos.com Exemplo - Fluxograma www.professoresalgoritmos.com Pseudocódigo • A estrutura condicional em pseudocódigo pode ser feita da forma simples: Se (condição) então Comandos Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x <= 2) então Escreva “o valor de x é menor ou igual a dois” www.professoresalgoritmos.com Pseudocódigo • Ou composta: Se (condição) então Comandos Senão Comandos Se (x > 2) então Escreva “o valor de x é maior que dois” Senão Escreva “o valor de x é menor ou igual a dois” www.professoresalgoritmos.com Pseudocódigo Pensando... Simples: Composta: Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x <= 2) então Escreva “o valor de x é menor ou igual a dois” Senão Escreva “o valor de x é menor ou igual a dois” www.professoresalgoritmos.com Pseudocódigo Pensando... Simples: Composta: Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x <= 2) então Escreva “o valor de x é menor ou igual a dois” Senão Escreva “o valor de x é menor ou igual a dois” Na estrutura simples o teste da condição é feito em cada um deles, ou seja, verifica se é verdadeiro ou falso. Caso nenhum deles seja verdadeiro, nenhum será executado. E se mais de um for Verdadeiro, mais de um será executado. www.professoresalgoritmos.com Pseudocódigo Pensando... Simples: Composta: Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x > 2) então Escreva “o valor de x é maior que dois” Se (x <= 2) então Escreva “o valor de x é menor ou igual a dois” Senão Escreva “o valor de x é menor ou igual a dois” Na estrutura composta o teste da condição é feito no primeiro, e caso seja verdadeiro somente executar os comando relacionados a ele e finalizará. Caso seja falso, irá verificar o próximo teste de condição e assim como o primeiro se for verdadeiro executará apenas ele. E somente no caso de todos os teste forem falsos, que irá executar os comandos relacionados ao Senão. www.professoresalgoritmos.com Pseudocódigo www.professoresalgoritmos.com Exemplo – Pseudocódigo (Estrutura Simples) ALGORITMO DECLARE num1, num2, div NUMÉRICO ESCREVA "Digite o primeiro numero: " LEIA num1 ESCREVA "Digite o segundo numero: " LEIA num2 SE (num2 > 0) ENTÃO Início div <- num1/num2 ESCREVA "O valor da divisao e: ", div Fim SE (num2 <= 0) ENTÃO ESCREVA "O segundo numero nao e maior que zero" FIM_ALGORITMO www.professoresalgoritmos.com Exemplo – Pseudocódigo (Estrutura Composta) ALGORITMO DECLARE num1, num2, div NUMÉRICO ESCREVA "Digite o primeiro numero: " LEIA num1 ESCREVA "Digite o segundo numero: " LEIA num2 SE (num2 > 0) ENTÃO Início div <- num1/num2 ESCREVA "O valor da divisao e: ", div Fim SENÃO ESCREVA "O segundo numero nao e maior que zero" FIM_ALGORITMO www.professoresalgoritmos.com C++ • A estrutura condicional em C++, assim como em pseudocódigo, pode ser feita da forma simples: if (condição) { Comandos; } if (x > 2) { cout<<“o valor de x é maior que dois”; } if(x <= 2) { cout<<“o valor de x é menor ou igual a dois”; } www.professoresalgoritmos.com C++ • Ou composta: if (condição) { Comandos; } else { Comandos; } if(x > 2) { cout<<“o valor de x é maior que dois”; } else { cout<<“o valor de x é menor ou igual a dois”; } www.professoresalgoritmos.com C++ Veja que o else sem condição fica sempre no final! www.professoresalgoritmos.com C++ Pensando... Simples: Composta: if(x > 2) { cout<<“o valor de x é maior que dois”; } if(x > 2) { cout<< “o valor de x é maior que dois”; } if(x <= 2) { cout<<“o valor de x é menor ou igual a dois”; } else { cout<<“o valor de x é menor ou igual a dois”; } www.professoresalgoritmos.com Exemplo – C++ (Estrutura Simples) #include<iostream.h> #include<math.h> int main() { float num1, num2, div; cout<<"Digite o primeiro numero: "; cin>>num1; cout<< "Digite o segundo numero: "; cin>>num2; if(num2 > 0) Em pseudocódigo: Se (num2> 0) { div = num1/num2; cout<<"\n O valor da divisao e: "<<div; } if(num2 <= 0) Em pseudocódigo: Se (num2<= 0) { cout<<"\n O segundo numero nao e maior que zero"; } system("pause"); } www.professoresalgoritmos.com Exemplo – C++ (Estrutura Composta) #include<iostream.h> #include<math.h> int main() { float num1, num2, div; cout<<"Digite o primeiro numero: "; cin>>num1; cout<< "Digite o segundo numero: "; cin>>num2; if(num2 > 0) Em pseudocódigo: Se (num2> 0) { div = num1/num2; cout<<"\n O valor da divisao e: "<<div; } Em pseudocódigo: Senão else { cout<<"\n O segundo numero nao e maior que zero"; } system("pause"); } www.professoresalgoritmos.com Fluxograma Pseudocódigo C++ SE (condição) if (condição) Condicional simples (poderá ter mais de um SE, e mais de um símbolo no caso do fluxograma) SE (Condição) Comandos SENÃO Comandos if (Condição) Comandos; else Comandos; Condicional composta (para ter outras condições é necessário juntar o SENÃO com o SE, ou seja, SENÃO SE (condição) ) (Condição) (Condição) Observação www.professoresalgoritmos.com