View
233
Download
1
Category
Preview:
Citation preview
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).
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.
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.
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%.
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
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...
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...
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.
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
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
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
Recommended