aula4-introducao-a-algoritmos-110926191723-phpapp02.pdf

38
Introdução a Algoritmos e Linguagens de Programação Apresentação Luiz Augusto de M. Morais Aula 4 | Algoritmos

Upload: polyanna-conrado

Post on 10-Nov-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

  • Introduo a Algoritmos e Linguagens de Programao

    ApresentaoLuiz Augusto de M. Morais

    Aula 4 | Algoritmos

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Roteiro

    O que um algoritmo?Estrutura de um algoritmoResolvendo problemas do mundo realRepresentaes de algoritmos

    Algoritmos

    De mquinaDe montagem(Assembly)

    Tipos de linguagemDe programao

    Compilada Interpretada Hbrida

  • Algoritmos

    O que um algoritmo?

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    O que um algoritmo?

    uma sequncia de passos finitos para atingir um objetivo especfico

  • Algoritmos

    Estrutura de um algoritmo

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Estrutura de um algoritmo

    Entrada

    Processamento

    Sada

  • Algoritmos

    Resolvendo problemasdo mundo real

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Resolvendo problemas do mundo real

    Receita de bolo

  • 2 xcaras de acar3 xcaras de farinha de trigo4 colheres de margarina bem cheias3 ovos1 1/2 xcara de leite aproximadamente1 colher (sopa) de fermento em p bem cheia

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Receita de bolo

    Ingredientes

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Receita de bolo

    1.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 assado

    Modo de preparo

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Resolvendo problemas do mundo real

    Trocar uma lmpada

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Trocar uma lmpada | Tentativa 1

    1.Troque a lmpada!

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Trocar uma lmpada | Tentativa 2

    1. 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 escada

    Detalhado

    E se a lmpada no estivesse queimada?

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Trocar uma lmpada | Tentativa 3

    1. Pegar uma escada2. Posicionar a escada embaixo da lmpada3. Buscar uma lmpada nova4. Acionar o interruptor5. Se a lmpada acender, encerre.6. Subir na escada7. Retirar a lmpada velha8. Colocar a lmpada nova9. Descer da escada

    Incluindo o teste da lmpada

    Deveramos verificar antes!

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Trocar uma lmpada | Tentativa 4

    1. 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 escada

    Verificando antes

    Se a lmpada nova tambm no acender?

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Trocar uma lmpada | Tentativa 5

    1. 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

    Repetindo at conseguir

  • Algoritmos

    Representaes de algoritmos

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Representaes de algoritmos

    Linguagem natural

    1. 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 escada

    1. 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 escada

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Representaes de algoritmos

    Pseudo-cdigo

    leia (x, y)se x > y ento

    escreva (x maior)seno

    se y > x entoescreva (y maior)

    senoescreva (x e y so iguais)

    fim-sefim-se

    leia (x, y)se x > y ento

    escreva (x maior)seno

    se y > x entoescreva (y maior)

    senoescreva (x e y so iguais)

    fim-sefim-se

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Representaes de algoritmos

    Fluxograma

  • Tipos de linguagem

    Linguagem de Mquina

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Mquina

    Binrio

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Mquina

    O computador s entende zeros e uns Extremamente difcil de entender

  • Tipos de linguagem

    Linguagem de Montagem

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Montagem

    Assembly

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Montagem

    Muito difcil de entender Incompatibilidade entre processadores

  • Tipos de linguagem

    Linguagem de Programao

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao

    Baixo nvel Alto Nvel Altssimo Nvel

    CompiladasInterpretadasHbridas

    Tipo Execuo

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Tipo

    Parecidas com cdigo de mquina Linguagens de microprocessador e de montagem

    Baixo nvel

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Tipo

    Guardam semelhanas da linguagem natural C, C++, Pascal, Java

    Alto nvel

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Tipo

    Muito semelhantes linguagem natural Ruby, Python

    Altssimo nvel

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Execuo

    Linguagens compiladas

    Cdigo-fonte Cdigo de mquinaCompilador

    Execuo

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Execuo

    Rapidez C, C++, Pascal

    Linguagens compiladas

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Execuo

    Linguagens interpretadas

    Cdigo-fonte Interpretador Execuo

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Execuo

    Portabilidade Python, Lua

    Linguagens interpretadas

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Execuo

    Linguagens hbridas

    Cdigo-fonte BytecodeCompilador

    Execuo Interpretador

  • UNIVERSIDADE ESTADUAL DA PARABA | PROJETOHERMES

    Linguagem de Programao | Execuo

    Mais rpidas que linguagens interpretadas Portabilidade Java

    Linguagens hbridas

  • Referncias

    UNIVERSIDADE ESTADUAL DA PARABA | PROJETO HERMES

    FERRARI, Fabrcio; CECHINEL, Cristian.Introduo a Algoritmos e Programao. [S. l. : s. n.]

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38