aula 4 - introducão a algoritmos
Post on 04-Jul-2015
2.107 Views
Preview:
TRANSCRIPT
Introdução a Algoritmos e
Linguagens de Programação
ApresentaçãoLuiz 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 problemasdo 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 neve2.Reserve3.Bata bem as gemas com a margarina e o açúcar4.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 médio, pré – aquecido, por aproximadamente 40 minutos8.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 escada2. Posicionar a escada embaixo da lâmpada3. Buscar uma lâmpada nova4. Subir na escada5. Retirar a lâmpada velha6. Colocar a lâmpada nova7. 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 escada2. Posicionar a escada embaixo da lâmpada3. Buscar uma lâmpada nova4. Acionar o interruptor5. Se a lâmpada acender, encerre.6. Subir na escada7. Retirar a lâmpada velha8. Colocar a lâmpada nova9. 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 interruptor2. Se a lâmpada acender, encerre.3. Pegar uma escada4. Posicionar a escada embaixo da lâmpada5. Buscar uma lâmpada nova6. Subir na escada7. Retirar a lâmpada velha8. Colocar a lâmpada nova9. 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 interruptor2. Se a lâmpada acender, encerre.3. Pegar uma escada4. Posicionar a escada embaixo da lâmpada5. Buscar uma lâmpada nova6. Subir na escada7. Retirar a lâmpada velha8. Colocar a lâmpada nova9. Descer da escada10. Se lâmpada nova acender, encerre11. 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 escada2. Posicionar a escada embaixo da lâmpada3. Buscar uma lâmpada nova4. Subir na escada5. Retirar a lâmpada velha6. Colocar a lâmpada nova7. Descer da escada
1. Pegar uma escada2. Posicionar a escada embaixo da lâmpada3. Buscar uma lâmpada nova4. Subir na escada5. Retirar a lâmpada velha6. Colocar a lâmpada nova7. 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ãoescreva (y é maior)
senãoescreva (x e y são iguais)
fim-sefim-se
leia (x, y)se x > y então
escreva (x é maior)senão
se y > x entãoescreva (y é maior)
senãoescreva (x e y são iguais)
fim-sefim-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.]
top related