Técnicas de Programação - Aula 1.pdf

20
Técnicas de Programação Aula I Prof. Msc. Marcio Rodrigo Santos

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 (