42
Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO

Construcao de Algoritmos - Aula 04

Embed Size (px)

Citation preview

Page 1: Construcao de Algoritmos - Aula 04

Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges

Caxias – MA2016

ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO

Page 2: Construcao de Algoritmos - Aula 04

2

Link Drive

bit.ly/ads-algoritmos

Page 3: Construcao de Algoritmos - Aula 04

3

Algoritmos

Page 4: Construcao de Algoritmos - Aula 04

4

Expressões

Page 5: Construcao de Algoritmos - Aula 04

5

Uma expressão é uma combinação de variáveis, constantes e operadores, que quando combinados, resultam em

um valor.

Page 6: Construcao de Algoritmos - Aula 04

6

• Algoritmos• Expressões• Operadores• São responsáveis pelas operações

realizadas sobre os dados armazenados nas variáveis.

• Há três tipos de expressões: – Aritméticas <dados numéricos>; – Lógicas <dados lógicos>; e – Literais <dados caracteres>.

Page 7: Construcao de Algoritmos - Aula 04

7

Expressões(Expressões Aritméticas)

Page 8: Construcao de Algoritmos - Aula 04

8

• Algoritmos• Expressões Aritméticas• Envolvem cálculos matemáticos,

fornecendo um resultado numérico. Operadore

s Significado Retorna

+ Adição Inteiro/Real

- Subtração Inteiro/Real

* Multiplicação Inteiro/Real/ Divisão Realdiv Divisão inteira Inteiro

mod ou % Resto da divisão inteira Inteiro/Real

^ Potenciação Real

Page 9: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Adição (+)

9

algoritmo "Adicao"var n1, n2, soma_nums: inteiroinicio n1 ← 13 n2 ← 6 soma_nums ← n1 + n2 // Saída: Adicao: 19 escreval("Adicao: ", soma_nums)fimalgoritmo

Page 10: Construcao de Algoritmos - Aula 04

10

O operador + é também utilizado para CONCATENAÇÃO

de caracteres

+

Page 11: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Subtração (-)

11

algoritmo "Subtracao"var n1, n2, sub_nums: inteiroinicio n1 ← 13 n2 ← 6 sub_nums ← n1 - n2 // Saída: Subtracao: 7 escreval("Subtracao: ", sub_nums)fimalgoritmo

Page 12: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Multiplicação (*)

12

algoritmo "Multiplicacao"var n1, n2, mult_nums: inteiroinicio n1 ← 13 n2 ← 6 mult_nums ← n1 * n2 // Saída: Multiplicacao: 78 escreval("Multiplicacao: ", mult_nums)fimalgoritmo

Page 13: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Divisão

13

10 / 4 =15 / 3 =18 / 2 =21 / 4 =27 / 5 =9 / 10 =

2,5595,255,40,9

Page 14: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Divisão (/)

14

algoritmo "Divisao"var n1, n2: inteiro div_nums: realinicio n1 ← 13 n2 ← 6 div_nums ← n1 / n2 // Saída: Divisao: 2.16 escreval("Divisao: ", div_nums)fimalgoritmo

Page 15: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Div (divisão inteira)

15

7 2(1)

37 / 2 = 3,5

7 div 2 = 3

5 2

5 div 2 = 2(1) 2

Page 16: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Div (divisão inteira)

16

10 div 4

=

31 div 5

=

18 div 2

=

19 div 4

=

27 div 7

=

9 div 10

=

269430

Page 17: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Div (divisão inteira)

17

algoritmo "DivisaoInt"var n1, n2, div_nums: inteiroinicio n1 ← 13 n2 ← 6 div_nums ← n1 div n2 // Saída: Divisao: 2 escreval("Divisao Inteira: ", div_nums)fimalgoritmo

Page 18: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Mod (%)

18

7 2(1)

37 div 2 = 37 % 2 = 1

Lembre-se: o mod é o resto da divisão e sempre retorna um número inteiro.

Page 19: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Mod (%)

19

10 % 4 =31 % 5 =18 % 2 =19 % 4 =27 % 7 =9 % 10 =

210369

Page 20: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Mod (%)

20

algoritmo "Mod"var n1, n2, mod_nums: inteiroinicio n1 ← 13 n2 ← 6 // mod_nums ← n1 mod n2 mod_nums ← n1 % n2 // Saída: Mod: 1 escreval("Mod: ", mod_nums)fimalgoritmo

Page 21: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Aritméticas

– Exemplo:• Potência (^)

21

algoritmo "Potencia"var n1, n2: inteiro poten_nums: realinicio n1 ← 2 n2 ← 3 poten_nums ← n1 ^ n2 // Saída: Potencia: 8 escreval("Potencia: ", poten_nums)fimalgoritmo

Page 22: Construcao de Algoritmos - Aula 04

22

• Algoritmos• Expressões Aritméticas• Ordem de precedência das operações:

Prioridade Operador Operação1ª ( ) Parênteses

2ª ^ Exponenciação

3ª *, /, div e % Mult., divisão e mod

4ª + e - Adição e subtração

Page 23: Construcao de Algoritmos - Aula 04

23

• Algoritmos• Expressões Aritméticas• Ordem de precedência das operações:

– Exemplos:

42.57

10

24

3 + 2 / 2 =(3 + 2) / 2 =3 + 2 * 2 =(3 + 2) * 2 =3 * 2^3 =

Page 24: Construcao de Algoritmos - Aula 04

24

Expressões(Expressões Lógicas)

Page 25: Construcao de Algoritmos - Aula 04

25

• Algoritmos• Expressões Lógicas• Introdução• Estabelecem relações de comparação

