Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação ©...

11
Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas // 4 h/semana Resolução de problemas Aula 03 – Parte 1 Prof. Piva 2 Como solucionar problemas? 3 Qual o processo de resolução de um problema? Compreender o problema Qual a incógnita? Quais são os dados? Qual é a condicionante? É possível satisfazer a condicionante?... Enfim... Saiba o que deve ser feito! Encontre a conexão entre os dados e a incógnita (estabeleça um plano) Já viu antes? Conhece um caso correlato? Imagine a(s) solução(ões) Execute seu plano Avaliando as soluções listadas e escolhendo a mais apropriada. Examine a solução obtida. (Polya, 1975) 4 Exemplo... Calcular a diagonal de um paralelepípedo retângulo do qual são conhecidos o comprimento, a largura e a altura. Qual a incógnita? Quais são os dados? Adote uma notação adequada. Qual é a condicionante que relaciona a, b, c com x? Trata-se de um problema razoável? 5 Cálculo da Diagonal... 6 Agora é com você! Calcule o valor dos lados de um losango, sabendo os valores dos comprimentos das diagonais (menor e maior).

Transcript of Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação ©...

Page 1: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 1

1

Algoritmos e Lógica de Programação

80 horas // 4 h/semana

Resolução de problemas

Aula 03 – Parte 1

Prof. Piva

2

Como solucionar problemas?

3

Qual o processo de resolução de um problema?

Compreender o problema • Qual a incógnita? Quais são os dados? Qual é a

condicionante? É possível satisfazer a condicionante?...

• Enfim... Saiba o que deve ser feito!

Encontre a conexão entre os dados e a incógnita (estabeleça um plano)

• Já viu antes? Conhece um caso correlato?

• Imagine a(s) solução(ões)

Execute seu plano • Avaliando as soluções listadas e escolhendo a mais

apropriada.

Examine a solução obtida. (Polya, 1975)

4

Exemplo...

Calcular a diagonal de um paralelepípedo retângulo do qual são conhecidos o comprimento, a largura e a altura.

• Qual a incógnita?

• Quais são os dados?

• Adote uma notação adequada.

• Qual é a condicionante que relaciona a, b, c com x?

• Trata-se de um problema razoável?

5

Cálculo da Diagonal...

6

Agora é com você!

Calcule o valor dos lados de um losango, sabendo os valores dos comprimentos das diagonais (menor e maior).

Page 2: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 2

7

Cálculo lados de um losango...

8

Desafios (lógico-matemáticos)

Estabelecer uma seqüência de passos, inter-

relacionados entre si, com uma ordem

cronológica de ação/atuação (finitos), para

se atingir um determinado objetivo.

9

Desafio 1

Se um bezerro pesa 75 quilos mais meio bezerro, quanto pesa um bezerro inteiro?

10

Solução do Desafio 1

R: 150 quilos.

11

Desafio 2

Soma=Produto

a) Consegue determinar quais os dois números cujo resultado, quando multiplicados entre si, é igual ao resultado da sua soma? E outro par?

b) Agora, consegue encontrar três números diferentes cujo resultado, quando multiplicados entre si, é igual à sua soma? Não são permitidas fracções.

12

Solução do Desafio 2 Soma=Produto

a) Consegue determinar quais os dois números cujo resultado, quando multiplicados entre si, é igual ao resultado da sua soma? E outro par?

R: 0,0; 2,2. b) Agora, consegue encontrar três números

diferentes cujo resultado, quando multiplicados entre si, é igual à sua soma? Não são permitidas fracções.

R:1,2,3; 1, 0, -1.

Page 3: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 3

13

Desafio 3

Tente recriar o desenho abaixo, sem levantar a caneta e sem passar duas vezes pelo mesmo segmento de reta:

14

Solução do Desafio 3

15

Desafio 4

Quatro cientistas sentam-se a jantar. Os nomes são Shelly, Frank, Corbin e Mel. Os quatro colocam cartas na mesa com apenas os seus apelidos: Infinito, Radiano, Tissue, e Ósmio. Será capaz de relacionar os nomes aos apelidos dos

cientistas, sabendo apenas que: Nenhum cientista tem um apelido em que apareça a

inicial do primeiro nome;

O apelido de Corbin é também um elemento;

O primeiro nome de Radiano contém um R;

