Download - Aula 4 - Introducão a algoritmos
![Page 1: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/1.jpg)
Introdução a Algoritmos e
Linguagens de Programação
ApresentaçãoLuiz Augusto de M. Morais
Aula 4 | Algoritmos
![Page 2: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/2.jpg)
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
![Page 3: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/3.jpg)
Algoritmos
O que é um algoritmo?
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 4: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/4.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que é um algoritmo?
“É uma sequência de passos finitos para atingir um objetivo específico”
![Page 5: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/5.jpg)
Algoritmos
Estrutura de um algoritmo
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 6: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/6.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura de um algoritmo
Entrada
Processamento
Saída
![Page 7: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/7.jpg)
Algoritmos
Resolvendo problemasdo mundo real
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 8: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/8.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Resolvendo problemas do mundo real
Receita de bolo
![Page 9: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/9.jpg)
●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
![Page 10: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/10.jpg)
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
![Page 11: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/11.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Resolvendo problemas do mundo real
Trocar uma lâmpada
![Page 12: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/12.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Trocar uma lâmpada | Tentativa 1
1.Troque a lâmpada!
![Page 13: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/13.jpg)
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?
![Page 14: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/14.jpg)
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!
![Page 15: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/15.jpg)
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?
![Page 16: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/16.jpg)
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
![Page 17: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/17.jpg)
Algoritmos
Representações de algoritmos
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 18: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/18.jpg)
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
![Page 19: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/19.jpg)
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
![Page 20: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/20.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Representações de algoritmos
Fluxograma
![Page 21: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/21.jpg)
Tipos de linguagem
Linguagem de Máquina
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 22: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/22.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Máquina
Binário
![Page 23: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/23.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Máquina
● O computador só entende zeros e uns● Extremamente difícil de entender
![Page 24: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/24.jpg)
Tipos de linguagem
Linguagem de Montagem
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 25: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/25.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Montagem
Assembly
![Page 26: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/26.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Montagem
● Muito difícil de entender● Incompatibilidade entre processadores
![Page 27: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/27.jpg)
Tipos de linguagem
Linguagem de Programação
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
![Page 28: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/28.jpg)
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
![Page 29: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/29.jpg)
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
![Page 30: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/30.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Tipo
● Guardam semelhanças da linguagem natural● C, C++, Pascal, Java
Alto nível
![Page 31: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/31.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Tipo
● Muito semelhantes à linguagem natural● Ruby, Python
Altíssimo nível
![Page 32: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/32.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
Linguagens compiladas
Código-fonte Código de máquinaCompilador
Execução
![Page 33: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/33.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
● Rapidez● C, C++, Pascal
Linguagens compiladas
![Page 34: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/34.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
Linguagens interpretadas
Código-fonte Interpretador Execução
![Page 35: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/35.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
● Portabilidade● Python, Lua
Linguagens interpretadas
![Page 36: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/36.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
Linguagens híbridas
Código-fonte BytecodeCompilador
Execução Interpretador
![Page 37: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/37.jpg)
UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Linguagem de Programação | Execução
● Mais rápidas que linguagens interpretadas● Portabilidade● Java
Linguagens híbridas
![Page 38: Aula 4 - Introducão a algoritmos](https://reader031.vdocuments.pub/reader031/viewer/2022020110/5597b1ff1a28aba72b8b46d7/html5/thumbnails/38.jpg)
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.]