construcao de algoritmos - aula 02

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

Upload: facema-faculdade-de-ciencias-e-tecnologia-do-maranhao

Post on 16-Feb-2017

39 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Construcao de Algoritmos - Aula 02

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 02

2

Link Drive

bit.ly/ads-algoritmos

Page 3: Construcao de Algoritmos - Aula 02

3

Computador Hipotético

Page 4: Construcao de Algoritmos - Aula 02

4

• Computador Hipotético• Introdução• Algoritmos...• ... são conjuntos de passos finitos e

organizados que, quando executados, resolvem um determinado problema.

• O verbete “lógica”, trata de uma parte da filosofia que estuda as leis do raciocínio.

• Praticamente quase todos os tipos de problema do dia-a-dia podem ser resolvidos utilizando algoritmos naturais.

Page 5: Construcao de Algoritmos - Aula 02

5

• Computador Hipotético• Exemplo {1}

Chegando em CasaAbra o portãoPasse para o lado de dentro do terrenoFeche o portãoDirija-se à portaPegue a chave da portaAbra a porta da casaPasse para o lado de dentro da casaFeche a porta da casa

Observe que todo início de linha contém um IMPERATIVO. Não é por acaso!

Chegando em CasaAbra o portãoPasse para o lado de dentro do terrenoFeche o portãoDirija-se à portaPegue a chave da portaAbra a porta da casaPasse para o lado de dentro da casaFeche a porta da casa

Page 6: Construcao de Algoritmos - Aula 02

6

Algoritmos Computacionais

Page 7: Construcao de Algoritmos - Aula 02

7

São algoritmos que podem ser processados por qualquer

máquina computacional.

Page 8: Construcao de Algoritmos - Aula 02

8

Máquinas computacionais podem

ser...

Page 9: Construcao de Algoritmos - Aula 02

Notebooks

Page 10: Construcao de Algoritmos - Aula 02

Celulares

Page 11: Construcao de Algoritmos - Aula 02

Tablets

Page 12: Construcao de Algoritmos - Aula 02

TVs Modernas

Page 13: Construcao de Algoritmos - Aula 02

Câmeras Fotográficas

Page 14: Construcao de Algoritmos - Aula 02

E até mesmo...

Relógios...

Page 15: Construcao de Algoritmos - Aula 02

15

Computador Hipotético...

Page 16: Construcao de Algoritmos - Aula 02

16

• Computador Hipotético• Introdução• O Computador Hipotético é um modelo

baseado em elementos de um escritório fictício.

• Tem por finalidade servir de base para a aprendizagem de conceitos básicos: A estrutura de um computador; e Funcionamento.

Page 17: Construcao de Algoritmos - Aula 02

17

• Computador Hipotético• Introdução

Memória

Unidade de Entrada

Unidade de Saída Unidade Aritmética

Memória Secundária

Unidade de controle e lógica

Page 18: Construcao de Algoritmos - Aula 02

18

• Variáveis

E15

E16

E17

• São locais utilizados para armazenar valores na memória para serem manipulados.

Page 19: Construcao de Algoritmos - Aula 02

19

Resolução de Problemas

<Computador Hipotético>

Page 20: Construcao de Algoritmos - Aula 02

20

• Computador Hipotético• Introdução• Variáveis: E15, E16, E17...

Armazenar/guardar um determinado valor.

• Passos: P1, P2, P3... Guardar uma ou mais instruções.

• Tabela Algorítmica

P1P2P3P4

Page 21: Construcao de Algoritmos - Aula 02

21

Problema IDados dois números realize e

apresente a soma deles.

Page 22: Construcao de Algoritmos - Aula 02

22

• Computador Hipotético • Problema I• Dados dois números realize e apresente a

soma deles.

1. Pegar uma folha na bandeja e armazenar o seu valor na variável E15;

2. Pegar a próxima folha na bandeja e armazenar o seu valor na variável E16;

3. Somar o conteúdo de E15 com E16 e armazenar o resultado em E17;

4. Imprimir o conteúdo de E17;5.Parar.

Page 23: Construcao de Algoritmos - Aula 02

23

• Computador Hipotético • Problema I

Dados dois números realize e apresente a soma deles.

Bandeja ← [9, 10]

Pegar uma folha na bandeja e atribuir o seu valor a variável E15

Pegar a próxima folha da bandeja e atribuir o seu valor avariável E16

Somar o conteúdo de E15 com E16 e atribuir o resultadoa variável E17

Imprimir o conteúdo de E17Parar

P1

P2

P3

P4

P5

Page 24: Construcao de Algoritmos - Aula 02