16

Solução do Desafio 4

•Corbin Ósmio (2ª pista), •Frank Radiano (3ª pista, por exclusão da primeira solução), •Mel Tissue e •Shelly Infinito (1ª pista, "Tissue" contém S, que é inicial de Shelly)

17

Desafio 5

Um pastor diz para outro: "Dê-me um de seus carneiros que ficaremos com igual número de carneiros." O outro responde: "Nada disso, dê-me um de seus carneiros que ficarei com o dobro dos seus". Quantos carneiros têm cada um?

18

Solução do Desafio 5

R: O primeiro tem 5 e o segundo tem 7.

Page 4: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 4

19

Fluxograma...

Ferramenta utilizada para organização de passos para a resolução de problemas.

20

Exemplo de

Fluxograma

Diretamente de Portugal

Nem Ligue!

21

Elementos de um Fluxograma

22

Exemplo de um fluxograma

Somar dois números inteiros.

23

Exemplo de um fluxograma

Encontrar o maior entre dois números inteiros

24

Agora é com você...

Faça um fluxograma que, depois de receber o salário de um funcionário, calcula e mostra o novo salário, considerando um aumento de 15,3%.

Page 5: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 5

25

Agora é com você...

Sabemos que num triângulo retângulo, o quadrado da hipotenusa (a) é igual a soma do quadrado dos catetos (b e c). Faça um fluxograma que receba o valor dos catetos, calcule e mostre o valor da hipotenusa.

26

Desafios complementares...

27

8 moedas – solução 1

28

8 moedas – solução 2

29

Desafios complementares...

30

Torre de Hanoy

Page 6: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 6

31

Algoritmos e Lógica de Programação

80 horas // 4 h/semana

Expressões matemáticas e lógicas. Tipo de dados

Aula 03 – Parte 2

Prof. Piva

32

Expressões matemáticas...

As expressões matemáticas (e lógicas) como conhecemos e utilizamos, não podem ser implementadas no computador no formato que conhecemos.

Elas devem sofrer um processo conhecido como linearização. Além disso, existe um conjunto de operações matemáticas que deve ser implementado para possibilitar que instruções gráficas, como raiz quadrada, possam ser devidamente utilizadas. A maioria dessas operações será implementada como funções.

33

Linearização

Uma expressão matemática convencional:

A mesma expressão linearizada:

34

Operadores matemáticos...

35

Linearização...

36

Mais operadores matemáticos...

Page 7: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 7

37

Mais linearização....

38

Operadores relacionais...

39

Operadores lógicos...

40

Operadores lógicos...

41

41

não e ou

Prioridades – Operadores Lógicos

42

42

Parênteses mais internos Funções matemáticas Operadores aritméticos Operadores relacionais Operadores lógicos

Prioridades – Todos os Operadores...

Page 8: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 8

43

Agora é com você...

44

Agora é com você...

45

Agora é com você...

46

Agora é com você...

47

TIPO DE DADOS

48

Tipo de dados...

Pensando em termos de dados utilizados nos programas, ou seja, valores, letras, nomes que servirão de “entrada” ou “matéria-prima” para realizarmos as tarefas/ações planejadas em nosso algoritmo/programa, deveremos levar em consideração o tamanho e as características de cada um.

Dependendo de seu valor ou variedade desse dado, uma quantidade maior ou menor de memoria devera ser alocada para guarda-lo.

A essa quantidade de memoria reservada previamente, e devidamente rotulada com um nome, chamamos de variável.

Page 9: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 9

49

Tipos Básicos...

Inteiro 654, -4567, 89, 3700, 0, -1

Real 876.90 , 1.5 , 36548987.99876

Caracter 0..9 / A..Z / a..z

Caracteres especiais: #, /, %, *, ? ...

Lógico Verdadeiro ou Falso

50

Variáveis... Regras para nomes de identificadores

a) devem começar com um caractere alfabético;

b) podem ser seguidas por mais caracteres alfabéticos e/ou numéricos;

c) e permitido o uso do caractere especial ‘sublinha’ (_);

d) não e permitido o uso de outros caracteres especiais.

51

Padrões de Projetos:

Variáveis... Regras para nomes de identificadores

52

VisuALG

53

Agora é com você...

54

EXERCÍCIOS

Page 10: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 10

55

55

