ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação...

22
Prof. Adriano Fiorese 1 ALP Algoritmos e Programação Iniciação aos Algoritmos . Expressões . Operadores .Exercícios

Transcript of ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação...

Page 1: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

Pro

f. A

dri

ano

Fio

rese

1

ALP – Algoritmos e Programação

Iniciação aos Algoritmos

. Expressões

. Operadores

.Exercícios

Page 2: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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.

Page 3: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 4: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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.

Page 5: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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)

Page 6: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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)

Page 7: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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?

Page 8: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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)

Page 9: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 10: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 11: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 12: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 13: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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 ( )

Page 14: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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?

Page 15: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 16: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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.

Page 17: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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.

Page 18: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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.

Page 19: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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)) ( )

Page 20: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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

Page 21: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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)

Page 22: ALP Algoritmos e Programação Iniciação aos Algoritmos · ALP –Algoritmos e Programação Iniciação aos Algoritmos. Expressões. Operadores.Exercícios. ese 2 ... O comando

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.