Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Curso : Análise e desenvolvimento de Sistemas ALGORITMOS - CCT0001 Aulas 8 e 9- Estrutura condicional Estrutura de Decisão: Comando se Estrutura de Escolha: Comando escolha Profª. Marília S. Mendes mariliamendes@gmail.com 02/09/2012 1 Estrutura de decisão Como o próprio nome apresenta, a estrutura de decisão permite que o algoritmo “tome uma decisão” sobre qual sequencia de comandos deve realizar em seguida. Isso é útil quando, dependendo de um determinado critério, é possível realizar uma ou outra sequencia de comandos. Em um algoritmo é possível encontrarmos diversas opções a serem seguidas. O mais importante para a utilização da estrutura de decisão é conhecer quais são os critérios que levam à escolha de uma determinada sequencia de comandos. Normalmente, esses critérios são determinados pela situação na qual o programa deve operar. Por exemplo, um aluno deve ser considerado aprovado se a média final dele for maior ou igual a 5 e reprovado se a média for menor do que 5. Observe que esses critérios mudam de acordo com a aplicação. No exemplo, o critério de aprovação do aluno pode ser verdade para uma determinada instituição, mas ser diferente para outra. Atenção nas identações. 02/09/2012 2 Estrutura de decisão O comando utilizado para representar uma estrutura de decisão é o comando se. Esse comando fará um teste na condição apresentada, determinando se a condição é verdadeira ou não. É importante observar que para duas opções de sequencia de comandos é necessário testar somente uma condição. Por exemplo, se a média do aluno for maior ou igual a 5 ele estará aprovado, senão estará reprovado. Atenção nas identações. 02/09/2012 3 Estrutura de decisão Fluxograma Pseudocódigo se(MEDIA >= 5)então escreva (“Aprovado”); senão escreva (“Reprovado”); fim_se Atenção nas identações. 02/09/2012 4 Estrutura de decisão Em algumas situações, não existem duas opções de sequencia de comandos a ser seguida, mas sim, uma sequencia a ser seguida, ou então não realize operação nenhuma. Por exemplo, se o valor do número for maior do que 10 multiplique esse valor por 2, senão deixe o número como está. Nesse caso, o comando se ficará da seguinte forma: Fluxograma Pseudocódigo se(VALOR > 10)então VALOR <- VALOR * 2; fim_se Obs: Importante notar que somente o lado N do comando se pode ficar sem nenhum comando. Obs: Importante notar que somente o lado N do comando se pode ficar sem nenhum comando. 02/09/2012 5 Estrutura de decisão Fluxograma Pseudocódigo programaDECISAO var realNOTA1, NOTA2, MEDIA; inicio leia(NOTA1); leia(NOTA2); MEDIA <- (NOTA1 + NOTA2) / 2; se(MEDIA >= 5)então escreva(“Aprovado”); senão escreva(“Reprovado”); fim_se fim Atenção nas identações. 02/09/2012 6 Estrutura de decisão Comandos se aninhados Na maioria dos algoritmos que devem ser desenvolvidos e que necessitam utilizar estruturas de decisão, não encontramos apenas duas opções a serem seguidas; Normalmente, encontraremos várias opções diferentes a serem realizadas, de acordo com várias condições diferentes: Por exemplo: uma determinada escola apresenta os seguintes critérios para a aprovação do aluno: MEDIA maior ou igual a 7 “Aprovado” MEDIA maior que 2 e menor que 7 “Exame” MEDIA menor ou igual a 2 “Reprovado” Atenção nas identações. 02/09/2012 7 Estrutura de decisão Fluxograma Pseudocódigo se (MEDIA >= 7) então escreva (“Aprovado”); senão se (MEDIA > 2) então escreva (“Exame”); então escreva (“Reprovado”) fim_se fim_se Obs: observe que temos uma estrutura de decisão “dentro” de outra estrutura de decisão. Atenção nas identações. 02/09/2012 8 Estrutura de decisão Exercício: Faça um fluxograma e um algoritmo em portugol para verificar se um determinado valor está dentro de uma faixa de valores entre 0 e 100: Fluxograma Pseudocódigo se (VALOR >= 0) então se (VALOR <= 100) então escreva (“Valor dentro da faixa”); senão escreva (“Valor fora da faixa”); fim_se senão escreva (“Valor fora da faixa”); fim_se 02/09/2012 9 Estrutura de decisão Fluxograma Pseudocódigo se (VALOR >=0)e(VALOR<= 100) então escreva (“Valor dentro da faixa”); senão escreva (“Valor fora da faixa”); fim_se 02/09/2012 10 Estrutura de decisão Exercício: Faça um fluxograma e um algoritmo em portugol para verificar se uma determinada pessoa mora no estado de “SP” ou no estado “RJ”: Fluxograma Pseudocódigo se (ESTADO = “SP”)ou(ESTADO= “RJ”) então escreva (“É paulista ou carioca”); senão escreva (“Não é paulista, nem carioca”); fim_se 02/09/2012 11 Estrutura de decisão Exercício: Faça um fluxograma e um algoritmo em portugol para apresentar uma mensagem de boas vindas para as pessoas que forem de qualquer estado, menos para aquelas que forem de “SP”. Fluxograma Pseudocódigo se (ESTADO<>“SP”) então escreva (“Seja bem vindo!”); fim_se se (nãoESTADO = “SP”) então escreva (“Seja bem vindo!”); fim_se 02/09/2012 12 1. Faça um algoritmo em pseudocódigo e em fluxograma para dados três valores X, Y e Z, verifique se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo equilátero, isóceles ou escaleno. Se não formarem um triângulo, escrever uma mensagem. Considerar que: O comprimento de cada lado de um triângulo é menor que a soma dos outros dois lados; Chama-se triângulo equilátero o triângulo que tem três lados iguais; Chama-se triângulo isóceles o triângulo que tem o comprimento de dois lados iguais; Chama-se triângulo escaleno o triângulo que tem os três lados diferentes. Exercícios – Estrutura de decisão Estrutura de decisão Comando escolha O comando escolha é utilizado para simplificar o algoritmo quando existe a necessidade de se usar o comando se com múltiplas opções. Atenção nas identações. 02/09/2012 14 Estrutura de decisão se (COND = 1) então escreva (“Matemática”); senão se (COND = 2) então escreva (“Português”); senão se (COND = 3) então escreva (“Física”); senão se (COND = 4) então escreva (“Biologia”); senão escreva (“Química”); fim_se fim_se fim_se fim_se Atenção nas identações. 02/09/2012 15 Estrutura de decisão Comando escolha Para esse tipo de estrutura existe uma forma de simplificação, utilizando o comando escolha. Mas para que seja possível utilizá-la, alguns detalhes são importantes: Todas as condições dos comandos se devem testar a mesma variável; Todas as condições dos comandos se devem testar a igualdade da variável com um determinado valor; Todo comando se (exceto o primeiro) se encontra no lado “N” do comando se anterior. Se todas essas condições forem satisfeitas, é possível substituir (somente no pseudocódigo) o conjunto de comandos se pelo comando escolha. Obs: Não será utilizada uma simbologia específica para o comando escolha (fluxograma). Atenção nas identações. 02/09/2012 16 Estrutura de decisão Comando escolha escolha (COND) caso 1: escreva (“Matemática”); caso 2: escreva (“Português”); caso 3: escreva (“Física”); caso 4: escreva (“Biologia”); caso 5: escreva (“Química”); fim_escolha Atenção nas identações. 02/09/2012 17 Estrutura de decisão Comando escolha As palavras reservadas escolha e fimescolha delimitam a região que fará a seleção múltipla; O comando escolha seleciona uma expressão ou variável para ser comparada com os valores especificados nos comandos caso; O comando caso tem funcionamento similar ao comando se, visto anteriormente; O comando outrocaso tem funcionamento similar ao comando senao, visto anteriormente. Atenção nas identações. 02/09/2012 18 Estrutura de decisão Comando escolha Algoritmo verifica_sexo Var sexo:caractere; Inicio escreva(“Digite o sexo: ”); leia(sexo); escolha (sexo) caso “M”: escreva(“Sexo Masculino:”); caso “F”: escreva(“Sexo Feminino:”); fimescolha Fim Estrutura de decisão Algoritmo Menor_de_idade Var idade:inteiro; Início escreva(“Digite a idade:”); leia(idade); escolha(idade) caso 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17: escreva(“menor de idade”); outrocaso: escreva(“Maior de idade”); fimescolha Fim Estrutura de decisão Comando escolha algoritmo "Times" var time: caractere inicio escreva ("Entre com o nome de um time de futebol: ") leia (time) escolha time: caso “Flamengo”, “Fluminense”, “Vasco”, “Botafogo”: escreva ("É um time carioca.") caso “São Paulo”, “Palmeiras”, “Santos”, “Corínthians”: escreva ("É um time paulista.") outrocaso: escreva ("É de outro estado.") fimescolha fimalgoritmo Exercícios 1. Faça um algoritmo (utilizando o comando escolha) que, baseado no código digitado pelo usuário, retorne o nome e valor do produto. Sabendo que: 001 – Parafuso (R$ 0,15) 002 – Porca (R$ 0,05) 003 – Prego (R$ 0,10) 004 – Martelo (R$ 40,00) 005 – Tomada (R$ 3,00) Exercícios 2. Fazer um programa que imprime na tela a situação do aluno após a sua nota ser digitada. Usar o comando CASE. Baseie-se na tabela abaixo: Exercícios 3. Faça um algoritmo que receba dois números e execute uma das operações listadas a seguir, de acordo com a escolha do usuário. Se for digitada uma opção inválida mostrar mensagem de erro e terminar a execução do programa. As opções são: 1. Média entre os dois números; 2. Diferença do maior pelo menor; 3. O produto entre os dois números. Exercícios 4. Faça um algoritmo que lê um número de 1 a 7 e informa o dia da semana correspondente, sendo domingo o número 1. Caso o número não corresponder a um dia da semana, é exibida uma mensagem de erro. Exercícios 5. Escreva um algoritmo em Portugol que permita fazer o pagamento de um funcionário, de acordo com a seguinte tabela: O algoritmo deve ler o nome do funcionário, o código correspondente ao seu cargo e indicar o valor a ser recebido. Caso haja dados extras necessários para o cálculo do pagamento, o algoritmo deve perguntar por eles somente se houver necessidade. Obs.: use somente comandos escolha-caso. Exercícios Exercícios 7. Faça um algoritmo que receba dois números, um operador matemático (+, -, *, /) e efetue o cálculo matemático baseado no operador digitado. O resultado deverá ser exibido em seguida. Utilize o comando escolha. 8. Elabore um algoritmo que, dada a idade válida de um nadador, classifique-o em uma das seguintes categorias: Não aceito: 0 a 4 anos Infantil: 5 a 10 anos Juvenil: 11 a 17 anos Sênior: 17 a 20 anos Exercícios 9. Faça um algoritmo que mostre o mês do pagamento do IPVA dos carros cujas as placas terminem em: Final 1: Pagamento em março Final 2: Pagamento em abril Final 3: Pagamento em maio Final 4: Pagamento em junho Final 5: Pagamento em julho Final 6: Pagamento em agosto Final 7: Pagamento em setembro Final 8: Pagamento em outubro Final 9: Pagamento em novembro Final 0: Pagamento em dezembro Exercícios 10. Escreva um algoritmo para apresentar o nome de um mês do ano, considerando a relação abaixo::
Compartilhar