Baixe o app para aproveitar ainda mais
Prévia do material em texto
Desvios Condicionais Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes abrahao.lopes@ifrn.edu.br 1 Conteúdo � Desvio simples (SE) � Desvio composto (SE / SENÃO) � Desvios encadeados � Operadores lógicos (E / OU) � Desvio com condição múltipla (CASO) 2 Desvio simples (SE) � Algumas vezes precisamos fazer com que o computador execute uma instrução apenas se determinada condição acontecer. � Chamamos esse tipo de situação de Desvio Condicional. � Exemplo: A lâmpada deve ser trocada apenas SE ela estiver queimada. 3 Desvio Simples (SE) � Representamos essa situação graficamente como mostrado abaixo: 4 INICIO QUEIMADA? FIM TROCAR NÃO SIM Desvio Simples (SE) � A “pergunta” é feita através do comando SE. � O comando verifica o conteúdo de uma variável e caso o teste lógico retorne VERDADEIRO (ou SIM), o comando é executado. � Caso o teste lógico retorne FALSO (ou NÃO), o comando não é executado e o programa continua após a instrução FIMSE. 5 Desvio Simples (SE) � Observe o exemplo abaixo: 6 Quer saber se o valor de X é 10 Neste caso a resposta é SIM O comando é executado! Desvio Simples (SE) � Se mudarmos o valor de x para 5, veja que o comando não será executado. 7 Neste caso a resposta é NÃO O programa salta para linha 12 Desvio Simples (SE) � Os operadores que podem ser usados para as “perguntas” são: 8 OPERADOR DESCRIÇÃO = IGUAL > MAIOR QUE < MENOR QUE >= MAIOR OU IGUAL A <= MENOR OU IGUAL A <> DIFERENTE Exercícios 1. Faça um programa que o usuário digite um valor e caso o valor seja positivo, mostre a mensagem “MUITO BEM”. 2. Faça um programa que o usuário digite dois valores e se o segundo valor for maior que o primeiro, mostre a mensagem “ACERTOU”. 9 Resposta 1 10 Resposta 2 11 Desvio Composto (SE / SENÃO) � Nos programas que fizemos, o ideal seria que caso a condição não fosse atendida, uma mensagem de erro fosse mostrada. � Podemos fazer isso através de um desvio composto, que executa um comando quando a resposta é SIM e outro comando diferente quando a resposta é NÃO. � Observe o diagrama a seguir: 12 Desvio Composto (SE / SENÃO) 13 INICIO ACENDEU? FIM APAGAR NÃO SIM ACIONAR INTERRUPTOR TROCAR Desvio Composto (SE / SENÃO) � Em algoritmo fica assim: 14 A linha 12 é executada apenas quando a resposta é NÃO A linha 10 é executada apenas quando a resposta é SIM Exercícios 3. Faça um programa que o usuário digite um valor e caso o valor seja maior ou igual a zero, mostre a mensagem “É POSITIVO”, caso contrário mostre a mensagem “É NEGATIVO”. 4. Faça um programa que o usuário digite dois valores e se o segundo valor for maior que o primeiro, mostre a mensagem “O SEGUNDO É MAIOR”, caso contrário, mostre “NÃO ULTRAPASSA O PRIMEIRO”. 15 Resposta 3 16 Resposta 4 17 Desvios Encadeados � Há ocasiões em que dentro de um SE ou SENÃO precisamos realizar um novo teste. � Veja o exemplo abaixo: � Um programa lê dois números e diz qual o maior ou se são iguais. 18 Desvios Encadeados 19 INICIO X = Y ? FIM ESCREVA “SÃO IGUAIS” NÃO SIM LÊ X e Y ESCREVA “Y É MAIOR” X > Y ? SIM NÃO ESCREVA “X É MAIOR” Desvios Encadeados � Em algoritmo: 20 Exercício 5. O Mossoró West Shopping agora usa uma nova tarifação para o estacionamento, mostrado na tabela abaixo: O programa recebe o tempo em minutos e diz quando o usuário precisa pagar. 21 TEMPO VALOR ATÉ 15 MINUTOS GRÁTIS ATÉ 60 MINUTOS R$ 1,00 ACIMA DE 60 MINUTOS R$ 2,00 Resposta 5 22 Exercício 6. O usuário digita três lados de um triangulo e o programa diz se os valores formam ou não um triângulo. Pela regra, para se formar um triângulo, cada lado tem que ser menor que a soma dos outros dois lados. Ou seja (C < A+B), (B< A+C) e (A< B+C). 23 Resposta 6 24 Operadores Lógicos � Alguns problemas se tornam muito complexos quando usamos desvios encadeados. Podemos simplificá-los agrupando condições através dos operadores lógicos “ E ” e “ OU ”. � Observe o Exercício 6 reescrito usando o operador E. 25 Operadores Lógicos 26 Um único SE é usado Operadores Lógicos � Regras dos operadores � Operador “ E ” - O teste é considerado VERDADEIRO se todas as comparações forem verdadeiras (ao responder SIM em todas as perguntas) � Operador “ OU ” - O teste é considerado VERDADEIRO se qualquer das comparações forem verdadeiras (ao responder SIM em pelo menos uma das perguntas) 27 Exercício 7 Diga se é verdadeiro ou falso a <- 3 b <- 4 c <- 5 1) (A > B) E (B > C) 2) (A < C) E (A > B) 3) (A < B) E (B < C) 4) (A > B) OU (B > C) 5) (A < C) OU (A > B) 6) (A < B) OU (B < C) 28 F, F, V, F, V, V Exercício 8 � Faça um programa que pergunte ao usuário seu login e sua senha. O sistema só libera o acesso se as duas informações estiverem corretas. 29 Resposta 8 30 Exercício 9 � Faça um programa que simule uma votação em que o usuário pode votar no candidato A, cujo numero é 73, ou no candidato B, cujo número é 98. Ao ser digitado um desses números, o programa diz “VOTO CONFIRMADO”. Se digitar qualquer outro número, diz “VOTO NULO”. 31 Resposta 9 32 Exercícios 10. Faça um programa que peça ao usuário para digitar um número entre 20 e 30. Se o valor estiver fora dessa faixa, mostra uma mensagem de erro. 11. Faça um programa que peça ao usuário para digitar números abaixo de 10 ou acima de 50. Se o valor digitado não satisfaz essa condição, mostre uma mensagem de erro. 33 Desvio com condição múltipla � Há ocasiões em que podemos agrupar diversos SE numa estrutura mais prática chamada ESCOLHA. � Esse comando permite executar diferentes comandos para diferentes valores de uma mesma variável. � Observe o exemplo: � O programa lê 2 valores e exibe um menu com 3 opções: somar, subtrair ou multiplicar. 34 Desvio com condição múltipla 35 Desvio com condição múltipla � A estrutura caso também aceita múltiplos valores em uma mesma condição. 36 Exercício 12 � O programa pergunta o nome do usuário e diz sua profissão de acordo com a tabela abaixo: � Se o usuário não estiver na lista, mostra a frase “USUÁRIO DESCONHECIDO”. 37 Usuário Profissão Pedro Gerente Maria Vendedora Alice Supervisora Carlos Diretor Resposta 12 38
Compartilhar