INTRODUÇÃO À COMPUTAÇÃO - EPET006 Heleno Pontes Bezerra Neto - [email protected] 2.3 Linguagem de Programação 2.4. Introdução ao MATLAB 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Lógica No dia-a-dia... agir segundo a lógica, ou seja, de maneira correta. Agir de maneira ordenada, por exemplo: Pegar uma caneta dentro da gaveta... 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Lógica No dia-a-dia... agir segundo a lógica, ou seja, de maneira correta. Agir de maneira ordenada, por exemplo: Pegar uma caneta dentro da gaveta... - Abrir a gaveta - Pegar a caneta LÓGICA DE PROGRAMAÇÃO É A TÉCNICA DE ENCADEAR PENSAMENTOS PARA ATINGIR DETERMINADO OBJETIVO. A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqüência lógica para o desenvolvimento. 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo ALGORITMO É UMA SEQUÊNCIA DE PASSOS FINITOS (INSTRUÇÕES) CUJO OBJETIVO É SOLUCIONAR UM DETERMINADO PROBLEMA. O algoritmo não é a solução do problema. Algoritmo é o conjunto de passos ou ações (caminhos) que levam à solução de um dado problema, por exemplo: Problema: Deseja-se falar com alguém através de um telefone público. Como proceder? 1 2 3 4 5 6 – Retirar o telefone do gancho; – Esperar o sinal; – Colocar o cartão; – Discar o número; – Falar ao telefone; – Colocar o telefone no gancho. 2. NOÇÕES DE LÓGICA E ALGORITMOS Problema : Trocar uma lâmpada. Como proceder? Conceito de Algoritmo 2. NOÇÕES DE LÓGICA E ALGORITMOS Problema : Trocar uma lâmpada. Como proceder? 1 2 3 4 5 5 – Pegar a escada; – Posicionar a escada embaixo da lâmpada; – Buscar uma lâmpada nova; – Subir na escada; – Tirar a lâmpada queimada ; – Colocar a lâmpada nova. Conceito de Algoritmo 2. NOÇÕES DE LÓGICA E ALGORITMOS Problema: Trocar uma lâmpada. Como proceder? 1 2 3 4 5 5 – Pegar a escada; – Posicionar a escada embaixo da lâmpada; – Buscar uma lâmpada nova; – Subir na escada; – Tirar a lâmpada queimada ; – Colocar a lâmpada nova. OU 1 – Pegar a escada; 2 – Posicionar a escada embaixo da lâmpada; 3 – Buscar uma lâmpada nova; 4– Acionar o interruptor; 5 – Se a lâmpada não acender, então Subir na escada; Tirar a lâmpada queimada ; Colocar a lâmpada nova. teste Conceito de Algoritmo 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo Problema: Trocar uma lâmpada. Como proceder? 1 2 3 4 5 5 – Pegar a escada; – Posicionar a escada embaixo da lâmpada; – Buscar uma lâmpada nova; – Subir na escada; – Tirar a lâmpada queimada ; – Colocar a lâmpada nova. OU 1 – Pegar a escada; 2 – Posicionar a escada embaixo da lâmpada; 3 – Buscar uma lâmpada nova; 4– Acionar o interruptor; 5 – Se a lâmpada não acender, então FOI CONSIDERADA A Subir na escada; POSSIBILIDADE DA LÂMPADA Tirar a lâmpada queimada ; NÃO ESTAR QUEIMADA Colocar a lâmpada nova. teste Existem várias formas de se resolver um problema, ou seja, existem vários algoritmos capazes de atingir a solução. 2. NOÇÕES DE LÓGICA E ALGORITMOS Refinamentos Sucessivos Ainda no problema da lâmpada... Se a lâmpada não estiver queimada, não há necessidade de buscar a escada e uma lâmpada. REFINAMOS novamente o algoritmo: 1 – Acionar o interruptor; 2 – Se a lâmpada não acender, então Pegar a escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; teste Acionar o interruptor; Subir na escada; Tirar a lâmpada queimada ; Colocar a lâmpada nova. 2. NOÇÕES DE LÓGICA E ALGORITMOS Refinamentos Sucessivos Ainda no problema da lâmpada... Se a lâmpada não estiver queimada, não há necessidade de buscar a escada e uma lâmpada. REFINAMOS novamente o algoritmo: 1 – Acionar o interruptor; 2 – Se a lâmpada não acender, então Pegar a escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; teste Acionar o interruptor; Subir na escada; Tirar a lâmpada queimada ; Colocar a lâmpada nova. E SE A LÂMPADA NOVA NÃO ACENDER? E SE EXISTIREM VÁRIAS LÂMPADAS A SEREM TROCADAS? E SE? O ALGORITMO PODE SER REFINADO SUCESSIVAMENTE, A FIM DE EXPLICITAR MELHOR OS PASSOS A SEREM DADOS, PREVENDO OBSTÁCULOS E FORMAS DE TRANSPÔ-LOS. 2. NOÇÕES DE LÓGICA E ALGORITMOS Refinamentos Sucessivos Se a lâmpada nova não acender? 1 – Acionar o interruptor; 2 – Se a lâmpada não acender, então Pegar a escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; teste Acionar o interruptor; Subir na escada; Tirar a lâmpada queimada ; Colocar a lâmpada nova; Se a lâmpada não acender, então Tirar a lâmpada queimada ; Colocar outra lâmpada nova; Se a lâmpada não acender, então teste Tirar a lâmpada queimada ; Colocar outra lâmpada nova; . teste . . 2. NOÇÕES DE LÓGICA E ALGORITMOS Refinamentos Sucessivos Se a lâmpada nova não acender? 1 – Acionar o interruptor; 2 – Se a lâmpada não acender, então Pegar a escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; teste Acionar o interruptor; Subir na escada; Tirar a lâmpada queimada ; Colocar a lâmpada nova; Enquanto a lâmpada não acender, faça Tirar a lâmpada queimada ; Colocar outra lâmpada nova; repetição indefinida, com condição de parada 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo UM ALGORITMO DEVE: . Deve partir de um ponto inicial e chegar a um ponto final . Deve ser objetivo . Não deve ser ambíguo, ou seja, usar palavras com duplo sentido . Ser capaz de receber dados externos e retornar resultados 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo UM ALGORITMO DEVE: . Deve partir de um ponto inicial e chegar a um ponto final . Deve ser objetivo . Não deve ser ambíguo, ou seja, usar palavras com duplo sentido . Ser capaz de receber dados externos e retornar resultados CUIDADOS AO CONSTRUIR UM ALGORITMO: . Entender atentamente o que se espera do algoritmo, identificando os dados que serão recebidos e os dados que serão retornados . Imaginar que o leitor do algoritmo não trabalha com informática . Usar somente um verbo por frase . Usar frases curtas e simples . Testar o algoritmo 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo UM ALGORITMO DEVE: . Deve partir de um ponto inicial e chegar a um ponto final . Deve ser objetivo . Não deve ser ambíguo, ou seja, usar palavras com duplo sentido . Ser capaz de receber dados externos e retornar resultados CUIDADOS AO CONSTRUIR UM ALGORITMO: . Entender atentamente o que se espera do algoritmo, identificando os dados que serão recebidos e os dados que serão retornados . Imaginar que o leitor do algoritmo não trabalha com informática . Usar somente um verbo por frase . Usar frases curtas e simples . Testar o algoritmo Algoritmos para... 1. Fazer uma Prova 2. Somar dois números e multiplicar o resultado pelo primeiro número 2. NOÇÕES DE LÓGICA E ALGORITMOS 1. Fazer uma Prova Conceito de Algoritmo 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo 1. Fazer uma Prova Ler a prova; Pegar a caneta; Definir ordem de dificuldade das questões; Enquanto houver questão em branco e houver tempo para a resolução Ler questão mais fácil não resolvida nem descartada Se souber fazer a questão Resolvê-la; Senão Pular para a próxima; Entregar a prova. 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo 1. Fazer uma Prova Ler a prova; Pegar a caneta; Definir ordem de dificuldade das questões; Enquanto houver questão em branco e houver tempo para a resolução Ler questão mais fácil não resolvida nem descartada Se souber fazer a questão Resolvê-la; Senão Pular para a próxima; Entregar a prova. 2. Somar dois números e multiplicar o resultado pelo primeiro número 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo 1. Fazer uma Prova Ler a prova; Pegar a caneta; Definir ordem de dificuldade das questões; Enquanto houver questão em branco e houver tempo para a resolução Ler questão mais fácil não resolvida nem descartada Se souber fazer a questão Resolvê-la; Senão Pular para a próxima; Entregar a prova. 2. Somar dois números e multiplicar o resultado pelo primeiro número Ler o primeiro número; Ler o segundo número; Calcular a soma dos números; Calcular a multiplicação da soma pelo primeiro número; Fornecer o resultado da multiplicação. 2. NOÇÕES DE LÓGICA E ALGORITMOS Conceito de Algoritmo Além do uso dos verbos que descrevem ações no português comum, como PEGAR, LEVANTAR, ANDAR, SUBIR, TROCAR, etc., estabelecemos um padrão para construção de algoritmos (especialmente os que lidam com valores numéricos), com termos designados para ações específicas, a seguir LER CALCULAR FORNECER As ações podem ser melhor organizadas com auxílio dos termos a seguir SE SENÃO REPETIR (...) ENQUANTO (...) REPETIR (...) N VEZES EXERCÍCIOS SUGERIDOS LÓGICA a. Dada a série de números : 1, 1, 2, 3, 5, 8, 13, qual é o próximo? b. Três senhoras, Dona Branca, Dona Rosa e Dona Violeta, passeavam pelo parque, quando Dona Rosa disse: - Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome? - Uma simples coincidência - respondeu a senhora com vestido violeta. Qual a cor do vestido de cada senhora? ALGORITMOS: Escrever algoritmos para... a. Com base na idade de uma pessoa expressa em anos, meses e dias e expressá-la apenas em dias. b. EXERCÍCIOS SUGERIDOS