(MANZANO; OLIVEIRA, 2000 - pág. 35) Indique com um X quais dos dados abaixo são do tipo Inteiro. ( ) 1000 ( ) “0” ( ) “-900” ( ) .Verdadeiro. ( ) -456 ( ) 34 ( ) “Casa 8” ( ) 0 ( ) .Falso. ( ) -1.56

EXERCÍCIO 1

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

56

56

(MANZANO; OLIVEIRA, 2000 - pág. 35) Indique com um X quais dos dados abaixo são do tipo Real. ( ) -6.78 ( ) “0.87” ( ) “-9.12” ( ) .Verdadeiro. ( ) -456 ( ) -99.8 ( ) “Cinco” ( ) 45.8976 ( ) .Falso. ( ) -1.56

EXERCÍCIO 2

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

57

57

(MANZANO; OLIVEIRA, 2000 - pág. 35) Indique com um X quais dos dados abaixo são do tipo Literal (Caractere). ( ) 678 ( ) “0.87” ( ) “-9.12” ( ) “Verdadeiro” ( ) -456 ( ) -99.8 ( ) “Cinco” ( ) 45.8976 ( ) .Falso. ( ) 1.56

EXERCÍCIO 3

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

58

58

(MANZANO; OLIVEIRA, 2000 - pág. 36) Indique com um X quais dos dados abaixo são do tipo Lógico. ( ) -678 ( ) “0.87” ( ) “-9.12” ( ) .Verdadeiro. ( ) –456 ( ) .V. ( ) “Cinco” ( ) .Falso. ( ) .F. ( ) -1.56

EXERCÍCIO 4

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

59

59

(MANZANO; OLIVEIRA, 2000 - pág. 36) : Assinale com X os nomes válidos para uma variável. ( ) ENDERECO ( ) 21 BRASIL ( ) FONE$COM ( ) NOMEUSUÁRIO ( ) NOME USUÁRIO ( ) NOME*USUÁRIO ( ) END*A-6 ( ) CIDADE3 ( ) #CABEC

EXERCÍCIO 5

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

60

60

(FORBELLONE; EBERSPÄCHER, 2000 - pág. 18) Assinale os identificadores válidos: a) ( ) (X) i) ( ) AB*C b) ( ) U2 j) ( ) O&O c) ( ) AH! l) ( ) P{0} d) ( ) “ALUNO” m) ( ) B52 e) ( ) #55 n) ( ) Rua f) ( ) KM/L o) ( ) CEP g) ( ) UYT p) ( ) dia/mês h) ( ) ASDRUBAL

EXERCÍCIO 6

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

Page 11: Algoritmos e Lógica de Programação - fatecead.com.br · Algoritmos e Lógica de Programação © Prof. Dr. Dilermando Piva Jr. 1 1 Algoritmos e Lógica de Programação 80 horas

Algoritmos e Lógica de Programação

© Prof. Dr. Dilermando Piva Jr. 11

61

61

(FORBELLONE; EBERSPÄCHER, 2000 - pág. 18) Supondo que as variáveis NB, NA, Nmat, SX sejam utilizadas para armazenar a nota do aluno, o nome do aluno, o número da matrícula e o sexo, declare-as corretamente, associando o tipo primitivo adequado ao dado que será armazenado.

EXERCÍCIO 7

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

62

62

(FORBELLONE; EBERSPÄCHER, 2000 - pág. 18) Encontre os erros da seguinte declaração de variáveis: inteiro: Endereço, NFilhos; caracter: Idade, X; real: XPTO, C, Peso, R$; lógico: Lâmpada, C;

EXERCÍCIO 8

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior

63

63

(FORBELLONE; EBERSPÄCHER, 2000 - pág. 25) Determine os resultados obtidos na avaliação das expressões lógicas seguintes, sabendo que A, B, C contêm, respectivamente, 2, 7, 3,5, e que existe uma variável lógica L cujo valor é falsidade (F). a) B = A * C e (L ou V) b) B > A ou B = pot(A, A) c) L e B div A >= C ou não A <= C d) não L ou V e rad(A + B) >= C e) B / A = C ou B / A <> C f) L ou pot (B, A) <= C * 10 + A * B

EXERCÍCIO 9

Fonte: Slides da Aula 3 do Prof. Dr. José Nelson Falavinha Junior