5. Instruções de Controle Objetivo: Desenvolver programas utilizando tanto diagrama de blocos, como linguagem C para tomada de decisão. Introdução Operadores Relacionais Lógicos Comando If Comando If....else Comando swich()...case...break Operador condicional ternário 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Introdução As características básicas das linguagens de programação, o que diferencia o computador de uma calculadora comum são três: 1. Executar uma série de Instruções; 2. Decidir entre ações alternativas; 3. Repetir um sequência de instruções ate a satisfação de certa condição. Nesta aula iremos desenvolver programas que decide ações alternativas (Item 2) 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Introdução A Linguagem C oferece 4 principais estruturas de decisão: if, if...else, switch e operador condicional. 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Operadores Relacionais São os operadores utilizados na tomada de decisão através de comparação. Lógicos São apenas três e permitem a comparação entre as operações relacionais e obedecem a tabela verdade da lógica booleana. 5. Instruções de Controle && lógico E; || Lógico OU; ! Lógico NÃO AL Lapolli – www.lapolli.pro.br Operadores 5. Instruções de Controle A sintaxe da operação é: (expressão operaRel expressão) operaLóg (expressão operaRel expressão) Esta operação é realizada em tomada de decisão, produzindo desvios de tarefas em determinado programa. O retorno desta expressão será um valor booleano (0 ou 1), (true ou false) Esta expressão é geralmente usada em comando de tomada de decisão como será visto a seguir. 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Comando If() A sintaxe é: If (a==b ) printf (“a=b”); Será impresso se a expressão acima for verdadeira. If (a==b && a>c) printf (“a=b e a>c”); If (a==b && a>c){ printf (“a=b\n”); printf (“a>c”);} 5. Instruções de Controle Três instruções já caracteriza um bloco AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Comando If() Comando if aninhado: If (a<b ) if(a>c) printf (“a está entre b e c.”); printf (“a não está entre b e c.”); Que é semelhante a: If (a<b ) && (a>c) printf (“a está entre b e c.”); printf (“a não está entre b e c.”); 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Comando If() ......else (significa se .... senão) printf(“digite um número inteiro”); scanf(“%d”,&inteiro); If(inteiro % 2 == 0) printf (“O número %d é par”,inteiro); else printf (“O número %d é impar”,inteiro); Da mesma forma que o if, o if....else também pode estar aninhado. 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br Comando switch()...case...break 5. Instruções de Controle Nos caso em que se deseja desviar para diversos caminhos diferentes, esta função é a mais adequada. Vamos verificar, por exemplo a digitação de um número e o retorno for o dia da semana associado a este número: 1=domingo, 2=segunda,...,7=sábado. Primeiramente será feito utilizando if(): 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br Comando swich()...case...break 5. Instruções de Controle printf(“digite um número inteiro de 0 a 7”); scanf(“%d”,&inteiro); If(inteiro== 1) printf (“Domingo”); If(inteiro== 2) printf (“Segunda”); If(inteiro== 3) printf (“Terça”); If(inteiro== 4) printf (“Quarta”); If(inteiro== 5) printf (“Quinta”); If(inteiro== 6) printf (“Sexta”); If(inteiro== 2) printf (“Sábado”); 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br Comando swich()...case...break 5. Instruções de Controle Mesmo procedimento com swich() ... Case ... break printf(“digite um número inteiro de 1 a 7”); scanf(“%d”,&inteiro); switch (inteiro){ case 1: printf (“Domingo”); break; case 2: printf (“Segunda”); break; case 3: printf (“Terça”); break; case 4: printf (“Quarta”); break; case 5: printf (“Quinta”); break; case 6: printf (“Sexta”); break; case 7: printf (“Sábado”); break;} 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle Operador condicional ternário É uma forma compacta de expressa o if() ... Else A sintaxe é: condição ? Expressão_1 : expressão)_2; Vejamos o exemplo: printf(“digite um número inteiro”); scanf(“%d”,&inteiro); If(inteiro % 2 == 0) parimpar=‘p’; else parimpar=‘i’; printf (“O número %c”,parimpar); 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br Operador condicional ternário 5. Instruções de Controle Usando o condicional ternário: printf(“digite um número inteiro”); scanf(“%d”,&inteiro); parimpar = inteiro % 2 == 0 ? ‘p’ : ‘i’; printf (“O número digitado e %c,ip); 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br 5. Instruções de Controle 5. Instruções de Controle AL Lapolli – www.lapolli.pro.br