Buscar

ILP Desvios Condicionais Aula 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTRODUÇÃO A LINGUAGEM
DE PROGRAMAÇÃO
Prof.: Danilo Coimbra
(coimbra.danilo@ufba.br) 
2018 –1
Danilo Peleteiro
(dan.pltr@gmail.com) 
Desvios Condicionais
1
Conteúdo
 Desvios simples (SE)
 Desvio composto (SE / SENÃO) 
 Operadores lógicos
 Desvios encadeados
 Desvio com condição múltipla (ESCOLHA)
2
Desvio Simples - IF (SE)
 Em determinadas situações precisamos fazer com 
que o computador execute uma instrução apenas se 
determinada condição acontecer
 Chamamos essa situação de Desvio Condicional
 Exemplo:
 A lâmpada deve ser trocada SE ela estiver queimada.
 Outros exemplos?
3
Desvio Simples - IF (SE)
 A “pergunta” é feita para o comando SE
 O comando verifica se tal condição é VERDADEIRA 
(ou SIM)
 Então o comando, ou sequência de commandos, é (são) 
executado(s)
 Caso o teste seja FALSO (ou NÃO), o comando não
é executado e o programa continua após a instrução
FIM SE (})
4
Desvio Simples - IF (SE)
 Sintaxe
if ( <condição> )
comando;
if ( <condição> ) {
comando1;
…
comandoN;
}
5
Comando único
Sequência de comandos
início IF
fim IF
Desvio Simples - IF (SE)
 Exemplo
 Aprovação ou não de aluno na disciplina
 Como seria o código para verificar se o aluno foi
aprovado em determinada disciplina?
 Considerando que temos duas notas na disciplina e 
temos a nota mínima da universidade para aprovar o 
aluno
6
Desvio Simples - IF (SE)
 Exemplo
 Aprovação ou não de aluno na disciplina
 Calcular média aritmética !
#include <iostream>
using namespace std;
int main() {
float notaA, notaB, mediaAluno, mediaUni;
cin >>notaA >>notaB >> mediaUni;
mediaAluno = (notaA+notaB)/2.0;
if(mediaAluno >= mediaUni) {
cout << "Aluno aprovado na disciplina! Parabens!“<<endl;
}
return 0;
}
7
Desvio Composto - IF / ELSE (SE/SENÃO)
 No exemplo anterior, e se o aluno não conseguisse
a média da universidade?
 Uma outra mensangem poderia ser exibida
 Qual?
 Podemos fazer isso utilizando um desvio composto
 Executa um comando quando a resposta é SIM
 Executa um comando diferente quando a resposta é 
NÃO
8
Desvio Composto - IF / ELSE (SE/SENÃO)
 Fluxograma: exemplo lâmpada
9
INÍCIO
APAGAR
FIM
ACENDEU?
NÃO SIM
TROCAR
ACIONAR
INTERRUPTOR
Desvio Composto - IF / ELSE (SE/SENÃO)
 Sintaxe
if ( <condição> ) {
comando1;
…
comandoN;
}
else{
comando1;
…
comandoN;
}
10
Sequência de comandos
do IF
Sequência de comandos
do ELSE
Desvio Composto - IF / ELSE (SE/SENÃO)
 Fluxograma: exemplo aluno
11
INÍCIO
APROVADO
FIM
médiaAluno
>= mediaUni
NÃO SIM
REPROVADO
CALCULAR 
mediaAluno
Desvio Composto - IF / ELSE (SE/SENÃO)
 Exemplo
 Aprovação ou não de aluno na disciplina
 Calcular média aritmética ! 
#include <iostream>
using namespace std;
int main() {
float notaA, notaB, mediaAluno, mediaUni;
cin >>notaA >>notaB >> mediaUni;
mediaAluno = (notaA+notaB)/2.0;
if(mediaAluno >= mediaUni) {
cout << "Aluno aprovado na disciplina! Parabens!“<<endl;
}
else{
cout << "Aluno Reprovado na disciplina!"<<endl;
}
return 0;
}
12
Desvio Composto - IF / ELSE (SE/SENÃO)
 Exemplo
 Aprovação ou não de aluno na disciplina
 Calcular média aritmética ! 
#include <iostream>
using namespace std;
int main() {
float notaA, notaB, mediaAluno, mediaUni;
cin >>notaA >>notaB >> mediaUni;
mediaAluno = (notaA+notaB)/2.0;
if(mediaAluno >= mediaUni) {
cout << "Aluno aprovado na disciplina! Parabens!“<<endl;
}
else{
cout << "Aluno Reprovado na disciplina!"<<endl;
}
return 0;
}
13
CONDIÇÃO!!!!
Condições
 Operadores são utilizados para satisfazer ou
formular as condições
 Como?
 Se temperatura maior ou igual a 30 graus, vou para a 
praia!
 Se alarme instalado E alguém esbarra no carro, alarme
é acionado!
14
Condições
 Quais?
 Condições compostas
 Negação
