SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Condicionais em C
Yuri Tavares dos Passos
Comandos de
seleção● Como vimos anteriormente, são utilizados para tomadas de
decisões;
● Desvia o fluxo do programa para uma determinada sequência de
comandos;
● Conforme a análise de uma expressão lógica, o fluxo do
programa é alterado ou não;
● Podem ser Simples ou Composto;
● Utilizamos dois comandos para esta finalidade:
– if
– swich
– Operador ternário ?:
Comando if
●
O comando if simples é estruturado como segue:
– if (<expressão-lógica>) <comando>;
– if (<expressão-lógica>)
<comando>;
● Caso a expressão em <expressão-lógica> retornar 1 (ou
qualquer valor diferente de 0), o <comando> é executado.
● Caso a expressão em <expressão-lógica> retornar 0, o
<comando> não é executado. O fluxo passará para o
comando após o if.
●
Note que o <comando> pode ser formado apenas por uma
instrução, terminada por “;”.
Comando if
Comando if
● O comando if permite a execução de um
determinado bloco de comandos.
● Para isto deve-se construir o bloco com
o uso de chaves ({ … }):
if (<expressão-lógica>)
{
<bloco de comandos>
}
Comando if
● Caso a expressão lógica (<expressão-
lógica>) retorne um valor diferente de 0, a
sequência dentro das chaves será
executada.
● Caso a expressão lógica (<expressão-
lógica>) retorne um igual a 0, o bloco não
é executado, passando a execução para
o que vem após o bloco.
Comando if
Comando if
● O comando de seleção com duas vias
é feito com a palavra else.
if (<expressão-lógica>){
 <seqüência-de-comandos-1>
}
else {
<seqüência-de-comandos-2>
}
Comando if
● O uso ou não de chaves
determina se a via do comando
else executa apenas um
comando ou vários comandos.
Comando if
Comando if encadeado
● É utilizado quando várias condições
poderão ser testadas.
● É utilizado quando se deseja executar
após o teste de uma condição anterior.
● Cada teste é executado por vez. Quando
um deles é verdadeiro, apenas o bloco
referente a este teste é executado.
Comando if encadeado
if (<expressão-lógica-1>){
 <seqüência-de-comandos-1>
}
else if (<expressão-lógica-2>){
 <seqüência-de-comandos-2>
}
else if (<expressão-lógica-3>) {
 <seqüência-de-comandos-3>
}
. . .
[else{
<seqüência-de-comandos-n>
}]
Comando if encadeado
● A execução será feita
seqüencialmente. Se a <expressão-
lógica-1> for verdadeira a
<seqüência-de-comandos-1> é
executada pelo programa. O fluxo de
execução retornará para a próxima
instrução abaixo desse comando if.
Comando if encadeado
● Se a <expressão-lógica-1> for
falsa o programa avaliará a
próxima instrução eles if do
comando if expandido. Neste
caso, a expressão a ser avaliada
será <expressão-lógica-2>.
Comando if encadeado
● Este processo se repetirá até
que encontre uma expressão
lógica que seja verdadeira ou
encontre o comando else, caso
seja especificado.
Comando if encadeado
● É utilizado quando várias condições
poderão ser testadas.
● É utilizado quando se deseja executar
após o teste de uma condição anterior.
● Cada teste é executado por vez. Quando
um deles é verdadeiro, apenas o bloco
referente a este teste é executado.
Comando if encadeado
Comando switch
● É útil quando o valor analisado na
expressão lógica possui diversos
valores possíveis.
● É semelhante ao comando
ESCOLHA do portuguol e a seleção
de múltiplas vias do fluxograma.
Comando switch
● A sintaxe é:
switch (<expressão>){
case <valor>: [<comandos>]
[break;]
case <valor>: [<comandos>]
[break;]
…
default: [<comandos>]
[break;]
}
Comando switch
● Apenas uma expressão por case
pode ser enunciada.
● O comando break serve para
encerrar estruturas de controle.
– No caso do comando switch,
desviando o fluxo do programa para o
fim de seu bloco.
Comando switch
● A ausência do comando break
fará com que o fluxo do programa
prossiga executando os
comandos declarados dentro dos
cases seguintes.
– Trampolins, piscina e portais
dimensionais.
Comando switch
Operador
ternário ?:● O operador ternário ?: é utilizado para pequenas
expressões de atribuição que envolvam seleção.
● O nome ternário significa que o operador possui
três argumentos:
– A expressão lógica;
– O valor retornado caso a expressão lógica seja
verdadeira;
– O valor retornado caso ela seja falsa.
Operador
ternário ?:
● Sintaxe:
– (<expressão lógica>)?<expressão-
1>:<expressão-2>;
● Caso a <expressão lógica> antes do
símbolo “?” for verdadeira, o valor da
<expressão-1> será retornado.
● Caso contrário, o valor de <expressão-2>
será retornado.
Operador
ternário ?:
Exercícios
● Utilizando o comando if:
1) Faça um programa para ler um número inteiro e informar
se o número é par ou ímpar. Utilize a função o operador %.
2) Faça um programa para ler as três notas de uma aluno e
imprima se o mesmo foi aprovado ou reprovado. Adote a
média aritmética e média para aprovação maior ou igual 7,0.
3) Faça um programa para ler três valores reais e informar
se estes podem ou não formar os lados de um triângulo e
qual tipo de triângulo seria: equilátero, isóceles ou escaleno.
Exercícios
● Utilizando o comando if:
4) Faça um programa que leia o número de
eleitores de um município, o número de votos
brancos, nulos e válidos. Calcule o percentual que
cada um representa em relação ao total de
eleitores. Ao final, o programa deve:
– Imprimir o percentual de votos branco, nulos e válidos;
– Se a soma de votos nulos mais votos brancos for maior
que votos válidos, informar que a eleição foi cancelada.
Exercícios
● Utilizando o comando if:
5) A jornada de trabalho semanal de um funcionário
é de 44 horas. O funcionário que trabalhar mais de
44 horas receberá hora extra, cujo cálculo é o valor
da hora regular com um acréscimo de 30%.
Escreva um programa que leia o número de horas
trabalhadas em um mês, o salário por hora e
escreva o salário total do funcionário, que deverá
ser acrescido das horas extras, caso tenham sido
trabalhadas.
Exercícios
●
Utilizando o comando switch:
6) Faça um programa para ler valores inteiros em duas variáveis
distintas e:
– Se o resto da divisão da primeira pela segunda for 1 mostre a soma
dessas variáveis mais o resto da divisão;
– Se o resto da divisão da primeira pela segunda for 2 escreva se os
valores lidos são pares ou ímpares
– Se o resto da divisão da primeira pela segunda for igual a 3, multiplique
a soma dos valores lidos pelo primeiro;
– Se o resto da divisão da primeira pela segunda for igual a 4, divida a
soma dos números lidos pelo segundo;
– Em qualquer outra situação mostre o quadrado dos números lidos.
Exercícios
●
Utilizando o comando switch:
7) Faça um algoritmo que receba a idade de um nadador e
mostre a sua categoria usando as regras a seguir:
– Categoria Idade
– Fraldinha: até 4 anos
– Dentinho: 5 anos
– Infantil: de 6 a 7 anos
– Juvenil: de 8 a 12 anos
– Adolescente: de 13 a 17 anos
– Adulto: de 18 a 30 anos
– Sênior: acima de 30
Exercícios
● Usando o operador ternário ?::
8) Faça um programa que leia um número e
retorne o módulo deste número.
9) Faça um programa que leia dois pontos
no espaço bidimensional e encontre a
distância dada pela fórmula a seguir:
d(A,B) = |xA – xB| + |yA – yB|
Exercícios
● Usando o operador ternário ?::
10) Escreva um algoritmo que leia os coeficientes a, b e c de uma
equação do segundo grau da forma:
ax2 + bx + c = 0
E escreva na tela as raízes desta equação. Lembrando que
∆ = b2 – 4ac
e:
Caso ∆ seja menor que 0, deve-se escrever na tela que sua equação não
possui soluções reais.
a
b
x
2



Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Aula 01 - Revisão Algoritmo 1
Aula 01  - Revisão Algoritmo 1Aula 01  - Revisão Algoritmo 1
Aula 01 - Revisão Algoritmo 1
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
 
