Lógica de Programação

4.773 visualizações

Publicada em

Apresentação Sobre lógica de programação.

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.773
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
410
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Lógica de Programação

  1. 1. Introdução à Algoritmos Professor : Claudio Stein Junior E-mail: frostlost@yahoo.com.br
  2. 2. Quem sou eu?
  3. 5. Quem sou eu? <ul><li>Bacharel em Sistemas de Informação </li></ul><ul><li>Licenciado em Informática </li></ul><ul><li>Pós-Graduando em Tecnologia em Desenvolvimento de Sistemas Microsoft </li></ul><ul><li>MBA em Gestão Estratégica de Marketing </li></ul><ul><li>Certificado Java para WEB (IBM) </li></ul><ul><li>Analista de Sistemas da Inova Softwares </li></ul><ul><li>Professor da UNIBARRETOS, UNIJALES e ETEC </li></ul><ul><li>Orientador da Empresa Junior da UNIJALES </li></ul><ul><li>Atuando a 16 anos como professor (1994) </li></ul><ul><li>Especialidades: Programação (Delphi, .NET, Java), Engenharia de Software, UML e Banco de Dados. </li></ul>
  4. 6. Ementa <ul><li>Lógica </li></ul><ul><li>Algoritmos </li></ul><ul><li>Linguagem Natural </li></ul><ul><li>Pseudocódigo </li></ul><ul><li>Fluxogramas </li></ul><ul><li>Constantes, Variáveis, Palavras Reservadas, Identificadores </li></ul><ul><li>Tipos de Dados </li></ul><ul><li>Operadores </li></ul>
  5. 7. Metodologia <ul><li>Aula expositiva e dialogada </li></ul>Recursos Notebook e projetor multimídia.
  6. 8. Bibliografia <ul><li>Bibliografia Básica: </li></ul><ul><li>Fundamentos da Programação de Computadores </li></ul><ul><li>Ana Fernanda Gomes Ascencio, Edilene Aparecida Veneruchi de Campos – 2ª edição – Editora Pearson Prentice Hall, 2003. </li></ul><ul><li>Algoritmos, Teoria e Prática </li></ul><ul><li>Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein – Editora Campus, 2002. </li></ul><ul><li>Bibliografia Complementar: </li></ul><ul><li>Algoritmos e Programação – Teoria e Prática </li></ul><ul><li>Marco Medina e Cristina Fertig – 2ª Edição – Editora Novatec, 2006. </li></ul>
  7. 9. <ul><li>O que é um Problema? </li></ul>
  8. 11. Conceito de Problema <ul><li>Problema ( Dicionário Michaelis ): </li></ul><ul><li>Questão matemática proposta para ser resolvida. </li></ul><ul><li>Questão difícil, delicada, suscetível de diversas soluções. </li></ul><ul><li>Qualquer coisa de difícil explicação, mistério, enigma. </li></ul><ul><li>Dúvida, questão. </li></ul>
  9. 12. Exemplos de Problemas <ul><li>Trocar uma lâmpada </li></ul><ul><li>Trocar o pneu de um carro </li></ul><ul><li>Preparar-se para uma prova </li></ul>Sempre que nos deparamos com um problema buscamos o quê?
  10. 13. Exemplo de Solução <ul><li>Por exemplo, para trocar uma lâmpada devemos: </li></ul><ul><ul><li>Adquirir uma lâmpada nova; </li></ul></ul><ul><ul><li>Localizar a lâmpada queimada; </li></ul></ul><ul><ul><li>Retirar a lâmpada queimada; </li></ul></ul><ul><ul><li>Colocar a lâmpada nova; </li></ul></ul><ul><ul><li>Descartar a lâmpada queimada. </li></ul></ul>
  11. 14. O que orientou a obtenção dos procedimentos para a solução proposta?
  12. 15. Lógica
  13. 16. O que é a Lógica? <ul><li>A lógica é o ramo da Filosofia e da Matemática que estuda os métodos e princípios que permitem fazer distinção entre raciocínios válidos e não válidos, determinando o processo que leva ao conhecimento verdadeiro. </li></ul>
  14. 17. Tome nota <ul><li>Ninguém ensina outra pessoa a pensar, mas sim a desenvolver e aperfeiçoar esta técnica, com persistência e constância. </li></ul><ul><li>A lógica é primordial na solução de problemas e para alcançar objetivos com eficiência e eficácia. </li></ul><ul><li>Desenvolvemos softwares </li></ul>
  15. 18. Lógica em um Mercado
  16. 19. A lógica dizia o quê?
  17. 20. Aliás... O que aquele ladrão vai fazer sem a roda???
  18. 21. Cada um pensa de uma forma
  19. 22. O que construimos ao utilizar a lógica para solucionar um problema?
  20. 23. <ul><li>ALGORITMO </li></ul>
  21. 24. Conceito de Algoritmo <ul><li>Uma sequência de passos bem definida que deve ser seguida para a realizar uma tarefa ou solucionar um problema. </li></ul>
  22. 25. Métodos de Representação de Algoritmos <ul><li>Do ponto de vista computacional um algoritmo será implementado em uma linguagem de computação gerando um programa, o qual visa instruir um computador a executar determinada tarefa. </li></ul><ul><li>O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação tem início com a construção do algoritmo. </li></ul>
  23. 26. Funcionalidade do Algoritmo MUNDO REAL MÁQUINA
  24. 27. Métodos de Representação de Algoritmos <ul><li>Descrição Narrativa: </li></ul><ul><li>Adquira uma lâmpada nova e localize a lâmpada a ser trocada. Em seguida retire a lâmpada queimada e coloque a lâmpada nova. Após a troca descarte a lâmpada queimada. </li></ul>
  25. 28. Descrição Narrativa <ul><li>Vantagens </li></ul><ul><li>Desvantagens </li></ul>
  26. 30. Descrição Narrativa <ul><li>Um exemplo de ambigüidade presente em uma sentença na linguagem natural é: </li></ul><ul><li>O policial escutou o barulho da porta. </li></ul><ul><li>Esta frase pode ter pelo menos três interpretações: </li></ul><ul><li>1 - O policial escutou o barulho produzido pela porta. </li></ul><ul><li>2 - O policial estava junto à porta e escutou o barulho. </li></ul><ul><li>3 - O policial escutou o barulho que veio através da </li></ul><ul><li>porta. </li></ul>
  27. 31. Métodos de Representação de Algoritmos <ul><li>Fluxograma </li></ul><ul><li>Pseudocódigo (português estruturado) </li></ul>
  28. 32. Fluxograma
  29. 33. Exemplo de Pseudocódigo <ul><li>ALGORITMO: TROCAR UMA LÂMPADA </li></ul><ul><li>PASSO 1: Desligar a caixa de energia </li></ul><ul><li>PASSO 2: Pegar a lâmpada nova </li></ul><ul><li>PASSO 3: Pegar a escada </li></ul><ul><li>PASSO 4: Posicionar a escada embaixo da lâmpada queimada </li></ul><ul><li>PASSO 5: Subir na escada com a lâmpada nova </li></ul><ul><li>PASSO 6: Retirar a lâmpada queimada </li></ul><ul><li>PASSO 7: Colocar a lâmpada nova </li></ul><ul><li>PASSO 8: Descer da escada </li></ul><ul><li>PASSO 9: Ligar o interruptor </li></ul><ul><li>PASSO 10: Guardar a escada </li></ul><ul><li>PASSO 11: Jogar a lâmpada velha no lixo </li></ul>
  30. 34. Métodos de Representação de Algoritmos <ul><li>Fluxograma: </li></ul><ul><ul><li>Vantagem – a representação gráfica é mais concisa que a representação textual. </li></ul></ul><ul><ul><li>Desvantagem – é necessário aprender a simbologia dos fluxogramas. </li></ul></ul><ul><li>Pseudocódigo: </li></ul><ul><ul><li>Vantagem – sua transcrição para qualquer linguagem de programação é quase que direta. </li></ul></ul><ul><ul><li>Desvantagem – é necessário aprender as regras do pseudocódigo. </li></ul></ul>
  31. 35. Estrutura de um Algoritmo <ul><li>Algoritmo <nome do algoritmo> </li></ul><ul><li><declarações iniciais> </li></ul><ul><li>Inicio </li></ul><ul><li><Corpo do algoritmo> </li></ul><ul><li>Fim </li></ul>
  32. 36. Conceitos Básicos de Algoritmos <ul><li>Antes de nos aprofundarmos nos métodos de representação de algoritmos, devemos ter de forma clara a compreensão de alguns conceitos como: </li></ul><ul><li>Constante; </li></ul><ul><li>Variável; </li></ul><ul><li>Identificador; </li></ul><ul><li>Palavra-reservada; </li></ul><ul><li>Entrada; </li></ul><ul><li>Saída. </li></ul>
  33. 37. Constantes <ul><li>Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa. </li></ul><ul><li>Exemplo: </li></ul><ul><li>PI = 3.1416 </li></ul>
  34. 38. Variáveis <ul><li>Variáveis são endereços de memória destinados a armazenar informações temporariamente. </li></ul>
  35. 39. Identificadores <ul><li>São os nomes dados as variáveis, constantes e programas. </li></ul><ul><li>Exemplo: </li></ul><ul><li>Var idade : Inteiro </li></ul>
  36. 40. Regras de Identificadores <ul><li>Não podem ter nomes de palavras reservadas (comandos da linguagem); </li></ul><ul><li>Devem possuir como 1º caractere uma letra ou Underscore ( _ ); </li></ul><ul><li>Ter como demais caracteres letras, números ou Underscore; </li></ul><ul><li>Não possuir espaços em branco; </li></ul><ul><li>A escolha de letras maiúsculas ou minúsculas depende da linguagem </li></ul>
  37. 41. Palavras Reservadas <ul><li>São identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo. </li></ul>
  38. 42. Tipos de Dados <ul><li>NUMÉRICO (Inteiro ou Real) </li></ul><ul><li>LITERAL </li></ul><ul><li>LÓGICO </li></ul>
  39. 43. Exemplos de Armazenamento <ul><li>Inteiro: 0, -12, 15 </li></ul><ul><li>Real: 0.12, -1.13, 25.17 </li></ul><ul><li>Literal: “Claudio”, “a”, “4˚ Andar” </li></ul><ul><li>Lógico: . V. ou .F. </li></ul>
  40. 44. Operadores <ul><li>Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: </li></ul><ul><ul><li>Operadores Aritméticos </li></ul></ul><ul><ul><li>Operadores Relacionais </li></ul></ul><ul><ul><li>Operadores Lógicos </li></ul></ul>
  41. 45. Aritméticos <ul><li>OPERAÇÃO SÍMBOLO </li></ul><ul><li>Adição + </li></ul><ul><li>Subtração - </li></ul><ul><li>Multiplicação * </li></ul><ul><li>Divisão / </li></ul><ul><li>Exponenciação ** </li></ul>
  42. 46. Relacionais <ul><li>Descrição Símbolo </li></ul><ul><li>Igual a = </li></ul><ul><li>Diferente de <> ou # </li></ul><ul><li>Maior que > </li></ul><ul><li>Menor que < </li></ul><ul><li>Maior ou igual a >= </li></ul><ul><li>Menor ou igual a <= </li></ul>
  43. 47. Lógicos <ul><li>E / AND Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras </li></ul><ul><li>OR/OU Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira </li></ul><ul><li>NOT Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. </li></ul>
  44. 48. Estrutura de um Algoritmo <ul><li>Algoritmo Somar </li></ul><ul><li>Var n1, n2, total : Inteiro; </li></ul><ul><li>Inicio </li></ul><ul><li>Escreva (“Digite um número”); </li></ul><ul><li>Leia(n1 ); </li></ul><ul><li>Escreva (“Digite outro número”); </li></ul><ul><li>Leia(n2 ); </li></ul><ul><li>total ← n1 + n2; </li></ul><ul><li>Escreva (“A soma dos números é {0}.”, total); </li></ul><ul><li>Fim </li></ul>
  45. 49. Estrutura de um Algoritmo <ul><li>Algoritmo CalcularMedia </li></ul><ul><li>Var n1, n2, media: real </li></ul><ul><li>Inicio </li></ul><ul><li>Escreva (“Digite um número”); </li></ul><ul><li>Leia(n1 ); </li></ul><ul><li>Escreva (“Digite outro número”); </li></ul><ul><li>Leia(n2 ); </li></ul><ul><li>media ← (n1 + n2) / 2; </li></ul><ul><li>Se ( MEDIA >= 7) entao </li></ul><ul><li>Escreva ( “Aprovado”); </li></ul><ul><li>Senao </li></ul><ul><li>Escreva ( “Reprovado”); </li></ul><ul><li>Fim_se </li></ul><ul><li>Fim </li></ul>
  46. 50. Estrutura de um Algoritmo <ul><li>Algoritmo MostrarTabuada </li></ul><ul><li>Var i, n, total: real </li></ul><ul><li>Inicio </li></ul><ul><li>Escreva (“Digite um número”); </li></ul><ul><li>Leia(n1 ); </li></ul><ul><li>Para i ← 0 ate 10 faca </li></ul><ul><li>total ← n * i; </li></ul><ul><li>Escreva (“{0} X {1} = {2}”,n,i, total); </li></ul><ul><li>Fim_Para </li></ul><ul><li>Fim </li></ul>
  47. 51. <ul><li>FIM? </li></ul>

×