Sunteți pe pagina 1din 23

Linguagem C

(Condicionais)

Prof.: Carlos Maurcio Nascimento


mauricio@iff.edu.br

By Mark Douglas

Agenda
Definio;
Desvio Condicional Simples;
Desvio Condicional Composto;
Seleo exclusiva dentre mltiplas condies;
Expresses booleanas;
O comando escolha (switch);
Operador condicional ternrio.
By Mark Douglas

Definio
Uma estrutura condicional (ou de
seleo) permite definir que um bloco de
comandos seja executado com base em
uma condio ou expresso booleana
A execuo do bloco de comandos est
condicionada satisfao de um
determinado critrio, ou seja, a condio ser
verdadeira;
Permitem codificar tomadas de deciso.
By Mark Douglas

Desvio Condicional Simples

Toma-se a deciso de executar ou no um bloco de


comandos
Se a expresso resultar verdadeiro, o bloco executado;
Se resultar falso, o bloco no executado;
De qualquer forma a execuo continua com o comando
subsequente ao bloco do if.

By Mark Douglas

Desvio Condicional Simples


Exemplo:

By Mark Douglas

Desvio Condicional Composto

Acrescenta ao comando if um segundo bloco


de comandos (else), a ser executado apenas
se a expresso booleana resultar falso
Tomada de deciso exclusiva: ou executa o
primeiro bloco ou executado segundo.
By Mark Douglas

Desvio Condicional Composto


Exemplo:

By Mark Douglas

Seleo Exclusiva Dentre Mltiplas


Condies

Sequencia de comando if-else-if, onde apenas


um dos blocos ser executado
O expresso do prximo if somente ser avaliada
se a expresso do if anterior retornar falso
By Mark Douglas

Seleo Exclusiva Dentre Mltiplas


Condies
Exemplo:

By Mark Douglas

Expresses Booleanas
Expresso que quando avaliada retorna o valor
falso ou verdadeiro.
Em C, no existe um tipo especfico para
armazenar valores booleanos
Em C, o valor booleano representado por um
valor numrico:
0 (zero) significa falso e qualquer outro valor diferente
de 0 (zero) significa verdadeiro.
Em geral usa-se 1 para representar verdadeiro.
By Mark Douglas

Expresses Booleanas
Uma expresso booleana criada usando operadores
relacionais (>,<,>=, <=, !=, ==)
Todos estes operadores comparam dois operandos,
resultando no valor 0 (falso) ou 1 (verdadeiro)

Podemos criar expresses maiores combinando


expresses ou valores booleanos com operadores
lgicos (!, &&, ||), onde:
! negao (NOT), maior prioridade;
&& - conjuno (AND);
|| - disjuno (OR), menor prioridade.

By Mark Douglas

Precedncia de Operadores

By Mark Douglas

Expresses Booleanas
Exemplo AND, OR, NOT, respectivamente:

By Mark Douglas

Exemplo
Converter Notas para Conceitos

By Mark Douglas

O Comando Escolha (switch)

Tambm permite um escolha


exclusiva;

Ser executada a sequncia


de comandos para o case
onde a constante seja igual
valor da expresso ou
default caso contrrio;

Os comandos so executados
at encontrar um break. Se
no encontrar sai executando
o case seguinte.

Pode usar constante inteira


ou caractere.

By Mark Douglas

Exemplo de switch
Calculadora simples:

By Mark Douglas

Operador Condicional Ternrio


O operado ternrio permite definir uma
expresso condicional.
Sintaxe:

expresso booleana ? expresso 1 : expresso 2

Se a expresso booleana for verdadeira, o


resultado ser o resultado da expresso 1;
Se a expresso booleana for falsa, o
resultado ser o resultado da expresso 2;
By Mark Douglas

Exemplo Operador Ternrio


Retornar o maior entre dois nmeros:

Esta expresso equivale:

By Mark Douglas

Exerccios
1. Fazer um programa para calcular as razes reais de
uma equao do segundo grau (ax2+bx+c=0). O
programa deve solicitar os coeficiente (a, b, c) da
equao e exibir na tela as razes reais. Se no existir
razes reais, exibir uma mensagem dizendo que no
existem razes reais. Lembre-se que o valor de a no
pode ser 0(zero). Se for digitado 0(zero) para a, o
programa deve avisar sobre este erro e terminar. As as
razes de uma equao do segundo grau so dadas por:

By Mark Douglas

Exerccios
2.

Considere uma disciplina que adota o seguinte critrio de


aprovao: os alunos fazem duas provas (P1 e P2) iniciais; se a
mdia nessas duas provas for maior ou igual a 5.0, e se
nenhuma das duas notas for inferior a 3.0, o aluno passa
direto. Caso contrrio, o aluno faz uma terceira prova (P3) e a
mdia e calculada considerando-se essa terceira nota e a
maior das notas entre P1 e P2. Neste caso, o aluno
considerado aprovado se a mdia final for maior ou igual a 5.0.
Escreva um programa completo que leia inicialmente as duas
notas de um aluno, fornecidas pelo usurio via teclado. Se as
notas no forem suficiente para o aluno passar direto, o
programa deve capturar a nota da terceira prova, tambm
fornecida via o teclado. Como sada, o programa deve imprimir
a mdia final do aluno, seguida da mensagem Aprovado ou
Reprovado", conforme o critrio descrito acima.

By Mark Douglas

Exerccios
3.

Escreva um programa para fazer converses


entre diferentes unidades. As opes do
programa devem ser exibidas em forma de
um menu apresentado na tela, em dois
nveis. No primeiro nvel o usurio escolhe a
classe de unidade; no segundo nvel o
usurio escolhe a converso que deseja,
fornecendo ento o valor a ser convertido.
Por fim, o programa exibe o valor resultante
na tela. As opes apresentadas no menu
so
mostrada
na
figura.
Sabe-se que 1 libra equivale a 0.4536Kg, 1
ona a 28.3495g, 1 galo a 3.7854l, 1 ona
fluido a 29.5735ml, 1 milha a 1.6093Km e 1
jarda a 0.9144m

By Mark Douglas

Exerccios
4.

Usando a funo aleatorio(), fazer um programa do jogo par ou mpar. O


usurio deve escolher entre par ou mpar. Para isso, o programa deve pedir
que seja fornecido um valor numrico: 0 significando par e 1 significando
mpar. Em seguida, o usurio fornece seu nmero. O computador gera um
nmero aleatrio entre 0 e 10, soma com o nmero do usurio e informa
quem ganhou: o computador ou usurio.

5.

Usando a funo aleatorio(), escreva um programa que implemente o jogo


conhecido como pedra, papel, tesoura. Neste jogo, o usurio e o computador
escolhem entre pedra, papel ou tesoura. Sabendo que pedra ganha de
tesoura, papel ganha de pedra e tesoura ganha de papel, exiba na tela o
ganhador: usurio ou computador. Para esta implementao, assuma que o
nmero 0 representa pedra, 1 representa papel e 2 representa tesoura.

By Mark Douglas

Reconhecimento
Esta apresentao foi baseada nas
notas de aula dos professores
Waldemar Celes e Roberto
Ierusalimschy, do Departamento de
Informtica da PUC-Rio.

By Mark Douglas

S-ar putea să vă placă și