Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
39 views
28 slides
Jul 05, 2023
Slide 1 of 28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
About This Presentation
Apresenta os comandos para controle de fluxo: IF e suas variações, SWITCH e Ternário em linguagem C. Demonstra a sintaxe e lógica desses comandos através de exemplos.
Size: 946.95 KB
Language: pt
Added: Jul 05, 2023
Slides: 28 pages
Slide Content
Algoritmos e Programação I
Linguagem de programação C
Comandos de decisão
Ser ou não ser...
Sumário
•Tomando decisões
•Verdadeiro e Falso em C
•Comando if
•Exemplo 01
•Exemplo 02
•Exemplo 03
•Construção if-else
•Exemplo 01
•Exemplo 02
•Comandos ifaninhados
•Exemplo 01
•Exemplo 02
•Usando os operadores lógicos
•Expressões relacionais
compostas
•Exemplo
•Construção else-if
•Exemplo
•switch
•Exemplo
•Operador condicional ternário
“?”
•Exemplo
•Referências
05/07/2023 Professor Paulo Nunes 3
Verdadeiro e Falso em C
•Paradeterminarocursodeumaação,muitoscomandoscontamcom
umtestecondicional;
•Umtestecondicionalutilizaexpressõescondicionaisparachegaraum
valorverdadeirooufalso;
•ParaalinguagemC,umvalorcondicionalverdadeiro,équalquervalor
diferentedezero,incluindoosnúmerosnegativos;
•Umvalorfalsoézero.
05/07/2023 Professor Paulo Nunes 5
if
•Leva o computador a uma tomada de decisão simples.
•Sintaxe:
if(testelógico)
<comando>;
•Onde:
•testelógicoé um valor ou expressão lógica;
•comandoé o comando que será executado caso teste lógico seja verdadeiro.
05/07/2023 Professor Paulo Nunes 6
Exemplo 01 if
05/07/2023 Professor Paulo Nunes 7
Este programa recebe
um número e exibe seu
valor absoluto.Testa se o número
digitado é menor
que zero.
Comando executado caso o
teste seja verdadeiro.
Inverte o sinal do número.
Comando executado caso o
teste seja falso.
Exemplo 02 if
05/07/2023 Professor Paulo Nunes 8
O programa imprime uma
mensagem caso seja digitada
a letra ‘R’.
Comando executado apenas
se for digitada a letra ‘R’.
Exemplo 03 if
05/07/2023 Professor Paulo Nunes 9
Este programa conta o
número de caracteres e
palavras em uma frase.
Recebe a digitação até
que [ENTER] seja
pressionada.
Verifica se espaço em
branco foi digitado,
indicando uma palavra.
Construção if-else
•Um comando ifsimples executa umaúnicainstrução ou grupo de
instruções, caso o teste lógico seja verdadeiroe nenhumacaso seja
falso;
•Associando o comando elseao if, poderemos executar uma ou um
grupo de instruções se o teste lógico do iffor falso.
•Sintaxe:
if(testelógico)
<comando 1>;
else
<comando 2>;
05/07/2023 Professor Paulo Nunes 10
Exemplo 01 if-else
•Imaginequevocêprecisadeterminarseumnúmeroéparouimpar.A
maneiraparasefazerissoétestandoorestodadivisãodessenúmero
por2,seorestofor“0”onúmeroépar,sefordiferentede“0”,éimpar.
Vejaoexemploaseguirutilizandoapenascomocomandoif:
05/07/2023 Professor Paulo Nunes 11
Exemplo 01 if-else
05/07/2023 Professor Paulo Nunes 12
Foram necessários dois
testes if.
Exemplo 02 if-else
05/07/2023 Professor Paulo Nunes 13
Teste lógicoComando executado
caso teste verdadeiro.
Senão for verdadeiro, executa o
comando interno ao “else”.
Comandos ifaninhados
•Umcomandoifpodesercolocadodentrodeoutrocomando
if;
•Diz-seentãoqueoifmaisinternoestáaninhado;
•Ocomandoelsesereferesempreaocomandoifmais
próximo,queestádentrodomesmoblocodoelse,enãoestá
associadoaoutroif.
05/07/2023 Professor Paulo Nunes 14
Exemplo 01 ifaninhado
05/07/2023 Professor Paulo Nunes 15
Este programa verifica se o
caractere digitado é uma letra
minúscula.
Será executado apenas se ambos os
testes forem verdadeiros.
Exemplo 02 ifaninhado
05/07/2023 Professor Paulo Nunes 16
Este programa gera um número
aleatório, e o usuário tenta acertar
esse número digitando um outro.
Exibe a mensagem de “Errado” e
com outro ifverifica se o número
digitado é maior ou menor que o
gerado aleatoriamente.
Usando os operadores lógicos
•Osoperadoreslógicossãoutilizadosparamontarexpressõeslógicas
quepodemserutilizadasemcomandoscomoif,whileedo-while;
•Destesoperadores!éunárioe&&e||sãobinários;
•Exemplo:
•Tomemosasexpressõessimplesexpre01eexpre02:
•Essesoperadorespodemserutilizadosparacondensareclarear
construçõesdotipoif-else.
05/07/2023 Professor Paulo Nunes 17
Expressãológica Resultado
expre01 && expre02 Verdadeiro se ambas verdadeiras
expre01 || expre02 Verdadeiro se uma ou ambas forem verdadeiras
!expre01 Verdadeiro se expre01 falsa e vice-versa.
Expressões relacionais compostas
•Normalmenteasexpressõesrelacionaisavaliamapenasumacondição
porvez,porexemplo:if(a>b)ouif(nome==´joão´);
•Podemoscriarexpressõescompostas,ondemaisdeumacondiçãoé
analisadanamesmaexpressão,utilizandoosoperadoreslógicos&&(E)
e||(OU).
05/07/2023 Professor Paulo Nunes 18
Exemplo de expressões compostas
•Imagineumprogramadenotasondeosalunosrecebemgraduaçãoa
partirdeumamédiaeumafrequência.Paraestar“Aprovado”,amédia
deveserigualousuperiora7,0eafrequênciaigualousuperiora75%.
Podemosmontaraseguintecomposição:
05/07/2023 Professor Paulo Nunes 19
Instrução “if”
composta
O operador lógico
“&&” para compor a
expressão.
Só será executado se TODA a expressão for
verdadeira, média maior ou igual a 7 e
frequência maior ou igual a 75, ambas.
Construção else-if
•Construção reformatada de ninhos if-else.
if(expressão)
<comando>;
elseif(expressão)
<comando>;
elseif(expressão)
<comando>;
...
else
<comando>;
05/07/2023 Professor Paulo Nunes 20
Exemplo construção else-if
05/07/2023 Professor Paulo Nunes 21
Este programa executa as
quatro operações básicas.
switch
•Comando de seleção múltipla similar ao else-if;
•Testa o valor de uma expressão contra uma lista de constantes inteirasou caractere;
•Quando a uma coincidência nos valores, os comandos associados àquela constante são
executados.
•Sintaxe:
switch(expressão) {
case constante1:
<comandos>
break;
case constante2:
<comandos>
break;
...
default:
<comandos>
}
05/07/2023 Professor Paulo Nunes 22
switch
•Onde:
•switchabre o bloco da estrutura;
•case constante_n: é a constante onde o valor da expressão em switch será
testada;
•<comandos> são os comandos que serão executados em cada case;
•breakforça a saída do bloco switch.
•O switch difere do comando ifpelo fato de só poder testar igualdades,
enquanto ifavalia expressões lógicas ou relacionais;
05/07/2023 Professor Paulo Nunes 23
Exemplo switch
05/07/2023 Professor Paulo Nunes 24
Este programa executa as
quatro operações básicas.
Avalia o conteúdo
da variável “op”.
Caso nenhum dos
valores “case” seja
encontrado. Seu uso é
opcional.
Operador condicional ternário ?
•Podeserutilizadoemsubstituiçãoaconstruçõesif-elsesimples;
•É chamado de ternáriopor requerer três operandos;
•Sintaxe:
expressão1 ? expressão2 : expressão3
•Onde:
•expressão1é a expressão a ser avaliada como verdadeira ou falsa;
•expressão2é a expressão a ser executada no caso de expressão1 verdadeira e
se torna o valor da expressão ?;
•expressão3é a expressão a ser executada no caso de expressão1 falsa e se
torna o valor da expressão ?.
05/07/2023 Professor Paulo Nunes 25
Exemplo de operador ternário
05/07/2023 Professor Paulo Nunes 26
Calcula o quadrado de
um número.
Expressão
avaliada.
Caso
verdadeira.
Caso falsa.
Referências
•Mizrahi,VictorineViviane.TreinamentoemlinguagemC–Módulo
1.SãoPaulo:McGraw-Hill,1990.
•Schildt,Herbert.C,CompletoeTotal–3ªEd.RevistaeAtualizada.São
Paulo:PearsonEducationdoBrasil,1997.
•StephenG.Kochan.ProgramminginC–Acompleteintroductiontothe
Cprogramminglanguage.ThirdEdition.Indianapolis:SamsPublishing,
2005.
05/07/2023 Professor Paulo Nunes 27