Introdução a Algoritmos e
Linguagens de Programação
Apresentação
Luiz Augusto de M. Morais
Aula 4 | Algoritmos
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Roteiro
●
O que é um algoritmo?
●
Estrutura de um algoritmo
●
Resolvendo problemas do mundo real
●
Representações de algoritmos
Algoritmos
●
De máquina
●
De montagem
(Assembly)
Tipos de linguagem
●
De programação
●
Compilada
●
Interpretada
●
Híbrida
Algoritmos
O que é um algoritmo?
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que é um algoritmo?
“É uma sequência de passos finitos
para atingir um objetivo específico”
Algoritmos
Estrutura de um algoritmo
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura de um algoritmo
Entrada
Processamento
Saída
Algoritmos
Resolvendo problemas
do mundo real
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Resolvendo problemas do mundo real
Receita de bolo
●
2 xícaras de açúcar
●
3 xícaras de farinha de trigo
●
4 colheres de margarina bem cheias
●
3 ovos
●
1 1/2 xícara de leite aproximadamente
●
1 colher (sopa) de fermento em pó bem cheia
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Receita de bolo
Ingredientes
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Receita de bolo
1.Bata as claras em neve
2.Reserve
3.Bata bem as gemas com a margarina e o açúcar
4.Acrescente o leite e farinha aos poucos sem parar de bater
5.Por último agregue as claras em neve e o fermento
6.Coloque em forma grande de furo central untada e enfarinhada
7.Asse em forno médio, pré – aquecido, por aproximadamente 40 minutos
8.Quando espetar um palito e sair limpo estará assado
Modo de preparo
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Resolvendo problemas do mundo real
Trocar uma lâmpada
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Trocar uma lâmpada | Tentativa 1
1.Troque a lâmpada!
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Trocar uma lâmpada | Tentativa 2
1. Pegar uma escada
2. Posicionar a escada embaixo da lâmpada
3. Buscar uma lâmpada nova
4. Subir na escada
5. Retirar a lâmpada velha
6. Colocar a lâmpada nova
7. Descer da escada
Detalhado
E se a lâmpada não estivesse queimada?
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Trocar uma lâmpada | Tentativa 3
1. Pegar uma escada
2. Posicionar a escada embaixo da lâmpada
3. Buscar uma lâmpada nova
4. Acionar o interruptor
5. Se a lâmpada acender, encerre.
6. Subir na escada
7. Retirar a lâmpada velha
8. Colocar a lâmpada nova
9. Descer da escada
Incluindo o teste da lâmpada
Deveríamos verificar antes!
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Trocar uma lâmpada | Tentativa 4
1. Acionar interruptor
2. Se a lâmpada acender, encerre.
3. Pegar uma escada
4. Posicionar a escada embaixo da lâmpada
5. Buscar uma lâmpada nova
6. Subir na escada
7. Retirar a lâmpada velha
8. Colocar a lâmpada nova
9. Descer da escada
Verificando antes
Se a lâmpada nova também não acender?
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Trocar uma lâmpada | Tentativa 5
1. Acionar interruptor
2. Se a lâmpada acender, encerre.
3. Pegar uma escada
4. Posicionar a escada embaixo da lâmpada
5. Buscar uma lâmpada nova
6. Subir na escada
7. Retirar a lâmpada velha
8. Colocar a lâmpada nova
9. Descer da escada
10. Se lâmpada nova acender, encerre
11. Repita os passos 5 a 10
Repetindo até conseguir
Algoritmos
Representações de algoritmos
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Representações de algoritmos
Linguagem natural
1. Pegar uma escada
2. Posicionar a escada embaixo da lâmpada
3. Buscar uma lâmpada nova
4. Subir na escada
5. Retirar a lâmpada velha
6. Colocar a lâmpada nova
7. Descer da escada
1. Pegar uma escada
2. Posicionar a escada embaixo da lâmpada
3. Buscar uma lâmpada nova
4. Subir na escada
5. Retirar a lâmpada velha
6. Colocar a lâmpada nova
7. Descer da escada
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Representações de algoritmos
Pseudo-código
leia (x, y)
se x > y então
escreva (x é maior)
senão
se y > x então
escreva (y é maior)
senão
escreva (x e y são iguais)
fim-se
fim-se
leia (x, y)
se x > y então
escreva (x é maior)
senão
se y > x então
escreva (y é maior)
senão
escreva (x e y são iguais)
fim-se
fim-se
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Representações de algoritmos
Fluxograma
Tipos de linguagem
Linguagem de Máquina
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Máquina
Binário
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Máquina
●
O computador só entende zeros e uns
●
Extremamente difícil de entender
Tipos de linguagem
Linguagem de Montagem
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Montagem
Assembly
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Montagem
●
Muito difícil de entender
●
Incompatibilidade entre processadores
Tipos de linguagem
Linguagem de Programação
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação
●
Baixo nível
●
Alto Nível
●
Altíssimo Nível
●
Compiladas
●
Interpretadas
●
Híbridas
Tipo Execução
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Tipo
●
Parecidas com código de máquina
●
Linguagens de microprocessador e de montagem
Baixo nível
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Tipo
●
Guardam semelhanças da linguagem natural
●
C, C++, Pascal, Java
Alto nível
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Tipo
●
Muito semelhantes à linguagem natural
●
Ruby, Python
Altíssimo nível
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
Linguagens compiladas
Código-fonte Código de máquinaCompilador
Execução
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
●
Rapidez
●
C, C++, Pascal
Linguagens compiladas
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
Linguagens interpretadas
Código-fonte Interpretador Execução
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
●
Portabilidade
●
Python, Lua
Linguagens interpretadas
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
Linguagens híbridas
Código-fonte BytecodeCompilador
Execução Interpretador
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
●
Mais rápidas que linguagens interpretadas
●
Portabilidade
●
Java
Linguagens híbridas
Referências
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES
FERRARI, Fabrício; CECHINEL, Cristian.
Introdução a Algoritmos e Programação. [S. l. : s. n.]

