Técnicas de Programação - Aula 1.pdf
-
Upload
victorthumaz -
Category
Documents
-
view
16 -
download
8
Transcript of Técnicas de Programação - Aula 1.pdf
-
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 (