Documente Academic
Documente Profesional
Documente Cultură
Centro de Informtica
Introduo Programao
Roteiro
Introduo
Definio
Caractersticas
Formas de Representao
Descrio Narrativa
Fluxograma
Linguagem Algortmica
Exerccios
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.
Problema
11
Algoritmo soluo
1.
2.
3.
4.
5.
6.
7.
8.
9.
12
Caractersticas
Definio
As aes devem ser definidas rigorosamente e
sem ambiguidades.
Finitude
Um algoritmo deve sempre terminar aps um
nmero finito de passos.
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.
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.
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. Solicitar a quantia desejada.
7. Se o saldo for maior que a quantia, sacar.
8. Retire o carto.
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. Solicitar a quantia desejada.
6. Se o saldo for maior que a quantia, sacar.
7. Retire o carto.
8. Voltar ao passo 1.
Formas de Representao
Descrio Narrativa
Fluxograma
Linguagem Algortmica
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.
Descrio Narrativa
Exemplos
Fritar um ovo.
Ir para a escola.
Sacar dinheiro em um banco 24 horas.
Trocar a lmpada.
20
Fluxograma
Exemplo 1
21
Fluxograma
Exemplo 2
22
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
23
Formas de Representao
Problema
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.
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
Incio e fim de
programa
Operao de atribuio
Operao de deciso
Formas de Representao
Linguagem Algortmica
ALGORITMO Divide_Numeros
DECLARE x1, x2, y: NUMRICO
ESCREVA(digite dois numeros:);
LEIA(x1, x2);
y = x1 / x2;
SE (y > 0) ENTO
escreva(resultado = , y);
FIM_ALGORITMO
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.
Abordagem Dividir-para-Conquistar
Divide-se sucessivamente o problema em
subproblemas menores at que possam
ser resolvidos de forma trivial.
As solues dos subproblemas so
combinadas para gerar a soluo do
problema original.
Abordagem Dividir-para-Conquistar
Abordagem Dividir-para-Conquistar
31
Abordagem Dividir-para-Conquistar
32
Exerccios