SlideShare a Scribd company logo
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 if aninhados
• 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
• Propriedade fundamental de uma linguagem de programação é a
capacidade de tomar decisões.
• Essa capacidade permite ao programa “decidir” que ação tomar em
determinados momentos dentro da execução das instruções.
• A linguagem C possui alguns comando e operadores que permitem um
controle total e bastante flexível das tomadas de decisão. São eles:
• 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
• Para determinar o curso de uma ação, muitos comandos contam com
um teste condicional;
• Um teste condicional utiliza expressões condicionais para chegar a um
valor verdadeiro ou falso;
• Para a linguagem C, um valor condicional verdadeiro, é qualquer valor
diferente de zero, incluindo os números negativos;
• Um valor falso é zero.
05/07/2023 Professor Paulo Nunes 5
if
• Leva o computador a uma tomada de decisão simples.
• Sintaxe:
if(teste lógico)
<comando>;
• Onde:
• teste ló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 if simples executa uma única instrução ou grupo de
instruções, caso o teste lógico seja verdadeiro e nenhuma caso seja
falso;
• Associando o comando else ao if, poderemos executar uma ou um
grupo de instruções se o teste lógico do if for falso.
• Sintaxe:
if(teste lógico)
<comando 1>;
else
<comando 2>;
05/07/2023 Professor Paulo Nunes 10
Exemplo 01 if-else
• Imagine que você precisa determinar se um número é par ou impar. A
maneira para se fazer isso é testando o resto da divisão desse número
por 2, se o resto for “0” o número é par, se for diferente de “0”, é impar.
Veja o exemplo a seguir utilizando apenas com o comando if:
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ógico Comando executado
caso teste verdadeiro.
Senão for verdadeiro, executa o
comando interno ao “else”.
Comandos if aninhados
• Um comando if pode ser colocado dentro de outro comando
if;
• Diz-se então que o if mais interno está aninhado;
• O comando else se refere sempre ao comando if mais
próximo, que está dentro do mesmo bloco do else, e não está
associado a outro if.
05/07/2023 Professor Paulo Nunes 14
Exemplo 01 if aninhado
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 if aninhado
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 if verifica se o número
digitado é maior ou menor que o
gerado aleatoriamente.
Usando os operadores lógicos
• Os operadores lógicos são utilizados para montar expressões lógicas
que podem ser utilizadas em comandos como if, while e do-while;
• Destes operadores ! é unário e && e || são binários;
• Exemplo:
• Tomemos as expressões simples expre01 e expre02:
• Esses operadores podem ser utilizados para condensar e clarear
construções do tipo if-else.
05/07/2023 Professor Paulo Nunes 17
Expressão ló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
• Normalmente as expressões relacionais avaliam apenas uma condição
por vez, por exemplo: if(a > b) ou if( nome == ´joão´);
• Podemos criar expressões compostas, onde mais de uma condição é
analisada na mesma expressão, utilizando os operadores lógicos && (E)
e || (OU).
05/07/2023 Professor Paulo Nunes 18
Exemplo de expressões compostas
• Imagine um programa de notas onde os alunos recebem graduação a
partir de uma média e uma frequência. Para estar “Aprovado” , a média
deve ser igual ou superior a 7,0 e a frequência igual ou superior a 75%.
Podemos montar a seguinte composiçã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>;
else if(expressão)
<comando>;
else if(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 inteiras ou 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:
• switch abre 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;
• break força a saída do bloco switch.
• O switch difere do comando if pelo fato de só poder testar igualdades,
enquanto if avalia 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 ?
• Pode ser utilizado em substituição a construções if-else simples;
• É chamado de ternário por 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, Victorine Viviane. Treinamento em linguagem C – Módulo
1.São Paulo: McGraw-Hill, 1990.
• Schildt, Herbert. C, Completo e Total – 3ª Ed. Revista e Atualizada. São
Paulo: Pearson Education do Brasil, 1997.
• Stephen G. Kochan. Programming in C – A complete introduction to the
C programming language. Third Edition. Indianapolis: Sams Publishing,
2005.
05/07/2023 Professor Paulo Nunes 27
O professor
05/07/2023 Professor Paulo Nunes 28

More Related Content

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

Apostila c
Apostila cApostila c
Apostila c
Valdinho Pereira
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
Tiago R. Sampaio
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
Danilo Costa
 
Lógica de programação em java
Lógica de programação em javaLógica de programação em java
Lógica de programação em java
Antonio Alves
 
3ª aula php
3ª aula php3ª aula php
3ª aula php
sergio_henrique
 
Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]
Ricardo Silva
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
Gerson Anderson
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
EvelyneBorges
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por Testes
Everton Rodrigues
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
Artur Todeschini
 
