Upload
tranhuong
View
215
Download
0
Embed Size (px)
Citation preview
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Estruturas de Seleção
Seleção Simples e Composta
(parte 2)
Material produzido por professores da
UFABC
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Objetivos
Aprender a utilizar operadores lógicos e
condição composta Resolver problemas que requeiram o uso de
ESTRUTURAS DE SELEÇÃO (simples e
compostas) com a aplicação da Técnica de
Interpretação de Enunciados
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Um novo Problema
(Estudo de Caso)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Escreva um algoritmo para informar se um
aluno foi aprovado ou reprovado. Sabe-se
que para ser aprovado o aluno deve ter
média aritmética maior ou igual a 6 (duas
provas) e não pode ter mais do que 12
faltas.
SAÍDA: Quais os resultados que o algoritmo deve
fornecer ?
Problema
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: mensagem (Aprovado ou Reprovado)
Problema
ENTRADA: Quais os insumos necessários para se obter a
saída?
Escreva um algoritmo para informar se um
aluno foi aprovado ou reprovado.
Sabe-se que para ser aprovado o aluno deve ter
média aritmética maior ou igual a 6 (duas
provas) e não pode ter mais do que 12 faltas.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: mensagem (Aprovado ou Reprovado)
ENTRADA: duas notas (nota1 e nota2) e
número de faltas (faltas)
PROCESSAMENTO: Como transformar os insumos na saída?
Escreva um algoritmo para informar se um aluno
foi aprovado ou reprovado. Sabe-se que para ser
aprovado o aluno deve ter média aritmética maior
ou igual a 6 (duas provas) e não pode ter mais
do que 12 faltas.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: mensagem (Aprovado ou Reprovado)
Problema
ENTRADA: nota1, nota2, faltas
PROCESSAMENTO:
Media = (nota1 + nota2) / 2
se media >=6 E faltas <=12 então
Mensagem: APROVADO
senão
Mensagem: REPROVADO
... Sabe-se que para ser aprovado o aluno deve ter média aritmética
maior ou igual a 6 (duas provas) e não pode ter mais do que 12 faltas.
CONDIÇÃO COMPOSTA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Uma Condição Composta é formulada com o uso de
Operadores Relacionais e OPERADORES LÓGICOS
Os símbolos dos OPERADORES RELACIONAIS são:
==, !=, >, <, >=, <=
Condição COMPOSTA
Uma Condição composta envolve diversas
“condições” conectadas por OPERADORES LÓGICOS
Os OPERADORES LÓGICOS são: E, OU, NÃO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Os símbolos dos OPERADORES LÓGICOS são:
E O resultado será verdadeiro somente se a avaliação de todas as
condições forem verdadeiras
OU O resultado será falso somente se a avaliação de todas as
condições forem falsos
NÃO Inverte o resultado da “expressão lógica” (ou condição)
EXEMPLO NO PORTUGOL:
se (média >= 6 e faltas <=12) { escreva (“ Aprovado ”)
} senao {
escreva (“ Reprovado ”)
}
ATENÇÃO: No PORTUGOL
os parênteses são
obrigatórios. O “e” , “ou” devem estar em caracter MINÚSCULO
Condição COMPOSTA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Condição COMPOSTA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Para x=10, y= ‘a’ e z = -1
qual o resultado lógico das seguintes sentenças?
Condição COMPOSTA - exemplo
(x > 5 e y = ‘a’)
resultado = verdadeiro
(x > 5 ou y = ‘b’)
resultado = verdadeiro
(x > 5 e y = ‘b’)
resultado = falso
(x > 5 e y = ‘a’) ou (z > 0)
resultado = verdadeiro
não (x > 5 e y = ‘b’) e (z < 0)
resultado = verdadeiro
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Um novo Problema
(Estudo de Caso)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Escreva um programa que calcule a idade de uma pessoa a partir do seu
ano de nascimento. O programa deve mostrar na tela a idade e também as
seguintes mensagens, quando for o caso:
Já pode votar (se tiver 16 anos ou mais)
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais)
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
Exercício
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Idade, Mensagens (Votar / Carteira de Habilitação)
Discussão da Solução
ENTRADA: Quais os insumos necessários para se obter a saída?
Escreva um programa que calcule a idade de uma pessoa a partir do seu
ano de nascimento. O programa deve mostrar na tela a idade e também
as seguintes mensagens, quando for o caso:
Já pode votar (se tiver 16 anos ou mais)
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Idade, Mensagens (Votar / Carteira de Habilitação)
Discussão da Solução
ENTRADA: Quais os insumos necessários para se obter a saída?
Ano de nascimento (anonascimento)
Ano atual (anoatual)
Escreva um programa que calcule a idade de uma pessoa a partir do
seu ano de nascimento. O programa deve mostrar na tela a idade e
também as seguintes mensagens, quando for o caso:
Já pode votar (se tiver 16 anos ou mais)
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Idade, Mensagens (Votar / Carteira de Habilitação)
Discussão da Solução
ENTRADA: anonascimento , anoatual
Escreva um programa que calcule a idade de uma pessoa a partir do seu
ano de nascimento. O programa deve mostrar na tela a idade e também as
seguintes mensagens, quando for o caso:
Já pode votar (se tiver 16 anos ou mais)
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais)
PROCESSAMENTO: Como transformar os insumos na saída?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Idade, Mensagens (Votar / Carteira de Habilitação)
Discussão da Solução
ENTRADA: anonasc , anoatual
... mostrar na tela a idade e também as seguintes mensagens, :
Já pode votar (se tiver 16 anos ou mais)
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais)
PROCESSAMENTO: Idade = AnoAtual - AnoNascimento
se idade >= 16 então
Mostre “Já Pode Votar”
fimse
se idade >= 18 então
Mostre “Já pode Solicitar a Carteira de Habilitação”
fimse
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Idade, Mensagens (Votar / Carteira de Habilitação)
Discussão da Solução
ENTRADA: anonasc , anoatual
... mostrar na tela a idade e também as seguintes mensagens, :
Já pode votar (se tiver 16 anos ou mais)
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais)
PROCESSAMENTO: Idade = AnoAtual - AnoNascimento
se idade >= 16 então
Mostre “Já Pode Votar”
fimse
se idade >= 18 então
Mostre “Já pode Solicitar a Carteira de Habilitação”
fimse
REFLITA: Porque nesse problema
NÃO se recomenda o uso do SENÃO ?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Sobre Organização do
Programa
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Qual solução parece mais legível ?
SOLUÇÃO “A” SOLUÇÃO “B”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
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
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
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”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
“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
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
EXERCÍCIOS Pra
VOCÊ resolver
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Um novo Problema
EXERCÍCIO 1
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
Exercício Escreva um programa que calcule o valor que deve ser pago por um
produto considerando o seu preço normal de etiqueta e a escolha de
condição de pagamento de acordo com um dos seguintes códigos:
CÓDIGO CONDIÇÃO DE
PAGAMENTO DESCONTO
1 A VISTA 10%
outro OUTRA Sem desconto
Se o comprador tiver mais que 60 anos, deve-se conceder mais 5% de
desconto, independente da condição de pagamento
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
Exercício Escreva um programa que calcule o valor que deve ser pago por um produto considerando o seu preço normal de etiqueta e a escolha
de condição de pagamento de acordo com um dos seguintes códigos:
CÓDIGO CONDIÇÃO DE PAGAMENTO
DESCONTO
1 A VISTA 10%
outro OUTRA Sem desconto
Se o comprador tiver mais que 60 anos, deve-se conceder mais 5% de
desconto, independente da condição de pagamento
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: valor a ser pago (valorApagar)
Discussão da Solução
ENTRADA: Quais os insumos necessários para se obter a saída?
Escreva um programa que calcule o valor que deve ser pago por um produto
considerando o seu preço normal de etiqueta e a escolha de
condição de pagamento de acordo com um dos seguintes códigos:
CÓDIGO CONDIÇÃO DE
PAGAMENTO DESCONTO
1 A VISTA 10%
outro OUTRA Sem desconto
Se o comprador tiver mais que 60 anos, deve-se conceder mais 5% de
desconto, independente da condição de pagamento
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Discussão da Solução
SAÍDA: valorApagar
... calcule o valor que deve ser pago por um produto considerando o seu
preço normal de etiqueta e a escolha de condição de pagamento ....
CÓDIGO CONDIÇÃO DE PAGAMENTO
DESCONTO
1 A VISTA 10%
outro OUTRA Sem desconto
Se o comprador tiver mais que 60
anos, deve-se conceder mais 5%
de desconto, independente da
condição de pagamento
ENTRADA: Quais os insumos necessários para se obter a saída?
Preço normal (precoNormal)
Condição de Pagamento (condPagto)
idade
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Discussão da Solução
PROCESSAMENTO: Como transformar os insumos na saída?
SAÍDA: valorApagar
ENTRADA: precoNormal, condPagto, idade
... calcule o valor que deve ser pago por um produto considerando o seu
preço normal de etiqueta e a escolha de condição de pagamento ....
CÓDIGO CONDIÇÃO DE PAGAMENTO
DESCONTO
1 A VISTA 10%
outro OUTRA Sem desconto
Se o comprador tiver mais que 60
anos, deve-se conceder mais 5%
de desconto, independente da
condição de pagamento
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA: valorApagar
ENTRADA: precoNormal, condPagto, idade
CÓDIGO CONDIÇÃO DE PAGAMENTO
DESCONTO
1 A VISTA 10%
outro OUTRA Sem desconto
Se o comprador tiver mais que 60
anos, deve-se conceder mais 5%
de desconto, independente da
condição de pagamento
Discussão da Solução
PROCESSAMENTO:
se condPagto = 1 então
valorApagar = precoNormal * 0.90
senão
valorApagar = precoNormal
fimse
se idade > 60 então
valorApagar = valorApagar * 0.95 fimse
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Um novo Problema
EXERCÍCIO 2
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Escreva um algoritmo que solicite a digitação das medidas dos 3
lados de um suposto triângulo (A, B, C) e informe se esses
3 lados formam ou não um triângulo
Exercício
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
TRIÂNGULO: É uma figura geométrica de 3 lados, em que
cada lado é menor do que a soma dos outros dois
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Escreva um algoritmo que solicite a digitação das medidas dos 3
lados de um suposto triângulo (A, B, C) e informe se esses
3 lados formam ou não um triângulo
Exercício
SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
TRIÂNGULO: É uma figura geométrica de 3 lados, em que cada lado é
menor do que a soma dos outros dois
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
SAÍDA : “É triângulo” ou “Não é Triângulo”
Discussão da Solução
ENTRADA: Quais os insumos necessários para se obter a saída?
os 3 lados (A, B, C)
Escreva um algoritmo que solicite a digitação das medidas dos 3
lados de um suposto triângulo (A, B, C) e informe se esses
3 lados formam ou não um triângulo
TRIÂNGULO: É uma figura geométrica de 3 lados, em que cada lado é
menor do que a soma dos outros dois
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Discussão da Solução
PROCESSAMENTO: Como transformar os insumos na saída?
SAÍDA : “É triângulo” ou “Não é Triângulo”
ENTRADA: os 3 lados (A, B, C)
Escreva um algoritmo que solicite a digitação das medidas dos 3
lados de um suposto triângulo (A, B, C) e informe se esses
3 lados formam ou não um triângulo
TRIÂNGULO: É uma figura geométrica de 3 lados, em que cada lado é
menor do que a soma dos outros dois
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Estruturas de Seleção
Discussão da Solução
SAÍDA : “É triângulo” ou “Não é Triângulo”
ENTRADA: os 3 lados (A, B, C)
Escreva um algoritmo que solicite a digitação das medidas dos 3
lados de um suposto triângulo (A, B, C) e informe se esses
3 lados formam ou não um triângulo
TRIÂNGULO: É uma figura geométrica de 3 lados, em que cada lado é
menor do que a soma dos outros dois
PROCESSAMENTO:
Se ( A < B+C ) E ( B < A+C ) E ( C < A+B ) Então
Mostre “As medidas dos lados formam um triângulo”
Senão
Mostre “As medidas dos lados NÃO formam um triângulo”