15
DESCRIÇÃO OPERADORES
IGUAL ==
MAIOR >
MENOR <
MAIOR OU IGUAL >=
MENOR OU IGUAL <=
DIFERENTE !=
E &&
OU ||
NÃO !
Condições - Exemplos
 Operadores
A > B (A maior que B)
 Condições compostas
A > B && A > C (A maior do que B E A maior do que C)
 Negação (!)
! (A > B) A <= B (A não é maior do que B.
Logo, A é menor ou igual a B)
16
Condições
 Precedência
A > B && A > C || A > D 
é o mesmo que 
( A maior que B E A maior que C ) OU A maior que D
A > B && ( A > C || A > D ) 
é o mesmo que 
A maior que B E ( A maior que C OU A maior que D )
 Portanto
 && (E) equivale (em precedência) à multiplicação
 || (OU) equivale (em precedência) à soma
17
Desvio Encadeado
 Há ocasiões em que dentro de um SE ou SENÃO
precisamos realizer um novo teste
 Podemos colocar desvios condicionais dentro de 
outros desvios condicionais
if(<condição1>){
if(<condição2>){
comandos;
}
}
18
if(<condição1>){
<comandos>;
}
else{
<comandos>;
if(<condição2>){
<comandos>;
}
}
ou
Desvio Encadeado
 Exemplo
 Um programa lê dois números e informa qual é o maior ou se são iguais
#include <iostream>
using namespace std;
int main() {
int num1, num2;
cin >> num1 >> num2;
if(num1 == num2) {
cout << “Numeros sao iguais”<<endl;
}
else{
if(num1>num2)
cout << num1 << “ maior que “<<num2<<endl;
else
cout << num2 << “ maior que “<<num1<<endl;
}
return 0;
}
19
Desvio Múltiplo
 Há ocasiões em que podemos agrupar diversos SE 
numa estrutura mais prática chamada ESCOLHA 
(SWITCH)
 Esse comando permite executar diferentes
comandos para diferentes valores de uma mesma
variável
20
Desvio Múltiplo
 Desvio múltiplo pode substituir a seguinte estrutura
if ( <variável> == valor1 ) {
comandos1;
}
else if ( <variável> == valor2 ) {
comandos2;
}
…
else if ( <variável> == valorN ) {
comandosN;
}
else {
comandos_default;
}
21
Desvio Múltiplo
 Como?
 Sintaxe
switch ( <variável> ) {
case valor1:
comandos1;
break;
case valor2:
comandos2;
break;
…
case valorN:
comandosN;
break;
default:
comandos_default;
}
22
Início switch
Fim switch
Desvio Múltiplo
Exercício 1 
 Descrição
 Seu programa deve identificar e imprimir o resultado da 
operação desejada
 Entrada
 Três números inteiros. Os dois números iniciais representando os
números a serem utilizados na operação e o terceiro
representando o código da operação a ser realizada
 Saída
 Seu programa deve imprimir o resultado da operação
especificada com os dois números iniciais. Para os códigos 1,2,3, 
seu programa deve imprimir o resultado da soma, subtração e 
multiplicação, respectivamente. Caso o código não seja nenhum
dos especificados, o programa deverá imprimir: “Código 
inválido. Digite números 1, 2 ou 3 para a escolha da operação.”
23
Desvio Múltiplo
Código
#include <iostream>
using namespace std;
int main() {
int num1, num2, cod;
cin >> num1 >> num2>> cod;
switch(cod){
case 1: cout<<num1+num2<<endl; break;
case 2: cout<<num1-num2<<endl; break;
case 3: cout<<num1*num2<<endl; break;
default: cout<<"Codigo invalido. Digite numeros 1, 2 ou 3 para a escolha da 
operacao."<<endl;
}
return 0;
}
24
Desvio Múltiplo
Exercício 2 
 Descrição
 Seu programa deve identificar e imprimir a origem de um 
dado produto.
 Entrada
 Um número real representando o preço de um produto 
e um inteiro representando o seu código de origem.
 Saída
 Seu programa deve imprimir umalinha com o preço do 
produto com duas casas decimais seguido da sua região 
de procedência. Para os códigos iguais a 1, 2, 3, 4 ou 5, 
seu programa deve imprimir "Sul!", "Norte!", "Nordeste!", 
"Centro-Oeste!" ou "Sudeste!", respectivamente. Caso o 
código não seja nenhum dos especificados, o programa 
deverá imprimir "Produto importado!" como procedência.
25
26
Código:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
float p; int c;
cin >> p >> c;
cout << fixed << setprecision(2);
switch(c) {
case 1: cout << p << "Sul!\n"; break;
case 2: cout << p << "Norte!\n”; break;
case 3: cout << p << "Nordeste!\n"; break;
case 4: cout << p << "Centro-Oeste!\n"; break;
case 5: cout << p << "Sudeste!\n"; break;
default: cout << "Produto importado!\n";
}
return 0;
}

Continue navegando