Baixe o app para aproveitar ainda mais
Prévia do material em texto
Material de aula do Prof. João Novaes Estruturas de Decisão Prof. Cipriano Carneiro Lógica de Programação Algorítmica 2 de 15 Estruturas de Decisão Até agora falamos de algoritmos sequenciais; Estrutura de decisão permite decidirmos se queremos executar um bloco de código ou não, ou seja, se desejamos desviar um trecho de código ou não; As instruções de decisão são capazes de criar um “desvio” no fluxo do programa. Gerando o resultado esperado a partir de um julgamento prévio de certas premissas. 3 de 15 Estrutura de decisão simples Utilizado quando queremos testar uma condição antes de executarmos uma ou mais instruções. Se (<condição>) entao <instruções se a condição for verdadeira> fimse <condição> pode ser uma variável booleana ou uma expressão cujo seu resultado seja valor lógico. 4 de 15 Estrutura de decisão simples Exemplo utilizando fluxograma: Verificar se um valor inteiro fornecido pelo usuário é positivo. 5 de 15 Estrutura de decisão simples Exemplo: Verificar se um valor inteiro fornecido pelo usuário é positivo. Algoritmo "TestaPositivo" Var numero : inteiro inicio escreva ("Informe o numero") leia (numero) se (numero > 0) entao Escreva ("O numero é positivo") fimse fimalgoritmo 6 de 15 Estrutura de decisão composta Muitas vezes testar uma condição e executar um bloco de instruções caso ela seja verdadeira não é o suficiente; Utilizado quando queremos executar um trecho de código caso a instrução seja VERDADEIRA e outro caso a instrução seja FALSA. 7 de 15 Estrutura de decisão composta Implementação: Se (<condição>) então <instruções se a condição for verdadeira> Senão <instruções se a condição for falsa> Fim_Se 8 de 15 Estrutura de decisão composta Exemplo: Verificar se um valor inteiro fornecido pelo usuário é par ou impar. 9 de 15 Exemplo: Verificar se um valor inteiro fornecido pelo usuário é par ou impar. algoritmo "TestaParImpar" var numero : inteiro inicio escreva ("Informe o numero") leia (numero) se (numero mod 2 = 0) entao Escreva ("O numero é par") senao Escreva ("O numero é impar") fimse fimalgoritmo Estrutura de decisão composta 10 de 15 Estrutura de decisão encadeada É quando o bloco de instruções subordinado ao comando se/senão contém outros comandos se/senão. Implementação: se (<condição_1>) entao <instruções para condição1 verdadeira> senao se(<condição_2>) entao <instruções para condição2 verdadeira, porém condição1 falsa> senao <instruções para condição1 e condição2 falsas> fimse fimse 11 de 15 Estrutura de decisão encadeada Exemplo: 12 de 15 Estrutura de decisão encadeada Exemplo: Efetuar o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deve receber um reajuste de 15% caso seu salário seja menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%; caso seja ainda maior que 1000, o reajuste deve ser de 5%. Ao final o algoritmo deve apresentar o valor do novo salário. Observe que, para resolver o problema apresentado, é necessário utilizar uma de três condições para calcular o reajuste do salário do funcionário, sendo: • Salário <500, reajuste será de 15% • Salário >= 500, mas <= 1000, reajuste será de 10% • Salário > 1000, reajuste será de 5% As condições em questão devem ser encadeadas, pois todas as possibilidades de reajuste devem ser cercadas. 13 de 15 Estrutura de decisão encadeada Exemplo: 14 de 15 Estrutura de decisão encadeada Exemplo: algoritmo "ReajusteSalario" var novo_salario, salario : real inicio escreva ("Informe o salario") leia (salario) se (salario < 500) entao novo_salario <- salario * 1.15 senao se (salario <= 1000) entao novo_salario <- salario * 1.10 senao novo_salario <- salario * 1.05 fimse fimse escreva (novo_salario) fimalgoritmo 15 de 15 Estrutura de decisão Exercício: Resolva as questões da atividade 3.
Compartilhar