Capítulo 2 - Python
Capítulo 2 - PythonCapítulo 2 - Python
Capítulo 2 - Python
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de Repetição
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
Visualg
VisualgVisualg
Visualg
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
If
IfIf
If
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Algoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla EscolhaAlgoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla Escolha
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 Decisao
 

Andere mochten auch

2013 2014 ciencias i 2°a.blog160114imp
2013 2014 ciencias  i  2°a.blog160114imp2013 2014 ciencias  i  2°a.blog160114imp
2013 2014 ciencias i 2°a.blog160114impMarzaragos
 
Cuadro de honor periodo 4 2014
Cuadro de honor periodo 4   2014Cuadro de honor periodo 4   2014
Cuadro de honor periodo 4 2014coleliseo
 
Topics for the first transnational project meeting
Topics for the first transnational project meetingTopics for the first transnational project meeting
Topics for the first transnational project meetinglaboursofhercules
 
Agreements for andujar meeting
Agreements for andujar meetingAgreements for andujar meeting
Agreements for andujar meetinglaboursofhercules
 
HUVH les eines 2.0 al servei de la gestió de crisis en una institució pública
HUVH les eines 2.0 al servei de la gestió de crisis en una institució públicaHUVH les eines 2.0 al servei de la gestió de crisis en una institució pública
HUVH les eines 2.0 al servei de la gestió de crisis en una institució públicaInstitut Català de la Salut
 
