Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Msc. Antonio Pires de Almeida Junior É muito comum em algoritmos surgirem situações que a execução de uma determinada ação ou seqüência de ações dependem de uma certa condição Com isso surge as expressões lógicas: ◦ Relações ◦ Operadores Lógicos É uma comparação realizada entre dois valores do mesmo tipo básico Estes valores são representados na relação através de constantes, variáveis ou expressões aritméticas, estas últimas para o caso de valores numéricos. Os operadores relacionais são: = igual a < menor que ≠ diferente de ≥ maior ou igual a > maior que ≤ menor ou igual a Exemplo: Tomando a relação numérica X + Y = Z, o resultado será VERDADEIRO ou FALSO dependendo dos valores atribuídos. Exemplo 2: Dadas as variáveis numéricas X, Y, Z e as variáveis Iterais NOME e COR. Como será o resultado obtidos das relações a partir dos valores atribuídos a seguir Variáveis Relações X Y Z Cor Nome X²+Y > Z Cor = “Azul” Nome ≠ “José” 1 2 5 “Azul” “Paulo” 4 3 1 “Verde” “José” 1 1 2 “Branco” “Pedro” 1 2 1 “Azul” “José” Define três conectivos usados na formação de novas proposições a partir de outras já conhecidas. Estes conectivos são os operadores nas expressões lógicas, sendo eles: ◦ e – para a conjunção ◦ ou – para a disjunção ◦ não – para a negação Duas proposições podem ser combinadas pelo conectivo e para formar uma proposição chamada conjunção das proposições originais. Exemplo : ◦ P⋀Q lê-se P e Q A conjunção de duas proposições é verdadeira se e somente se ambas as proposições são verdadeiras p q p⋀q V V V V F F F V F F F F Duas proposições quaisquer podem ser combinadas pelo conectivo OU para formar uma nova proposição que é chamada disjunção das duas proposições originais. Exemplo : ◦ P⋁Q lê-se P ou Q A disjunção de duas proposições é verdadeira se e somente se pelo menos uma delas for verdadeira p q p⋁q V V V V F V F V V F F F Dada uma proposição p qualquer, uma outra proposição, chamada negação de p, pode ser formada escrevendo-se “é falso que” antes de p. Exemplo : ◦ ˥P lê-se não P P ˥P V F F V Prioridade Operador 1ª Aritmético 2ª Relacional 3ª Não 4ª E 5ª Ou Nossos algoritmos até agora seguiram um mesmo padrão: entrava-se com dados, estes eram processados e alguma informação era mostrada na tela. Agora começaremos um novo conceito: estrutura condicional. É uma estrutura de controle de fluxo, executando um ou vários comandos se a condição testada for verdadeira, e em alguns casos, executando um ou vários comandos se for falsa. Sintaxe: ◦ Estrutura Condicional Simples: Se (condição) então //seqüência de comandos a serem executados Fim se; Exemplo Algoritmo Leite Declare leite: texto; Inicio Escreva(“Digite a qualidade do leite”); Leia(leite); Se (( leite = “A”) ou (leite =”B”)) então Escreva (“Pode comprar!”); Fim se; Se ((leite <>”A”) e (leite<> “B”) )então Escreva(“Não compre!”); Fim se; Fim. Exercício : Desenvolva um algoritmo que calcule 2 valores. Se a soma for maior que 20 então subtraia 5 e escreva o resultado. Se a soma for menor que 15 então multiplique por 2. Apresente os resultados. Sintaxe: ◦ Estrutura Condicional Composta: Se (condição) então //seqüência de comandos a serem executados Senao // seqüência de comandos a serem executados Fim se; Exemplo 1 Algoritmo Positivo; Declare x:real; Inicio Escreve(“Informe qualquer numero real:”); Leia(x); Se (x >= 0) então Escreva (“O numero informado é positivo!”); Senao Escreva (“O numero informado é negativo!”); fim se ; Fim. Exemplo 2 Algoritmo Leite Declare leite: texto; Inicio Escreva(“Digite a qualidade do leite”); Leia(leite); Se (( leite = “A”) ou (leite =”B”)) então Escreva (“Pode comprar!”); Senao Escreva(“Não compre!”); Fim se; Fim. Exercício 1 : Desenvolva um algoritmo que solicite que o usuário entre com a nota de uma aluno. Caso a nota seja maior ou igual a 60, então escreva a palavra “APROVADO!” senão “REPROVADO” Exercício 2: Desenvolva um algoritmo que solicita ao usuário sua idade. Caso a idade seja menor que 18, então escreva “Menor de idade” senão “Maior de Idade” Exercício 3: Desenvolva um algoritmo que calcule 2 valores. Caso a soma seja maior que 20 então subtraia 5 e escreva o resultado senão some 7 e divida por 2; Exercício 4: Um vendedor de carros quer desenvolver um algoritmo que verifique se o valor do carro está entre a faixa de preço que o cliente deseja. Este algoritmo possuirá 2 constantes(Valor Maximo e Mínimo do carro). Quando o valor do carro desejado for informado, deve-se verificar se este valor encontra-se entre a faixa de preço desejada. Caso esteja então escreverá “VALOR DENTRO DAS POSSIBILIDADES” se não “VALOR FORA DAS POSSIBILIDADES” Na estrutura de decisão do tipo Caso pode haver uma ou mais condições a serem testadas e um bloco comando diferente associado a cada uma delas. Os casos não aceitam operadores lógicos. Portanto, não é possível fazer uma comparação. Isso limita o caso a apenas valores definidos. Sintaxe: escolha (variável) caso Condição1: //seqüência de comandos a serem executados caso Condição2: //seqüência de comandos a serem executados . . . caso Condição n: //seqüência de comandos a serem executados caso contrário (outro caso): //seqüência de comandos a serem executados fim-escolha Exemplo 1: Algoritmo Epoca Declare epoca:inteiro; Inicio escreva("Qual o período trimestral do ano em que estamos: "); leia(epoca); escolha (epoca) caso 1: escreva ("verão"); caso 2: escreva ("outono"); caso 3: escreva ("inverno"); caso 4: escreva ("primavera"); caso contrario: escreva ("período inválido"); fim escolha; Fim Exercício 1: Faça um algoritmo que o usuário informa um numero de 0 a 5 e terá como resultado o numero por extenso. Exercício 2: Faça um algoritmo para reajustar o salário de acordo com com o seguinte peso: Caso o funcionário for um técnico, o salário deve ser aumentado em 50%, caso for um gerente, aumentar 30% e caso contrario aumentar 20%.
Compartilhar