Estruturas de Controle – A Tomada de Decisões • Desvio Condicional Simples • Desvio Condicional Composto • Desvios Condicionais Encadeados Operadores Relacionais Símbolo = <> > < >= <= Significado igual a diferente maior que menor que maior ou igual a menor ou igual a Desvio Condicional Simples se (<condição>) então <instruções para condição verdadeira> fim_se Desvio Condicional Simples programa SOMA_NUMEROS var X, A, B: inteiro inicio leia A leia B X <- A + B se (X>10) então escreva X fim_se fim Desvio Condicional Composto se <(condição)> entao <instrução para condição verdadeira> senao <instrução para condição falsa> fimse Desvio Condicional Composto programa MEDIA_SITUACAO var N1, N2, N3, N4, MEDIA: real inicio leia N1 leia N2 leia N3 leia N4 MEDIA <- (N1+N2+N3+N4)/4 escreva “A média é: “, MEDIA se ( MEDIA >= 7 ) então escreva “Aprovado” senão escreva “Reprovado” fim_se fim Desvio Condicional Encadeado se (<condição1>) então <instruções para condição1 verdadeira> senão se (<condição2>) entao <instruções para condição2 verdadeira, porém condição1 falsa> senao <instruções para condição1 e condição2 falsa> fim_se fim_se Desvio Condicional Encadeado Desvio Condicional Encadeado Considere que o funcionário deverá 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 maior que 1000, o reajuste deverá ser de 5% Salário < 500, reajuste será de 15% Salário >= 500, mas <= 1000, reajuste será de 10% Salário > 1000, reajusto será de 5% Desvio Condicional Encadeado Desvio Condicional Encadeado programa REAJUSTA_SALARIO var NOVO_SALARIO: real SALARIO: real inicio leia SALARIO se (SALARIO < 500) então NOVO_SALARIO <- SALARIO + (SALARIO * 15 / 100) senão se (SALARIO <= 1000) então NOVO_SALARIO <- SALARIO + (SALARIO * 10 / 100) senão NOVO_SALARIO <- SALARIO + (SALARIO * 5 / 100) fim_se fim_se escreva NOVO_SALARIO fim Operadores Lógicos • Operador: E • Operador: OU • Operador: NÃO Operador Lógico: E Condição 1 FALSO VERDADEIRO FALSO VERDADEIRO Condição 2 FALSO FALSO VERDADEIRO VERDADEIRO Resultado FALSO FALSO FALSO VERDADEIRO O operador do tipo E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. Operador Lógico: E programa TESTA_LOGICA_E var NUMERO: inteiro inicio leia NUMERO se (NUMERO >= 20) .e. (NUMERO <=90) então escreva “Esta na faixa de 20 a 90" senão escreva “Esta FORA da faixa de 20 a 90" fim_se fim Operador Lógico: OU Condição 1 FALSO VERDADEIRO FALSO VERDADEIRO Condição 2 FALSO FALSO VERDADEIRO VERDADEIRO Resultado FALSO VERDADEIRO VERDADEIRO VERDADEIRO O operador do tipo OU é utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro. Operador Lógico: OU programa MEDIA_FALTAS_SITUACAO var N1, N2, N3, N4, MEDIA: real FALTAS: inteiro inicio leia N1 leia N2 leia N3 leia N4 leia FALTAS MEDIA <- (N1+N2+N3+N4)/4 escreva “A média é: ”, MEDIA se (MEDIA >= 7) .ou. (FALTAS < 10) então escreva “Aprovado” senão escreva “Reprovado” fim_se fim Operador Lógico: NÃO Condição VERDADEIRO FALSO Resultado FALSO VERDADEIRO O operador do tipo NAO é utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira ou deve não ser falsa. O operador NAO se caracteriza por inverter o estado lógico de uma condição. Operador Lógico: NÃO programa TESTA_LOGICA_NAO var A, B, C, X: inteiro inicio leia A, B, X se .nao. (X>5) então C <- (A + B) * X senão C <- (A - B) * X fim_se escreva C fim TABELA VERDADE A F F V V B F V F V NÃO A NÃO B A OU B V V F V F V F V V F F V AEB F F F V