Artilheiros copa santiago 2014
Artilheiros copa santiago 2014Artilheiros copa santiago 2014
Artilheiros copa santiago 2014Rafael Passos
 
HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...
HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...
HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...Institut Català de la Salut
 
7a. eletrocardiograma em homo sapiens
7a. eletrocardiograma em homo sapiens7a. eletrocardiograma em homo sapiens
7a. eletrocardiograma em homo sapienshillaniandradee
 
Науково-методичний супровід професійної діяльності педагогічних працівників в...
Науково-методичний супровід професійної діяльності педагогічних працівників в...Науково-методичний супровід професійної діяльності педагогічних працівників в...
Науково-методичний супровід професійної діяльності педагогічних працівників в...CSIUKRAINE
 
០១ ខេត្តបន្ទាយមានជ័យ
០១ ខេត្តបន្ទាយមានជ័យ០១ ខេត្តបន្ទាយមានជ័យ
០១ ខេត្តបន្ទាយមានជ័យsam seyla hun
 

Andere mochten auch (19)

2013 2014 ciencias i 2°a.blog160114imp
2013 2014 ciencias  i  2°a.blog160114imp2013 2014 ciencias  i  2°a.blog160114imp
2013 2014 ciencias i 2°a.blog160114imp
 
Tank 25
Tank 25Tank 25
Tank 25
 
Cuadro de honor periodo 4 2014
Cuadro de honor periodo 4   2014Cuadro de honor periodo 4   2014
Cuadro de honor periodo 4 2014
 
Topics for the first transnational project meeting
Topics for the first transnational project meetingTopics for the first transnational project meeting
Topics for the first transnational project meeting
 
Agreements for andujar meeting
Agreements for andujar meetingAgreements for andujar meeting
Agreements for andujar meeting
 
Food_Biofarm_Jane Tsao
Food_Biofarm_Jane TsaoFood_Biofarm_Jane Tsao
Food_Biofarm_Jane Tsao
 
HUVH les eines 2.0 al servei de la gestió de crisis en una institució pública
HUVH les eines 2.0 al servei de la gestió de crisis en una institució públicaHUVH les eines 2.0 al servei de la gestió de crisis en una institució pública
HUVH les eines 2.0 al servei de la gestió de crisis en una institució pública
 
Artilheiros copa santiago 2014
Artilheiros copa santiago 2014Artilheiros copa santiago 2014
Artilheiros copa santiago 2014
 
HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...
HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...
HUVH consulta d'atenció immediata d'oncologia (cai). tancant el cercle assist...
 
Amizade é tudo
Amizade é tudoAmizade é tudo
Amizade é tudo
 
7a. eletrocardiograma em homo sapiens
7a. eletrocardiograma em homo sapiens7a. eletrocardiograma em homo sapiens
7a. eletrocardiograma em homo sapiens
 
Науково-методичний супровід професійної діяльності педагогічних працівників в...
Науково-методичний супровід професійної діяльності педагогічних працівників в...Науково-методичний супровід професійної діяльності педагогічних працівників в...
Науково-методичний супровід професійної діяльності педагогічних працівників в...
 
Heater 7l
Heater 7lHeater 7l
Heater 7l
 
Anexo i proposta
Anexo i   propostaAnexo i   proposta
Anexo i proposta
 
Das Ist Absurd! - Nº1 - "La Mala Educación"
Das Ist Absurd! - Nº1 - "La Mala Educación"Das Ist Absurd! - Nº1 - "La Mala Educación"
Das Ist Absurd! - Nº1 - "La Mala Educación"
 
Aula05
Aula05Aula05
Aula05
 
Test
TestTest
Test
 
០១ ខេត្តបន្ទាយមានជ័យ
០១ ខេត្តបន្ទាយមានជ័យ០១ ខេត្តបន្ទាយមានជ័យ
០១ ខេត្តបន្ទាយមានជ័យ
 
Enfermedad diverticular de colon no complicada
Enfermedad diverticular de colon no complicadaEnfermedad diverticular de colon no complicada
Enfermedad diverticular de colon no complicada
 

Ähnlich wie Condicionais em C

Lógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoLógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoJanynne Gomes
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Adriano Teixeira de Souza
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControleGeorge Mendonça
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Thalles Anderson
 
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAndré Constantino da Silva
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfCarlosCarlos73688
 
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ãoEvelyneBorges
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxCristiano Marçal Toniolo
 
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 

Ähnlich wie Condicionais em C (20)

Lógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoLógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de Seleção
 
Cap08
Cap08Cap08
Cap08
 
Cap08
Cap08Cap08
Cap08
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2
 
ptt
pttptt
ptt
 
Java: Condicionais
Java: CondicionaisJava: Condicionais
Java: Condicionais
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 08 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdf
 
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
 
JAVA - Controle de programa
JAVA - Controle de programaJAVA - Controle de programa
JAVA - Controle de programa
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptx
 
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 

Mehr von Yuri Passos

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdfYuri Passos
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdfYuri Passos
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdfYuri Passos
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidadeYuri Passos
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completosYuri Passos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticasYuri Passos
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turingYuri Passos
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadasYuri Passos
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turingYuri Passos
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e VariacõesYuri Passos
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em CYuri Passos
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversaoYuri Passos
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoesYuri Passos
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticaoYuri Passos
 

Mehr von Yuri Passos (20)

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidade
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticas
 
Teorema de rice
Teorema de riceTeorema de rice
Teorema de rice
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadas
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turing
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e Variacões
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em C
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversao
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoes
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticao
 
Aula04
Aula04Aula04
Aula04
 
Aula03
Aula03Aula03
Aula03
 
Aula01
Aula01Aula01
Aula01
 

