Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação Aula 01 - Introdução Ementa (resumo) Introdução à Lógica de Programação Lógica de programação. Algoritmos e formas de representação. Fluxograma. Portugues estruturado (ou portugol). Linguagem Visualg Linguagem de programação C++ Estrutura Sequencial Estruturas de Decisão ou Condicional Estruturas de Repetição Função Introdução Por que estudar Programação ? Todos nós programamos. Ao programar desenvolvemos algoritmos Ao programar utilizamos lógica Algoritmo e Programa Algoritmo Sequência de passos finitos com o objetivo de solucionar um problema. Programa de computador É um algoritmo escrito numa linguagem de programação Problema Solução Importante: Algoritmo não é a solução de um problema. É uma alternativa de solução de um problema. Por que estudar Programação ? Algoritmo e Programa O algoritmo, do ponto de vista computacional, tem um papel fundamental por ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação começa com a construção do algoritmo. Mundo real Máquina C , J a v a , C + + , Delphi, Python, ... Algoritmo Futuros Engenheiros Vocês programam ? Vocês irão desenvolver algoritmos em suas carreiras? SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM SIM Problemas podem ser complexos, portanto algoritmos podem ser complexos Por que estudar Programação ? Algoritmo Algoritmo para fazer uma prova Ler a prova; Pegar caneta; Enquanto ((houver questão em branco) e (houver tempo)) faça Se (souber a questão) Resolva-a; Senão Pule para a próxima; Entregar a prova; Um outro algoritmo?? Exemplos Problemas que envolvem Lógica Algoritmo Algoritmo para levar um leão, uma cabra e um pedaço de grama de um lado para outro do rio, usando um bote para tal tarefa. Sabe-se que nunca um leão pode ficar sozinho com uma cabra e nem a cabra sozinha com a grama. 1- Levar a grama e o leão; 2- Voltar com o leão; 3- Deixar o leão; 4- Levar a cabra; 5- Deixar a cabra; 6- Voltar com a grama; 7- Levar o leão e a grama; Um outro algoritmo?? Exemplos Problemas que envolvem Lógica Problemas que envolvem Lógica Observe a figura abaixo Problemas que envolvem Lógica Observe a figura abaixo Problemas que envolvem Lógica Observe a figura abaixo Problemas que envolvem Lógica Viagem de 300km Problemas que envolvem Lógica Viagem de 300km Quanto falta andar para chegar ao meio da distância restante? Problemas que envolvem Lógica São 20 horas e 25 minutos. Quantas horas se passaram desde as 0 horas? Problemas que envolvem Lógica Qual é maior: –12 ou –11? Problemas que envolvem Lógica 18 é divisível por 6? 26 é divisível por 6? Como saber se número “a” é divisível por “b”? Problemas que envolvem Lógica Quantos nos divisíveis por 13 há entre 1 e 100? Quantos são divisíveis por 11 e 13 ... simultaneamente? E entre 1 e 1.000.000? Problemas que envolvem Lógica Quantos nos divisíveis por 13 há entre 1 e 100? Quantos são divisíveis por 11 e 13 ... simultaneamente? E entre 1 e 1.000.000? Vamos criar um programa? Métodos de Representação de Algoritmos Existem três tipos de representação de algoritmos: Descrição Narrativa à Utiliza linguagem natural Fluxograma à Representação gráfica. Pseudocódigo (Por tuguês estruturado) à Representação textual. Métodos de Representação de Algoritmos Características: Descrição Narrativa Não precisa aprender um conceito novo, a língua natural (ou portuguesa) já é bem conhecida. A língua natural dá espaço para diversas interpretações, podendo dificultar a transcrição desse algoritmo para o programa. Fluxograma. A representação gráfica é mais concisa que a representação textual. É necessário aprender a simbologia dos fluxogramas. Pseudocódigo. A transcrição para qualquer linguagem de programação é quase direta. É necessário aprender as regras do pseudocódigo. Exemplos: Algoritmo: trocar lâmpada Passo 1: pegar a lâmpada nova. Passo 2: pegar a escada. Passo 3: posicionar a escada embaixo da lâmpada queimada. Passo 4: subir na escada com a lâmpada nova. Passo 5: Retirar a lâmpada queimada. Passo 6: Colocar a lâmpada nova. Passo 7: Descer da escada. Passo 8: Ligar o interruptor. Passo 9: Guardar a escada. Passo 10: Jogar a lâmpada velha no lixo. Algoritmo: sacar dinheiro Passo 1: ir até o caixa eletrônico. Passo 2: colocar o cartão. Passo 3: digitar a senha. Passo 4: solicitar o saldo. Passo 5: se o saldo for maior ou igual à quantia desejada, sacar a quantia desejada; caso contrário sacar o valor do saldo. Passo 6: retirar dinheiro e cartão. Passo 7: sair do caixa eletrônico. Descrição Narrativa 1) Faça um algoritmo em descrição narrativa que calcule a média aritmética do aluno dada duas notas na entrada, sabendo-se que a média é 7,0 para o aluno ser aprovado, caso contrário o aluno está reprovado. Descrição Narrativa (Exemplo) Fluxograma Conjunto de símbolos utilizados no fluxograma. Fluxograma (Exemplo) 2) Faça um algoritmo na forma de fluxograma que calcule a média aritmética do aluno dada duas notas na entrada, sabendo-se que a média é 7,0 para o aluno ser aprovado, caso contrário o aluno está reprovado. Pseudocódigo É uma forma genérica de escrever um algoritmo, ut i l izando uma l inguagem s imples, sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. Pseudocódigo (Exemplo) 3) Faça um algoritmo em pseudocódigo que calcule a média aritmética do aluno dada duas notas na entrada, sabendo-se que a média é 7,0 para o aluno ser aprovado, caso contrário o aluno está reprovado. Visualg algoritmo “nome_do_algoritmo” // Função: // Autor: // Data: // Seção de Declarações var inicio // Seção de Comandos fimalgoritmo Os comentários vêm com “//” no início da linha, serve para dar informações do programa, sobre o(s) autor(es), dicas do que parte do código faz, depuração do código (debug), etc. Estrutura: Métodos de Representação de Algoritmos Exemplo – Pseudocódigo (utilizando o programa Visualg). algoritmo "soma dois numeros" // Função : // Autor : // Data : 30/3/2010 // Seção de Declarações var n1, n2, d: inteiro inicio // Seção de Comandos escreval("Digite dois numeros") leia(n1) leia(n2) d<-n1+n2 escreva("A soma é igual a ", d) fimalgoritmo Tela inicial da ferramenta Visualg Bibliografia (básica) ASCENCIO. A. F. Gomes; CAMPOS, E. A. Veneruchi de; Fundamentos da programação de Computadores,2ed., São Paulo: Pearson Prentice Hall, 2007 FARRER, Harry et al. Algoritmos estruturados. 3. ed. Rio de Janeiro: LTC, 2008. MANZANO, José Augusto Navarro Garcia; OLIVEIRA, Jayr Figueiredo de Algoritmos: lógica para desenvolvimento de programação de computadores. 17. ed. São Paulo: Érica, 2005. Bibliografia (complementar) BROOKSHEAR, J. Glenn. Ciência da computação: uma visão abrangente. 7. ed. Porto Alegre: Bookman, 2008. FORBELLONE,Andre Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2008. GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, 2008.. SOUZA, Marco Antonio Furlan de et al. Algoritmos e lógica de programação. São Paulo: Cengage Learning, 2008. UCCI, Waldir; SOUSA, Reginaldo Luiz; KOTAVI, Alice Mayumi. Lógica de programação: os primeiros passos. 8. ed. São Paulo: Érica, 1999.
Compartilhar