SlideShare uma empresa Scribd 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

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

Obra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina DireitoObra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina Direitorarakey779
 
AULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxAULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxGraycyelleCavalcanti
 
Os Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco LeiteOs Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco Leiteprofesfrancleite
 
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdfmanual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdfLeandroTelesRocha2
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfRILTONNOGUEIRADOSSAN
 
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfCurso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfLeandroTelesRocha2
 
ATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxmairaviani
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfrarakey779
 
Poema - Reciclar é preciso
Poema            -        Reciclar é precisoPoema            -        Reciclar é preciso
Poema - Reciclar é precisoMary Alvarenga
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxSolangeWaltre
 
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxCIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxMariaSantos298247
 
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPereira801
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosbiancaborges0906
 
Aproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividadeAproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividadeLigia Galvão
 
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptxDIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptxcleanelima11
 
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdfedjailmax
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfrarakey779
 
Desastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadessDesastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadessRodrigoGonzlez461291
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assisbrunocali007
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdfARIANAMENDES11
 

Último (20)

Obra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina DireitoObra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina Direito
 
AULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptxAULA Saúde e tradição-3º Bimestre tscqv.pptx
AULA Saúde e tradição-3º Bimestre tscqv.pptx
 
Os Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco LeiteOs Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco Leite
 
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdfmanual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdf
 
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfCurso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
 
ATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptx
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
 
Poema - Reciclar é preciso
Poema            -        Reciclar é precisoPoema            -        Reciclar é preciso
Poema - Reciclar é preciso
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
 
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxCIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
 
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 
Aproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividadeAproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividade
 
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptxDIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
 
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
Desastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadessDesastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadess
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.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