SlideShare uma empresa Scribd logo
1 de 28
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

Mais conteúdo relacionado

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

Semelhante a 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
 

Mais de 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 CSchoolByte
 
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: conceitosSchoolByte
 
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 DropboxSchoolByte
 

Mais de 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
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficasprofcamilamanz
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficas
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 

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