LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material...
Transcript of LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material...
![Page 1: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/1.jpg)
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA
Prof. Dr. Daniel Caetano
2013 - 2
ESTRUTURAS DE DECISÃO
![Page 2: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/2.jpg)
Objetivos
• Entender a ideia de decisão
• Compreender como implementar decisões
• Compreender problemas com decisões múltiplas
• Entender a representação de uma estrutura de decisão composta
• PARA CASA – Lista Aula 8!
![Page 3: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/3.jpg)
Material de Estudo
Material Acesso ao Material
Notas de Aula http://www.caetano.eng.br/ (Lógica de Programação – Aula 8)
Apresentação http://www.caetano.eng.br/ (Lógica de Programação – Aula 8) – PARCIAL
Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas 50 a 92.
![Page 4: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/4.jpg)
O QUE É DECISÃO?
![Page 5: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/5.jpg)
Introdução • Até agora:
– programas fazem sempre a mesma tarefa!
![Page 6: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/6.jpg)
Introdução
• Até agora, nossos programas...
– faziam sempre, exatamente, a mesma tarefa!
• Por quê?
• Porque não são capazes de tomar decisões!
NOTA < 6.0 Sim
Não
Início
Fim
![Page 7: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/7.jpg)
O que é Decisão para o Computador?
• Decidir: escolher se código será executado
Início
N
N < 6.0 “Reprovado” V
Fim
F
Nem sempre é executado!
![Page 8: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/8.jpg)
O que é Decisão para o Computador?
• Decidir: escolher se código será executado
• Com base em quê?
• Regra = proposição:
– verdadeiro → executa
– falso → não executa
• Exemplo:
– Imprimir “Reprovado”
Somente Se N < 6.0
Início
N
N < 6.0 “Reprovado” V
Fim
F
![Page 9: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/9.jpg)
DECISÃO NO CÓDIGO
![Page 10: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/10.jpg)
Como Fica a Decisão no Código?
Início
N
N < 6.0 “Reprovado” V
Fim
F
• Se Nota < 6.0 imprime que aluno está reprovado
• Português Estruturado
Se N < 6.0 Entao
Escreva “Reprovado”
![Page 11: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/11.jpg)
Como Fica a Decisão no Código? • Se Nota < 6.0 imprime
que aluno está reprovado e a sua nota
• Português Estruturado
Se N < 6.0 Entao
Inicio
Escreva “Reprovado: ”
Escreva N
FimSe
Início
N
N < 6.0 “Reprovado” V
Fim
F
N
![Page 12: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/12.jpg)
Como Fica a Decisão no Código? • Português Estruturado Algoritmo “Verifica Reprovação”
Inicio
Real N
Escreva “Digite a nota: ”
Leia N
Se N < 6.0 Entao
Inicio
Escreva “Reprovado: ”
Escreva N
FimSe
FimAlgoritmo
Início
N
N < 6.0 “Reprovado” V
Fim
F
N
![Page 13: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/13.jpg)
Como Fica a Decisão no Código?
Início
N
N < 6.0 “Reprovado” V
Fim
F
• Se Nota < 6.0 imprime que aluno está reprovado
• C / C++
if ( N < 6.0 )
cout << “Reprovado”;
![Page 14: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/14.jpg)
Como Fica a Decisão no Código?
Início
N
N < 6.0 “Reprovado” V
Fim
F
• Se Nota < 6.0 imprime que aluno está reprovado e a sua nota
• C / C++
if ( N < 6.0 )
{
cout << “Reprovado: ”;
cout << N;
}
N
![Page 15: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/15.jpg)
Como Fica a Decisão no Código? • C/C++ #include <iostream>
using namespace std;
main() // Verifica Reprovação
{
float N;
cout << “Digite a nota: ”;
cin >> N;
if ( N < 6.0 )
{
cout << “Reprovado: ”;
cout << N;
} }
Início
N
N < 6.0 “Reprovado” V
Fim
F
N
![Page 16: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/16.jpg)
Forma Geral do Se / If • Português Estruturado
Se proposição_lógica Entao
Inicio
código a executar para proposição verdadeira
FimSe
• C / C++
if ( proposição_lógica )
{
código a executar para proposição verdadeira
}
![Page 17: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/17.jpg)
Outro Exemplo de Decisão • Imprimir se número é par
Início
N
N%2 = 0 “É Par!” V
Fim
F
• Português Estruturado
Algoritmo “Verifica Paridade”
Inicio
Inteiro N
Escreva “Digite um número: ”
Leia N
Se N%2 = 0 Entao
Escreva “É Par!”
FimAlgoritmo
![Page 18: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/18.jpg)
Como Fica a Decisão no Código?
• C/C++ #include <iostream>
using namespace std;
main() // Verifica Paridade
{
int N;
cout << “Digite um número: ”;
cin >> N;
if ( N%2 == 0 )
cout << “É Par!”;
}
Início
N
N%2 = 0 “É Par!” V
Fim
F
• Imprimir se número é par
![Page 19: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/19.jpg)
Como Fica a Decisão no Código?
• C/C++ #include <iostream>
using namespace std;
main() // Verifica Paridade
{
int N;
cout << “Digite um número: ”;
cin >> N;
if ( N%2 == 0 )
cout << “É Par!”;
}
Início
N
N%2 = 0 “É Par!” V
Fim
F
• Imprimir se número é par
![Page 20: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/20.jpg)
Comparadores • Por que em C/C++ usamos == ao invés de = ?
= significa atribuição (guardar valor em variável)
X = 5;
== significa comparação (resulta falso/verdadeiro)
X == 5;
Guarda o valor 5 na variável X
Verifica se X contém o valor 5
Muda X
Não Muda
X
![Page 21: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/21.jpg)
Comparadores • Quais são os comparadores?
Comparador Exemplo Significado
== x == 2 Testa igualdade entre os elementos
> x > 2 Testa se um é maior que outro
>= x >= 2 Testa se um é maior ou igual a outro
< x < 2 Testa se um é menor que outro
<= x <= 2 Testa se um é menor ou igual a outro
!= x != 2 Testa se são diferentes
![Page 22: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/22.jpg)
Exercício • Faça um programa que leia dois números
e responda se o primeiro é o maior
Comparador Significado
== Igualdade
> Maior
>= Maior ou Igual
< Menor
<= Menor ou Igual
!= Diferente
if ( proposição_lógica ) { código a executar }
• Verifica se é par #include <iostream>
using namespace std;
main() // Verifica Paridade
{
int N;
cout << “Digite um número:”;
cin >> N;
if ( N%2 == 0 )
cout << “É Par!”;
}
![Page 23: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/23.jpg)
Exercício • Faça um programa que lê dois números
e responda se o primeiro é o maior
Início
N1, N2
N1 > N2 “Primeiro é
Maior!” V
Fim
F
![Page 24: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/24.jpg)
Exercício • Faça um programa que lê
dois números e responda se o primeiro é o maior
Início
N1, N2
N1 > N2 “Primeiro é
Maior!” V
Fim
F
Algoritmo “Imprime se é Maior”
Inicio
Inteiro N1, N2
Escreva “Digite um número:”
Leia N1
Escreva “Digite outro número:”
Leia N2
Se N1 > N2 Entao
Escreva “Primeiro é maior!”
FimAlgoritmo
![Page 25: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/25.jpg)
Exercício • Faça um programa que lê
dois números e responda se o primeiro é o maior
Início
N1, N2
N1 > N2 “Primeiro é
Maior!” V
Fim
F
#include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
}
![Page 26: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/26.jpg)
Exercício Resolvido
• Modifique o programa para que ele imprima também a mensagem “Tenha um bom dia” ao fim de sua execução
#include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
}
![Page 27: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/27.jpg)
Exercício Resolvido
Início
N1, N2
N1 > N2 “Primeiro é
Maior!” V
Fim
F
#include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
cout << “Tenha um bom dia!”;
}
“Tenha um bom dia!”
![Page 28: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/28.jpg)
Exercício Resolvido
• Como imprimir ambas as mensagens apenas quando N1 for maior que N2?
#include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
cout << “Tenha um bom dia!”;
}
![Page 29: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/29.jpg)
Exercício Resolvido
Início
N1, N2
N1 > N2 “Primeiro é
Maior!” V
Fim
F
#include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
{
cout << “Primeiro é maior!”;
cout << “Tenha um bom dia!”;
} }
“Tenha um bom dia!”
![Page 30: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/30.jpg)
Exercício Resolvido – Compare! #include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
{
cout << “Primeiro é maior!”;
cout << “Tenha um bom dia!”;
} }
#include <iostream>
using namespace std;
main() // Verifica maior número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
cout << “Tenha um bom dia!”;
}
![Page 31: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/31.jpg)
DECISÕES MÚLTIPLAS
![Page 32: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/32.jpg)
Múltiplas Decisões
• Tudo pode ser feito com uma única decisão?
• E se quisermos:
a) Imprime “É Par!” se o número for par
b) Imprime “É Ímpar!” se o número for ímpar
• Podemos fazer isso com duas decisões!
![Page 33: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/33.jpg)
Múltiplas Decisões
#include <iostream>
using namespace std;
main() // Verifica Paridade
{ int N; cout << “Digite um número: ”; cin >> N; if ( N%2 == 0 ) cout << “É Par!”; if ( N%2 == 1 ) cout << “É Ímpar!”;
}
• Verificar se número é par ou ímpar
Início
N
N%2 = 0 “É Par!” V
Fim
F
N%2 = 1 “É Ímpar!” V
F
![Page 34: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/34.jpg)
Exercício • Modifique o programa do exercício anterior para
que leia dois números e responda se o primeiro é maior ou se o segundo é o maior
#include <iostream>
using namespace std;
main() // Verifica Maior Número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
}
![Page 35: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/35.jpg)
Exercício
• Modifique o programa do exercício anterior para que leia dois números e responda se o primeiro ou o segundo é o maior
Início
N1, N2
N1 > N2 “Primeiro é
Maior” V
Fim
F
N1 < N2 “Segundo é
Maior” V
F
![Page 36: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/36.jpg)
Exercício • Modifique o programa
para que leia 2 números e responda se o primeiro ou o segundo é o maior
Início
N1, N2
N1 > N2 “Primeiro é
Maior” V
Fim
F
N1 < N2 “Segundo é
Maior” V
F
#include <iostream>
using namespace std;
main() // Verifica Maior Número
{
int N1, N2;
cout << “Digite um número: ”;
cin >> N1;
cout << “Digite outro número: ”;
cin >> N2;
if ( N1 > N2 )
cout << “Primeiro é maior!”;
if ( N1 < N2 )
cout << “Segundo é maior!”;
}
![Page 37: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/37.jpg)
ESTRUTURA DE DECISÃO COMPOSTA
![Page 38: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/38.jpg)
Estrutura de Decisão Composta
• Observe o fluxograma...
Início
N
N%2 = 0 “É Par!” V
Fim
F
N%2 = 1 “É Ímpar!” V
F
![Page 39: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/39.jpg)
Estrutura de Decisão Composta
• Observe este outro... São iguais?
Início
N
N%2 = 0 “É Par!” V
Fim
F
N%2 = 1 “É Ímpar!” V
F
Início
N
N%2 = 0
“É Par!”
V
Fim
F
“É Ímpar!”
![Page 40: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/40.jpg)
Estrutura de Decisão Composta
• Observe este outro... São iguais?
Início
N
N%2 = 0 “É Par!” V
Fim
F
N%2 = 1 “É Ímpar!” V
F
Início
N
N%2 = 0
“É Par!”
V
Fim
F
“É Ímpar!”
Podem ser ambas verdadeiras ou ambas falsas
simultaneamente?
![Page 41: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/41.jpg)
Forma do Se~Senao
• Português Estruturado
Se proposição_lógica Entao
Inicio
código a executar para proposição verdadeira
FimSe
Senao
Inicio
código a executar para proposição falsa
FimSenao
![Page 42: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/42.jpg)
Forma do If~else
• C / C++
if ( proposição_lógica )
{
código a executar para proposição verdadeira
}
else
{
código a executar para proposição falsa
}
![Page 43: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/43.jpg)
Exercício • Faça um programa que receba a nota de
um aluno e responda que ele está aprovado se a nota for maior ou igual a 6,0 e reprovado caso contrário
![Page 44: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/44.jpg)
Exercício
• Faça um programa que receba a nota de um aluno e responda que ele está aprovado se a nota for maior ou igual a 6,0 e reprovado caso contrário
Início
N
N ≥ 6.0
“Reprovado”
F
Fim
V
“Aprovado”
![Page 45: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/45.jpg)
Exercício • Faça um programa que receba a
nota de um aluno e responda que ele está aprovado se a nota for maior ou igual a 6,0 e reprovado caso contrário
Início
N
N ≥ 6.0
“Reprovado”
F
Fim
V
“Aprovado”
• C/C++ #include <iostream>
using namespace std;
main()
{
float N;
cout << “Digite a nota: ”;
cin >> N;
if ( N >= 6.0 )
cout << “Aprovado”;
else
cout << “Reprovado”;
}
![Page 46: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/46.jpg)
CONCLUSÕES
![Page 47: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/47.jpg)
Resumo
• Estruturas de decisão: comportamento muda
– De acordo com proposições lógicas
• Estruturas de decisão: trazem flexibilidade
– Computador resolve sequências de cálculos sem intervenção humana
• TAREFA: Lista Aula 8!
• Como tomar decisões mais complexas?
– Combinando decisões múltiplas!
![Page 48: LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA (Lógica de Programação – Aula 8) – PARCIAL Material Didático Fundamentos da Programação de Computadores – Parte 1 – Páginas](https://reader033.fdocument.pub/reader033/viewer/2022052019/603336d7deb37302dc041214/html5/thumbnails/48.jpg)
PERGUNTAS?