Aula 4 - Introducão a algoritmos

Embed Size (px)

Text of Aula 4 - Introducão a algoritmos

  • 1. Introduo a Algoritmos eLinguagens de Programao Aula 4 | Algoritmos Apresentao Luiz Augusto de M. Morais

2. RoteiroAlgoritmos O que um algoritmo? Estrutura de um algoritmo Resolvendo problemas do mundo real Representaes de algoritmosTipos de linguagem De mquina De programao De montagem Compilada (Assembly) Interpretada HbridaUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 3. AlgoritmosO que um algoritmo? UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 4. O que um algoritmo? uma sequncia de passos finitospara atingir um objetivo especficoUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 5. AlgoritmosEstrutura de um algoritmo UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 6. Estrutura de um algoritmoEntradaProcessamento SadaUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 7. AlgoritmosResolvendo problemasdo mundo real UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 8. Resolvendo problemas do mundo realReceita de bolo UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 9. Receita de boloIngredientes 2 xcaras de acar 3 xcaras de farinha de trigo 4 colheres de margarina bem cheias 3 ovos 1 1/2 xcara de leite aproximadamente 1 colher (sopa) de fermento em p bem cheia UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 10. Receita de boloModo de preparo1.Bata as claras em neve2.Reserve3.Bata bem as gemas com a margarina e o acar4.Acrescente o leite e farinha aos poucos sem parar de bater5.Por ltimo agregue as claras em neve e o fermento6.Coloque em forma grande de furo central untada e enfarinhada7.Asse em forno mdio, pr aquecido, por aproximadamente 40 minutos8.Quando espetar um palito e sair limpo estar assadoUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 11. Resolvendo problemas do mundo real Trocar uma lmpada UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 12. Trocar uma lmpada | Tentativa 11.Troque a lmpada!UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 13. Trocar uma lmpada | Tentativa 2Detalhado1. Pegar uma escada2. Posicionar a escada embaixo da lmpada3. Buscar uma lmpada nova4. Subir na escada5. Retirar a lmpada velha6. Colocar a lmpada nova7. Descer da escadaE se a lmpada no estivesse queimada? UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 14. Trocar uma lmpada | Tentativa 3Incluindo o teste da lmpada 1. Pegar uma escada 2. Posicionar a escada embaixo da lmpada 3. Buscar uma lmpada nova 4. Acionar o interruptor 5. Se a lmpada acender, encerre. 6. Subir na escada 7. Retirar a lmpada velha 8. Colocar a lmpada nova 9. Descer da escadaDeveramos verificar antes!UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 15. Trocar uma lmpada | Tentativa 4Verificando antes1. Acionar interruptor2. Se a lmpada acender, encerre.3. Pegar uma escada4. Posicionar a escada embaixo da lmpada5. Buscar uma lmpada nova6. Subir na escada7. Retirar a lmpada velha8. Colocar a lmpada nova9. Descer da escadaSe a lmpada nova tambm no acender? UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 16. Trocar uma lmpada | Tentativa 5Repetindo at conseguir1. Acionar interruptor2. Se a lmpada acender, encerre.3. Pegar uma escada4. Posicionar a escada embaixo da lmpada5. Buscar uma lmpada nova6. Subir na escada7. Retirar a lmpada velha8. Colocar a lmpada nova9. Descer da escada10. Se lmpada nova acender, encerre11. Repita os passos 5 a 10 UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 17. AlgoritmosRepresentaes de algoritmos UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 18. Representaes de algoritmos Linguagem natural 1. Pegar uma escada 1. Pegar uma escada 2. Posicionar a escada embaixo da lmpada 2. Posicionar a escada embaixo da lmpada 3. Buscar uma lmpada nova 3. Buscar uma lmpada nova 4. Subir na escada 4. Subir na escada 5. Retirar a lmpada velha 5. Retirar a lmpada velha 6. Colocar a lmpada nova 6. Colocar a lmpada nova 7. Descer da escada 7. Descer da escada UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 19. Representaes de algoritmosPseudo-cdigoleia (x, y)leia (x, y)se x > y entose x > y entoescreva (x maior)escreva (x maior)senosenose y > x entose y > x entoescreva (y maior)escreva (y maior)senosenoescreva (x e y so iguais)escreva (x e y so iguais)fim-sefim-sefim-sefim-seUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 20. Representaes de algoritmos Fluxograma UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 21. Tipos de linguagemLinguagem de MquinaUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 22. Linguagem de MquinaBinrio UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 23. Linguagem de MquinaO computador s entende zeros e unsExtremamente difcil de entender UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 24. Tipos de linguagemLinguagem de Montagem UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 25. Linguagem de MontagemAssembly UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 26. Linguagem de MontagemMuito difcil de entenderIncompatibilidade entre processadores UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 27. Tipos de linguagemLinguagem de Programao UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 28. Linguagem de ProgramaoTipo ExecuoBaixo nvel CompiladasAlto Nvel InterpretadasAltssimo Nvel HbridasUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 29. Linguagem de Programao | TipoBaixo nvelParecidas com cdigo de mquinaLinguagens de microprocessador e de montagemUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 30. Linguagem de Programao | TipoAlto nvelGuardam semelhanas da linguagem naturalC, C++, Pascal, JavaUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 31. Linguagem de Programao | TipoAltssimo nvelMuito semelhantes linguagem naturalRuby, PythonUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 32. Linguagem de Programao | Execuo Linguagens compiladasCdigo-fonte Compilador Cdigo de mquina ExecuoUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 33. Linguagem de Programao | ExecuoLinguagens compiladasRapidezC, C++, PascalUNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 34. Linguagem de Programao | Execuo Linguagens interpretadasCdigo-fonte Interpretador Execuo UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 35. Linguagem de Programao | ExecuoLinguagens interpretadasPortabilidadePython, Lua UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 36. Linguagem de Programao | Execuo Linguagens hbridasCdigo-fonteCompiladorBytecode ExecuoInterpretador UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 37. Linguagem de Programao | ExecuoLinguagens hbridasMais rpidas que linguagens interpretadasPortabilidadeJava UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES 38. RefernciasFERRARI, Fabrcio; CECHINEL, Cristian.Introduo a Algoritmos e Programao. [S. l. : s. n.] UNIVERSIDADE ESTADUAL DA PARABA | PROJETO HERMES