Sie sind auf Seite 1von 25

Comando Condicional (if)

Material cedido pelas profas. Fernanda Denardin Walker e profa. Leticia Lopes Leite

2

Comando if

Decisão simples

Sintaxe:

if(condição) instrução para condição verdadeira; ou

if(condição)

{

 

instrução para condição verdadeira;

instrução para condição verdadeira;

instrução para condição verdadeira;

}

3

Exemplo (if)

#include <stdio.h> void main ( )

{

int idade; printf (“Digite sua idade.”); scanf(“%d”, &idade);

if (idade > 18)

printf(“Jah pode dirigir”);

}

4

Exemplo (if)

#include <stdio.h>

void main ( )

{

int idade; printf (“Digite sua Condição idade.”); scanf(“%d”, &idade); if (idade > 18)

sua Condição idade.”); scanf (“%d”, &idade); if (idade > 18) printf (“ Jah pode dirigir ”);

printf(“Jah pode dirigir”);

}

5

Exemplo (if)

#include <stdio.h>

void main ( )

{

int idade; printf (“Digite sua idade.”); scanf(“%d”, &idade); if (idade > 18)

Instrução para condição VERDADEIRA
Instrução para
condição VERDADEIRA

printf(“Jah pode dirigir”);

}

6

Exemplo (if)

#include <stdio.h>

void main ( )

{

Finalizador do comando

int idade; printf (“Digite sua idade.”); scanf(“%d”, &idade); if (idade > 18)

(“Digite sua idade.”); scanf (“%d”, &idade); if (idade > 18) printf (“ Jah pode dirigir ”)
(“Digite sua idade.”); scanf (“%d”, &idade); if (idade > 18) printf (“ Jah pode dirigir ”)

printf(“Jah pode dirigir”);

}

7

Segundo Exemplo

#include <stdio.h> void main ()

{

 

int valor=10; printf("\nDigite um valor de 1 a 20 "); scanf("%d",&valor);

if(valor==10)

printf("\nAcertou!! ");

if(valor!=10)

{

printf("\nVocê Errou!!\n"); if(valor==9 || valor ==11) printf("Chutou bem! Está quente!\n"); if(valor <=5) printf("Chutou mal! Está frio!\n");

}

}

quente!\n " ); if(valor <=5) printf( " Chutou mal! Está frio!\n " ); } } Bloco

Bloco de instruções

8

If

Else

Sintaxe:

if (condição)

instrução para condição verdadeira;

else instrução para condição falsa;

9

Exemplo (If

#include <stdio.h>

void main ( )

{

Else

int idade; printf (“Digite sua idade.”); scanf(“%d”, &idade); if (idade > 18) printf(“Jah pode dirigir”); else printf(“Pegue uma carona”);

}

)

10

Exemplo (If

#include <stdio.h>

void main ( )

Else

{

int idade;

printf (“Digite sua idade.”);

Condição
Condição

scanf(“%d”, &idade);

if (idade > 18) printf(“Jah pode dirigir”); else printf(“Pegue uma carona”);

}

)

11

Exemplo (If

#include <stdio.h> void main ( )

{

int idade; printf (“Digite sua idade.”);

scanf(“%d”, &idade);

if (idade > 18) printf(“Jah pode dirigir”); else printf(“Pegue uma carona”);

}

Else

)

Instrução para condição VERDADEIRA
Instrução para
condição VERDADEIRA

12

Exemplo (If

#include <stdio.h>

void main ( )

Else

)

Finalizador do comando

{

void main ( ) Else ) Finalizador do comando { int idade; printf (“Digite sua idade.”);

int idade; printf (“Digite sua idade.”);

scanf(“%d”, &idade);

if (idade > 18)

idade.”); scanf(“%d”, &idade); if (idade > 18) printf(“ Jah pode dirigir ”) ; else printf(“Pegue uma

printf(“Jah pode dirigir”); else

printf(“Pegue uma carona”);

}

13

Exemplo (If

#include <stdio.h>

void main ( )

Else

)

{

int idade; printf (“Digite sua idade.”);

scanf(“%d”, &idade);

if (idade > 18) printf(“Jah pode dirigir”); else printf(“Pegue uma carona”);

}

Instrução para condição FALSA
Instrução para
condição FALSA

14

Exemplo (If

#include <stdio.h>

void main ( )

Else

)

