Conteúdo:
- Objetivos
- Operadores Relacionais
- Expressões Relacionais
- Operadores Lógicos
- Expressões Lógicas
- Expressões Mistas
- Atribuição
- Bibliografia
- Apresentar os diversos tipos de operadores e expressões.
- Mostrar como as expressões devem ser escritas em pseudo-código.
- Mostrar as regras de avaliação de expressões.
- Apresentar o conceito de atribuição de resultados.
- Usados para fazer comparação entre dados compatíveis.
- O resultado de uma expressão que envolve operadores relacionais é do tipo lógico (verdadeiro ou falso).
- No curso do PDA Cederj/UFF são considerados que os operadores deste grupo têm a mesma prioridade entre si.
- Considere a=3, b=7, total=200.0, média=8.1 e ano=2000
- a > b -- resultado falso
- total = 100.0 -- resultado falso
- média >= 7.0 -- resultado verdadeiro
- ano <> 2001 -- resultado verdadeiro
- Considerando a=3, b=7, t=20.0 e m=8.1 qual o resultado das expressões?
- t <> 100.0
- (m + b) <= 7.0
- (t/(b+a)) = 2.0
- Temos a=3, b=7, t=20.0 e m=8.1.
- t <> 100.0 -- resultado verdadeiro
- (m + b) <= 7.0 -- resultado falso
- 1a. Operação m+b = 15.1
- 2a. Operação 15.1 <= 7.0 resultado falso
- Temos a=3, b=7, t=20.0 e m=8.1.
- (t/(b+a)) = 2.0
- 1a. Operação: b+a = 10
- 2a. Operação: t / 10 = 20.0 /10 = 2.0
- 3a. Operação: 2.0 = 2.0 portanto resultado verdadeiro
- Usados em expressões cujo resultado dever ser ou o valor verdadeiro ou falso
4. Operadores Lógicos
- Existem outros operadores lógicos, como por exemplo, os operadores ou-exclusivo, ne (não e), nou (não ou).
- Estes outros operadores podem ser obtidos a partir dos três já definidos (e, ou e não).
- Como os operadores aritméticos estes operadores também têm uma “tabuada”.
- A ou B tem como resultado verdadeiro se A ou B for igual a verdadeiro.
- A e B tem como resultado verdadeiro somente se A e B forem iguais a verdadeiro.
- Algumas vezes estas tabelas são mostradas com o algarismo 0 representando falso e 1 verdadeiro.
- Para ilustrar os resultados dos operadores lógicos vamos usar como exemplo interruptores que devem ser usados para acender lâmpadas.
- Lâmpada acende (verdade) somente se interruptor a e interruptor b estiverem ligados (verdade).
- Lâmpada apaga (falso) porque interruptor a está desligado (falso).
- Basta um interruptor desligado para que a lâmpada apague.
- Para a lâmpada acender (verdade) basta pelo menos um interruptor ligado (verdade).
- Para a lâmpada apagar (falso) é necessário que os dois interruptores sejam desligados (falso).
- Considere a=falso, b=verdadeiro e c=falso.
- a e b ou c -- resultado falso
- 1a. Operação: a e b = falso e verdadeiro = falso
- 2a. Operação: falso ou c = falso ou falso = falso
- Considere a=falso, b=verdadeiro e c=falso.
- não a e b -- resultado verdadeiro
1a. Operação: não a = não falso = verdadeiro
2a. Operação: verdadeiro e b = verdadeiro e verdadeiro = verdadeiro - Considerando a=falso, b=verdadeiro e c=falso, qual é o resultado das expressões?
- a e (b ou c)
- não (a e b)
- a ou b ou c
- Considerando a=falso, b=verdadeiro e c=falso temos:
- a e (b ou c) -- resultado falso
1a. Operação: b ou c = verdadeiro ou falso = verdadeiro
2a. Operação: a e verdadeiro = falso e verdadeiro = falso - Considerando a=falso, b=verdadeiro e c=falso temos:
- não (a e b) -- resultado verdadeiro
1a. Operação: a e b = falso e verdadeiro = falso
2a. Operação: não falso = verdadeiro - Considerando a=falso, b=verdadeiro e c=falso temos:
- a ou b ou c -- resultado verdadeiro
1a. Operação: a ou b = falso ou verdadeiro = verdadeiro
2a. Operação: verdadeiro ou c = verdadeiro ou verdadeiro = verdadeiro
- É muito comum em algoritmos juntar operadores relacionais e lógicos em expressões.
- Estas expressões são geralmente do tipo
(nota1 > 7.0) ou (nota2 > 7.0)
(salario > valor) e (ano > 2001) - O resultado destas expressões é do tipo lógico (verdadeiro ou falso).
- Considerando l1=5.0, l2=3.0, l3=4.0 e l4=7.1:
- (l1 > l3) e (l2 > l4) -- resultado falso
1a. Operação: 5.0 > 4.0 = verdadeiro
2a. Operação: 3.0 > 7.1 = falso
3a. Operação: verdadeiro e falso = falso - É possível juntar também operadores aritméticos.
- Considere l1=5.0, l2=3.0, l3=4.0 e l4=7.1, qual o resultado da expressão?
- ((l1+2) = l3) ou (l2 <= l4) -- resultado verdadeiro 1a. Operação: 5.0 + 2 = 7.0 2a. Operação: 7.0 = 3.0 = falso 3a. Operação: 3.0 <= 7.1 = verdadeiro 4a. Operação: falso ou verdadeiro = verdadeiro
- Considerando presente=verdadeiro , n1=7.5 e n2=6.5, qual é o resultado da expressão?
- (((n1+n2)/2.0) >= 7.0) e presente
- Considerando presente=verdadeiro , n1=7.5 e n2=6.5 temos:
- Observe o uso de parênteses para indicar a prioridade das operações
- (((n1+n2)/2.0) >= 7.0) e presente
1a. Operação: n1+n2 = 7.5+6.5 = 14.0
2a. Operação: 14.0/2.0 = 7.0
3a. Operação: 7.0 >= 7.0 = verdadeiro
4a. Operação: verdadeiro e presente = verdadeiro e verdadeiro = verdadeiro. - Em expressões podemos misturar vários tipos de operadores.
- A tabela mostra a prioridade relativa dos operadores estudados.
- O resultado de expressões normalmente deve ser armazenado em uma variável para uso futuro.
- Costuma-se chamar de atribuição esta operação.
- Em nosso pseudo-código o comando de atribuição é representado pelo símbolo
- Por exemplo:
a 35 * 6 + 2 - O comando acima faz com que o resultado da expressão (=212) seja armazenado na variável a.
- Todo comando de atribuição pode ser dividido em duas etapas:
2. Avaliação da expressão;
3. Armazenamento do resultado da avaliação na posição de memória representada pela variável. - Considere x=10, y=5 e z=8.
- As figuras abaixo mostram a memória antes e depois do comando de atribuição
x <- y + z
8. Bibliografia
http://equipe.nce.ufrj.br/adriano/algoritmos/apostila/expressoes.htm
Nenhum comentário:
Postar um comentário