Aula03 Alg

Embed Size (px)

Citation preview

  • 7/26/2019 Aula03 Alg

    1/14

    Universidade Federal do Amap

    Curso de Engenharia Eltrica

    Algoritmos e Programao

    Unidade 3 Construo deAlgoritmos

  • 7/26/2019 Aula03 Alg

    2/14

    Algoritmo e Programao Constr. de Algoritmos

    Objetivos

    Conforme se verificou, com todos os conceitosapresentados at o momento, a construo de umalgoritmo parte sempre de um determinado problema. Amontagem da soluo depende da prtica e da criatividadedo programador ue podem ser conseguidas e!ercitandoesses conceitos. "endo assim, os principais ob#etivos dessaunidade consistem em$ %ormali&ar um mtodo para verificao manual do

    comportamento do algoritmo'

    (ostrar ue se pode dividir problemas maiores emsubproblemas, facilitando a construo de solu)es'

    Praticar a construo de algoritmos simples em portugu*sestruturado

  • 7/26/2019 Aula03 Alg

    3/14

    Algoritmo e Programao Constr. de Algoritmos

    Roteiro para Construo de Algoritmos

    Um roteiro bsico para a construo de uma algoritmo inclui asseguites etapas$

    +m primeiro lugar deveseEntender o Problema'

    -dentificar no problema as sadas do algoritmo, pois so nelas aonde seuer c/egar. Atente para o ue deve ser calculado, impresso e processado'

    -dentifiue no problemas as entradas do algoritmo, isto , uais dados amuina necessita para reali&ar os clculo corretos'

    Atente para o processamento em si. -dentifiue uais clculos sonecessrios sempre a partir dos valores de entrada para c/egar aos desada'

    0ente separa, na medida do possvel as etapas de entrada, processamentoe sada dentro do algoritmo'

    Coloue os comandos seguindo a estrutura bsica do algoritmo. 1embreseua a muina ir e!ecutar e!atamente na seu*ncia definida peloprogramador.

  • 7/26/2019 Aula03 Alg

    4/14

    Algoritmo e Programao Constr. de Algoritmos

    Verificao manual de algoritmos

    Uma forma de se verificar se o algoritmoest reali&ando o processamentocorretamente, consiste no teste de mesa2ou mtodo chins'

    +ssa metodologia uma forma de simularmanualmente a e!ecuo do algoritmo,comando ap4s comando, atentando para

    as entradas e sadas de dados,acompan/ando principalmente ocomportamento das variveis ue foramutili&adas no programa.

  • 7/26/2019 Aula03 Alg

    5/14

    Algoritmo e Programao Constr. de Algoritmos

    Verificao manual de algoritmos

    +!emplo5$ 6eali&ar o teste de mesa para o algoritmo uecalcula a mdia aritmtica de dois n7meros.

    // Algoritmo para calcular a media de dois nmeros

    // Autor: Rogrio Almeida - Verso 1.0Variveis

    num1, num2, soma, media:real;

    Incio

    lernum1;

    lernum2;

    soma num1!num2; media soma/2;

    escrever "A mdia dos dois nmeros :#, media;

    Fim.

  • 7/26/2019 Aula03 Alg

    6/14

    Algoritmo e Programao Constr. de Algoritmos

    Verificao manual de algoritmos

    -niciase anotando as variveis do algoritmo, e ao lado decada uma o respectivo valor nela arma&enado. 8u se#a,supon/amos ue os valores de entrada arma&enados nasvariveis seguindo a seu*ncia de e!ecuo do programa

    so$51eitura$ num5 391eitura$ num9 :

    ;a seu*ncia o computador calcula a soma dos n7merossoma ? A mdia dos dois n7meros $ =

  • 7/26/2019 Aula03 Alg

    7/14

    Algoritmo e Programao Constr. de Algoritmos

    Verificao manual de algoritmos

    0ente fa&er$ %aa um algoritmo ueleia o preo de um determinado parde sapatos numa lo#a, e escrev*locom um desconto de !@.

    +m seguida verifiue se oprocessamento do algoritmo est

    correto reali&ando o teste de mesa.

  • 7/26/2019 Aula03 Alg

    8/14

    Algoritmo e Programao Constr. de Algoritmos

    Impresses Complementares

    8 comando de sada alm de e!ibir resultados processados pelocomputador, pode tambm ser utili&ado para e!ibir mensagensinformativas para o usurio, a#udando ele a entender mel/or oue a muina est solicitando e calculando'

    C/amamos estas mensagens informativas de impress)escomplementares, por no afetarem a l4gica do algoritmo'tornandoo mais completo'

    Conforme se verificou no e!emplo5 2algoritmo da mdia de doisn7meros, uando o algoritmo e!ecutado, no aparecenen/uma indicao para o usurio uando ele deve entrar com osdados num5 e num9, pois no primeiro momento ue o algoritmo

    e!ecutado, opromptna tela do monitor ficar piscandoaguardando as entradas de dados'

    Para o mesmo algoritmo podemos reescrev*lo com impress)escomplementares, ficando da forma descrita a seguir.

  • 7/26/2019 Aula03 Alg

    9/14

    Algoritmo e Programao Constr. de Algoritmos

    Impresses Complementares

    // Algoritmo para a calcular a media de dois nmeros

    // Autor: Rogrio Almeida - Verso 1.0

    Variveis

    num1, num2, soma, media :real;

    Incio

    escrever "$ntre com o primeiro nmero:#;

    lernum1;

    escrever"$ntre com o segundo nmero:#;

    lernum2;

    soma num1!num2; media soma/2;

    escrever "A mdia dos dois nmeros :#, media;

    Fim.

  • 7/26/2019 Aula03 Alg

    10/14

    Algoritmo e Programao Constr. de Algoritmos

    Impresses Complementares

    ;ote ue dois acrscimos foram feito' +specificamente eles foram impress)es de

    mensagens indicando para o usurio ual valordeve fornecer para o computador'

    ;a seuencia do algoritmo cada impresso foicolocada imediatamente antes do comando ler.Assim a muina e!ibe a mensagem pedindo on7mero a ser fornecido'

    importante ressaltar ue o comando ler mais

    importante ue a mensagem pois nele ueocorre a entrada de dados associada as variveisnum5 e num9, respectivamente.

  • 7/26/2019 Aula03 Alg

    11/14

    Algoritmo e Programao Constr. de Algoritmos

    Modulariao de Algoritmos

    A medida ue os problemas a serem resolvidos tornamse maiscomple!os, mais comple!os tambm sero os algoritmos'

    A comple!idade de um algoritmo no est associada B uantidadede comandos, mas sim a diversidade de combina)es uepodemos reali&ar com estes comandos'

    Uma forma de tornar a construo de um algoritmo comple!o noto difcil, consiste em dividir o problema em partes menores, ouse#a em subprograma'

    A partir de subprogramas o nvel de comple!idade diminui, poistornase mais fcil construir solu)es especficas do algoritmo emparte distintas'

    +ssas etapas de diviso do algoritmo consiste na modulari&aodo algoritmo, em ue subalgoritmos 2subprogramas apresentamparte da soluo de um problema maior.

    l d l

  • 7/26/2019 Aula03 Alg

    12/14

    Algoritmo e Programao Constr. de Algoritmos

    Modulariao de Algoritmos

    "inta!e de m4dulo de uma algoritmo$

    Mdulo nomem4dulo>'DD

    comando5>'comando9>'...comando;>'

    EE' 8s colc/etes duplos so utili&ados para

    indicar ao computador uais comandosconstituem a seu*ncia a ser e!ecutada pelo

    m4dulo.

    Al it P C t d Al it

  • 7/26/2019 Aula03 Alg

    13/14

    Algoritmo e Programao Constr. de Algoritmos

    Modulariao de Algoritmos

    Fale ressaltar ue o m4dulo possibilita utili&arcomandos Gpersonali&adosH. -sto , definindoseum m4dulo no algoritmo com um determinadonome, podemos usar este nome para representar

    todo o con#unto de comandos ue foi construdonele'

    8 m4dulo s4 ser e!ecutado pela muina se, emalgum ponto do algoritmo, for usado no corpo do

    algoritmo principal a sinta!e$ nomem4dulo>'

    Al it P C t d Al it

  • 7/26/2019 Aula03 Alg

    14/14

    Algoritmo e Programao Constr. de Algoritmos

    Modulariao de Algoritmos

    Famos considerar o mesmo e!emplo anterior do clculo da mdiade dois n7meros e vamos criar um m4dulo para o calculo damdia, conforme mostrado a seguir.

    // Algoritmo para a calcular a mdia de dois numeros

    // Autor: Rogrio Almeida - Verso 1.1

    Variveis

    num1, num2, soma, media :real;

    Incio

    escrever "$ntre com o primeiro nmero:#;

    lernum1;

    escrever"$ntre com o segundo nmero:#;

    lernum2;

    calcular%media; escrever "A mdia dos dois nmeros :#, media;

    Fim.

    Mdulo calcular%media

    &&

    'oma (num1!num2);

    *edia soma/2;

    ++