24

• Computador Hipotético • Problema I• Solucionando o problema...

Bandeja ← [9, 10]

• Entrada:• E15 ← 9 // primeiro valor• E16 ← 10 // segundo valor

• Saída:• E17 // 19

• Processamento:• E17 ← E15 + E16

Page 25: Construcao de Algoritmos - Aula 02

25

Problema IIDadas duas notas de um aluno

calcule e apresente a média das notas.

Page 26: Construcao de Algoritmos - Aula 02

26

• Computador Hipotético • Problema II

Dadas duas notas de um aluno calcule e apresente a média das notas.

Bandeja ← [9, 10]

P1

P2

P3

P4

P5P6 Parar

Pegar o primeiro valor da bandeja e atribuir o seu valor a variável E15Pegar o próximo valor da bandeja e atribuir o seu valor a variável E16Somar o conteúdo de E15 e E16 e atribuir o resultado a variável E17Dividir o valor de E17 por 2 e atribuir o resultado a variável E18Imprimir o conteúdo de E18

Page 27: Construcao de Algoritmos - Aula 02

27

• Computador Hipotético • Problema II• Solucionando o problema...

Bandeja ← [9, 10]

• Entrada:• E15 ← 9 // primeiro valor• E16 ← 10 // segundo valor

• Saída:• E18 // 9.5

• Processamento:• E17 ← E15 + E16• E18 ← E17 / 2

Page 28: Construcao de Algoritmos - Aula 02

28

Problema IIIDado o saldo de uma aplicação,

exiba o novo saldo após um reajuste de 10%.

Page 29: Construcao de Algoritmos - Aula 02

29

• Computador Hipotético • Problema III

Porcentagens

1% → 0.0110% → 0.1015% → 0.1520% → 0.20100%

→ 1

105%

→ 1.05

110%

→ 1.1

Page 30: Construcao de Algoritmos - Aula 02

30

• Computador Hipotético • Problema III

Dado o saldo de uma aplicação exiba o novo saldo após um reajuste de 10%.

Solicitar o saldo da aplicação e atribui-lo a variável E15Pegar o conteúdo de E15 e multiplicar por 0.10 e atribuir o resultado a variável E16

Somar o conteúdo de E15 com E16 e atribuir o resultado a variável E17

Imprimir o conteúdo de E17

P1

P2

P3

P4

P5 Parar

Page 31: Construcao de Algoritmos - Aula 02

31

• Computador Hipotético • Problema III• Solucionando o problema...

• Entrada:• E15 ← 1000 // saldo

• Saída:• E17 // 1100

• Processamento:• E16 ← E15 * 0.10• E17 ← E15 + E16

Page 32: Construcao de Algoritmos - Aula 02

32

Problema IVUma Empresa paga a seu vendedor um

salário fixo de R$ 800,00, mais uma comissão de 15% pelo valor de vendas

realizada no mês. Leia o valor de vendas e determine o salário total do

funcionário.

Page 33: Construcao de Algoritmos - Aula 02

33

• Computador Hipotético • Problema IV

Tabela Algorítmica

Atribuir o valor do salário fixo a variável E15

Solicitar o valor de vendas e atribui-lo a variável E16

Pegar o conteúdo de E16 e multiplicar por 0.15 e atribuir o resultado a variável E17

Somar o conteúdo de E15 com E17 e atribuir o resultado a variável E18

Imprimir o conteúdo de E18

P1

P2

P3

P4

P5

P6 Parar

Page 34: Construcao de Algoritmos - Aula 02

34

• Computador Hipotético • Problema IV• Solucionando o problema...

• Entrada:• E15 ← 800 // salário fixo• E16 ← 5000 // valor de vendas

• Saída:• E18 // 1550

• Processamento:• E17 ← E16 * 0.15 // 750• E18 ← E15 + E17

Page 35: Construcao de Algoritmos - Aula 02

35

Problema VSolicitar um número qualquer e

imprimir o seu quadrado caso ele seja positivo.

Page 36: Construcao de Algoritmos - Aula 02

36

• Computador Hipotético • Problema V

Solicitar um número qualquer e imprimir o seu quadrado caso ele seja positivo.

P1

P2

P3

P4

P5 Parar

Solicitar um número e atribui-lo a variável E15

Se o valor de E15 for maior do que ZERO, avance para P3, senão avance para P5

Multiplicar o conteúdo de E15 por ele mesmo e atribuir o resultado a variável E16

Imprimir o conteúdo de E16

Page 37: Construcao de Algoritmos - Aula 02

37

