Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 FACULDADE DE COMPUTAÇÃO E INFORMÁTICA BACHARELADOS EM CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DE INFORMAÇÃO E TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Introdução à Programação – Aula 11 TEORIA: ESTRUTURA CONDICIONAL DE MÚLTIPLA ESCOLHA Nossos objetivos nesta aula são: Continuar construindo algoritmos com desvio de fluxo. Utilizar comandos de seleção de casos para desvios de fluxo com múltiplas possibilidades. A referência para esta aula é o Capítulo 7 (Estrutura Condicional – aninhadas, seleção de casos e outras formas, páginas 174 a 198) do nosso livro-texto: Piva Jr., D. et al. Algoritmos e Programação de Computadores. Rio de Janeiro: Elsevier, 2012. Não deixem de ler este capítulo após a aula de hoje! Em aulas anteriores, vimos estruturas condicionais simples e compostas, que permitem que o fluxo de execução de um algoritmo possa sofrer desvios, definindo a sequência de instruções a serem executadas, dependendo do resultado lógico da condição ser verdadeiro ou falso. Em alguns casos podemos usar uma seleção que faz escolhas a partir de uma lista de opções. A comparação é feita somente no caso de igualdade, porém podemos listar uma série de valores para comparação e, a partir de um deles, quando igual, executar um comando ou um bloco de comandos. Em muitos casos ele é preferido pelos programadores no lugar do comando condicional se, pelo aspecto visual e de organização que proporciona ao algoritmo ou programa. 2 Por exemplo, vamos considerar a seguinte situação: você recebe a média (número inteiro) de um aluno e quer classificá-la com as seguintes faixas: se a média for 10, vamos imprimir “com louvor” se a média for menor do que 10 e maior ou igual a 8, vamor imprimir “com mérito” e, se for menor do que 8 e maior ou igual a 6, vamos imprimir “com destaque” se for menor do que 6 e maior ou igual a 5, não vamos imprimir nada se for menor do que 5, vamos imprimir “reprovado” Um possível fluxograma para esta situação é mostrado abaixo: 3 Um pseudocódigo possível para este fluxograma é mostrado abaixo: se média >= 5 então se média = 10 então escreva “aprovado com louvor” senão se média >=8 então escreva “aprovado com mérito” senão se média >= 6 então escreva “aprovado com destaque” fimse fimse fimse senão escreva “reprovado” fimse Não é difícil se convencer que este código fica bastante confuso de se acompanhar com tantas decisões. Observe que há decisões dentro de decisões. Isto é chamado de decisões aninhadas, que veremos com maior detalhe na próxima aula. Para facilitar todas estas escolhas, podemos utilizar o comando de seleção, cuja sintaxe é a seguinte: escolha <expressão-de-seleção> caso1 <exp1_1>, <exp1_2>, ..., <exp1_n> : <sequência-de-comandos-1> caso2 <exp2_1>, <exp2_2>, ..., <exp2_n> : <sequência-de-comandos-2> ... outrocaso : <sequência-de-comandos-extra> fimescolha o bloco do comando de seleção começa com a palavra-chave escolha e termina com fimescolha; a expressão de seleção é uma variável e deve ser apenas um dos tipos: caractere ou inteiro. A partir dela é feita a escolha de um dos casos a ser executado; como regra geral, uma vez escolhido um caso e executado o comando ou uma sequência de comandos associado ao caso, os demais não serão executados; a palavra-chave outrocaso será escolhida se nenhum dos casos listados anteriormente atender à escolha. Ele não precisa ser utilizado se o problema não exigir. Assim, utilizando o comando de seleção, nosso algoritmo fica mais simplificado para a seguinte versão: 4 escolha média caso 10: escreva “aprovado com louvor” caso 8,9: escreva “aprovado com mérito” caso 6,7: escreva “aprovado com destaque” caso 5: escreva “aprovado” outrocaso: escreva “reprovado” fimescolha EXERCÍCIO TUTORIADO Construa um algoritmo na notação de pseudocódigo que leia o conceito de um filme e exiba sua classificação conforme a seguinte tabela: Conceito Classificação 5 Ótimo 4 Bom 3 Regular 2 Ruim 1 Péssimo 5 EXERCÍCIO COM DISCUSSÃO EM DUPLAS Construa um algoritmo na notação de pseudocódigo para construir uma calculadora simples, com apenas as quatro operações aritméticas: +, -, *, /. Você deve receber dois números reais e a operação que deverá ser executada e apresentar o resultado da operação desejada. A implementação da estrutura condicional de múltipla escolha em VisuAlg é semelhante a sintaxe em pseudocódigo, apenas retirando o “:” após <exp_n>. Na linguagem Java, a sintaxe é a seguinte: switch (expressão-de-seleção) { case constante1: sequência-de-comandos; break; case constante2: sequência-de-comandos; break; ... default: sequência-de-comandos; } Sendo que a expressão-de-seleção deve estar dentro de um parênteses e pode ser qualquer expressão válida. o bloco de comandos deve estar entre chaves “{ }”; 6 é necessário o uso da palavra case em cada um dos casos listados; A declaração default é opcional e será executada apenas se a variável, que está sendo testada, não for igual a nenhuma das listadas anteriormente. Se não estiver presente, nenhuma ação será realizada se todas as correspondências falharem; as constantes listadas nos casos devem ser seguidas de dois-pontos “:”; a palavra-chave break marca o final de um caso e, na sua ausência, será executado o caso seguinte, até encontrar um break ou o fim do bloco de comandos. EXERCÍCIO TUTORIADO Construa um programa em Java que leia o conceito de um filme e exiba sua classificação conforme a seguinte tabela: Conceito Classificação 5 Ótimo 4 Bom 3 Regular 2 Ruim 1 Péssimo 7 EXERCÍCIO COM DISCUSSÃO EM DUPLAS Escreva um programa em Java para construir uma calculadora simples, com apenas as quatro operações aritméticas: +, -, *, /. Você deve receber dois números e a operação que deverá ser executada e apresentar o resultado da operação desejada. 8 ATIVIDADES DE LABORATÓRIO Escreva um programa em VisuAlg que solicite o ano de casamento, o ano atual e escreva as seguintes mensagens, para os seguintes casos: 25 anos – “Bodas de Prata”; 50 anos – “Bodas de Ouro” e 75 anos – “Bodas de Diamante”. Nos casos restantes escrever apenas o número de anos de casados. Implemente o seu programa também em Java: 9 ATIVIDADES DE LABORATÓRIO Construir um programa em VisuAlg que faz a leitura de três números inteiros, representando uma data (dd mm aaaa). Exibir a data, onde o mês é escrito por extenso. Exemplo: leitura da data 31 3 2013; exibe: 31 de março de 2013.Implemente o seu programa também Java: 10 EXERCÍCIOS EXTRA-CLASSE 1. Escreva um programa em VisuAlg e em Java que receba dois números, execute e mostre o resultado das operações listadas a seguir de acordo com a escolha do usuário. Opção Operação 1 Média entre os números digitados 2 Diferença do maior pelo menor 3 Produto entre os números digitados 4 Divisão do primeiro pelo segundo Se a opção digitada for inválida, mostrar uma mensagem de erro e encerrar a execução do programa. Lembre-se de que, na opção 4, o segundo número deve ser diferente de zero. 2. Faça um programa em VisuAlg e em Java que, ao receber como entrada o tipo do voo (“N” para noturno / ”D” para diurno) e a quantidade de pessoas, calcule e exiba a tarifa e o total a pagar de acordo com as condições abaixo: Tipo de Voo Quantidade Tarifa Diurno <= 50 R$ 200,00 > 50 R$ 120,00 Noturno <= 50 R$ 100,00 > 50 R$ 80,00 Total a pagar = quantidade de pessoas x tarifa 3. Escreva um programa em VisuAlg e em Java que leia o custo em Reais de uma compra internacional e o tipo de moeda (1, 2 ou 3), sendo: 1 - dólar americano 2 - euro 3 - libra esterlina Mostre o tipo de moeda escolhido (dólar americano, euro ou libra esterlina) e o valor da transformação na moeda escolhida, conforme as cotações a seguir: Moeda Cotação (R$) Dólar 1,91 Euro 2,50 Libra 2,84
Compartilhar