Upload
victorthumaz
View
16
Download
8
Embed Size (px)
Citation preview
Tcnicas de Programao Aula I
Prof. Msc. Marcio Rodrigo Santos
um acontecimento que, a partir de um estado inicial, aps um perodo de tempo finito, produz um estado final previsvel e bem definido.
Ao
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 - Fibonacci
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
Introduo aos Algoritmos
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 4 6 8 10 12 14
2. 1 3 5 7 9 11 13
Exerccios
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
Refinamentos Sucessivos
Escrever os termos de Fibonacci inferiores a L
Ref. Escreva os termos de Fibonacci inferiores a L
Receba o valor L
Processe os 2 primeiros termos
Processe os termos restantes
Fim ref.
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.
Refinamento
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
Algoritmo Completo
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.
Algoritmos Estruturados
Diagrama de Blocos
Diagrama de Blocos
Inicio
Receba L
2 termo 1
1 termo < L ?
Escreva 1 termo
1 termo 1
2 termo < L ?
Escreva 2 termo
novo termo soma dos 2 anteriores
novo termo <
L ?
Escreva novo termo
Fim
Fibonacci
No
Sim
Sim
No
Sim
No
Diagrama de Chapin
Diagrama de Chapin
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 (