{

int idade; printf (“Digite sua idade.”);

scanf(“%d”, &idade);

if (idade > 18) printf(“Jah pode dirigir”); else

Finalizador do comando

if (idade > 18) printf(“ Jah pode dirigir ”); else Finalizador do comando printf(“Pegue uma carona”)
if (idade > 18) printf(“ Jah pode dirigir ”); else Finalizador do comando printf(“Pegue uma carona”)

printf(“Pegue uma carona”);

}

15

Programa Exemplo

Teste de adivinhação de um número entre 0 e

20.

16

#include <stdio.h> void main( )

{ int magico, entrada;

}

srand(time(NULL)); magico = rand()%20;

printf("Adivinhe o numero: ");

scanf("%d",&entrada);

if(entrada == magico)

printf(" == Você acertou ==\n"); else

printf("Você não acertou.\n");

//gera um numero entre 0 e 20

17

Exemplo:

Faça um programa que leia a idade de um nadador e classifica-o em uma das seguintes

categorias:

5 a 7 anos: Infantil A 8 a 10 anos : Infantil B

11 a 13 anos : Juvenil A

14 a 17 anos: Juvenil B maiores de 17 anos: Adulto

18

1 a Solução

#include <stdio.h> void main ()

{

int idade;

printf("\nDigite a idade do nadador"); scanf("%d",&idade); if(idade>=5 && idade<=7) printf("\nInfantil A"); if(idade>=8 && idade<=10) printf("\nInfantil B"); if(idade>=11 && idade<=13) printf("\nJuvenil A"); if(idade>=14 && idade<=17) printf("\nJuvenil B"); if(idade>=17) printf("\nAdulto");

}

Funciona para qualquer entrada de dados ?

19

2 a Solução

#include <stdio.h> void main () { int idade;

printf("\nDigite a idade do nadador");

scanf("%d",&idade); if(idade <0 || idade>120) printf("\nIdade Inválida");

if(idade>=0 && idade <5)

printf("\nSem categoria"); if(idade>=5 && idade<=7) printf("\nInfantil A"); if(idade>=8 && idade<=10) printf("\nInfantil B");

if(idade>=11 && idade<=13) printf("\nJuvenil A");

if(idade>=14 && idade<=17) printf("\nJuvenil B"); if(idade>=17 && idade<=120) printf("\nAdulto");

}

20

3 a Solução (está certa ?)

#include <stdio.h>

void main ()

{

int idade; printf("\nDigite a idade do nadador"); scanf("%d",&idade);

if(idade <0 || idade>120)

printf("\nIdade Inválida"); if(idade>=0 && idade <5) printf("\nSem categoria");

if(idade>=5 && idade<=7) printf("\nInfantil A");

if(idade>=8 && idade<=10) printf("\nInfantil B"); if(idade>=11 && idade<=13) printf("\nJuvenil A"); if(idade>=14 && idade<=17) printf("\nJuvenil B");

else printf("\nAdulto");

}

21

Comandos if-else encadeados

if ( expressão ) comando1 ;

else if (expressão) comando2;

else if(expressão) comando3; else if(expressão) comando4;

else

22

#include <stdio.h>

void main () { int idade; printf("\nDigite a idade do nadador");

scanf("%d",&idade);

if(idade <0 || idade>120) printf("\nIdade Inválida"); else if(idade <5) printf("\nSem categoria");

4 a Solução

else if (idade<=7) printf("\nInfantil A");

else if(idade<=10) printf("\nInfantil B"); else if(idade<=13)

printf("\nJuvenil A");

else if(idade<=17) printf("\nJuvenil B"); else printf("\nAdulto");

}

23

Ambigüidade

x=2;

if(x<2)

if(x>=-3)

printf(“\n x está entre [-3;1]”); else printf(“x é maior que 1”);

Problema:

O else se refere ao 1 o if ou ao 2 o ?

24

Ambigüidade

C resolve o problema da ambigüidade associando o else sempre ao último if.

Portanto, para que a construção funcione como desejado, pode-se resolver o problema usando bloco.

x=2;

if(x<2)

{ if(x>=-3) printf(“\n x está entre [-3;1]”);

}

else printf(“x é maior que 1”);

25

Exercícios:

1) Faça um programa que encontra o maior de 3 valores.

2) Altere o programa anterior para que ele encontre o menor

de 4 valores.

3) Faça um programa que leia 3 valores float (n1, n2 e n3) e um valor inteiro ( opcao). Se opcao for:

1: escreve os valores em ordem crescente;

2: escreve os valores em ordem decrescente; 3: escreve o maior dentre os demais. Prever situações de erro.