Buscar

04 - Estruturas de decisão Lógica

Prévia do material em texto

Disciplina:
Professor: Rafael Martins Alves
INSTITUTO FEDERAL DE 
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
Mato Grosso
Câmpus Octayde
Fundamentos de Programação
Tema:
Estruturas de Decisão Lógica
1
Lógica de Programação
OBJETIVOS
2
Ao final desta aula seremos capazes de:
• Definir estruturas de condições
• Simples
• Composta
• Combinar as estruturas de condições
• Por meio de encadeamento
• Solucionar problemas de decisões
• Pseudocódigo
• Fluxograma
• Linguagem C
OBJETIVOS
3
Lógica de Programação
PRÉ-REQUISITOS
4
Conhecimento prévio em:
• Pseudocódigo e Fluxograma (problema execução único)
• Funções de entrada e saída em linguagem C
• Variáveis e Constantes
• Operadores Aritméticos
• Operadores Relacionais
• Operadores Lógicos
PRÉ-REQUISITOS
5
Lógica de Programação
CRITÉRIOS DE AVALIAÇÃO
6
Lógica de Programação
REVISÃO
7
Expressões Lógicas:
• Condição de teste que retorna valor verdadeiro ou falso;
• Exemplos: 
• 3>2 ➔ valor verdadeiro
• 4<2 ➔ valor falso
REVISÃO
8
Operadores Relacionais:
• Possibilitam saber a relação entre seus dois operandos.
• Exemplos: 
• 1==2 ➔ valor falso
• 4<=7 ➔ valor verdadeiro
REVISÃO
9
Símbolo Operador
== Igual a
!= Diferente
>= Maior ou igual
> Maior que
< Menor que
<= Menor ou igual
Operadores Lógicos:
• Servem para conectar duas 
expressões relacionais.
• Exemplos: 
a) nao(1 < 2) ➔ ?
b) 7 >= 3 ➔ ?
c) (nao(1 < 2) e (7 >= 3))➔ ?
d) (nao(1 < 2) ou (7 >= 3)) ➔ ?
REVISÃO
10
Símbolo Operador
ou OU lógico
e E lógico
nao Negação
Condição 1 Condição 2 ou e
F F F F
F V V F
V F V F
V V V V
Condição 1 !
F V
V F
Operadores Lógicos:
• Servem para conectar duas 
expressões relacionais.
• Exemplos: 
a) nao(1 < 2) ➔ valor falso
b) 7 >= 3 ➔ valor verdadeiro
c) (nao(1 < 2) e (7 >= 3))➔ valor falso
d) (nao(1 < 2) ou (7 >= 3)) ➔ valor verdadeiro
REVISÃO
11
Símbolo Operador
ou OU lógico
e E lógico
nao Negação
Condição 1 Condição 2 ou e
F F F F
F V V F
V F V F
V V V V
Condição 1 !
F V
V F
Lógica de Programação
MOTIVAÇÃO
12
• Fluxo de execução único;
• Instruções são sempre as mesmas;
• Independente dos valores de entrada.
MOTIVAÇÃO
13
Na vida real:
• A todo momento precisamos fazer diferentes escolhas;
• Ações a serem tomadas dependem de situações/condições.
MOTIVAÇÃO
14
Mercado
• Compra baseada em alguns fatores como: 
• Tempo
• Meio de transporte
• Dinheiro
MOTIVAÇÃO
15
Mercado
MOTIVAÇÃO
Tem muito dinheiro?
SIM NÃO
caro barato
16
Mercado
• O dinheiro determina a forma da compra;
• No algoritmo é o mesmo caso. As condições de decisão
mudam os fluxos das instruções que serão executadas.
MOTIVAÇÃO
17
Lógica de Programação
ESTRUTURAS DE DECISÃO LÓGICA
18
• Tomada de decisão para o caminho e a execução;
• 3 tipos de estruturas:
1) Simples
2) Composta
3) Encadeada
ESTRUTURAS DE DECISÃO LÓGICA
19
• Utilizada para testar uma certa condição antes de executar conjunto 
de instruções;
• Formas de representação :
1) ESTRUTURA SIMPLES
20
Fluxograma Pseudocódigo
se (condição) {
<comandos>
}
Na linguagem C
1) ESTRUTURA SIMPLES
21
if (condição)
{
<comandos>
}
Na linguagem C
1) ESTRUTURA SIMPLES
22
if (condição)
{
<comandos>
}
Condição uma expressão lógica através do 
retorno verdadeiro ou falso
Na linguagem C
1) ESTRUTURA SIMPLES
23
if (condição)
{
<comandos>
}
 Executa se condição
