conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/pi... ·...

58
1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco CMCC/UFABC Q2/2018 Processamento da Informação

Upload: others

Post on 07-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

1

Conceitos básicos de modularização

Prof. Jesús P. Mena-ChalcoCMCC/UFABC

Q2/2018

Processamento da Informação

Page 2: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

2

Precedência entre operadores

Page 3: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

3

Ordem nas operações

1+2-3*4/2

(1+2)-3*(4/2)

2*3+12/3

Page 4: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

4

Ordem nas operações

1+2-3*4/2 = -3

(1+2)-3*(4/2) = -3

2*3+12/3 = 10

Page 5: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

5

Ordem nas operações

2+3*(4-5)

(2+3)*4-5

Page 6: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

6

Ordem nas operações

2+3*(4-5) = -1

(2+3)*4-5 = 15

Page 7: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

7

Ordem nas operações

Em português: a vírgula é muito importante

VAMOS PERDER, NADA FOI RESOLVIDO.

VAMOS PERDER NADA, FOI RESOLVIDO.

Page 8: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

8

Ordem nas operações

Na matemática, os parênteses destacam a prioridade de cálculo: as contas dentro de parênteses são resolvidas primeiro.

(2+3)*4-5 = 15

Page 9: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

9

Ordem entre operadores

x = 2*(3+12)/5-5

x = 1

Maior prioridade

Menor prioridade

e-d

Page 10: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

10

Exercício

Escreva a seguinte equação usando operadores binários:

Page 11: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

11

Exercício

Escreva a seguinte equação usando operadores binarios:

Page 12: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

12

Exercício

???

Escreva a seguinte equação usando operadores binarios:

Page 13: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

13

Exercício

???

Escreva a seguinte equação usando operadores binarios:

Divisão inteira

Page 14: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

Exemplo de módulos (componentes) para Arduino:- Entrada.- Saída.

Motivação

Page 15: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

15

Módulos / Funções / Métodos

Page 16: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

16

Módulos / Funções / Métodos

À medida que os problemas vão se tornando mais complexos, os programas (solução) tendem a ficar mais extensos.

Modularizar permite “quebrar” o problema em subproblemas.

Page 17: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

17

Exemplo de função / método

Page 18: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

18

Exemplo de função / método

Page 19: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

19

Exemplo de função / método

Page 20: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

20

Exemplo de função / método

Page 21: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

21

Exemplo de função / método

A linha que define a função/método é conhecida como

assinatura

Page 22: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

22

Exemplo de função / método

caixa_pretax x³

Tipo de dado inteiro

Tipo de dado inteiro

Page 23: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

23

Exemplo de função / método

Page 24: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

24

Exemplo de função / método

caixa_preta3

5

Page 25: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

25

Exemplo de função / método

caixa_preta

Page 26: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

26

Leitura de 3 números (sem função)

Page 27: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

27

Leitura de 3 números (com função)

Page 28: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

28

Page 29: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

29

Leitura de 3 números (com função)

Page 30: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

30

Funções matemáticas especiais em Java

Page 31: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

31

Volume de um cilindro

Crie uma função, em Java, que calcule o volume de um cilindro com raio r e altura h.

Assinatura:

Page 32: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

32

Volume de um cilindro

Page 33: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

33

Volume de um cilindro

Page 34: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

34

Área de um cilindro

Page 35: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco
Page 36: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

36

Fibonacci

Page 37: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

37

Números de Fibonacci

Os números de Fibonacci foram propostos por Leonardo di Pisa (Fibonacci), em 1202, como uma solução para o problema de determinaro tamanho da população de coelhos.

(*) fonte http://www.oxfordmathcenter.com/drupal7/node/487

Page 38: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

38

Números de Fibonacci

Page 39: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

39

Números de Fibonacci

https://www.youtube.com/watch?v=SjSHVDfXHQ4

Page 40: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

40

Números de Fibonacci

(*) fonte http://britton.disted.camosun.bc.ca/fibslide/jbfibslide.htm

Page 41: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

41

Números de Fibonacci

Os números de Fibonacci estão relacionados com a razão aurea .O i-ésimo número pode ser aproximado pela seguinte equação (formula explícita):

Crie uma função/método em Java que receba um número inteiro i, e devolva Fi.

Assinatura:

Page 42: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

42

Números de Fibonacci

Page 43: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

43

Números de Fibonacci

Page 44: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

44

Números de Fibonacci

Page 45: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

Golden ratio

Page 46: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco
Page 47: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

47

Processo de compilação

Sistema Operacional

Processos

Page 48: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

48

Atividade em aula

Page 49: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

49

Questão 1

Os dois programas fazem a mesma operação? Sim/Não. Justifique

Page 50: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

50

Questão 2

Qual é o valor de cada uma das seguintes variáveis?

Page 51: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

51

Questão 2

Qual é o valor de cada uma das seguintes variáveis?

Erro (* é um operador binário)

17

11.5

Page 52: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

52

Questão 3

Escreva o resultado da execução do seguinte programa:

Page 53: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

53

Questão 4

Escreva o resultado da execução do seguinte programa:

Page 54: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

54

Questão 4

Escreva o resultado da execução do seguinte programa:

Page 55: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

55

Lista 1

Page 56: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

56

URI-Online (Deadline: 27/06/2016)

Tidia: Veja o convite para participar do grupo URI.

Use seu nome completo no registro de nomes no URI

Page 57: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

57

Problema 1001

Page 58: Conceitos básicos de modularizaçãoprofessor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI... · 2018-06-13 · 1 Conceitos básicos de modularização Prof. Jesús P. Mena-Chalco

58

Problema 1001