entre variáveis e constantes. – De tal forma que o resultado retornado só pode

ser verdadeiro ou falso.

• Essas expressões podem utilizar dois tipos de operadores: – Operadores relacionais; e – Operadores lógicos.

Page 26: Construcao de Algoritmos - Aula 04

26

Expressões Lógicas(Operadores Relacionais)

Page 27: Construcao de Algoritmos - Aula 04

27

• Algoritmos• Expressões Lógicas• Operadores Relacionais• Estabelecem comparação entre dados de

quaisquer tipos.Operadores Significado

= Igual a

<> Diferente de

< Menor que

<= Menor ou igual a

> Maior que

>= Maior ou igual a

Page 28: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas• Operadores Relacionais

• Exemplo:

28

algoritmo "Relacional"var x: inteiroinicio x ← 43 escreval(x = 43) escreval(x = 67) escreval(x <> 51) escreval(x >= 40) escreval(x < 39)fimalgoritmo

// Retorna: Verdadeiro// Retorna: Falso// Retorna: Verdadeiro// Retorna: Verdadeiro// Retorna: Falso

Page 29: Construcao de Algoritmos - Aula 04

• Algoritmos• Operadores Relacionais

• Exemplo:

29

algoritmo "Relacional"var n1, n2, n3: inteiro r1, r2, r3, r4: logicoinicio n1 ← 10 n2 ← 5 n3 ← 15 r1 ← (n1 + n2 < 12) r2 ← (n1 + n2 > n3) r3 ← (n2 – n3 <= n1) r4 ← (n1 + n2 <> 12)fimalgoritmo

// Falso// Falso// Verdadeiro// Verdadeiro

Page 30: Construcao de Algoritmos - Aula 04

30

Expressões Lógicas(Operadores Lógicos)

Page 31: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas• Operadores Lógicos• São utilizados para combinar os resultados

de expressões relacionais. – Retornam, ao final, verdadeiro ou falso.

• Os operadores lógicos são:– OU lógico <disjunção>;– E lógico <conjunção>;– NÃO lógico <negação>; e– XOU lógico <disjunção exclusiva>.

31

Page 32: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas• Operadores Lógicos• Dadas duas variáveis, A e B, que podem

assumir os valores verdadeiro ou falso, temos:

– A OU B: • Retorna verdadeiro se pelo menos um dos

dois (ou A ou B), ou ambos forem verdadeiros.

– A E B: • Retorna verdadeiro somente se ambos

(tanto A quanto B) forem verdadeiros.

32

Page 33: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas• Operadores Lógicos

– Exemplo: {1}

– F ← Falso– V ← Verdadeiro

33

A B A OU B A E BF FF VV FV V

FVVV

FFFV

Page 34: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas• Operadores Lógicos

– Exemplo: {2}

– F ← Falso– V ← Verdadeiro

34

A B C A OU B OU C A E B E C A E (B OU C)F F V

F V F

V F V

V V F

VVV

V

FFF

F

FFV

V

Page 35: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas

• Exemplo:

35

algoritmo "Logico"var n1, n2, n3: inteiro r1, r2, r3, r4: logicoinicio n1 ← 10 n2 ← 5 n3 ← 15 r1 ← ((n1 = n2) OU (n3 < n2)) r2 ← ((n1 + n2 = n3) E (n1 > n2)) r3 ← ((n3 – n2 <= n1) OU (n1 > n3)) r4 ← ((n1 <> n2) E ( n3 > 15))fimalgoritmo

// Falso

// Falso

// Verdadeiro// Verdadeiro

Page 36: Construcao de Algoritmos - Aula 04

36

• Algoritmos• Expressões Lógicas• Ordem de precedência GERAL:

– Expressão que contenha todos os operadores:

Aritméticos

( )^

*, /, div e %

+ e -Relacionais Todos

LógicosE

OUNÃO

Page 37: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Lógicas• Operadores Lógicos

– Exemplo: {3}

37

algoritmo "Logico"var a, b, c, d, r: logicoinicio a ← falso b ← verdadeiro c ← verdadeiro d ← falso r ← (a E (b OU c)) OU d escreval("Resultado: ", r)fimalgoritmo

→ Falso

Page 38: Construcao de Algoritmos - Aula 04

38

Expressões(Expressões Literais)

Page 39: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Literais• Introdução• Nas expressões literais (caracteres),

utilizamos o operador aritmético "+" (mais).

• Ele é utilizado para concatenar Strings (cadeia de caracteres).

39

Page 40: Construcao de Algoritmos - Aula 04

• Algoritmos• Expressões Literais

– Exemplo:

40

algoritmo "Literais"var nome, sobrenome, nome_completo: literalinicio nome ← "Jeovane" sobrenome ← "Reges" nome_completo ← nome + " " + sobrenome // Saída: Jeovane Reges escreval(nome_completo)fimalgoritmo

Page 41: Construcao de Algoritmos - Aula 04

41

Funções nativas do Portugol...

Page 42: Construcao de Algoritmos - Aula 04

42

• Algoritmos• Funções

– Funções NativasFunção Funcionalidade Exemplo

Exp(base, expoente)

Retorna o valor da base elevado ao expoente.

Exp(2, 3) = 8

RaizQ(expressão) Retorna a raiz quadrada do valor representado na expressão.

RaizQ(9) = 3

Quad(expressão) Retorna o quadrado do valor representado na expressão.

Quad(4) = 16

Pi Retorna o valor de Pi 3.14

LimparTela Limpar a tela após uma execução LimparTela

Interrompa Parar a execução de um loop -