Aula 5 - Estruturas de seleção simples e composta - parte 1
1. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Estruturas de Seleção – Parte I
Seleção Simples e Composta
Prof. Dr. Edson Pimentel
Centro de Matemática, Computação e
Cognição
2. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Objetivos
Reconhecer a necessidade do uso de estruturas de
seleção (decisão)
Aprender a utilizar operadores relacionais
Aprender a sintaxe da Estrutura de Seleção Simples
“SE-ENTÃO” na “linguagem PORTUGOL”
Aprender a sintaxe da Estrutura de Seleção Composta
“SE-ENTÃO-SENÃO” na “linguagem PORTUGOL”
Aprender a representação de seleção simples e
composta na forma de fluxograma
3. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Objetivos
Aprender a resolver problemas que requeiram o
uso de ESTRUTURAS DE SELEÇÃO com a
aplicação da Técnica de Interpretação de
Enunciados
4. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Relembrando...
5. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Uma estrutura sequencial é um conjunto de
comandos que serão executados em uma
sequência linear, de cima para baixo
Os comandos serão
executados na
mesma ordem em
que foram escritos
C1
C2
...
Cn
Todos os problemas (exemplos) que tratamos até o
momento foram resolvidos com estruturas sequenciais
Estrutura Sequencial
6. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Um novo
Problema
(Estudo de Caso)
7. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Escreva um algoritmo para calcular a média de um aluno a partir de
duas notas. O programa deve exibir a média e também uma
mensagem informando se o aluno foi aprovado ou reprovado. Sabe-
se que o aluno é reprovado se sua média é inferior a 6.
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
Problema
8. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Escreva um algoritmo para calcular a média de um aluno a partir de
duas notas. O programa deve exibir a média e também uma
mensagem informando se o aluno foi aprovado ou reprovado.
Sabe-se que o aluno é reprovado se sua média é inferior a 6.
SAÍDA: média e mensagem (Aprovado ou Reprovado)
Problema
ENTRADA: Quais os insumos necessários para se obter a saída?
9. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Escreva um algoritmo para calcular a média de um aluno a partir
de duas notas. O programa deve exibir a média e também uma
mensagem informando se o aluno foi aprovado ou reprovado. Sabe-
se que o aluno é reprovado se sua média é inferior a 6.
SAÍDA: média e mensagem (Aprovado ou Reprovado)
Problema
ENTRADA: duas notas (n1 e n2)
PROCESSAMENTO: Como transformar os insumos na saída?
10. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Escreva um algoritmo para calcular a média de um aluno a partir de
duas notas. O programa deve exibir a média e também uma
mensagem informando se o aluno foi aprovado ou reprovado. Sabe-
se que o aluno é reprovado se sua média é inferior a 6.
SAÍDA: média e mensagem (Aprovado ou Reprovado)
Problema
ENTRADA: duas notas (n1 e n2)
PROCESSAMENTO:
Media = (n1 + n2) / 2
Como verificar se foi aprovado ou reprovado ?
11. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
ESTRUTURAS DE
Desvios
Condicionais ou
de Seleção
12. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Um desvio condicional é usado para decidir se um
conjunto de instruções deve, ou não, ser realizado
<condição> Comandos ...
verdadeiro
falso
Necessário sempre que os programas encontrem
seqüências alternativas de ações, dependendo do
valor de determinada condição
F
L
U
X
O
G
R
A
M
A
Desvio Condicional
13. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Uma Condição é formulada com o uso de Operadores
Relacionais
Os símbolos dos OPERADORES RELACIONAIS são:
igual =
diferente <> ou !=
Maior >
Maior ou igual >=
Menor <
Menor ou igual <=
Condição
IGUAL ==
14. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Seleção
Simples
15. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Pseudocódigo
se <condição>
então
<instruções>
fimse
F
L
U
X
O
G
R
A
M
A
Desvio Condicional Simples (Seleção Simples)
No desvio condicional simples uma condição é
avaliada e, se o resultado for verdadeiro, um bloco de
instruções é executado
16. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
café = amargo? Adoçar o café
verdadeiro
falso
EXEMPLO 1
F
L
U
X
O
G
R
A
M
A
Desvio Condicional Simples (Seleção Simples)
17. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
idade > 15 Imprimir “Já Pode Votar”
verdadeiro
falso
EXEMPLO 2
Desvio Condicional Simples (Seleção Simples)
F
L
U
X
O
G
R
A
M
A
18. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Exemplo: Se a média das notas do aluno for maior ou igual a
6, imprimir “Aprovado”
se ( media >= 6) {
escreva( “Aprovado” )
}
media >=6 Imprimir
“Aprovado”
verdadeiro
falso
Pseudocódigo
se <condição>
então
<instruções>
fimse
SINTAXE PORTUGOL
Obs. 1 : No PORTUGOL o “então” é omitido
Desvio Condicional Simples (Seleção Simples)
Obs. 2.: No PORTUGOL o a condição deve estar entre parênteses
19. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Seleção Simples - Solução
Entrada de
Dados
Processamento
E
Saída de Dados
20. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Como imprimir “Reprovado” (caso não seja “Aprovado”) ?
Seleção Simples - Solução
21. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Seleção
Composta
22. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
No desvio condicional composto, uma condição é
avaliada e: se o resultado for verdadeiro, um bloco de
instruções “A” é executado. Caso contrário, outro
bloco de instruções “B” será executado
Media >=6 Imprimir “Aprovado”
verdadeiro
falso
Imprimir “Reprovado”
Desvio Condicional Composta (Seleção Composta)
BLOCO “A”
BLOCO “B”
23. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Pseudocódigo
se (<condição> )
então
<instruções>
senão
<instruções>
fimse
Desvio Condicional Composta (Seleção Composta)
24. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Exemplo: Se a média das notas do aluno for maior ou
igual a 6, imprimir “Aprovado”. Caso contrário, imprimir
“Reprovado”
se ( media >= 6 ) {
escreva( “Aprovado” )
}
senao {
escreva( “Reprovado” )
}
SINTAXE PORTUGOL
Desvio Condicional Composta (Seleção Composta)
Pseudocódigo
se (media >= 6)
então
escreva (“Aprovado”)
senão
escreva (“Reprovado”)
fimse
25. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Seleção Composta - Solução
26. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Uma Seleção Composta
X
Duas Seleções Simples
27. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Uma Seleção Composta X Duas Seleções Simples
Pseudocódigo
se (media >= 6)
então
escreva (“Aprovado”)
senão
escreva (“Reprovado”)
fimse
Pseudocódigo
se (media >= 6)
então
escreva (“Aprovado”)
fimse
se (media < 6)
então
escreva (“Reprovado”)
fimse
ATENÇÃO: Porque a solução com DUAS seleções SIMPLES parece
“computacionalmente pior” ?
28. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
se ( media >= 6 ) {
escreva( “Aprovado”)
senao {
escreva( “Reprovado”)
}
SINTAXE PORTUGOL
Uma Seleção Composta X Duas Seleções Simples
se ( media >= 6 ) {
escreva( “Aprovado”)
}
se ( media < 6 ) {
escreva( “Reprovado”)
}
SINTAXE PORTUGOL
ATENÇÃO: Na solução com DUAS seleções simples, mesmo que o
primeiro teste seja VERDADEIRO, o segundo teste de condição também
será feito
29. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
se ( media >= 6 ) {
escreva( “Aprovado”)
senao {
escreva( “Reprovado”)
}
SINTAXE PORTUGOL
Uma Seleção Composta X Duas Seleções Simples
se ( media >= 6 ) {
escreva( “Aprovado”)
}
se ( media < 6 ) {
escreva( “Reprovado”)
}
SINTAXE PORTUGOL
ATENÇÃO: A tendência é querer usar DUAS seleções SIMPLES
(porque a lógica parece mais natural). Mas recomenda-se usar
SELEÇÃO COMPOSTA, nessa situação.
30. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Sobre
Organização do
Programa
31. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Qual solução parece mais legível ?
SOLUÇÃO “A” SOLUÇÃO “B”
32. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Qual solução parece mais legível ?
SOLUÇÃO “A” SOLUÇÃO “B”
Note que na SOLUÇÃO “B” a cada “início“ { de BLOCO há um pequeno
deslocamento do código pra direita. Isso chama-se INDENTAR
33. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Boas Práticas na Organização do Programa
indentação (recuo) é um neologismo derivado da
palavra em inglês indentation. Também encontram-se as
formas identação e endentação
é um termo aplicado ao código fonte de
um programa para indicar que os elementos
hierarquicamente dispostos têm o mesmo avanço
relativamente à posição (x,0).
A maioria das linguagens “não ligam” para a formatação, ou seja, funciona
de qualquer jeito. Mas para um “ser humano” ler o código é
sempre bom deixar o código organizado.
Já a linguagem PYTHON “liga” para a endentação, pois é a indentação que
define os blocos. Não existem “início” e “fim”
34. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
“B”: Indentado“A”: NÃO Indentado
1. Note que no ENDENTADO a cada “início“ { de BLOCO há um pequeno deslocamento do
código pra direita
2. No “entao” desloca se as instruções dentro dele para a direita. O mesmo ocorre no senão
Indentar, Identar ou Endentar
35. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Um novo
Problema
(Estudo de Caso)
36. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Escreva um programa para calcular o peso ideal de uma pessoa, utilizando
as seguintes fórmulas:
Para homens: (72.7 * altura) – 58
Para mulheres: (62.1 * altura) – 44.7
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
Exercício
37. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
SAÍDA: PesoIdeal
Escreva um programa para calcular o peso ideal de uma pessoa, utilizando
as seguintes fórmulas:
Para homens: (72.7 * altura) – 58
Para mulheres: (62.1 * altura) – 44.7
Discussão da Solução
ENTRADA: Quais os insumos necessários para se obter a saída?
altura e sexo
38. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
SAÍDA:PesoIdeal
Escreva um programa para calcular o peso ideal de uma pessoa, utilizando
as seguintes fórmulas:
Para homens: (72.7 * altura) – 58
Para mulheres: (62.1 * altura) – 44.7
Discussão da Solução
ENTRADA: altura e sexo
PROCESSAMENTO: Como transformar os insumos na saída?
39. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
SAÍDA: PesoIdeal
Escreva um programa para calcular o peso ideal de uma pessoa, utilizando
as seguintes fórmulas:
Para homens: (72.7 * altura) – 58
Para mulheres: (62.1 * altura) – 44.7
Discussão da Solução
ENTRADA: altura e sexo
PROCESSAMENTO:
se sexo = “M” então
PesoIdeal = (72.7 * altura) – 58
senão
PesoIdeal = (62.1 * altura) – 44.7
40. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
SAÍDA: PesoIdeal
ENTRADA: altura e sexo
PROCESSAMENTO:
se sexo = “M” então
PesoIdeal = (72.7 * altura) – 58
senão
PesoIdeal = (62.1 * altura) – 44.7
Escreva um programa para calcular o peso ideal de uma pessoa, utilizando
as seguintes fórmulas:
Para homens: (72.7 * altura) – 58
Para mulheres: (62.1 * altura) – 44.7
Discussão da Solução
41. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Solução em PORTUGOL
42. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Solução em PORTUGOL
São necessárias outras
informações para emitir
essa mensagem de alerta ?
Incremente o programa,
mostrando uma
mensagem de alerta caso
a pessoa esteja
ACIMA DO PESO IDEAL
43. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Solução “Incrementada”em PORTUGOL
... mensagem de alerta caso a pessoa esteja ACIMA DO PESO IDEAL
44. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
COISAS PARA NÃO ESQUECER
RESUMINDO...
45. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
• Problemas que envolvam “decisão” podem ser tratados
com ESTRUTURAS DE SELEÇÃO (ou condição)
Coisas para não esquecer:
Uma Condição é formulada com o uso de Operadores
Relacionais
Os símbolos dos OPERADORES RELACIONAIS são:
igual =
diferente <> ou !=
Maior >
Maior ou igual >=
Menor <
Menor ou igual <=
No PORTUGOL o
símbolo de
É ==
46. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
Coisas para não esquecer:
• A estrutura de SELEÇÃO COMPOSTA tem a seguinte
sintaxe em PORTUGOL
se ( media >= 6 ) {
escreva( “Aprovado” )
}
senao {
escreva( “Reprovado” )
}
SINTAXE PORTUGOL
47. Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção – Parte 1
AGORA É
PRATICAR!!!