Aula02
Aula02Aula02
Aula02
Yuri Passos
 
Testes de Sofware
Testes de SofwareTestes de Sofware
Testes de Sofware
elliando dias
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
Jorge Ávila Miranda
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicas
nataferraz
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
merciaregina6
 
Excecoes em Java
Excecoes em JavaExcecoes em Java
Excecoes em Java
FranciscoMacopa
 
Action script1 apresentação2
Action script1 apresentação2Action script1 apresentação2
Action script1 apresentação2
Jorge Louro
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
Rogério Fernandes da Costa
 
ptt
pttptt
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08

Similar to Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C (20)

Apostila c
Apostila cApostila c
Apostila c
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Lógica de programação em java
Lógica de programação em javaLógica de programação em java
Lógica de programação em java
 
3ª aula php
3ª aula php3ª aula php
3ª aula php
 
Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]Estrutura condicional com Ruby[AULA-2]
Estrutura condicional com Ruby[AULA-2]
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por Testes
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Aula02
Aula02Aula02
Aula02
 
Testes de Sofware
Testes de SofwareTestes de Sofware
Testes de Sofware
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Linguagem C/C++: Condições ou expressões lógicas
Linguagem C/C++:  Condições ou expressões lógicasLinguagem C/C++:  Condições ou expressões lógicas
Linguagem C/C++: Condições ou expressões lógicas
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
 
Excecoes em Java
Excecoes em JavaExcecoes em Java
Excecoes em Java
 
Action script1 apresentação2
Action script1 apresentação2Action script1 apresentação2
Action script1 apresentação2
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
ptt
pttptt
ptt
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 

More from SchoolByte

Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.
SchoolByte
 
Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.
SchoolByte
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
SchoolByte
 
Estruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosEstruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitos
SchoolByte
 
Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.
SchoolByte
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.
SchoolByte
 
Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.
SchoolByte
 
Utilizando ponteiros em C.
Utilizando ponteiros em C.Utilizando ponteiros em C.
Utilizando ponteiros em C.
SchoolByte
 
Tutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréTutorial Visual do Open-Sankoré
Tutorial Visual do Open-Sankoré
SchoolByte
 
Tutorial Visual do Dropbox
Tutorial Visual do DropboxTutorial Visual do Dropbox
Tutorial Visual do Dropbox
SchoolByte
 

More from SchoolByte (10)

Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.
 
Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
Estruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosEstruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitos
 
Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.
 
Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.
 
Utilizando ponteiros em C.
Utilizando ponteiros em C.Utilizando ponteiros em C.
Utilizando ponteiros em C.
 
Tutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréTutorial Visual do Open-Sankoré
Tutorial Visual do Open-Sankoré
 
Tutorial Visual do Dropbox
Tutorial Visual do DropboxTutorial Visual do Dropbox
Tutorial Visual do Dropbox
 

Recently uploaded

Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
AurelianoFerreirades2
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
lveiga112
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
PatriciaZanoli
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
eaiprofpolly
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
YeniferGarcia36
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
djincognito
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
atividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinhaatividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinha
Suzy De Abreu Santana
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
soaresdesouzaamanda8
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
mamaeieby
 