Aula4 introducao-a-algoritmos-110926191723-phpapp02

  • 1.
    Introdução a Algoritmose Linguagens de Programação Apresentação Luiz Augusto de M. Morais Aula 4 | Algoritmos
  • 2.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Roteiro ● O que é um algoritmo? ● Estrutura de um algoritmo ● Resolvendo problemas do mundo real ● Representações de algoritmos Algoritmos ● De máquina ● De montagem (Assembly) Tipos de linguagem ● De programação ● Compilada ● Interpretada ● Híbrida
  • 3.
    Algoritmos O que éum algoritmo? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 4.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES O que é um algoritmo? “É uma sequência de passos finitos para atingir um objetivo específico”
  • 5.
    Algoritmos Estrutura de umalgoritmo UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 6.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Estrutura de um algoritmo Entrada Processamento Saída
  • 7.
    Algoritmos Resolvendo problemas do mundoreal UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 8.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Resolvendo problemas do mundo real Receita de bolo
  • 9.
    ● 2 xícaras deaçúcar ● 3 xícaras de farinha de trigo ● 4 colheres de margarina bem cheias ● 3 ovos ● 1 1/2 xícara de leite aproximadamente ● 1 colher (sopa) de fermento em pó bem cheia UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES Receita de bolo Ingredientes
  • 10.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Receita de bolo 1.Bata as claras em neve 2.Reserve 3.Bata bem as gemas com a margarina e o açúcar 4.Acrescente o leite e farinha aos poucos sem parar de bater 5.Por último agregue as claras em neve e o fermento 6.Coloque em forma grande de furo central untada e enfarinhada 7.Asse em forno médio, pré – aquecido, por aproximadamente 40 minutos 8.Quando espetar um palito e sair limpo estará assado Modo de preparo
  • 11.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Resolvendo problemas do mundo real Trocar uma lâmpada
  • 12.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Trocar uma lâmpada | Tentativa 1 1.Troque a lâmpada!
  • 13.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Trocar uma lâmpada | Tentativa 2 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Buscar uma lâmpada nova 4. Subir na escada 5. Retirar a lâmpada velha 6. Colocar a lâmpada nova 7. Descer da escada Detalhado E se a lâmpada não estivesse queimada?
  • 14.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Trocar uma lâmpada | Tentativa 3 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Buscar uma lâmpada nova 4. Acionar o interruptor 5. Se a lâmpada acender, encerre. 6. Subir na escada 7. Retirar a lâmpada velha 8. Colocar a lâmpada nova 9. Descer da escada Incluindo o teste da lâmpada Deveríamos verificar antes!
  • 15.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Trocar uma lâmpada | Tentativa 4 1. Acionar interruptor 2. Se a lâmpada acender, encerre. 3. Pegar uma escada 4. Posicionar a escada embaixo da lâmpada 5. Buscar uma lâmpada nova 6. Subir na escada 7. Retirar a lâmpada velha 8. Colocar a lâmpada nova 9. Descer da escada Verificando antes Se a lâmpada nova também não acender?
  • 16.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Trocar uma lâmpada | Tentativa 5 1. Acionar interruptor 2. Se a lâmpada acender, encerre. 3. Pegar uma escada 4. Posicionar a escada embaixo da lâmpada 5. Buscar uma lâmpada nova 6. Subir na escada 7. Retirar a lâmpada velha 8. Colocar a lâmpada nova 9. Descer da escada 10. Se lâmpada nova acender, encerre 11. Repita os passos 5 a 10 Repetindo até conseguir
  • 17.
    Algoritmos Representações de algoritmos UNIVERSIDADEESTADUAL DA PARAÍBA | PROJETOHERMES
  • 18.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Representações de algoritmos Linguagem natural 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Buscar uma lâmpada nova 4. Subir na escada 5. Retirar a lâmpada velha 6. Colocar a lâmpada nova 7. Descer da escada 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Buscar uma lâmpada nova 4. Subir na escada 5. Retirar a lâmpada velha 6. Colocar a lâmpada nova 7. Descer da escada
  • 19.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Representações de algoritmos Pseudo-código leia (x, y) se x > y então escreva (x é maior) senão se y > x então escreva (y é maior) senão escreva (x e y são iguais) fim-se fim-se leia (x, y) se x > y então escreva (x é maior) senão se y > x então escreva (y é maior) senão escreva (x e y são iguais) fim-se fim-se
  • 20.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Representações de algoritmos Fluxograma
  • 21.
    Tipos de linguagem Linguagemde Máquina UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 22.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Máquina Binário
  • 23.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Máquina ● O computador só entende zeros e uns ● Extremamente difícil de entender
  • 24.
    Tipos de linguagem Linguagemde Montagem UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 25.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Montagem Assembly
  • 26.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Montagem ● Muito difícil de entender ● Incompatibilidade entre processadores
  • 27.
    Tipos de linguagem Linguagemde Programação UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 28.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação ● Baixo nível ● Alto Nível ● Altíssimo Nível ● Compiladas ● Interpretadas ● Híbridas Tipo Execução
  • 29.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Tipo ● Parecidas com código de máquina ● Linguagens de microprocessador e de montagem Baixo nível
  • 30.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Tipo ● Guardam semelhanças da linguagem natural ● C, C++, Pascal, Java Alto nível
  • 31.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Tipo ● Muito semelhantes à linguagem natural ● Ruby, Python Altíssimo nível
  • 32.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Execução Linguagens compiladas Código-fonte Código de máquinaCompilador Execução
  • 33.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Execução ● Rapidez ● C, C++, Pascal Linguagens compiladas
  • 34.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Execução Linguagens interpretadas Código-fonte Interpretador Execução
  • 35.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Execução ● Portabilidade ● Python, Lua Linguagens interpretadas
  • 36.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Execução Linguagens híbridas Código-fonte BytecodeCompilador Execução Interpretador
  • 37.
    UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETOHERMES Linguagem de Programação | Execução ● Mais rápidas que linguagens interpretadas ● Portabilidade ● Java Linguagens híbridas
  • 38.
    Referências UNIVERSIDADE ESTADUAL DAPARAÍBA | PROJETO HERMES FERRARI, Fabrício; CECHINEL, Cristian. Introdução a Algoritmos e Programação. [S. l. : s. n.]