Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comandos condicionais de múltipla escolha APRESENTAÇÃO Em muitas situações práticas, a utilização de comando de seleção encadeado torna o algoritmo difícil de desenvolver e até mesmo de validar. Por isso, substituir o comando de seleção encadeado pelo comando de seleção múltipla é uma boa opção em aplicações que permitem essa alteração. Nesta Unidade de Aprendizagem, estudaremos a solução de problemas através da utilização de estruturas condicionais de seleção múltipla no desenvolvimento de algoritmos em forma de fluxograma, sua estrutura básica, análise e teste de aplicações práticas. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Analisar algoritmos com estruturas de seleção múltipla em fluxograma.• Identificar problemas que podem ser resolvidos com a aplicação de comando de seleção múltipla. • Construir algoritmos em fluxograma que necessitam de comandos de seleção múltipla para a solução. • DESAFIO Desenvolva um algoritmo em fluxograma para criar uma minicalculadora com algumas operações básicas. O algoritmo deve solicitar ao usuário dois valores reais (operandos) e o símbolo da operação que deseja realizar com os dois valores lidos. Para a solução desse problema, deve-se utilizar o comando de seleção múltipla. O menu que deverá aparecer para o usuário será: Se o operador “+” for digitado, deverá realizar a soma dos dois valores. Se o operador “-” for digitado, deverá realizar a subtração dos dois valores, o primeiro menos o segundo. Se o operador “*“ for digitado, deverá realizar a multiplicação dos dois valores. Se o operador “/“ for digitado, deverá realizar a divisão do maior valor pelo menor valor. Deverá, primeiramente, encontrar quem é o maior e quem é o menor. Se for digitado um operador diferente de “+”, “-“, “*” e “/”, deverá mostrar a frase “Operador inválido” e não permitir a realização e impressão de nenhum cálculo. Ao final, deve ser impresso o resultado da operação, caso seja digitada uma operação válida. O fluxograma poderá ser desenvolvido em qualquer ferramenta (editor de texto, PowerPoint, Visio, DIA, ou feito à mão e escaneado para entregar). Entregue o fluxograma em um arquivo. INFOGRÁFICO A partir da imagem você visualiza os temas que serão tratados nesta Unidade de Aprendizagem, os mesmos fornecem uma base para compreender os comandos que envolvem múltipla escolha. CONTEÚDO DO LIVRO As estruturas de seleção múltipla são aplicadas em situações nas quais pode haver uma ou mais condições a serem testadas e um comando ou um conjunto de comandos diferentes a serem executados em cada uma delas. Para melhor compreender a estrutura de controle de seleção múltipla através de fluxograma, acompanhe um trecho da seguinte obra: EDELWEISS, N.; LIVI, M.A.C. Algoritmos e programação com exemplos em Pascal e C - Vol. 23. Série Livros Didáticos Informática UFRGS. Porto Alegre: Bookman, 2014. O livro servirá como base para esta Unidade de Aprendizagem. No capítulo selecionado, serão apresentados a estrutura básica de funcionamento do comando de seleção múltipla e alguns exemplos de aplicações desenvolvidas. s é r ie liv ro s d id á tic o s in fo r m á tic a u fr g s 23 s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s volume 3 Linguagens Formais e Autômatos, 6.ed., de Paulo Blauth Menezes volume 4 Projeto de Banco de Dados, 6.ed., de Carlos Alberto Heuser volume 5 Teoria da Computação: Máquinas Universais e Computabilidade, 3.ed, de Tiarajú Asmuz Diverio e Paulo Blauth Menezes volume 6 Arquitetura de Computadores Pessoais, 2.ed., de Raul Fernando Weber volume 7 Concepção de Circuitos Integrados, 2.ed., de Ricardo Augusto da Luz Reis e cols. volume 8 Fundamentos de Arquitetura de Computadores, 4.ed., de Raul Fernando Weber volume 10 Tabelas: Organização e Pesquisa, de Clesio Saraiva dos Santos e Paulo Alberto de Azeredo volume 11 Sistemas Operacionais, 4.ed., de Rômulo Silva de Oliveira, Alexandre da Silva Carissimi e Simão Sirineo Toscani volume 12 Teoria das Categorias para Ciência da Computação, 2.ed., de Paulo Blauth Menezes e Edward Hermann Haeusler volume 13 Complexidade de Algoritmos, 3.ed., de Laira Vieira Toscani e Paulo A. S. Veloso volume 16 Matemática Discreta para Computação e Informática, 4.ed., de Paulo Blauth Menezes volume 18 Estruturas de Dados, de Nina Edelweiss e Renata Galante volume 19 Aprendendo Matemática Discreta com Exercícios, de Paulo Blauth Menezes, Laira Vieira Toscani e Javier García López volume 20 Redes de Computadores, de Alexandre da Silva Carissimi, Juergen Rochol e Lisandro Zambenedetti Granville volume 21 Introdução à Abstração de Dados, de Daltro José Nunes volume 22 Comunicação de Dados, de Juergen Rochol COMPUTAÇÃO www.grupoa.com.br A Bookman é um dos selos editoriais do Grupo A Educação, empresa que oferece soluções em conteúdo, tecnologia e serviços para a educação acadêmica e profissional. algoritmos e programação com exemplos em Pascal e C nina edelweiss maria aparecida castro livi Material didático para professores Visite www.grupoa.com.br nina edelweiss maria aparecida castro livi l i v r o s d i s p o n í v e i s algoritm os e program ação com exem plos em P ascal e C 23 edelw eiss livi 23 algoritmos e programação com exemplos em Pascal e C Aprender programação não é uma tarefa simples. Requer um entendimento perfeito do problema, a análise de como solucioná-lo e a escolha da forma de implementação da solução. algoritmos e programação apresenta o processo de construção de algoritmos e de programas, enfatizando as etapas de abstração, organização, análise e crítica na busca de soluções eficientes. Os elementos de um programa são introduzidos pouco a pouco ao longo do texto, inicialmente apresentados em pseudolinguagem e, em seguida, exemplificados nas linguagens de programação Pascal e C. Este é um livro-texto para disciplinas iniciais de programação de duração de um semestre. Pode ser utilizado sobretudo em cursos de bacharelado e licenciatura em ciência da computação, análise de sistemas e engenharia da computação. E22a Edelweiss, Nina. Algoritmos e programação com exemplos em Pascal e C [recurso eletrônico] / Nina Edelweiss, Maria Aparecida Castro Livi. – Dados eletrônicos. – Porto Alegre : Bookman, 2014. Editado também como livro impresso em 2014. ISBN 978-85-8260-190-7 1. Informática. 2. Algoritmos – Programação. I. Livi, Maria Aparecida Castro. II. Título. CDU 004.421 as autoras Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni- versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge- nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais e internacionais. Participou de diversos projetos de pesquisa financiados por agências de fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e desenvolvimento de software. Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro- fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial quanto a distância. Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052 Edelweiss_Iniciais_eletronica.indd iiEdelweiss_Iniciais_eletronica.indd ii 14/05/14 16:5114/05/1416:51 98 Algoritmos e Programação com Exemplos em Pascal e C 4.5 comando de seleção múltipla O comando de seleção múltipla seleciona uma dentre diversas opções, com base na ava- liação de uma expressão. Na pseudolinguagem aqui utilizada, a sintaxe deste comando é: caso <expressão> seja <rótulo 1>: <comando 1> <rótulo 2>: <comando 2> ... <rótulo n>: <comando n> [ senão <comandos> ] fim caso onde os símbolos “[” e “]” significam que essa linha é opcional. O comando inicia com um cabeçalho caso <expressão> seja, seguido de uma série de comandos rotulados, ou seja, comandos precedidos por um valor seguido do caractere “:”. O resultado da avaliação da expressão utilizada no cabeçalho e os valores representados nos rótulos devem ser todos do mesmo tipo e corresponder a um valor ordinal como, por exem- plo, inteiro ou caractere. Cada rótulo corresponde a somente um comando. Um comando composto pode ser utilizado caso se queira executar mais de uma ação para um determina- do rótulo. Depois de avaliada a expressão, seu resultado é comparado com cada um dos rótulos, na ordem em que são definidos. Somente o comando associado ao primeiro rótulo que for igual ao resultado da expressão é executado. Só a igualdade é verificada. Se o valor da expressão não for igual a qualquer dos rótulos, nada será executado pelo comando. Opcionalmente, poderá ser utilizada a cláusula senão, que indica o comando a ser executado caso nenhum dos rótulos corresponda ao valor da expressão do cabeçalho. O final do comando de seleção múltipla é indicado pelas palavras reservadas fim caso. Por exemplo, supondo que a variável a seja uma variável do tipo inteiro: caso a seja 1: a ← 0 {COMANDO SIMPLES PARA O CASO a = 1} 2: início {COMANDO COMPOSTO PARA O CASO a = 2} ler(a) escrever(a) fim 3: a ← a + 1 {COMANDO SIMPLES PARA O CASO a = 3} senão escrever(a) {CLÁUSULA OPCIONAL PARA OUTROS VALORES DE a} fim caso Um comando de seleção múltipla equivale a um comando de seleção dupla com outros co- mandos de seleção dupla aninhados nele. O exemplo anterior equivale a: Edelweiss_04.indd 98Edelweiss_04.indd 98 12/03/14 09:0312/03/14 09:03 Capítulo 4 Estruturas Condicionais e de Seleção 99 se a = 1 então a ← 0 {COMANDO SIMPLES PARA O CASO a = 1} senão se a = 2 então início {COMANDO COMPOSTO PARA O CASO a = 2} ler(a) escrever(a) fim senão se a = 3 então a ← a + 1 {COMANDO SIMPLES PARA O CASO a = 3} senão escrever(a) {CLÁUSULA OPCIONAL} Uma vantagem de usar o comando de seleção múltipla em lugar desses comandos aninhados está na possibilidade de utilizar somente um nível de indentação, o que torna mais clara a visualização das alternativas existentes. A Figura 4.5 representa o fluxograma correspondente ao exemplo anterior. Pode-se observar que o fluxo do programa somente passará por um dos comandos associados aos rótulos. a = 1 a 0 verdadeiro a = 2 a = 3 a a + 1 verdadeiro verdadeiro falso falso falso SAÍDA a ENTRADA a SAÍDA a figura 4.5 Fluxograma de um comando de seleção múltipla. O algoritmo a seguir, que calcula e informa a média e o conceito de um aluno, ilustra a utili- zação de rótulos do tipo caractere em um comando de seleção múltipla: Algoritmo 4.5 – MédiaConceito2 {INFORMA MÉDIA E CONCEITO DE UM ALUNO} Entradas: nota1, nota2, nota3 (real) Saídas: média (real) Informação do conceito do aluno Variável auxiliar: conceito (char) Edelweiss_04.indd 99Edelweiss_04.indd 99 12/03/14 09:0312/03/14 09:03 100 Algoritmos e Programação com Exemplos em Pascal e C início ler (nota1, nota2, nota3) {ENTRADA DAS 3 NOTAS} média ← (nota1 + nota2 + nota3) / 3 {CALCULA MÉDIA} escrever (média) {INFORMA MÉDIA} se média ≥ 9 {CÁLCULO DO CONCEITO} então conceito ← 'A' senão se média ≥ 7,5 então conceito ← 'B' senão se média ≥ 6,0 então conceito ← 'C' senão conceito ← 'D' {MÉDIA < 6} caso conceito seja {INFORMA CONCEITO} 'A': escrever('Conceito A – Parabéns!') 'B': escrever('Conceito B') 'C': escrever('Conceito C') 'D': escrever('Conceito D – Você foi reprovado') fim caso fim A implementação do comando de seleção múltipla varia, dependendo da linguagem de pro- gramação utilizada. Algumas linguagens permitem que um comando seja rotulado com uma lista de valores, ou mesmo com um intervalo. No exemplo a seguir, nota somente pode con- ter um valor inteiro: caso nota seja 0..5: escrever('Reprovado'){RÓTULO DO TIPO INTERVALO} 6, 7, 8, 9, 10: escrever('Aprovado') {LISTA DE RÓTULOS} fim caso O primeiro comando é rotulado com o intervalo 0..5, representando os valores inteiros 0, 1, 2, 3, 4 e 5. O comando associado ao intervalo será executado quando o valor da variável nota for um desses valores. O segundo comando apresenta uma lista de rótulos. Se o valor da variável nota for igual a um deles, o segundo comando será executado. Observar que a utili- zação desses dois tipos de rótulos gerou um comando conciso e muito fácil de compreender. 4.6 exercícios de fixação exercício 4.1 Ler um número inteiro. Se o número lido for positivo, escrever uma mensagem indicando se ele é par ou ímpar. Algoritmo ParOuÍmpar {INFORMA SE UM VALOR LIDO DO TECLADO É PAR OU ÍMPAR} Entrada: valor (inteiro) {VALOR A SER TESTADO} Saída: Mensagem de 'par' ou 'ímpar' Edelweiss_04.indd 100Edelweiss_04.indd 100 12/03/14 09:0312/03/14 09:03 DICA DO PROFESSOR Em situações nas quais há um grande número de alternativas em um comando de seleção, sempre que possível, deve-se optar pelo comando de seleção múltipla, pois ele também seleciona uma dentre várias opções, com base na avaliação de uma expressão. O comando de seleção múltipla é uma forma diferente de escrever o comando se-então-senão encadeado. Assista ao vídeo para conhecer um pouco mais sobre essa estrutura e sobre as expressões lógicas aplicadas, além de compreender e analisar algumas soluções práticas e o teste de mesa do comando de seleção múltipla em forma de fluxograma. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS Observe o fluxograma:1) Analise as alternativas abaixo com relação ao algoritmo apresentado. É correto o que se afirma em: A) Os valores atribuídos para a variável “valor” são iguais para todos os dias da semana. B) O algoritmo armazena um valor diferente na variável “valor” conforme o dia da semana, sendo esses de 1 a 7. Caso seja digitado um dia diferente de 1, 2, 3, 4, 5, 6 e 7, ele exibe a frase " O dia da semana é inválido" e imprime o conteúdo da variável “Valor” como sendo zero (0). C) Se for introduzido o número 4 para a variável dia, o valor que será impresso na tela será 7.0. D) Se não fosse permitido imprimir o valor zero quando fosse digitado um valor de dia inválido, somente imprimir o valor quando fosse digitado um valor de 1 a 7, a solução seria excluir o comando de escreva “valor” antes do fim do algoritmo. E) O comando de saída Escreva “Dia da semana inválido” é obrigatório na estrutura de um comando de seleção múltipla; sem esse comando, a estrutura não funciona. Observe o fluxograma: 2) Dados os valores de entrada para a=100 e cod =1, qual será o valor armazenado na variável D após executar o trecho de fluxograma apresentado acima? A) 100 B) 130 C) 1 D) 120 E) Nenhuma alternativa correta. Uma empresa de confecções deseja gratificar seus funcionários durante um mês de trabalho em função do aumento de produção e também em função do mês da mulher. Para isso, deverá ser realizado o cálculo do bônus através do gênero dos funcionários. O fluxograma deve receber como dado de entrada a idade e o sexo de uma pessoa, podendo ser “F” para feminino e “M” para masculino. Então, deverá calcular e imprimir o valor do bônus que receberá conforme regras apresentadasna tabela abaixo. Analise o fluxograma abaixo, o qual apresenta uma proposta para a questão. 3) Avalie as sentenças apresentadas com relação ao fluxograma desenvolvido. É correto o que se afirma em: A) No fluxograma, o valor atribuído para o Bônus para idade>21 é de 50.00 e para idade<=21 é de 60.00. Assim, os valores atribuídos ao Bônus para sexo=“M” estão invertidos para os intervalos de idades apresentados na tabela. B) Com valores de entrada para idade = 22 e sexo = “F”, o valor do bônus que será impresso ao final do algoritmo será 65.00. C) Com valores de entrada para idade=25 e sexo=“M”, o valor do Bônus que será impresso ao final do algoritmo será zero(0). D) O algoritmo utiliza o comando de seleção simples, e na condição Sexo=“F”, também possui um comando de seleção simples. E) Com valores de entrada para idade = 19 e sexo =“F’’, o valor do Bônus que será impresso ao final do algoritmo será 0. Os comandos condicionais são estruturas muito utilizadas na solução de problemas nos quais é necessária a seleção de uma dentre várias opções, sendo baseadas em um mesmo teste condicional, podendo este ser verdadeiro ou falso. Analise a tabela apresentada abaixo, que representa, a partir de um código, qual será a alíquota a ser aplicada de imposto. 4) Com base na análise do número de testes a ser realizado e a performance do algoritmo, selecione qual a melhor estrutura apresentada nas alternativas abaixo a ser utilizada para resolver e calcular o imposto baseado em um determinado código. A) Comando de seleção simples. B) Comando de seleção simples de comando composto. C) Estrutura sequencial. D) Estrutura de repetição. E) Comando de seleção múltipla. Considerando o conceito e a aplicação de comandos de seleção múltipla, analise as alternativas abaixo. I – Utilizado em situações que exigem a escolha de uma dentre várias alternativas. II – O comando de seleção múltipla é uma maneira diferente de escrever um comando de seleção composto se-então-senão-fimse encadeado. III – Os problemas representados com comandos de seleção compostos nunca podem ser representados por comandos de seleção múltipla. 5) Identifique as alternativas verdadeiras (V) e falsas (F) e selecione a alternativa correta. A) V, F, V. B) F, F, V. C) V, V, F. D) Todas as alternativas são verdadeiras. E) Todas as alternativas são falsas. NA PRÁTICA % de INSS- Enquadramento do grau de risco O enquadramento do grau de risco, assim como a definição da alíquota que as empresas pagam, é calculado conforme o risco de acidente de trabalho (RAT). Como vimos, um problema pode ter várias soluções, e este problema pode ser resolvido aplicando o comando de seleção composto encadeado, ou, também, pode ser solucionado através da aplicação de um comando de seleção múltipla. A tabela abaixo representa resumidamente a classificação do grau de risco e suas alíquotas. O grau de risco no qual cada empresa está enquadrada é determinado pelo seu Código de Atividade Econômica identificado através do CNPJ da empresa. A tabela completa pode ser consultada no site da Previdência. Site da Previdência Conteúdo interativo disponível na plataforma de ensino! Vamos desenvolver um algoritmo em fluxograma para determinar e imprimir a alíquota do INSS sobre o risco de acidente do trabalho (RAT) para as empresas utilizando seleção múltipla? SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Exemplo de aplicação Conteúdo interativo disponível na plataforma de ensino!
Compartilhar