Condicionais em C

  • 1. Condicionais em C Yuri Tavares dos Passos
  • 2. Comandos de seleção● Como vimos anteriormente, são utilizados para tomadas de decisões; ● Desvia o fluxo do programa para uma determinada sequência de comandos; ● Conforme a análise de uma expressão lógica, o fluxo do programa é alterado ou não; ● Podem ser Simples ou Composto; ● Utilizamos dois comandos para esta finalidade: – if – swich – Operador ternário ?:
  • 3. Comando if ● O comando if simples é estruturado como segue: – if (<expressão-lógica>) <comando>; – if (<expressão-lógica>) <comando>; ● Caso a expressão em <expressão-lógica> retornar 1 (ou qualquer valor diferente de 0), o <comando> é executado. ● Caso a expressão em <expressão-lógica> retornar 0, o <comando> não é executado. O fluxo passará para o comando após o if. ● Note que o <comando> pode ser formado apenas por uma instrução, terminada por “;”.
  • 5. Comando if ● O comando if permite a execução de um determinado bloco de comandos. ● Para isto deve-se construir o bloco com o uso de chaves ({ … }): if (<expressão-lógica>) { <bloco de comandos> }
  • 6. Comando if ● Caso a expressão lógica (<expressão- lógica>) retorne um valor diferente de 0, a sequência dentro das chaves será executada. ● Caso a expressão lógica (<expressão- lógica>) retorne um igual a 0, o bloco não é executado, passando a execução para o que vem após o bloco.
  • 8. Comando if ● O comando de seleção com duas vias é feito com a palavra else. if (<expressão-lógica>){  <seqüência-de-comandos-1> } else { <seqüência-de-comandos-2> }
  • 9. Comando if ● O uso ou não de chaves determina se a via do comando else executa apenas um comando ou vários comandos.
  • 11. Comando if encadeado ● É utilizado quando várias condições poderão ser testadas. ● É utilizado quando se deseja executar após o teste de uma condição anterior. ● Cada teste é executado por vez. Quando um deles é verdadeiro, apenas o bloco referente a este teste é executado.
  • 12. Comando if encadeado if (<expressão-lógica-1>){  <seqüência-de-comandos-1> } else if (<expressão-lógica-2>){  <seqüência-de-comandos-2> } else if (<expressão-lógica-3>) {  <seqüência-de-comandos-3> } . . . [else{ <seqüência-de-comandos-n> }]
  • 13. Comando if encadeado ● A execução será feita seqüencialmente. Se a <expressão- lógica-1> for verdadeira a <seqüência-de-comandos-1> é executada pelo programa. O fluxo de execução retornará para a próxima instrução abaixo desse comando if.
  • 14. Comando if encadeado ● Se a <expressão-lógica-1> for falsa o programa avaliará a próxima instrução eles if do comando if expandido. Neste caso, a expressão a ser avaliada será <expressão-lógica-2>.
  • 15. Comando if encadeado ● Este processo se repetirá até que encontre uma expressão lógica que seja verdadeira ou encontre o comando else, caso seja especificado.
  • 16. Comando if encadeado ● É utilizado quando várias condições poderão ser testadas. ● É utilizado quando se deseja executar após o teste de uma condição anterior. ● Cada teste é executado por vez. Quando um deles é verdadeiro, apenas o bloco referente a este teste é executado.
  • 18. Comando switch ● É útil quando o valor analisado na expressão lógica possui diversos valores possíveis. ● É semelhante ao comando ESCOLHA do portuguol e a seleção de múltiplas vias do fluxograma.
  • 19. Comando switch ● A sintaxe é: switch (<expressão>){ case <valor>: [<comandos>] [break;] case <valor>: [<comandos>] [break;] … default: [<comandos>] [break;] }
  • 20. Comando switch ● Apenas uma expressão por case pode ser enunciada. ● O comando break serve para encerrar estruturas de controle. – No caso do comando switch, desviando o fluxo do programa para o fim de seu bloco.
  • 21. Comando switch ● A ausência do comando break fará com que o fluxo do programa prossiga executando os comandos declarados dentro dos cases seguintes. – Trampolins, piscina e portais dimensionais.
  • 23. Operador ternário ?:● O operador ternário ?: é utilizado para pequenas expressões de atribuição que envolvam seleção. ● O nome ternário significa que o operador possui três argumentos: – A expressão lógica; – O valor retornado caso a expressão lógica seja verdadeira; – O valor retornado caso ela seja falsa.
  • 24. Operador ternário ?: ● Sintaxe: – (<expressão lógica>)?<expressão- 1>:<expressão-2>; ● Caso a <expressão lógica> antes do símbolo “?” for verdadeira, o valor da <expressão-1> será retornado. ● Caso contrário, o valor de <expressão-2> será retornado.
  • 26. Exercícios ● Utilizando o comando if: 1) Faça um programa para ler um número inteiro e informar se o número é par ou ímpar. Utilize a função o operador %. 2) Faça um programa para ler as três notas de uma aluno e imprima se o mesmo foi aprovado ou reprovado. Adote a média aritmética e média para aprovação maior ou igual 7,0. 3) Faça um programa para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo e qual tipo de triângulo seria: equilátero, isóceles ou escaleno.
  • 27. Exercícios ● Utilizando o comando if: 4) Faça um programa que leia o número de eleitores de um município, o número de votos brancos, nulos e válidos. Calcule o percentual que cada um representa em relação ao total de eleitores. Ao final, o programa deve: – Imprimir o percentual de votos branco, nulos e válidos; – Se a soma de votos nulos mais votos brancos for maior que votos válidos, informar que a eleição foi cancelada.
  • 28. Exercícios ● Utilizando o comando if: 5) A jornada de trabalho semanal de um funcionário é de 44 horas. O funcionário que trabalhar mais de 44 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 30%. Escreva um programa que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas.
  • 29. Exercícios ● Utilizando o comando switch: 6) Faça um programa para ler valores inteiros em duas variáveis distintas e: – Se o resto da divisão da primeira pela segunda for 1 mostre a soma dessas variáveis mais o resto da divisão; – Se o resto da divisão da primeira pela segunda for 2 escreva se os valores lidos são pares ou ímpares – Se o resto da divisão da primeira pela segunda for igual a 3, multiplique a soma dos valores lidos pelo primeiro; – Se o resto da divisão da primeira pela segunda for igual a 4, divida a soma dos números lidos pelo segundo; – Em qualquer outra situação mostre o quadrado dos números lidos.
  • 30. Exercícios ● Utilizando o comando switch: 7) Faça um algoritmo que receba a idade de um nadador e mostre a sua categoria usando as regras a seguir: – Categoria Idade – Fraldinha: até 4 anos – Dentinho: 5 anos – Infantil: de 6 a 7 anos – Juvenil: de 8 a 12 anos – Adolescente: de 13 a 17 anos – Adulto: de 18 a 30 anos – Sênior: acima de 30
  • 31. Exercícios ● Usando o operador ternário ?:: 8) Faça um programa que leia um número e retorne o módulo deste número. 9) Faça um programa que leia dois pontos no espaço bidimensional e encontre a distância dada pela fórmula a seguir: d(A,B) = |xA – xB| + |yA – yB|
  • 32. Exercícios ● Usando o operador ternário ?:: 10) Escreva um algoritmo que leia os coeficientes a, b e c de uma equação do segundo grau da forma: ax2 + bx + c = 0 E escreva na tela as raízes desta equação. Lembrando que ∆ = b2 – 4ac e: Caso ∆ seja menor que 0, deve-se escrever na tela que sua equação não possui soluções reais. a b x 2  