• Computador Hipotético • Problema V• Solucionando o problema...

• Entrada:• E15 ← 8 // número solicitado

• Saída:• E16 // 64

• Processamento:• Verifica se o conteúdo de E15 é > do que

zero.• E16 ← E15 * E15

Page 38: Construcao de Algoritmos - Aula 02

38

Problema VISolicitar o ano atual e o ano de

nascimento de uma pessoa. Imprimir a sua idade caso ela tenha idade para

votar.// para uma pessoa votar sua idade deve ser maior ou igual a 16 anos.

Page 39: Construcao de Algoritmos - Aula 02

39

• Computador Hipotético • Problema VI

Solicitar o ano atual e o ano de nascimento de uma pessoa. Imprimir a sua idade caso ela tenha idade para votar.

P1

P2

P3

P4

P5

P6 Parar

Solicitar o ano atual e atribui-lo a variável E15

Solicitar o ano de nascimento e atribui-lo a variável E16

Subtrair o conteúdo de E15 por E16 e atribuir o resultado a E17

Se o conteúdo de E17 for maior ou igual a 16, avance para P5, senão avance para P6

Imprimir o conteúdo de E17

Page 40: Construcao de Algoritmos - Aula 02

40

• Computador Hipotético • Problema VI• Solucionando o problema...

• Entrada:• E15 ← 2016 // ano atual• E16 ← 1995 // ano de nascimento• E17 ← E15 - E16 // subtração dos anos

•Saída:• E17 // 20

• Processamento:• Verifica se o conteúdo de E17 é maior do

que 16.

Page 41: Construcao de Algoritmos - Aula 02

41

Problema VIIDadas as duas notas de aluno calcule a

média das notas e apresente uma mensagem dizendo se o aluno está

aprovado.// para o aluno ser aprovado sua média deve ser maior o igual a 7

Page 42: Construcao de Algoritmos - Aula 02

42

• Computador Hipotético • Problema VII

Dadas as duas notas de aluno calcule a média das notas e apresente uma mensagem dizendo se o aluno está aprovado.

Solicitar a 1ª nota e atribuir o seu valor a variável E15Solicitar a 2ª nota e atribuir o seu valor a variável E16Somar o conteúdo de E15 com E16 e atribuir o resultado a variável E17Dividir o valor de E17 por 2 e atribuir o resultado a variável E18Se o conteúdo de E18 for maior ou igual a 7, então imprima “Aprovado”, senão avance para P6.

P1

P2

P3

P4

P5

P6 Parar

Page 43: Construcao de Algoritmos - Aula 02

43

• Computador Hipotético • Problema VII• Solucionando o problema...

• Entrada:• E15 ← 8 // primeira nota• E16 ← 6.2 // segunda nota

• Saída:• “Aprovado”

• Processamento:• E17 ← E15 + E16• E18 ← E17 / 2• Se E18 for ≥ a 7,0 entao o aluno está

aprovado.

Page 44: Construcao de Algoritmos - Aula 02

44

Problema VIIIDados dois números,

apresente o maior deles.

Page 45: Construcao de Algoritmos - Aula 02

45

• Computador Hipotético • Problema VIII

Dados dois números, apresente o maior deles.

P1

P2

P3

P4 Parar

Solicitar o primeiro valor e atribui-lo a variável E15Solicitar o segundo valor e atribui-lo a variável E16Se E15 for maior do que E16, imprima o valor de E15 e avance para P5, senão imprima o conteúdo de E16

Page 46: Construcao de Algoritmos - Aula 02

46

• Computador Hipotético • Problema VIII• Solucionando o problema...

• Entrada:• E15 ← 8 // primeiro valor• E16 ← 5.2 // segundo valor

• Saída:• E15• E16

• Processamento:• Se E15 for maior do que E16 entao o seu

valor será impresso.• Se não será impresso o valor de E16.

Page 47: Construcao de Algoritmos - Aula 02

47

Problema IXLeia a idade e o tempo de serviço de um

trabalhador e escreva se ele pode se aposentar. As condições para aposentadoria

são:• Ter pelo menos 65 anos; • Ter trabalhado pelo menos 30 anos;• Ter pelo menos 60 anos e trabalhado pelo menos 25 anos.

Page 48: Construcao de Algoritmos - Aula 02

48

• Computador Hipotético • Problema IX

Tabela Algorítmica

Solicitar a idade e atribui-la a variável E15Solicitar o tempo de serviço e atribui-lo a variável E16Se E15 for maior ou igual a 65 imprima “Pode se aposentar”, senão avance para P4

