Upload
dotu
View
241
Download
0
Embed Size (px)
Citation preview
Pro
f. A
dri
ano
Fio
rese
1
ALP – Algoritmos e Programação
Iniciação aos Algoritmos
. Expressões
. Operadores
.Exercícios
Pro
f. A
dri
ano
Fio
rese
2
Expressões
O conceito está intimamente ligado ao conceito deexpressão (fórmula) matemática, onde um conjuntode variáveis e constantes numéricas relacionam-sepor meio de operadores compondo uma fórmula queuma vez avaliada resulta num valor.
Ex: Area = 0.5 * B * H
Portanto, uma expressão é uma combinação devariáveis (Area, B, H), constantes (0.5) e operadores(=, *).
A avaliação (execução) de uma expressão é feita daesquerda para a direita.
Pro
f. A
dri
ano
Fio
rese
3
ALP – Algoritmos e Programação
Iniciação aos Algoritmos
. Expressões
. Operadores (aritméticos, lógicos erelacionais
.Exercícios
Pro
f. A
dri
ano
Fio
rese
4
Operadores
Como o nome diz, executam uma determinadaoperação sobre um ou mais operandos.
O comando de atribuição = executa o armazenamentode um valor em uma posição de memória, i.e., emuma variável.
Ex: Na expressão: Area = 0.5 * B * H, temos 3operadores, 3 variáveis e uma constante. O númerode operadores, constantes e variáveis em expressõespode variar, dependendo da necessidade.
Pro
f. A
dri
ano
Fio
rese
5
Operadores
Com exceção do comando de atribuição, os operadoresdividem-se em:
. Unários: operação sobre apenas 1 operando. Ex:operador lógico Negação, tbém conhecido comoNão (cujo símbolo em C é !)
. Binários: operação sobre 2 operandos:
+ : adição - : subtração * : multiplicação
/ : divisão (inteira ou real dependento dos tipos dosoperandos)
% : resto da divisão inteira (só pode ser aplicado aoperandos inteiros)
Pro
f. A
dri
ano
Fio
rese
6
Operadores
. Aritméticos: Realizam operações aritméticas sobre 2operandos de tipo numérico (real ou inteiro)
+ : adição
- : subtração
* : multiplicação
/ : divisão (inteira ou real dependento dos tipos dosoperandos)
% : resto da divisão inteira (só pode ser aplicado aoperandos inteiros)
Pro
f. A
dri
ano
Fio
rese
7
Operadores Aritméticos
Algoritmo Exemplo
Real C
Inteiro a, B, d
Inicio
a = 22;
B = 4;
C = a / B;
d = a % B
d = B;
Fim
Qual é o valor de C e d?(fazer teste de mesa)
O que acontece se a variável B for do tipo Real?
Pro
f. A
dri
ano
Fio
rese
8
Propriedades das operações aritméticas
. Avaliação de uma expressão é feita da esquerda paraa direita, executando todas as operações (incluindoas aritméticas). Assim, a execução segue umaordem:
1º) Operadores unários
2º) (....) O que estiver entre parênteses
3º) * ou / ou % (o que aparecer da esquerda para adireita)
4º) + ou – (o que aparecer primeiro da esquerda paraa direita)
Pro
f. A
dri
ano
Fio
rese
9
Propriedades das operações aritméticas
. Exercício:
Dada a expressão, qual será o valor atribuído?
Sendo: A = 2; B = 4; L = 8; K = 3 e Z = 2.
a) X = 2 * A + (B – 3) * L / 4
b) Y = 7 % 3 * (1 – K) / Z * 2
Pro
f. A
dri
ano
Fio
rese
. Exercício (Resolução):
Dada a expressão, qual será o valor atribuído?
Sendo: A = 2; B = 4; L = 8; K = 3 e Z = 2.
a) X = 2 * A + (B – 3) * L / 4
b) Y = 7 % 3 * (1 – K) / Z * 2
2
10
Propriedades das operações aritméticas
1
3
45
X = 6
2 1
3
4
5
Y = -2
Pro
f. A
dri
ano
Fio
rese
11
Propriedades das operações aritméticas
. Exercícios:
Escreva os comandos de atribuição usando aspropriedades das operações aritméticas:
a)
b)
2x2x3Β
α2y
2
x
43x
2
z
Pro
f. A
dri
ano
Fio
rese
12
Propriedades das operações aritméticas
. Exercícios (Resolução):
Escreva os comandos de atribuição usando aspropriedades das operações aritméticas:
a)
y = (2 + a) / (B + 3) – 2 * x + x * x
b) z = (2 / (3*x) + 4) / (x / 2)
2x2x3Β
α2y
2
x
43x
2
z
Pro
f. A
dri
ano
Fio
rese
13
Propriedades das operações aritméticas
. Exercícios:
Qual é o tipo das expressões (I-Inteiro e R-Real), dadoos tipos das variáveis?
Sendo que: A, B e C são Inteiros e X, Y e Z são Reais.
a) A + B * C ( )
b) A + B + Y ( )
c) A / B ( )
d) A / Z ( )
e) X / Y ( )
Pro
f. A
dri
ano
Fio
rese
14
Propriedades das operações aritméticas
. Exercícios (Resolução):
Qual é o tipo das expressões (I-Inteiro e R-Real), dadoos tipos das variáveis?
Sendo que: A, B e C são Inteiros e X, Y e Z são Reais.
a) A + B * C ( I )
b) A + B + Y ( R )
c) A / B ( I )
d) A / Z ( R )
e) X / Y ( R )
E se houvesse valores envolvidos, qual seria o resultado?
Pro
f. A
dri
ano
Fio
rese
15
Operadores
. Lógicos: São usados em expressões lógicas eresultam em um valor lógico verdadeiro (.V.) ou falso(.F.).
Operadores (entre outros):
Operador Significado Prioridade
! Negação (não) 1 (unário)
&& Conjunção (e) 2
|| Disjunção (ou) 3
Pro
f. A
dri
ano
Fio
rese
16
Operadores Lógicos
. Tabela Verdade:
Exercício: Sendo A = .V. e B = .F., qual o resultado de:
a) C = A || (B || A && B)
b) D = (B || A) && (B && A)
c) E = (B || A) || (B && A)
A B ||
.V. .V. .V.
.V. .F. .V.
.F. .V. .V.
.F. .F. .F.
A B &&
.V. .V. .V.
.V. .F. .F.
.F. .V. .F.
.F. .F. .F.
A !A
.V. .F.
.F. .V.
Pro
f. A
dri
ano
Fio
rese
17
Operadores Lógicos
. Tabela Verdade:
Exercício (Resolução): Sendo A = .V. e B = .F., qual o resultadode:
a) C = A || (B || A && B)
b) D = (B || A) && (B && A)
c) E = (B || A) || (B && A)
A B ||
.V. .V. .V.
.V. .F. .V.
.F. .V. .V.
.F. .F. .F.
A B &&
.V. .V. .V.
.V. .F. .F.
.F. .V. .F.
.F. .F. .F.
A !A
.V. .F.
.F. .V.
123
C = .V.
12
3
D = .F.
E = .V.
Pro
f. A
dri
ano
Fio
rese
18
Operadores
. Relacionais: A comparação entre objetos (variáveis)de mesma natureza (mesmo tipo) sempre resulta emum valor lógico. São operadores binários.
Operador Significado
== igualdade (igual)!= diferente de< menor<= menor ou igual> maior>= maior ou igual
A utilização de operadores relacionais possibilita o usode variáveis de outros tipos que não o lógico, emexpressões lógicas.
Pro
f. A
dri
ano
Fio
rese
19
Operadores Relacionais
Exercícios: Sejam A = .V., B = .F., R = “José”, S = “João”,T = “Joãozinho”, X = 2.5 e Y = 5.0
Qual o valor lógico das seguintes expressões:
a) A || B ( ) b) A && B ( )
c) ! A ( ) d) X == Y ( )
e) X==(Y/2) ( ) f) R == S ( )
g) S == T ( ) h) R != S ( )
i) R > S ( ) j) S > T ( )
k) ((A || B) || (XY) || (ST)) ( )
Pro
f. A
dri
ano
Fio
rese
20
Operadores Relacionais
Exercícios (Resolução): Sejam A = .V., B = .F., R = “José”,S = “João”, T = “Joãozinho”, X = 2.5 e Y = 5.0
Qual o valor lógico das seguintes expressões:
a) A || B ( .V. ) b) A && B ( .F. )
c) ! A ( .F. ) d) X == Y ( .F. )
e) X==(Y/2) ( .V. ) f) R == S ( .F. )
g) S == T ( .F. ) h) R != S ( .V. )
i) R > S ( .V. ) j) S > T ( .F. )
k) ((A || B) || (XY) || (ST)) ( erro )
Não é operando lógico nem relacional
Pro
f. A
dri
ano
Fio
rese
21
Prioridades entre operadores
1º) Operadores Aritméticos e Literais (strings)(concatenação de strings por exemplo)
2º) Operadores Relacionais
3º) Operadores Lógicos
Exercícios: Dadas as seguintes variáveis, avalie o valorresultante: X = 2.0, Y = 3.0, Z = 0.5, A = .V., B = .F.
a) X * Y – Zb) X * (Y-2)c) X+Y*Zd) X+(Y*Z)e) (X+Y)*Zf) B && A || X != Y/2g) B && (A || X != Y/2)
Pro
f. A
dri
ano
Fio
rese
22
Prioridades entre operadores
1º) Operadores Aritméticos e Literais (strings)(concatenação de strings por exemplo)
2º) Operadores Relacionais
3º) Operadores Lógicos
Exercícios (Resolução): Dadas as seguintes variáveis,avalie o valor resultante: X = 2.0, Y = 3.0, Z = 0.5, A= .V., B = .F.
a) X * Y – Z -> 5.5b) X * (Y-2) -> 2.0c) X+Y*Z -> 1.5d) X+(Y*Z) -> 1.5e) (X+Y)*Z -> 2.5f) B && A || X != Y/2 -> .V.g) B && (A || X != Y/2) -> .F.