Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comandos de Decisão Neste tópico abordaremos os comandos de decisão da linguagem C. 2 Comandos de Decisão Um comando de decisão permite executar ou não um conjunto de instruções dependendo do resultado de uma condição (expressão lógica) Quebra a ordem sequencial de execução das instruções 3 O Comando if A forma geral do comando if é: if (expressão){ sequência de comandos 1; } else { sequência de comandos 2; } Que pode ser entendido da seguinte forma: se expressão for verdadeira, então a sequência de comandos 1 é executada caso contrário (expressão for falsa), a sequência de comandos 2 é executada O else é opcional 4 if versus if else condição if instruções próxima instrução true false condição if instruções 1 próxima instrução true false instruções 2 5 Exemplo do uso do if /* programa que dá 20% de desconto se o número de ingressos comprados for maior que 5 */ #include <stdio.h> int main() { float preco, custo; int num_ingressos; printf("Preço do ingresso: R$ "); scanf("%f", &preco); printf("Número de ingressos: "); scanf("%d", &num_ingressos); custo = num_ingressos * preco; if (num_ingressos > 5) { custo = custo custo * 0.2; } printf("Custo de %d ingressos: R$ %.2f\n", num_ingressos, custo); return 0; } 6 Exemplo do uso do if else /* programa que determina se um número é par ou ímpar */ #include <stdio.h> int main() { int num; printf("Informe um número natural: "); scanf("%d", &num); if (num % 2 == 0) { printf("%d é PAR\n", num); } else { printf("%d é ÍMPAR\n", num); } return 0; } 7 if else's encaixados /* programa que determina o maior entre 3 inteiros */ #include <stdio.h> int main() { int n1, n2, n3, maior; printf("Informe 3 números inteiros: "); scanf("%d %d %d", &n1, &n2, &n3); if (n1 > n2 && n1 > n3) { maior = n1; } else { if (n2 > n3) { maior = n2; } else { maior = n3; } } printf("O maior é %d\n", maior); return 0; } 8 Exercícios 1)Escreva um programa que dado o salário de um funcionário, imprimir o desconto do INSS segundo a tabela a seguir: Salário Desconto do INSS Até R$ 1.106,90 8,00% De R$ 1.106,91 a R$ 1.844,83 9,00% Acima de R$ 1.844,83 11,00% 9 Exercícios 2)Um banco concederá um crédito especial aos seus clientes de acordo com o saldo médio do último ano. Faça um programa em C que receba o saldo médio de um cliente e calcule o valor do crédito, de acordo com a tabela a seguir. Mostre o saldo médio e o valor do crédito. Saldo Médio Percentual Acima de R$ 4000,00 30% do saldo médio A partir de R$ 4000,00 até R$ 3000,00 (exclusive) 25% do saldo médio A partir de R$ 3000,00 até R$ 2000,00 (exclusive) 20% do saldo médio Até R$ 2000,00 (inclusive) 10% do saldo médio 10 switch Usado no lugar de um bloco de if-else-if... Testa múltiplas opções Forma geral: switch (expressão) { case constante1: sequência de comandos; break; case constante2: sequência de comandos; break; ... default: sequência de comandos; } Termina a execução do switch Testa a igualdade entre a expressão e as constantes opcional 11 Exemplo: calculadora #include <stdio.h> int main() { float n1, n2; // operandos char op; // operador printf("Calculadora Básica\nDigite uma expressão (número operador número): "); scanf("%f %c %f", &n1, &op, &n2); switch (op) { case '+': printf("Resultado = %.2f\n", n1 + n2); break; case '': printf("Resultado = %.2f\n", n1 n2); break; case '*': printf("Resultado = %.2f\n", n1 * n2); break; case '/': if (n2 != 0) printf("Resultado = %.2f\n", n1 / n2); else printf("Erro: divisão por zero\n"); break; default: printf("Operador inválido!\n"); } // fim do switch return 0; } 12 Múltiplos case's Você pode utilizar múltiplos case's para uma determinada instrução Por exemplo: switch (op) { ... case '*': case 'x': printf("Resultado = %.2f\n", n1 * n2); break; ... Executa a mesma instrução caso op seja '*' ou 'x' 13 Operador condicional ternário (?:) O ?: é chamado operador condicional ternário porque requer três operandos Forma geral: exp1 ? exp2 : exp3; A exp1 é avaliada primeiro Se seu valor for diferente de zero (verdadeiro), a exp2 é avaliada e seu resultado será o valor da expressão Se exp1 for zero (falso), a exp3 é avaliada e será o valor da expressão 14 Exemplo: maior de dois números #include <stdio.h> int main() { int a, b, maior; printf("Informe dois inteiros: "); scanf("%d %d", &a, &b); maior = a > b ? a : b; printf("Maior: %d\n”, maior); return 0; } 15 Referências SCHILDT, Herbert. C Completo e Total. 3. ed., Makron Books, 1997. DEITEL, H.M.; DEITEL, P.J.. C Como Programar. Pearson, 6. ed., 2011. MIZRAHI, V.V.. Treinamento em Linguagem C. 2. ed., Pearson, 2008. PRATA, Stephen. C Primer Plus. 5. ed., Sams, 2004. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15
Compartilhar