verdadeira
Na linguagem C
1) ESTRUTURA SIMPLES
24
if (condição)
{
<comandos>
}
Não são 
necessários 
chaves para 1
comando
→
→
EXEMPLO: Verificar se tem dinheiro para comprar um produto.
1) ESTRUTURA SIMPLES
25
Pseudocódigo Fluxograma Linguagem C
se (dinheiro >= preco ) {
escreva(“Coloque no carrinho”);
}
if (dinheiro >= preco )
printf(“Coloque no carrinho”);
• Duas alternativas dependem de uma mesma condição, uma de a 
condição ser verdadeira e a outra de a condição ser falsa;
• Formas de representação :
2) ESTRUTURA COMPOSTA
26
Fluxograma Pseudocódigo
se (condição) 
<comandos 1>
senão <comandos 2>
Na linguagem C
2) ESTRUTURA COMPOSTA
27
if (condição)
{
<comandos 1>
}
else
{
<comandos 2>
}
Na linguagem C
2) ESTRUTURA COMPOSTA
28
if (condição)
{
<comandos 1>
}
else
{
<comandos 2>
}
Condição uma 
expressão lógica 
através do retorno 
verdadeiro ou falso
Na linguagem C
2) ESTRUTURA COMPOSTA
29
if (condição)
{
<comandos 1>
}
else
{
<comandos 2>
}
 Executa se condição
verdadeira
 Executa se condição
falsa
Na linguagem C
2) ESTRUTURA COMPOSTA
30
if (condição)
{
<comandos 1>
}
else
{
<comandos 2>
}
→
→
Não são 
necessários 
chaves para 1
comando
→
→
Não são 
necessários 
chaves para 1
comando
EXEMPLO: Verificar se o salário de um empregado é irregular , 
ou seja, se é menor que o salário mínimo (R$998).
2) ESTRUTURA COMPOSTA
31
Pseudocódigo Fluxograma Linguagem C
se (salario < 998) {
escreva(“Salário irregular”);
}senão{
escreva(“Salário correto”);
}
if (salario < 998)
printf(“Salário irregular”);
else
printf(“Salário correto”);
• Quando se utilizam tomadas de decisão simples ou 
compostas dentro de outra;
• Uma tomada de decisão depende de outra para executar;
• Formas de representação:
3) ESTRUTURA ENCADEADA
32
Fluxograma
Pseudocódigo
se (condição 1) {
se (condição 2) {
<comandos 1> 
}senão {<comandos 
2>}
}
senão {<comandos 3>}
Na linguagem C
3) ESTRUTURA ENCADEADA
33
if (condição 1)
{
if (condição 2)
<comandos 1>
else
<comandos 2>
} 
else <comandos 3>
Na linguagem C
3) ESTRUTURA ENCADEADA
34
if (condição 1)
{
if (condição 2)
<comandos 1>
else
<comandos 2>
} 
else <comandos 3>
A condição deve ser 
uma expressão lógica
EXEMPLO: Programa de alistamento do exército. Verifique se a pessoa é 
brasileira, se sim verifique se o sexo é masculino. Caso positivo informe que 
ele deve se alistar aos 18 anos, caso contrário informe que não é preciso 
3) ESTRUTURA ENCADEADA
35
Pseudocódigo Fluxograma Linguagem C
se (nacionalidade = “B”) {
se (sexo = “M”) 
então escreva(“Deve-se alistar 
com 18 anos de idade”);
senão escreva(“Não é 
necessário alistar”);
}
senão
escreva(“Não é 
necessário alista”);
if (nacionalidade == ‘B’)
{
if (sexo == ‘M’)
printf(“Deve-se alistar com 
18 anos de idade”);
else
printf(“Não é necessário alistar”);
} else {
printf(“Não é necessário alistar”);
}
Lógica de Programação
EXEMPLO EXERCÍCIO
36
Ler um número inteiro e mostrar se o número é positivo ou 
negativo. Faça: pseudocódigo, fluxograma e programa em C.
EXEMPLO EXERCÍCIO
37
Lógica de Programação
LISTA DE EXERCÍCIOS
38
Lógica de Programação
CONCLUSÕES
39
1. Importância conteúdos anteriores;
2. Problemas práticos;
3. Relação com laços de repetições;
4. Atuação do técnico.
CONCLUSÕES
40
Obrigado!
41

Mais conteúdos dessa disciplina