Recently uploaded (20)

Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
atividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinhaatividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinha
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
 

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

  • 1. Algoritmos e Programação I Linguagem de programação C
  • 2. Comandos de decisão Ser ou não ser...
  • 3. 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 if aninhados • 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
  • 4. Tomando decisões • Propriedade fundamental de uma linguagem de programação é a capacidade de tomar decisões. • Essa capacidade permite ao programa “decidir” que ação tomar em determinados momentos dentro da execução das instruções. • A linguagem C possui alguns comando e operadores que permitem um controle total e bastante flexível das tomadas de decisão. São eles: • 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
  • 5. Verdadeiro e Falso em C • Para determinar o curso de uma ação, muitos comandos contam com um teste condicional; • Um teste condicional utiliza expressões condicionais para chegar a um valor verdadeiro ou falso; • Para a linguagem C, um valor condicional verdadeiro, é qualquer valor diferente de zero, incluindo os números negativos; • Um valor falso é zero. 05/07/2023 Professor Paulo Nunes 5
  • 6. if • Leva o computador a uma tomada de decisão simples. • Sintaxe: if(teste lógico) <comando>; • Onde: • teste ló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
  • 7. 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.
  • 8. 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’.
  • 9. 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.
  • 10. Construção if-else • Um comando if simples executa uma única instrução ou grupo de instruções, caso o teste lógico seja verdadeiro e nenhuma caso seja falso; • Associando o comando else ao if, poderemos executar uma ou um grupo de instruções se o teste lógico do if for falso. • Sintaxe: if(teste lógico) <comando 1>; else <comando 2>; 05/07/2023 Professor Paulo Nunes 10
  • 11. Exemplo 01 if-else • Imagine que você precisa determinar se um número é par ou impar. A maneira para se fazer isso é testando o resto da divisão desse número por 2, se o resto for “0” o número é par, se for diferente de “0”, é impar. Veja o exemplo a seguir utilizando apenas com o comando if: 05/07/2023 Professor Paulo Nunes 11
  • 12. Exemplo 01 if-else 05/07/2023 Professor Paulo Nunes 12 Foram necessários dois testes if.
  • 13. Exemplo 02 if-else 05/07/2023 Professor Paulo Nunes 13 Teste lógico Comando executado caso teste verdadeiro. Senão for verdadeiro, executa o comando interno ao “else”.
  • 14. Comandos if aninhados • Um comando if pode ser colocado dentro de outro comando if; • Diz-se então que o if mais interno está aninhado; • O comando else se refere sempre ao comando if mais próximo, que está dentro do mesmo bloco do else, e não está associado a outro if. 05/07/2023 Professor Paulo Nunes 14
  • 15. Exemplo 01 if aninhado 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.
  • 16. Exemplo 02 if aninhado 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 if verifica se o número digitado é maior ou menor que o gerado aleatoriamente.
  • 17. Usando os operadores lógicos • Os operadores lógicos são utilizados para montar expressões lógicas que podem ser utilizadas em comandos como if, while e do-while; • Destes operadores ! é unário e && e || são binários; • Exemplo: • Tomemos as expressões simples expre01 e expre02: • Esses operadores podem ser utilizados para condensar e clarear construções do tipo if-else. 05/07/2023 Professor Paulo Nunes 17 Expressão ló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.
  • 18. Expressões relacionais compostas • Normalmente as expressões relacionais avaliam apenas uma condição por vez, por exemplo: if(a > b) ou if( nome == ´joão´); • Podemos criar expressões compostas, onde mais de uma condição é analisada na mesma expressão, utilizando os operadores lógicos && (E) e || (OU). 05/07/2023 Professor Paulo Nunes 18
  • 19. Exemplo de expressões compostas • Imagine um programa de notas onde os alunos recebem graduação a partir de uma média e uma frequência. Para estar “Aprovado” , a média deve ser igual ou superior a 7,0 e a frequência igual ou superior a 75%. Podemos montar a seguinte composiçã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.
  • 20. Construção else-if • Construção reformatada de ninhos if-else. if(expressão) <comando>; else if(expressão) <comando>; else if(expressão) <comando>; ... else <comando>; 05/07/2023 Professor Paulo Nunes 20
  • 21. Exemplo construção else-if 05/07/2023 Professor Paulo Nunes 21 Este programa executa as quatro operações básicas.
  • 22. switch • Comando de seleção múltipla similar ao else-if; • Testa o valor de uma expressão contra uma lista de constantes inteiras ou 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
  • 23. switch • Onde: • switch abre 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; • break força a saída do bloco switch. • O switch difere do comando if pelo fato de só poder testar igualdades, enquanto if avalia expressões lógicas ou relacionais; 05/07/2023 Professor Paulo Nunes 23
  • 24. 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.
  • 25. Operador condicional ternário ? • Pode ser utilizado em substituição a construções if-else simples; • É chamado de ternário por 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
  • 26. 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.
  • 27. Referências • Mizrahi, Victorine Viviane. Treinamento em linguagem C – Módulo 1.São Paulo: McGraw-Hill, 1990. • Schildt, Herbert. C, Completo e Total – 3ª Ed. Revista e Atualizada. São Paulo: Pearson Education do Brasil, 1997. • Stephen G. Kochan. Programming in C – A complete introduction to the C programming language. Third Edition. Indianapolis: Sams Publishing, 2005. 05/07/2023 Professor Paulo Nunes 27