Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C

39 views 28 slides Jul 05, 2023
Slide 1
Slide 1 of 28
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
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.


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

Tomando decisões
•Propriedadefundamentaldeumalinguagemdeprogramaçãoéa
capacidadedetomardecisões.
•Essacapacidadepermiteaoprograma“decidir”queaçãotomarem
determinadosmomentosdentrodaexecuçãodasinstruções.
•AlinguagemCpossuialgunscomandoeoperadoresquepermitemum
controletotalebastanteflexíveldastomadasdedecisão.Sãoeles:
•O comando if
•O comando if-else
•Operadores lógicos || && !
•O comando else-if
•O comando switch
•O operador condicional ternário ? :
05/07/2023 Professor Paulo Nunes 4

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

O professor
05/07/2023 Professor Paulo Nunes 28