Escolar Documentos
Profissional Documentos
Cultura Documentos
Centro de Informtica
Introduo Programao
Roteiro
Introduo
Definio
Caractersticas
Formas de Representao
Descrio Narrativa
Fluxograma
Linguagem Algortmica
Exerccios
Bruno Jefferson (2015)
Introduo
Diferente do que ensina o senso comum,
os computadores no possuem
inteligncia.
Ele deve ser orientado a realizar as mais
diversas tarefas.
Como instruir o computador para a
execuo de tarefas?
Introduo
Definio
Um algoritmo um conjunto no ambguo e
ordenado de passos executveis que definem
um processo finito. (Turing e Church, 1936).
Se os passos de um algoritmo puderem
ser executados por um computador,
ento ele denominado de algoritmo
computacional.
Exemplos
Instrues para se utilizar um aparelho
eletrodomstico.
Uma receita para preparo de algum prato.
Realizar uma ligao em um telefone
pblico.
Sacar dinheiro em um caixa eletrnico.
Fazer um sanduche.
Exemplos
Exemplos
Ir para a escola
1.
2.
3.
4.
Acordar cedo
Ir ao banheiro
Abrir o armrio para escolher roupa
Se o tempo estiver quente ento
pegar uma camiseta e uma cala
Seno
pegar um agasalho e cala jeans
5.
6.
7.
8.
Exemplos
Ir at um banco 24 horas
Colocar carto
Digitar a senha
Solicitar quantia desejada
Se o saldo for maior ou igual a quantia desejada
ento
sacar;
Seno
mostrar mensagem de impossibilidade de saque
Exemplos
Trocar lmpada
1. Enquanto a lmpada no estiver livre no
soquete faa
Gire a lmpada queimada no sentido anti-horrio.
10
Problema
Suponha que voc dispe de duas vasilhas de
nove e quatro litros respectivamente. Como
elas no possuem marcao, no possvel ter
medidas intermedirias sobre o volume
ocupado. O problema consiste, ento, em
elaborar uma sequncia de passos, por meio
da utilizao das vasilhas de nove e quatro
litros, a fim de encher uma terceira vasilha
com seis litros de gua. As vasilhas podem ser
esvaziadas e completadas a qualquer
momento.
Bruno Jefferson (2015)
11
Problema
12
Algoritmo soluo
1.
2.
3.
4.
5.
6.
7.
8.
9.
13
Caractersticas
Definio
As aes devem ser definidas rigorosamente e
sem ambiguidades.
Finitude
Um algoritmo deve sempre terminar aps um
nmero finito de passos.
14
Caractersticas
Efetividade
Cada passo/instruo/etapa de um algoritmo
deve ser executvel.
Entradas
Um algoritmo deve ter zero ou mais entradas.
Sadas
Pelo menos um valor produzido.
15
Caractersticas
Exemplo 1
Sacar dinheiro do caixa eletrnico
1. Ir at um caixa eletrnico. Ambos falham na
caracterstica de
2. Digitar a senha.
definio.
3. Escolher a opo de saque.
4. Solicitar a quantia desejada
5. Se o saldo for maior que a quantia, sacar.
6. Retire o carto.
16
Caractersticas
Exemplo 2
Sacar dinheiro do caixa eletrnico
1. Ir at um caixa eletrnico.
2. Faa um carto magntico.
Falha na
3. Colocar o carto.
caracterstica de
4. Digitar a senha.
efetividade.
5. Escolher a opo de saque.
6. Digitar a quantia desejada.
7. Se o saldo for maior que a quantia, sacar.
8. Retire o carto.
Bruno Jefferson (2015)
17
Caractersticas
Exemplo 3
Sacar dinheiro do caixa eletrnico
1. Ir at um caixa eletrnico.
2. Colocar o carto.
Falha na
3. Digitar a senha.
caracterstica de
4. Escolher a opo de saque.
finitude.
5. Digitar a quantia desejada.
6. Se o saldo for maior que a quantia, sacar.
7. Retire o carto.
8. Voltar ao passo 1.
Bruno Jefferson (2015)
18
Formas de Representao
Descrio Narrativa
Fluxograma
Linguagem Algortmica
19
Formas de Representao
Descrio Narrativa
Os algoritmos so expressos diretamente em
linguagem natural.
Fluxograma
Representao grfica na qual formas
geomtricas determinam os passos do
algoritmo.
Linguagem Algortmica
Consiste na definio de um pseudolinguagem
de programao, cujos comandos so
descritos em linguagem natural.
Bruno Jefferson (2015)
20
Descrio Narrativa
Exemplos
Fritar um ovo.
Ir para a escola.
Sacar dinheiro em um banco 24 horas.
Trocar a lmpada.
21
Fluxograma
Exemplo 1
22
Fluxograma
Exemplo 2
23
Linguagem Algortmica
Exemplo
Somar trs nmeros
inicio
escreva(Digite trs nmeros);
leia(n1, n2, n3);
s n1 + n2 + n3;
escreva(O valor armazenado em S eh , s);
fim
24
Formas de Representao
Problema
25
Formas de Representao
Descrio Narrativa
1. Solicite que sejam informados dois nmeros.
2. Calcule a diviso entre eles.
3. Reproduza o resultado, caso ele seja maior
que zero.
26
Formas de Representao
Fluxograma
Incio
Incio e fim de
programa
x1, x2
Operao de
entrada de dados
y = x1 / x2;
Operao de sada
resultado
Fim
y>0
Operao de atribuio
Operao de deciso
Incio e fim de
programa
Bruno Jefferson (2015)
27
Formas de Representao
Linguagem Algortmica
algoritmo divide_numeros
x1, x2, y: real;
inicio
escreva(digite dois numeros:);
leia(x1, x2);
y = x1 / x2;
se (y > 0) ento
escreva(resultado = , y);
fim-se
fim
28
Formas de Representao
Representao
Descrio
Narrativa
Vantagens
- Facilidade na
elaborao.
Desvantagens
- Distante das linguagens
de programao.
- Impreciso.
- Baixa confiabilidade.
Fluxograma
- Difcil de representar
medida que o algoritmo
cresce.
Linguagem
Algortmica
- Usa-se o portugus
como base.
- Prximo as linguagens
de programao.
- Poder de expresso
reduzido.
- No padronizado.
29
Exerccios
30