Algoritmos I Aula 8 Estrutura de controle: seleção Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação
Operadores Lógicos Os operadores lógicos retornam verdadeiro (V) ou falso (F) de acordo com seus operandos. Os operadores lógicos mais comuns Operadores Lógicos E OU NÃO
Operadores Lógicos Suponha duas variáveis A e B, onde A=5 e B=8. Relação A < 6 E B > 7 A = 5 E B < 5 A = 5 OU B < 5 Resultado Verdadeiro: o valor de A é menor que 6 E o valor de B é maior que 7. Falso: apesar de o valor de A ser igual 5, o valor de B não é menor que 5. Verdadeiro: usando o operador OU, se ao menos uma das condições for verdadeiro (A=5), o resultado da expressão é verdadeiro.
Operadores Lógicos Observações Quando utilizamos o operador lógico E, o resultado só será verdadeiro se as duas condições relacionadas forem verdadeiras. Para o operador OU, basta que uma das condições seja verdadeira para que o resultado seja verdadeiro. Em consequência: com o operador OU, para que o resultado seja falso as duas condições devem ser falsas.
Tabela-verdade São utilizadas para visualizar todas as opções possíveis ao combinar operadores lógicos. Tabela-verdade do operador OU P Q P ou Q V V V V F V F V V F F F
Tabela-verdade Tabela-verdade do operador E P Q P ou Q V V V V F F F V F F F F Tabela-verdade do operador NÃO P V F NÃO P F V
Expressões Lógicas Exemplos: (x < y) E (y < z) (y + z < x) OU (x > 10) E (y < 5) Ordem de precedência entre operadores em expressões lógicas 1º Operadores aritméticos 2º Operadores relacionais 3º Operador lógico NÃO 4º Operador lógico E 5º Operador lógico OU
Expressões Lógicas var num1, num2, num3, num4: inteiro inicio num1 <- 10 num2 <- 2 num3 <- 200 num4 <- 200
Expressões Lógicas Verdadeiro ou Falso a) num1 > num2 b) num1 < num3 c) num1 < num4 d) num3 = num4 e) num1 num2 < num2 f) num1 + num2 > num3 g) num1 * num2 < num4 h) num3 num4 <> num4 i) num3 / num1 < num4
Expressões Lógicas Verdadeiro ou Falso a) num1 + num2 > 10 E num3 num4 = num3 b) num1 / num2 > 0 E num1 + num3 > num4 c) num1 * num2 > 40 E num3 num1 > num4 d) num1 num2 = 10 E num2 + num3 > num4 e) num3 / num2 > 0 OU num1 + num3 > num4 f) num2 * num1 = 50 OU num3 num1 > num4 g) num1 num2 > 10 OU num2 + num3 > num4
Expressões Lógicas Verdadeiro ou Falso a) num1 > num2 E num2 < num3 OU num3 < num4 b) num1 > num2 E num2 < num3 OU num3 < num4 c) num1 * num2 > 10 E num1 > num4 OU num3 num1 > num4 d) num1 > 10 OU num1> num4 E num3 num1 > num4 e) num1 + num2 > 10 OU num1 / num3 > num4 E num3 < num4
Estrutura de Controle: Seleção As estruturas de seleção ou decisão interferem diretamente no andamento do algoritmo, quando precisamos tomar decisões. Sintaxe (comando de desvio condicional): se <expressão-lógica> entao <sequência de comandos> fimse
Estrutura de Controle: Seleção se <expressão-lógica> entao <sequência de comandos> fimse Ao encontrar o comando, o Visualg analisa a <expressão-lógica>. Se o resultado for VERDADEIRO, todos os comandos da <sequência de comandos> são executados. Se o resultado for FALSO, estes comandos são desprezados e a execução do algoritmo continua a partir da primeira linha depois do fimse.
Estrutura de Controle: Seleção se <expressão-lógica> entao <sequência de comandos 1> senao <sequência de comandos 2> fimse Se o resultado da <expressão-lógica> for VERDADEIRO, todos os comandos da <sequência de comandos 1> são executados, e a execução continua na primeira linha depois de fimse. Se o resultado for FALSO, estes comandos são desprezados e o algoritmo continua a ser executado a partir da primeira linha depois do senao, executando todos os comandos da <sequência de comandos 2>.
algoritmo media var nota1, nota2, media : real inicio leia(nota1) leia(nota2) media <- (nota1 + nota2) / 2 se media >= 7 entao escreva( Aprovado! ) senao escreva( Recuperação! ) fimse fimalgoritmo
Exercícios Escreva um programa que deve ler o salário bruto e calcular o salário líquido. O salário líquido será o salário bruto menos os descontos de INSS e IR. Caso o salário bruto seja menor que R$ 1500,00 não devemos descontar IR e descontaremos 8% de INSS. Para salários a partir de R$ 1500,00, descontaremos 5% de IR e 11% de INSS. Ao final deve ser exibido o salário bruto, os valores dos descontos e o salário líquido. Escreva um programa que leia um número inteiro e diga se ele é par ou ímpar e se é positivo, negativo ou nulo.
Exercícios Escreva um programa que leia a idade de um atleta e escreva na tela em que categoria ele se enquadra, seguindo o quadro abaixo: Faixa etária de 5 a 10 anos de 11 a 17 anos de 18 a 30 anos acima de 30 anos Categoria Infantil Juvenil Profissional Sênior
Exercícios Altere o programa que calcula a função de Bhaskara. Caso o valor do delta seja negativo, o programa deve avisar Delta negativo.
Exercícios Escreva um programa que leia dois números e escreva o resultado da divisão do maior dividido pelo menor. Escreva um programa que leia três números e escreva na tela o maior e o menor número.
Exercícios Escreva um programa que leia um ângulo (entre 0 0 e 360 0 ) e que escreva o quadrante ao qual pertence. Ângulo Se o ângulo é maior que 0 e menor ou igual a 90 Se o ângulo é maior que 90 e menor ou igual a 180 Se o ângulo é maior que 180 e menor ou igual a 270 Se o ângulo é maior que 270 e menor ou igual 360 Quadrante Primeiro Quadrante Segundo Quadrante Terceiro Quadrante Quarto Quadrante
Exercícios Escrever um programa para ler os valores dos lados de um triângulo e classificá-lo segundo seus lados. Verificar se cada lado é menor que a soma dos outros dois lados.