Baixe o app para aproveitar ainda mais
Prévia do material em texto
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!!!
Compartilhar