Title: Comandos de decis
1 Comandos de decisão Luis Otavio
Alvares Adaptado de slides das Profas.
Patrícia Jaques, Mônica Py e Deise Sacol
2Operadores Relacionais
As expressões relacionais em C retornam 1 se
verdadeiro 0 se falso.
3Operadores Lógicos
- (E lógico) retorna verdadeiro se ambos os
operandos são verdadeiros e falso nos demais
casos.Exemplo if( agt2 blt3). - (OU lógico) retorna verdadeiro se pelo menos
um dos operandos é verdadeiro, e falso se ambos
são falsos.Exemplo if( agt1 blt2). - ! (NÃO lógico) usada com apenas um operando.
Retorna verdadeiro se o operando é falso e
vice-versa.Exemplo if( !var ).
4Operadores Lógicos
5Estrutura condicional simples
- Comando if
- if (condição)
- comando
- if (condição)
- comando1
- comando2
- comando3
-
-
-
Exemplo em pseudo-código SE altmenor ENTÃO
menora
if (altmenor) menora
if (altmenor) menora printf (d,
menor)
6Estrutura condicional composta
- Comando if...else
- if (condição)
- comando1
- else
- comando2
- if (condição)
- comando1
- comando2
-
- else
- comando3
- comando4
-
-
Executa o comando1 se a condição for qualquer
coisa diferente de zero (verdadeira), senão
executa o comando2
Exemplo if (pesopeso_ideal) printf (Voce
esta em forma!) else printf (Melhor
fazer dieta!)
em pseudo-código se (peso peso_ideal)
entao exibir Voce esta em forma! senao
exibir Melhor fazer dieta!
7Exemplo 1
- 1) Dados dois números inteiros A e B, some 100 ao
maior número e imprima. - include ltstdio.hgt
- include ltstdlib.hgt
- main()
- int A, B, soma
- printf ("Digite o valor de A ")
- scanf ("d", A)
- printf ("Digite o valor de B ")
- scanf ("d", B)
- if (AgtB)
- somaA100
- else
- somaB100
- printf ("O maior valor adicionado de 100
resulta em d\n", soma) - system("pause")
8Exemplo 2
- 2) Escreva um algoritmo para determinar se uma
pessoa é maior ou menor de idade. - include ltstdio.hgt
- include ltstdlib.hgt
- main ()
- int idade
- printf ("Digite a idade da pessoa ")
- scanf ("d", idade)
- if (idadegt18)
- printf ("Pessoa eh maior de idade.\n")
- else
- printf ("Pessoa eh menor de idade.\n")
- system("pause")
9Lembretes importantes no uso do comando if
A condição deve estar sempre entre parênteses.
É possível usar mais de um comando no if, após a
condição ou após o else, mas então os comandos
devem estar entre chaves (constituindo-se em um
bloco).
É possível aninhar ifs, e então cada else vai
corresponder ao if imediatamente anterior, se
não houver blocos delimitados por chaves
alterando isso.
10Exercícios
- 4) Faça um algoritmo que leia a quantidade
comprada de um produto e o preço unitário deste
produto. - - Se o preço total a ser pago for inferior a R
100, então forneça um desconto de 5. - - Se o preço total a ser pago ficar entre 100 e
1000, então forneça um desconto de 5 e armazene
um bônus de 5 sobre o valor total. - - Se o preço total a ser pago for superior a
1000, então forneça um desconto de 10, armazene
um bônus de 7 sobre o valor total e o cliente
será considerado como Cliente Vip.
11- include ltstdio.hgt
- include ltstdlib.hgt
- main()
- int qtdade
- float preco, valorTotal, descontado,
bonus - printf ("\nDigite a qtdade ")
- scanf ("d", qtdade)
- printf ("\nDigite o preco unitario ")
- scanf ("f", preco)
- valorTotalqtdadepreco
- if (valorTotallt100)
- descontadovalorTotal0.95
- else if (valorTotalgt100
valorTotallt1000) -
- descontadovalorTotal0.95
- bonusvalorTotal0.05
-
- else if (valorTotalgt1000)
//poderia ser so else -
12Exercícios
- Fazer lista de exercícios
13Comando switch
Uma variável é testada sucessivamente contra uma
lista de constantes inteiras ou caracteres.
Depois de encontrar uma coincidência, o comando
ou o bloco de comandos é executado. Sintaxe Swi
tch(variável) case constante1
sequência de comandos break case
constante2 sequência de comandos
break .. default
sequência de comandos
O comando default é opcional
Se nenhuma coincidencia for encontrada, o comando
default será executado
14Exemplo de comando switch
- includeltstdio.hgt
- includeltstdlib.hgt
- main()
-
- int numero
- printf("digite o mes")
- scanf ("d",numero)
- switch (numero)
- case 1 printf ("Janeiro\n")
break - case 2 printf ("Fevereiro\n")
break - case 3 printf ("Marco\n") break
- case 4 printf ("Abril\n") break
- case 5 printf ("Maio\n") break
- case 6 printf ("Junho\n") break
- case 7 printf ("Julho\n") break
- case 8 printf ("Agosto\n") break
- case 9 printf ("Setembro\n")
break - case 10 printf ("Outubro\n")
break - case 11 printf ("Novembro\n")
break