Transcript
Page 1: Aula 4 - Introducão a algoritmos

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

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

Algoritmos

O que é um algoritmo?

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 4: Aula 4 - Introducão a algoritmos

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

Algoritmos

Estrutura de um algoritmo

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 6: Aula 4 - Introducão a algoritmos

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Estrutura de um algoritmo

Entrada

Processamento

Saída

Page 7: Aula 4 - Introducão a algoritmos

Algoritmos

Resolvendo problemasdo mundo real

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 8: Aula 4 - Introducão a algoritmos

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Resolvendo problemas do mundo real

Receita de bolo

Page 9: Aula 4 - Introducão a algoritmos

●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

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

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Resolvendo problemas do mundo real

Trocar uma lâmpada

Page 12: Aula 4 - Introducão a algoritmos

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

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

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

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

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

Algoritmos

Representações de algoritmos

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 18: Aula 4 - Introducão a algoritmos

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

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

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Representações de algoritmos

Fluxograma

Page 21: Aula 4 - Introducão a algoritmos

Tipos de linguagem

Linguagem de Máquina

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 22: Aula 4 - Introducão a algoritmos

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Linguagem de Máquina

Binário

Page 23: Aula 4 - Introducão a algoritmos

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

Tipos de linguagem

Linguagem de Montagem

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 25: Aula 4 - Introducão a algoritmos

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Linguagem de Montagem

Assembly

Page 26: Aula 4 - Introducão a algoritmos

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

Tipos de linguagem

Linguagem de Programação

UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES

Page 28: Aula 4 - Introducão a algoritmos

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

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

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

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

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

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

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

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

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

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

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