Sei sulla pagina 1di 22

Aula 07 - Estruturas de Deciso

Profa. Fabiana Freitas Mendes


fabianamendes@unb.br

25 de outubro de 2012

1 of 22

Agenda

Introduo O comando if O comando if-else O comando switch

2 of 22

Introduo (1)
Estruturas sequenciais X condicionais

3 of 22

Introduo (2) Voltando ao exemplo do bolo de cenoura...


Se o forno est a 180 C ento Coloque o bolo no forno Seno espere at 180 C Se tempo de forno 40 min ento Bolo est assado

4 of 22

Introduo (3)
As estruturas de deciso tem como objetivo decidir o que deve ser

executado
Determinar a ao a ser tomada com base no resultado de uma

expresso condicional
A Linguagem C oferece trs comandos de deciso: if, if-else e

switch

5 of 22

O comando if (1) Sintaxe do comando


if (Expresso) { Instruo1; Instruo2; (...) }
Pode conter uma ou mais instrues
no corpo do comando

Se a expresso for verdade, a(s)


instruo(es) ser(o) executada(s)

Quando h apenas uma instruo,


as chaves podem ser suprimidas

6 of 22

O comando if (2) Exemplo:


#include <stdio.h> #include <stdlib.h> int main( ) { int anos; printf("Quantos anos voc tem?\n"); scanf("%d", &anos); if (anos < 30) { printf("Voc muito jovem!\n"); } system("PAUSE"); return 0; }

7 of 22

O comando if (3) Exerccio


Crie um programa que leia trs notas, calcule a mdia e imprima na tela se o aluno foi aprovado ou reprovado. Para tanto, considere que a mdia para se passar em uma disciplina seja 7,0.

8 of 22

O comando if (4) IFs Aninhados


Se o tempo no forno de 40 minento Se o bolo est assado ento Retire do forno Coloque a cobertura O bolo est pronto
#include <stdio.h> #include <stdlib.h> int main( ) { int numero; printf("Digite um nmero\n"); scanf("%d", &numero); if (numero < 1000) { if (numero > 0) { printf("O nmero est entre 0 e 1000\n"); } } system("PAUSE"); return 0; }

9 of 22

O comando if-else (1)


a expanso de um if simples Executa um conjunto de instrues caso a expresso de controle seja verdadeira e outro conjunto de instrues caso seja falsa

10 of 22

O comando if-else (2) Exemplo:


Se o tempo no forno de 40 min ento Verique se o bolo est assado Seno Espere para um novo teste

11 of 22

O comando if-else (3) Sintaxe


if (Expresso) { Instruo1; Instruo2; } else { Instruo1; Instruo2; } else {

12 of 22

O comando if-else (4) Exemplo


/* Verifica um nmero maior que 100 */ #include <stdio.h> #include <stdlib.h> int main( ) { int a; printf("Digite um nmero diferente de 100\n"); if (a > 100) { printf("%d o maior que 100 \n", a); } else { printf("%d menor que 100 \n", a); } system("PAUSE"); return 0; }
13 of 22

O comando if-else (5) Exemplo com operadores lgicos


/* Bom dia */ #include <stdio.h> #include <stdlib.h> int main( ) { int dia, mes; printf("Digite o dia:\n"); scanf("%d", &dia); printf("Digite o ms com dois dgitos:\n"); scanf("%d", &mes); if (mes == 12 && dia == 25) { printf("Feliz Natal!\n"); } else { printf("Bom Dia!\n"); } system("PAUSE"); return 0; }
14 of 22

O comando if-else (6) If-else Aninhados


/* Verifica qual nmero maior */ #include <stdio.h> #include <stdlib.h> int main( ) { int a, b; printf("Digite um nmero inteiro:\n"); scanf("%d", &a); printf("Digite outro nmero inteiro:\n"); scanf("%d", &b); if (a > b) { printf("%d o maior nmero \n", a); } else { if (b > a) { printf("%d o maior nmero \n", b); }else{ printf("Os nmeros so iguais\n"); } } system("PAUSE"); return 0; }

15 of 22

O comando if-else (7)

Exerccio
1. Crie um programa que, dado um nmero, verique se ele par ou mpar.

16 of 22

O comando switch (1)


Premite selecionar uma entre vrias alternativas Embora, neste casos, possa-se tambm utilizar ifs, ca mais

elegante quando se usa o switch


Possui um formato limpo e claro

17 of 22

O comando switch (2) Sintaxe


switch (varivel ou constante) { case constante1: instruo; (...) break; case constante2: instruo; (...) break; (...) case constanteN: instruo; (...) break; default: instruo; (...) break; }

18 of 22

O comando switch (3) Exemplo


/* Simula uma calculadora de 4 operaes */ #include <stdio.h> #include <stdlib.h> int main( ) { int num1, num2; char oper; printf("Digite um nmero inteiro:\n"); scanf("%d", &num1); printf("Digite outro nmero inteiro:\n"); scanf("%d", &num2); printf("Digite uma operao:\n"); getchar( ); scanf("%c", &oper); switch (oper) { case +: printf("%d", num1 + num2); break; case -: printf("%d", num1 - num2); break; case *: printf("%d", num1 * num2); break; case /: printf("%d", num1 * num2); break; default: printf("Operador desconhecido"); break; } system("PAUSE"); return 0; }

19 of 22

Exerccio

1. Elabore um algoritmo que leia a idade de um nadador e escreva em qual classicao o mesmo se enquadra, conforme as seguintes categorias: Categoria Idade Infantil A 5-7 anos Infaltil B 8-10 anos Juvenil A 11-13 anos Juvenil B 14-17 anos Adulto maiores de 18 anos

20 of 22

Prxima aula...

Assunto da Prxima Aula: Mais do mesmo

Resolvam a lista de exerccios. Visitem o frum de resoluo de exerccios da lista.

21 of 22

Dvidas? Crticas? Sugestes?

Obrigada =)
fabianamendes@unb.br
Esta aula foi baseada no cap 4 do livro de Victorie V. Mizrahi, Treinamento em Linguagem C, 2a ed

22 of 22

Potrebbero piacerti anche