Se E16 for maior ou igual a 30 imprima “Pode se aposentar”, senão avance para P5

Se E15 for maior ou igual a 60 E E16 for maior ouigual a 25 imprima “Pode se aposentar”.

P1

P2

P3

P4

P5

P6 Parar

Page 49: Construcao de Algoritmos - Aula 02

49

• Computador Hipotético • Problema IX• Solucionando o problema...

• Entrada:• E15 ← 62 // idade• E16 ← 27 // tempo de serviço

• Saída:• “Pode se aposentar”.

• Processamento:• Se E15 for maior ou igual a 65 anos;• Senao se E16 for maior ou igual 30 anos;• Senao se E15 for maior ou igual a 60 anos e

E16 maior ou igual a 25 anos.

Page 50: Construcao de Algoritmos - Aula 02

50

Problema XCrie um “algoritmo” que imprima

vários números solicitados ao usuário. O algoritmo encerra quando for

digitado um valor menor ou igual a ZERO.

Page 51: Construcao de Algoritmos - Aula 02

51

• Computador Hipotético • Problema X

Crie um “algoritmo” que imprima vários números solicitados ao usuário. O algoritmo encerra quando for digitado um valor menor ou igual a ZERO.

Solicitar um valor e atribui-lo a variável E15

Imprimir o conteúdo de E15

Enquanto o valor de E15 for maior do que ZERO voltepara P1

P1

P2

P3

P4 Parar

Page 52: Construcao de Algoritmos - Aula 02

52

Problema XICrie um “algoritmo” que solicite vários

números digitados pelo usuário e apresente a quantidade de números

positivos. O algoritmo encerra quando for digitado o valor ZERO.

Page 53: Construcao de Algoritmos - Aula 02

53

• Computador Hipotético • Problema XI

Tabela Algorítmica

Atribuir ZERO a variável E15

Solicitar um valor e atribui-lo a variável E16

Se o valor de E16 for maior do que ZERO, incrementar +1 em E15

Enquanto o valor de E16 for diferente de ZERO voltepara P2

Imprimir o conteúdo de E15

P1

P2

P3

P4

P5

P6 Parar

Page 54: Construcao de Algoritmos - Aula 02

54

Problema XIIImprimir todos os valores

contidos em uma bandeja.

Page 55: Construcao de Algoritmos - Aula 02

55

• Computador Hipotético • Problema XII

Imprimir todos os valores contidos em uma bandeja.

Bandeja ← [9, 5, 4]

// Sempre vai dá erro, pois o algoritmo não tem um ponto de parada definido.

Pegar um valor da bandeja e atribui-lo a variável E16

Imprimir o conteúdo de E16

Volte para P1

P1

P2

P3

P4 Parar

Page 56: Construcao de Algoritmos - Aula 02

56

• Computador Hipotético • Problema XII

Imprimir todos os valores contidos em uma bandeja.

Bandeja ← [9, 5, 4]

P1 AtribuirZEROavariávelE15

P2Pegarumvalordabandejaeatribui-lo avariávelE16.

Incrementar+1a E15

P3 Imprimiroconteúdode E16

P4Enquanto o valor de E15 for menor do que aquantidadedeelementosnabandejavolteparaP2

P5 Parar

Page 57: Construcao de Algoritmos - Aula 02

57

Problema XIIIDada uma bandeja com um

conjunto de valores, imprima apenas os números pares contidos

na bandeja.

Page 58: Construcao de Algoritmos - Aula 02

• Computador Hipotético • Problema XIII

Bandeja ← [6, 5, 4]

58

Atribuir ZERO a variável E15

Pegar um valor da bandeja e atribui-lo a variável E16. Incrementar +1 a E15

Dividir E16 por dois. Se o resto da divisão for igual a ZERO, então imprima E16.

Enquanto o valor de E15 for menor do que a quantidade de elementos na bandeja volte para P2

P1

P2

P3

P4

P5 Parar

Page 59: Construcao de Algoritmos - Aula 02

59

Problema XIVRealizar a soma de três valores

“fornecidos” pelo usuário.

Page 60: Construcao de Algoritmos - Aula 02

60

• Computador Hipotético • Problema XIV

Realizar a soma de três valores “fornecidos” pelo usuário.

Atribuir ZERO as variáveis E15 e E16

Solicitar um valor e atribui-lo a variável E17. Incrementar +1 a E15

Somar o conteúdo de E16 com E17 e atribuir o resultado em E16

Enquanto o valor de E15 for menor do que 3 volte para P2

Imprimir o conteúdo de E16

P1

P2

P3

P4

P5

P6 Parar