1 Algoritmos e Lógica de Programação 80 horas // 4 h/semana 2 Como solucionar problemas? Resolução de problemas Aula 03 Parte 1 Prof. Piva 3 Qual o processo de resolução de um problema? 4 Exemplo... 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) 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 6 Cálculo da Diagonal... Agora é com você! Calcule o valor dos lados de um losango, sabendo os valores dos comprimentos das diagonais (menor e maior). Prof. Dr. Dilermando Piva Jr. 1
7 Cálculo lados de um losango... 8 Desafios (lógico-matemáticos) Estabelecer uma seqüência de passos, interrelacionados entre si, com uma ordem cronológica de ação/atuação (finitos), para se atingir um determinado objetivo. 9 10 Desafio 1 Se um bezerro pesa 75 quilos mais meio bezerro, quanto pesa um bezerro inteiro? Solução do Desafio 1 R: 150 quilos. 11 12 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. 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. Prof. Dr. Dilermando Piva Jr. 2
13 14 Desafio 3 Tente recriar o desenho abaixo, sem levantar a caneta e sem passar duas vezes pelo mesmo segmento de reta: Solução do Desafio 3 15 16 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; 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 18 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? Solução do Desafio 5 R: O primeiro tem 5 e o segundo tem 7. Prof. Dr. Dilermando Piva Jr. 3
19 20 Fluxograma... Ferramenta utilizada para organização de passos para a resolução de problemas. Exemplo de Fluxograma Diretamente de Portugal Nem Ligue! 21 Elementos de um Fluxograma 22 Exemplo de um fluxograma Somar dois números inteiros. 23 24 Exemplo de um fluxograma Encontrar o maior entre dois números inteiros 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%. Prof. Dr. Dilermando Piva Jr. 4
25 26 Desafios complementares... 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. 27 28 8 moedas solução 1 8 moedas solução 2 29 30 Desafios complementares... Torre de Hanoy Prof. Dr. Dilermando Piva Jr. 5
31 32 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 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 34 Linearização Operadores matemáticos... Uma expressão matemática convencional: A mesma expressão linearizada: 35 Linearização... 36 Mais operadores matemáticos... Prof. Dr. Dilermando Piva Jr. 6
37 38 Mais linearização... Operadores relacionais... 39 40 Operadores lógicos... Operadores lógicos... 41 Prioridades Operadores Lógicos 42 Prioridades Todos os Operadores... não e ou Parênteses mais internos Funções matemáticas Operadores aritméticos Operadores relacionais Operadores lógicos 41 42 Prof. Dr. Dilermando Piva Jr. 7
43 44 45 46 47 48 TIPO DE DADOS 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. Prof. Dr. Dilermando Piva Jr. 8
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 Variáveis... Regras para nomes de identificadores 52 VisuALG Padrões de Projetos: 53 54 EXERCÍCIOS Prof. Dr. Dilermando Piva Jr. 9
55 56 EXERCÍCIO 1 EXERCÍCIO 2 (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 55 (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 56 57 58 EXERCÍCIO 3 EXERCÍCIO 4 (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 57 (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 58 59 60 EXERCÍCIO 5 EXERCÍCIO 6 (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 59 (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 60 Prof. Dr. Dilermando Piva Jr. 10
61 62 EXERCÍCIO 7 EXERCÍCIO 8 (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. (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; 61 62 63 EXERCÍCIO 9 (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 63 Prof. Dr. Dilermando Piva Jr. 11