Lógica de Programação - Programação Estruturada Pt. 1

Embed Size (px)

Citation preview

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    1/38

    Lgica de ProgramaoProgramao Estruturada ou Modular

    Prof. Vincius Breda

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    2/38

    Programao Estruturada ou

    Modular No geral, problemas complexos exigem algoritmos

    complexos. Mas sempre possvel dividir umproblema grande em problemas menores.

    Esse processo de diviso de um programa em partesmenores camado de Modulari!a"o ouProgramao Estruturada.

    #esta forma, cada parte menor tem um algoritmo maissimples, e esse treco menor $ue camado desub-rotina.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    3/38

    Sub-rotinas

    %ma sub&rotina na verdade um programa, e sendo umprograma poder' efetuar diversas opera"(escomputacionais )entrada, processamento e sada* edever' ser tratada como foram os programas pro+etadosat este momento.

    s sub&rotinas so utili!adas na diviso de algoritmoscomplexos, permitindo assim possuir a modulari!a"o deum determinado problema, considerado grande e de difcil

    solu"o.

    %ma sub&rotina pode ser dividida em outras tantas $uantasforem necess'rias, buscando uma solu"o mais simplesde uma parte do problema maior. - processo de dividir

    sub&rotinas em outras denominado Mtodo deRefinamento Sucessivo.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    4/38

    O Mtodo Top-Down

    %m mtodo bastante ade$uado para a programa"ode um computador trabalar com o conceito deprograma"o estruturada, pois grande parte das

    linguagens de programa"o tambm so, o $uefacilita a aplica"o deste processo. - mtodo maisade$uado para a programa"o estruturada o Top-Down )de cima para baixo*, o $ual se caracteri!abasicamente por

    ntes de iniciar a constru"o do programa, oprogramador dever' ter em mente as tarefasprincipais $ue este dever' executar. No necess'riosaber como funcionaro, somente saber $uantas so.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    5/38

    O Mtodo Top-Down

    /onecidas todas as tarefas a serem executadas, tem&seem mente como dever' ser o programa principal, o $ualvai controlar todas as outras tarefas distribudas em suassub&rotinas.

    0endo definido o programa principal, iniciado o processode detalamento para cada sub&rotina. #esta forma sodefinidos v'rios algoritmos, um para cada rotina emseparado, para $ue se tena uma viso do $ue dever' ser

    executado em cada m1dulo de programa. Existemprogramadores $ue estabelecem o n2mero m'ximo delinas de programa $ue uma rotina dever' possuir. 3e on2mero de linas ultrapassa o limite, a rotina dividida emoutra sub&rotina )mtodo de refinamento sucessivo*.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    6/38

    O Mtodo Top-Down

    figura abaixo ilustra a ideia do mtodo 0opo4n.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    7/38

    O Mtodo Top-Down !lgumas

    "antagens Permite $ue se+a efetuado cada m1dulo de programa em

    separado. #esta forma cada um pode ser testadoseparadamente garantindo $ue o programa completoesta+a sem erro ao seu trmino.

    Muitas ve!es existem em um programa trecos de c1digos$ue so repetidos v'rias ve!es. Esses trecos podero serutili!ados como sub&rotinas, proporcionando um programamenor e mais f'cil de ser alterado num futuro pr1ximo.

    /ria"o de rotinas exclusivas. Por exemplo, uma rotinasomente para entrada, outra para a parte deprocessamento e outra para a sada dos dados.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    8/38

    #un$es Simples

    #ividiremos nosso estudo de sub&rotinas em %u$essimples& com retorno& com par'metros& e comre%er(ncias. 5ocaremos agora nas sub&rotinas do tiposimples.

    %m procedimento um bloco de programa contendo incioe fim e ser' identificado por um nome, por meio do $ualser' referenciado em $ual$uer parte do programa principalou de programa camador da rotina.

    6uando uma sub&rotina camada por um programa, ela executada e ao seu trmino o controle de processamentoretorna automaticamente para a primeira lina de instru"oap1s a lina $ue efetuou a camada da sub&rotina

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    9/38

    #un$es Simples

    Programa Principal

    Chamada da Sub-rotina

    Sub-rotina

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    10/38

    #un$es Simples - Diagrama de)locos

    Incio

    Fim

    Cdigo doprograma

    Cdigo doprograma

    Sub-rotina1

    Retorna

    Cdigo dasub-rotina

    Chamada da Sub-rotinaPelo programa principal Programa da Sub-rotina

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    11/38

    #un$es Simples -

    Pseudocdigo

    Funo Incio

    Var

    Fim

    $s sub-rotinas de"em serdeclaradas %ora do programaprincipal& da seguinte %orma'

    Algoritmo Incio

    Var

    (

    Fim

    Chamada da sub-rotina peloprograma pricipal

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    12/38

    #un$es Simples - *

    void ) *{

    }

    $s sub-rotinas de"em serdeclaradas antes do programaprincipal& da seguinte %orma'

    int main( ){

    ) *(

    }

    Chamada da sub-rotina peloprograma pricipal

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    13/38

    E+emplo ,

    /riar um programa calculadora $ue apresente um menu desele"(es no programa principal. Esse menu dever' dar aousu'rio a possibilidade de escoler uma entre duasopera"(es aritmticas )multiplica"o e diviso*. Escolida

    a op"o dese+ada, dever' ser solicitada a entrada de doisn2meros, e processada a opera"o dever' ser exibido oresultado, retornando ao menu.

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    14/38

    E+emplo , - !lgoritmo

    Esse programa dever' ser um con+unto de tr7s rotinas,sendo uma principal e duas secund'rias. rotina pricipalefetuar' o controle das duas rotinas secund'rias, $ue porsua ve!, pediro a leitura de dois valores, faro a opera"o

    e apresentaro o resultado obtido.

    1 + ,ultiplica!o + .i"is!o

    / + Fim de programa

    Rotina 1,ultiplica!o

    Rotina .i"is!o

  • 7/25/2019 Lgica de Programao - Programao Estruturada Pt. 1

    15/38

    E+emplo , - !lgoritmo

    Programa Principal , presentar um menu de sele"o com tr7s op"(es

    8 9 Multiplica"o: 9 #iviso

    ; 9 5im do Programa . o ser selecionado um valor, a rotina correspondentedever' ser executada< /9 o escoler o valor ;, o programa dever' serencerrado.

    0otina , Multiplicao , =er dois valores, no caso as vari'veis e B< . Efetuar a multiplica"o das vari'veis e B,implicando o resultado na vari'vel >