38
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

Estruturas de Seleção Seleção Simples e Composta (parte 2) · palavra em inglês indentation. Também encontram-se as formas identação e endentação é um termo aplicado ao

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”

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Estruturas de Seleção

AGORA É PRATICAR!!!