Você está na página 1de 20

Tcnicas de Programao

Aula I
Prof. Msc. Marcio Rodrigo Santos

Ao

um acontecimento que, a partir de um estado


inicial, aps um perodo de tempo finito, produz um
estado final previsvel e bem definido.

Introduo aos Algoritmos Fibonacci


A sequncia de Fibonacci Descrio.
Escreva a Sequncia de Fibonacci para os seguintes valores
de L:
A: 50
B: 13
C: 1
A escolha dos valores para A, B e C representa uma ao ?
Escrever os termos da sequncia de Fibonacci inferiores a L
constitui uma ao ?
Existe um padro para os diferentes resultados ?

Introduo aos Algoritmos


Norma de execuo:
Escreva os termos de Fibonacci inferiores a L
Portanto...

Definio de Algoritmos:
a descrio de um conjunto de comandos que,
obedecidos, resultam numa sucesso finita de aes.

Introduo aos Algoritmos


Geralmente os algoritmos so utilizados para a resoluo de
problemas.
Algoritmo condensado de Fibonacci:
Algoritmo
Escreva os termos de Fibonacci inferiores a L

Fim algoritmo

Exerccios

1. Um algoritmo no pode conter um comando como


Escreva todos os termos da sequncia de
Fibonacci. Por qu ?

2. Escrever um algoritmo alto-nvel que, partindo de


diferentes estados iniciais produza os seguintes
valores:
1. 2
2. 1

4
3

6
5

8
7

10
9

12
11

14
13

Refinamentos Sucessivos

Um algoritmo considerado completo se os seus


comandos forem do entendimento do seu
destinatrio.
Num algoritmo, um comando que no for do
entendimento do destinatrio ter de ser
desdobrado em novos comandos, que constituiro
um refinamento do comando inicial.
Estado inicial Estados intermedirios Estado Final

Refinamento

Escrever os termos de Fibonacci inferiores a L


Ref. Escreva os
Receba o
Processe
Processe
Fim ref.

termos de Fibonacci inferiores a L


valor L
os 2 primeiros termos
os termos restantes

Algoritmos e seus refinamentos:


Comandos + Estruturas de Controle.

Refinamento
Processe os dois primeiros termos
Ref. Processe os dois primeiros termos
Atribua o valor 1 ao primeiro termo
se ele for menor que L
ento escreva-o
fim se
Atribua o valor 1 ao segundo termo
se ele for menor que L
ento escreva-o
fim se
Fim ref.

Estrutura condicional se

Refinamento
Processe os termos restantes
Ref. Processe os termos restantes
repita
Calcule o novo termo somando os 2 anteriores
se o novo termo for maior ou igual a L
ento interrompa
fim se
Escreva o novo termo
fim repita
Fim ref.

Estrutura de repetio Execuo at determinada condio

Refinamento
Para L = 13:
Calcula o novo termo, como sendo 1 + 1 = 2
Como 2 < 13, escreve o valor 2

Calcula o novo termo, como sendo 1 + 2 = 3


Como 3 < 13, escreve o valor 3

Calcula o novo termo, como sendo 2 + 3 = 5


Como 5 < 13, escreve o valor 5

Calcula o novo termo, como sendo 3 + 5 = 8


Como 8 < 13, escreve o valor 8

Calcula o novo termo, como sendo 8 + 5 = 13


Como 13 no menor que 13, interrompe

Refinamento
Aps esses refinamentos sucessivos, o algoritmo
pode ser considerado completo, a menos que o
destinatrio no saiba fazer a adio de dois termos
ou no seja capaz de entender diretamente algum
comando.
O prximo passo unir os refinamentos nas posies
dos comandos que foram refinados, transformando
estes em comentrios.

Algoritmo Completo
Algoritmo {Escrita dos termos de Fibonacci inferiores a L}
Receba o valor L
{Processamento dos 2 primeiros termos}
Atribua o valor 1 ao primeiro termo
se ele for menor que L
ento escreva-o
fim se
Atribua o valor 1 ao segundo termo
se ele for menor que L
ento escreva-o
fim se
{Processamento dos termos restantes}
repita
Calcule novo termo somando os 2 anteriores
se novo termo for maior ou igual a L
ento interrompa
fim se
Escreva novo termo
fim repita
fim algoritmo

Algoritmos Estruturados
1 Op. Aritmtica ~= 1 nano segundo (1 / 1.000.000.000
S = 1 milsimo de microssegundo).
Pouco adiantaria efetuar uma operao aritmtica a
esta velocidade se fosse necessrio aguardar vrios
segundos ( horas / dias ) para executar a prxima
instruo.
Um algoritmo adequado provocar uma sucesso
finita de aes que resultaro na resoluo do
problema proposto.

Diagrama de Blocos

Diagrama de Blocos

Fibonacci
Sim

Receba
L

Escreva 2 termo

1 termo 1

No

1 termo
<L?

No

2 termo
<L?

Inicio

Sim

Escreva 1 termo
2 termo 1

novo termo
soma dos 2
anteriores
novo
termo <
L?

No

Sim
Escreva novo
termo
Fim

Diagrama de Chapin

Diagrama de Chapin

Exerccios
Crie em uma folha:
1.

Um diagrama de blocos que receba 4 notas, calcule a


mdia e informe se o aluno est aprovado (>=7) ou
reprovado (<7).

2. Uma verso utilizando o diagrama de Chapin.

Você também pode gostar