Buscar

Comandos de Decisão

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais