Visual g Final 2

Embed Size (px)

Citation preview

  • 7/24/2019 Visual g Final 2

    1/20

    FUNCEFET

    CURSO DE MECATRNICA

    SOFTWARE VISUALG

    Rio de Janeiro2015

    ALUNOS DIEGO ANSEL DE OLIVEIRA T!EOTONIOFELI"E FERREIRA "INTO NOVOA

    !ENRI#UE MOUTIN!O RI$EIRO LAGE TEI%EIRA

    MARIAMAT!EUS FERNANDO VIEIRA MENDES

    "ROFESSOR SERGIO CRU& CASER

  • 7/24/2019 Visual g Final 2

    2/20

    ndice

    1.0 VISUALG 31.1 O programa ...3

    1.2 O programador ...31.2.1 Palavras do programador sore s!a cria"#o .3

    2.0 O so$%&are ..'2.1 A ins%ala"#o .'

    3.0 ()ec!%ando o programa ..*3.1 +ela principal *3.2 ,arra de +are$as -3.3 ,arra de ()ec!"#o de algori%mo 3.' Vis!ali/ador de variveis 3.* Sim!lador de sada ..3.- ,arra de S%a%!s

    3. Lis%a de $!n"4es . 3. O 5en! do Vis!alg .........3..1 Ar6!ivo ...3..2 (di%ar.. 103..3 ()iir .113..' Algori%mo .113..* 78digo .123..- 9erramen%as ....................123. 7omo !%ili/ar a lis%a .12'.0 Ling!agem .13*.0 ,iliogra$ia .20

  • 7/24/2019 Visual g Final 2

    3/20

    1'0 VISUALG

    1.1 O programa

    O Vis!alg : !m programa simples; 6!e oc!pa po!co espa"o em disco para s!a e)ec!"#o.

    Pode ser e)ec!%ado so o poin%s=; a?!da on@line; impress#o dos $on%es e o!%ras carac%ers%icas 6!e

    a!)iliam o aprendi/ado das %:cnicas de programa"#o.

    1.2 O programador

    7l!dio 5orgado de So!/a : programadoranalis%a e pro$essor !niversi%rio no Bio de

    Caneiro. A%!a na Drea de desenvolvimen%o de so$%&are desde 1; e no ensino de ling!agens de

    programa"#o e ancos de dados des%e 10. A%!almen%e : proprie%rio da Apoio In$orm%ica L%da.; em

    Valen"a; BC; e leciona na 9!nda"#o (d!cacional E. Andre Arcoverde F9AA em Valen"a; BC e na

    Universidade Severino Somra FUSS em Vasso!ras; BC.

    1.2.1 Palavras do Programador sore s!a 7ria"#o

    Seg!ndo 7la!dio 5orgado de So!/a es%e programa nasce! da necessidade de !ma

    $erramen%a para os al!nos inician%es em programa"#o e)erci%arem se!s conHecimen%os n!m amien%e

    pr8)imo da realidade de !ma ling!agem de programa"#o. (m e)perincia como pro$essor des%a disciplina

    %enHo no%ado 6!e a as%ra"#o de =rodar o cHins=; e)ec!%ar !m programa no papel apenas; : !m grande

    os%c!lo F6!ase in%ransponvel para alg!ns ao aprendi/ado das %:cnicas de cons%r!"#o de algori%mos. Por

    o!%ro lado; s!me%er !m inician%e aos rigores de !ma ling!agem como o Pascal o! ao eso%erismo do 7 me

    parecia e)agerado.

    O ideal seria !ma ling!agem parecida com o =Por%!gol=; de grande pop!laridade nos meios

    acadmicos e presen%e nos livros mais !%ili/adosJ com ela os princpios sicos da programa"#o es%r!%!rada

    poderiam ser ensinados sem 6!e a c!rva de aprendi/agem $osse ngreme. O programa %am:m deveria sercapa/ de sim!lar o 6!e acon%ece na %ela do comp!%ador com os $amosos =leia= e =escreva=; em como

    possiili%ar o e)ame dos valores de variveis e s!por%ar !m modo simples de de!ga"#o e

    acompanHamen%o passo a passo da e)ec!"#o do =programa= Fpelo se! grande valor did%ico. Aliado a is%o

    deveria es%ar !m edi%or com rec!rsos ra/oveis; %ais como salvar e arir algori%mos; !%ili/ando %odos os

    rec!rsos 6!e o amien%e

  • 7/24/2019 Visual g Final 2

    4/20

    2' O So()*are

    2.1 Ins%ala"#o e ()ec!"#o

    O Vis!alg : !m programa simples; 6!e n#o depende de ELLs; O7s o! o!%roscomponen%es. S!a ins%ala"#o n#o copia ar6!ivos para nenH!ma o!%ra pas%a a n#o ser a6!ela em 6!e $or

    ins%alado; e %oma em %orno de 1 5, de espa"o em disco. Pode ser e)ec!%ado so o poin% condicional.

  • 7/24/2019 Visual g Final 2

    5/20

    +'0 E,e-.)ando o /roraa

    3.1 +ela Principal

    %r

    A %ela do Vis!alg comp4e@se emM

    @ 5en!

    @ ,arra de %are$as

    @ ,arra de ()ec!"#o de Algori%mo

    @ (di%or de %e)%os F6!e %oma %oda a s!a me%ade s!perior

    @ Vis!ali/ador de variveis Fno lado es6!erdo da me%ade in$erior

    @ Sim!lador de sada Fno lado direi%o da me%ade in$erior

    @ ,arra de s%a%!s.

  • 7/24/2019 Visual g Final 2

    6/20

    3.2 ,arra de %are$as M

    Noo 3C)r4N6@ 7ria !m novo =es6!ele%o= de algori%mo; s!s%i%!indo o %e)%o e)is%en%e no edi%or. Se es%e %iversido modi$icado; o Vis!alg pedir s!a con$irma"#o para salv@ lo an%es 6!e se?a sorepos%o.

    A7rir 3C)r4A6@ Are !m algori%mo an%eriormen%e gravado; s!s%i%!indo o %e)%o e)is%en%e no edi%or. Se es%e%iver sido modi$icado; o Vis!alg pedir s!a con$irma"#o para salv@ lo an%es 6!e se?a sorepos%o.

    Sa4ar 3C)r4S6 @ Salva imedia%amen%e o %e)%o do edi%or. 7aso se?a a primeira ve/ 6!e !m novo %e)%o :gravado; o Vis!alg pedir o se! nome e locali/a"#o.

    I/riir@ Imprime imedia%amen%e o %e)%o e)is%en%e no edi%or. Para con$ig!rar a impress#o; !se o comandoImprimir... do men! Ar6!ivo Facessvel %am:m pelo a%alHo 7%rl@P.

    Re-or)ar 5ove !m %e)%o selecionado para a mem8ria.

    Co/iar 7opia !m %e)%o selecionado para a mem8ria.

    Co4ar Be%ira con%eKdo da mem8ria e coloca no local do c!rsor.Graar $4o-o Are !ma ?anela para salvar o loco selecionado. O?e%ivo : criar !ma esp:cie de ilio%ecade $!n"4es.

    In8erir . 74o-o Insere !m loco ar6!ivado no local do c!rsor.

    De8(a9er e re(a9er Ees$a/ e re$a/ a"#o criada no edi%or de %e)%o.Lo-a4i9ar Are !ma ?anela para voc digi%ar a palavra 6!e dese?a locali/ar no (di%or de %e)%os.

    S.78)i).ir Are !ma ?anela para voc poder digi%ar a palavra 6!e dese?a locali/ar e s!s%i%!ir no (di%or de%e)%os.

    Corriir Inden)a:;o 3C)r4G6 @ 7orrige a!%oma%icamen%e a inden%a"#o do =c8digo@$on%e=; colocando os

    comandos den%ro de !ma es%r!%!ra de 3 col!nas N direi%a da col!na inicial da es%r!%!ra con$orme a

    con$ig!ra"#o padr#o.

    N.erar Lin

  • 7/24/2019 Visual g Final 2

    7/20

    Re8)a.ra a )e4a ini-ia4 do Vi8.a4 Be%orna a %ela original do programa.

    3.3 ,arra de e)ec!"#o do algori%mo

    E,e-.)ar 3F>6 @ Inicia Fo! con%in!a a e)ec!"#o a!%om%ica do algori%mo.

    Te/o /or 4in; com o nome dos procedimen%os e

    $!n"4es cHamados; nome; %ipo e valor dos parme%ros.

    A.da on4ine 3F16 (m cons%r!"#o.

  • 7/24/2019 Visual g Final 2

    8/20

    3.' Vis!ali/ador de variveis

    7on%:m !ma grade onde s#o mos%radosM (scopo da varivel FGloal 6!ando nome da

    varivel $or gloal o! o nome da $!n"#o o! Procedimen%o 6!ando $or local. O Rome da varivel Fcom ndice

    o! ndices; caso se?a !m elemen%o de !m ve%or; se! +ipo F=B= para Beal; I para In%eiro; =7= para li%eral e=L= para l8gico; e o se! Valor corren%e. A vers#o a%!al do Vis!alg permi%e a%: *00 variveis Fcada elemen%o

    de !m ve%or con%a como !ma varivel. +am:m; de acordo com o %ipo de parme%ro a cor no grid m!da; e

    para os parme%ros passados por re$erncia. !ma se%a 6!e mos%ra o nome da varivel 6!e eles

    represen%am $ora do s!programa. Is%o %!do; na%!ralmen%e; s8 pode ser vis%o se e)ec!%armos o algori%mo.

    3.* Sim!lador de sada

    5os%ra o res!l%ado do algori%mo; inv:s de e)ec!%ar no modo dos; voc pode veri$icar a sada

    do algori%mo a6!i no sim!lador de sada.

  • 7/24/2019 Visual g Final 2

    9/20

    3.- ,arra de S%a%!s

    Si%!ada na par%e in$erior da %ela; con%:m %rs pain:is. O primeiro mos%ra a linHa e col!naonde o c!rsor es%J o seg!ndo mos%ra a palavra 5odi$icado caso o algori%mo %enHa sido al%erado desde 6!e

    $oi carregado o! salvo pela Kl%ima ve/. O %erceiro mos%ra o comando 6!e mos%ra as $!n"4es prede$inidas do

    Vis!alg.

    3. Lis%a de 9!n"4es

    Lis%a de $!n"4es : !ma maneira rpida de inserir $!n"4es prede$inidas em se! algori%mo; a

    s!a !%ili/a"#o : m!i%o simples as%a pressionar 7+BLWC para mos%rar a lis%a e selecionar a $!n"#o dese?ada

    e dar !m (n%er; depois : s8 passar os parme%ros dese?ados.

    3. O 5en! do Vis!alg

    3..1 O Ar6!ivoM

    Poss!i os comandos para se arir; salvar e imprimir algori%mos M

  • 7/24/2019 Visual g Final 2

    10/20

    Noo@ 7ria !m novo =es6!ele%o= de algori%mo; s!s%i%!indo o %e)%o e)is%en%e no edi%or. Se es%e %iver sido

    modi$icado; o Vis!Alg pedir s!a con$irma"#o para salv@lo an%es 6!e se?a sorepos%o.

    A7rir @ Are !m algori%mo an%eriormen%e gravado; s!s%i%!indo o %e)%o e)is%en%e no edi%or. Se es%e %iver sidomodi$icado; o Vis!Alg pedir s!a con$irma"#o para salv@lo an%es 6!e se?a sorepos%o.

    Sa4ar@ Salva imedia%amen%e o %e)%o do edi%or. 7aso se?a a primeira ve/ 6!e !m novo %e)%o : gravado; o

    Vis!Alg pedir o se! nome e locali/a"#o.

    Sa4ar -oo @ Permi%e salvar o %e)%o do edi%or; e)iindo an%es a ?anela para se escolHer o nome e

    locali/a"#o. (nviar por e@mail... Permi%e mandar o algori%mo por e@mail.

    I/riir @ Permi%e a impress#o do algori%mo corren%e; mos%rando an%es a ?anela de con$ig!ra"#o de

    impress#o Fo o%#o Imprimir da arra de %are$as imprime o algori%mo imedia%amen%e na impressora padr#o.

    Sair@ Aandona o Vis!alg. Al:m des%es comandos; H ainda a lis%a dos * Kl%imos algori%mos !%ili/ados; 6!e

    podem ser aer%os dire%amen%e ao se escolHer o se! nome.

    3..2 (di%arM

    Poss!i os comandos de manip!la"#o de %e)%osM

    De8(a9er Ees$a/ a Kl%ima a"#o $ei%a no edi%or de %e)%o.

    Re(a9er@ Be$a/ a Kl%ima a"#o des$ei%a no edi%or de %e)%o.

    Re-or)ar 5ove !m %e)%o selecionado para a mem8ria.

    Co/iar 7opia !m %e)%o selecionado para a mem8ria.

    Co4ar Be%ira con%eKdo da mem8ria e coloca no local do c!rsor.

    Corriir Inden)a:;o 3C)r4G6 @ 7orrige a!%oma%icamen%e a inden%a"#o do =c8digo$on%e=; colocando os

    comandos den%ro de !ma es%r!%!ra 3 col!nas N direi%a da col!na inicial da es%r!%!ra. Se4e-iona ).do

    5arca %odo o %e)%o no edi%or de %e)%o.

    Lo-a4i9ar Are !ma ?anela para voc digi%ar a palavra 6!e dese?a locali/ar no (di%or de %e)%os. Lo-a4i9ar

    de noo 3F+6 Proc!ra pela a !l%ima palavra locali/ada.

    S.78)i).ir Are !ma ?anela para voc poder digi%ar a palavra 6!e dese?a locali/ar e s!s%i%!ir no (di%or de

  • 7/24/2019 Visual g Final 2

    11/20

    %e)%os.

    Graar . 74o-o 3C)r4?W 6 Salva !m loco selecionado. O?e%ivo : criar !ma esp:cie de ilio%eca de

    $!n"4es.

    In8erir . 74o-o 3C)r4?R6 Insere !m loco salvo no local do c!rsor.

    3..3 ()iir M

    Poss!i os comandos para ligardesligar as seg!in%es carac%ers%icasM

    Nero de 4in

  • 7/24/2019 Visual g Final 2

    12/20

    7on%:m os comandos rela%ivos N e)ec!"#o do algori%moM

    E,e-.)ar@ Inicia Fo! con%in!a a e)ec!"#o a!%om%ica do algori%mo.

    "a88o a /a88o @ Inicia Fo! con%in!a a e)ec!"#o do algori%mo linHa por linHa; dando ao !s!rio

    opor%!nidade de acompanHar o $l!)o do programa; e)aminar variveis; e%c.

    E,e-.)ar -o )e/o ()ec!%a o algori%mo linHa por linHa a!%oma%icamen%e de%erminado por !m %empo

    escolHido pelo o !s!rio.

    "arar @ +ermina imedia%amen%e a e)ec!"#o do algori%mo. (s%e i%em $ica desaili%ado 6!ando o algori%mo n#o

    es% sendo e)ec!%ado.

    Mar-a e De8ar-a . $rea/oin)8 3F56 7ria pon%os de parada. Selecione a linHa 6!e dese?a criar !m

    pon%o de parada na Hora de e)ec!"#o do algori%mo e pressione o ,rea>poin%s s!rgir !ma linHa marrom e

    !m marcador do lado es6!erdo para indicar o pon%o de parada. Para desmarcar o pon%o de parada as%a

    selecionar a linHa 6!e poss!i o rea>poin% e clicar no mesmo. O rea>poin%s n#o $!nciona no modo passo a

    passo e para con%in!ar o algori%mo depois de !ma parada pressione novamen%e o 9 o! o o%#o ()ec!%ar.

    De8ar-a )odo8 o8 $rea"oin)8 3CTRL?F56

    E,e-.)a e Modo Do8 Q!ando a%ivado d!ran%e a e)ec!"#o do algori%mo ele e)ec!%a o algori%mo em !ma

    ?anela em modo dos.

    Gerar a4ore8 a4ea)rio8 S!s%i%!i digi%a"#o do !s!rio por !m sis%ema de gera"#o alea%8ria de valores

    n!m:ricos e carac%er Fes%e comando n#o a$e%a a lei%!ra de variveis do %ipo l8gico @ com cer%e/a !ma coisa

    po!co !s!al...; Gera nKmeros e carac%eres alea%oriamen%e; m!i%o K%il para n#o perder %empo pensando o

    6!e digi%ar; voc escolHe o inicio e o $im dos valores e se $or valores com casas decimais : s8 escolHer

    6!an%as casas decimal voc 6!er.

    "er(i4 @ 5os%ra; ap8s a e)ec!"#o de !m algori%mo; 6!an%as ve/es cada linHa $oi e)ec!%ada. T%il para a

    anlise de e$icincia de !m algori%mo; como por e)emplo; nos m:%odos de classi$ica"#o.

    "i4

  • 7/24/2019 Visual g Final 2

    13/20

    7on%:m os comandos rela%ivos ao =c8digo@$on%e=M

    Pascal; Ling!acem 7; 7A@7lipper; Vis!al ,asic @ (m $!%!ras vers4es do Vis!alg; es%e men!

    con%er %am:m os comandos para gera"#o de c8digo@$on%e nas ling!agens especi$icadas; a par%ir do

    algori%mo corren%e. A%!almen%e ele gera apenas o pascal.

    3..- 9erramen%as

    5os%ra d!as aas; aa (di%or onde voc pode personali/ar a $on%e; cor; %a!la"#o do

    Vis!alg e a aa Lis%a 6!e voc pode criar !ma lis%a de dados para serem inseridas nas variveis.

    3. 7omo !%ili/ar o comando de lis%a

    7licando no o%#o novo ir aparecer !ma ?anela pedindo o nome da lis%a. Eigi%e o nome

    dese?ado e de !m OX. (m seg!ida digi%e a lis%a de dados 6!e dese?a 6!e apare"a nas variveis.

    Ro algori%mo an%es do comando leia colo6!e o seg!in%e comandoM LIS+A =7omp!%ador= e

    dei)e a op"#o Gerar valores alea%8rios.

  • 7/24/2019 Visual g Final 2

    14/20

    '.1 Ling!agem

    In)rod.:;o

    A ling!agem 6!e o Vis!Alg in%erpre%a : em simplesM : !ma vers#o por%!g!esa dos

    pse!doc8digos largamen%e !%ili/ados nos livros de in%rod!"#o N programa"#o; conHecida como=Por%!gol=. +omei a lierdade de acrescen%ar@lHe alg!ns comandos novos; com o in%!i%o de criar$acilidades espec$icas para o ensino de %:cnicas de elaora"#o de algori%mos. Inicialmen%e;pensava em criar !ma sin%a)e m!i%o simples e =lieral=; para 6!e o !s!rio se preoc!passe apenascom a l8gica da resol!"#o dos prolemas e n#o com as palavras@cHave; pon%os e vrg!las; e%c. Roen%an%o; cHeg!ei depois N concl!s#o de 6!e alg!ma $ormalidade seria n#o s8 necessria comoK%il; para criar !m sen%ido de disciplina na elaora"#o do =c8digo@$on%e=.

    A ling!agem do Vis!Alg permi%e apenas . -oando /or 4in

  • 7/24/2019 Visual g Final 2

    15/20

    Ti/o8 de Dado8

    O Vis!Alg prev 6!a%ro %ipos de dadosM in)eiro; rea4; -adeia de -ara-)ere8 e 4i-o Fo!booleano. As palavras@cHave 6!e os de$inem s#o as seg!in%es Foserve 6!e elas n#o %macen%!a"#oM

    inteiroM de$ine variveis n!m:ricas do %ipo in%eiro; o! se?a; sem casas decimais. realM de$ine variveis n!m:ricas do %ipo real; o! se?a; com casas decimais. caractereM de$ine variveis do %ipo string; o! se?a; cadeia de carac%eres. logicoM de$ine variveis do %ipo booleano; o! se?a; com valor V(BEAE(IBO o! 9ALSO.

    O Vis!Alg permi%e %am:m a declara"#o de variveis es%r!%!radas a%rav:s da palavra@cHavevetor; como ser e)plicado a seg!ir.

    Noe8 de Vari=ei8 e 8.a De-4ara:;o

    Os nomes das variveis devem come"ar por !ma le%ra e depois con%er le%ras; nKmeros o!underline; a%: !m limi%e de

    30 carac%eres. As variveis podem ser simples o! es%r!%!radas Fna vers#o a%!al; os ve%ores podemser de !ma o! d!as dimens4es. R#o pode Haver d!as variveis com o mesmo nome; com a na%!rale)ce"#o dos elemen%os de !m mesmo ve%or.

    A se"#o de declara"#o de variveis come"a com a palavra@cHave var; e con%in!a com as seg!in%essin%a)esM

    : : vetor """!" de

    Ra ; os nomes das variveis es%#o separados por vrg!las. Ra; os s#o separados por vrg!las; e %m a seg!in%e

    sin%a)eM

    : ..

    Ra vers#o a%!al do Vis!Alg; %an%o como devem serin%eiros. Al:m disso; e)ige@se eviden%emen%e 6!e se?a maior do 6!e .

    ()emplosM

    var a: inteiroalor#$ alor%: real

    vet: vetor #..#&! de realmatri': vetor &..($)..#&!de inteiro nome*do*aluno:caracteresinali'ador: logico

    Ro%e 6!e n#o H a necessidade de pon%o e vrg!la ap8s cada declara"#oM as%a p!lar linHa. Adeclara"#o de ve%ores : anloga N ling!agem PascalM a varivel vet acima %em 10 elemen%os; comos ndices de Y1Z a Y10Z; en6!an%o matri' corresponde a 1* elemen%os com ndices Y0;Z; Y0;Z;Y0;10Z; Y1;Z; Y1;Z; Y1;10Z; ... a%: Y';10Z. O nKmero %o%al de variveis s!por%ado pelo Vis!Alg : *00Fcada elemen%o de !m ve%or : con%ado individ!almen%e.

  • 7/24/2019 Visual g Final 2

    16/20

    Con8)an)e8 e Coando de A)ri7.i:;o

    O Vis!Alg %em %rs %ipos de cons%an%esM

    Nu!ricosM s#o valores n!m:ricos escri%os na $orma !s!al das ling!agens deprograma"#o. Podem ser in%eiros o! reais. Res%e Kl%imo caso; o separador dedecimais : o pon%o e n#o a vrg!la; independen%e da con$ig!ra"#o regional docomp!%ador onde o Vis!Alg es% sendo e)ec!%ado. O Vis!Alg %am:m n#o s!por%aseparadores de milHares.

    CaracteresM 6!al6!er cadeia de carac%eres delimi%ada por aspas d!plas F=. "gicosM admi%e os valores V(BEAE(IBO o! 9ALSO.

    A a%ri!i"#o de valores a variveis : $ei%a com o operador +,. Eo se! lado es6!erdo $ica avarivel N 6!al es% sendo a%ri!do o valor; e N s!a direi%a pode@se colocar 6!al6!er e)press#oFcons%an%es; variveis; e)press4es n!m:ricas; desde 6!e se! res!l%ado %enHa %ipo ig!al ao da

    varivel.Alg!ns e)emplos de a%ri!i"4es; !sando as variveis declaradas acimaM

    a +, -alor# +, #.alor% +, alor# avet#! +, vet#! 0a 1-2 matri'-$3! +, a/( , nome*do*aluno +,"4os5 da Silva"sinali'ador +, FA6S7

    O/eradore8 Ari))i-o8

    $,Operadores !nrios; is%o :; s#o aplicados a !m Knico operando. S#o os operadores ari%m:%icosde maior precedncia. ()emplosM ,-$ 8. (n6!an%o o operador !nrio , inver%e o sinal do se!operando; o operador n#o al%era o valor em nada o se! valor.

    9Operador de divis#o in%eira. Por e)emplo; * [ 2 \ 2. +em a mesma precedncia do operadorde divis#o %radicional.

    $,$1$/

    Operadores ari%m:%icos %radicionais de adi"#o; s!%ra"#o; m!l%iplica"#o e divis#o. Por conven"#o;1 e / %m precedncia sore e ,. Para modi$icar a ordem de avalia"#o das opera"4es; :necessrio !sar parn%eses como em 6!al6!er e)press#o ari%m:%ica.

    7D ou;

    Operador de m8d!lo Fis%o :; res%o da divis#o in%eira. Por e)emplo; ) 7D - < %. +ema mesma precedncia do operador de divis#o %radicional.

    =Operador de po%encia"#o. Por e)emplo; * ] 2 \ 2*. +em a maior precedncia en%re os operadoresari%m:%icos inrios Fa6!eles 6!e %m dois operandos.

    O/eradore8 de Cara-)ere8

    Operador de conca%ena"#o de strings Fis%o :; cadeias de carac%eres; 6!ando !sado com doisvalores Fvariveis o! cons%an%es do %ipo =carac%ere=. Por e)emploM ">io " " de4aneiro" < ">io de 4aneiro".

  • 7/24/2019 Visual g Final 2

    17/20

    O/eradore8 Re4a-ionai8

    DAD@>7.

    O/eradore8 Li-o8

    naoOperador !nrio de nega"#o. nao @>DAD@>7 < FA6S7; e nao FA6S7 < @>DAD@>7.+em a maior precedncia en%re os operadores l8gicos. (6!ivale ao 7E do Pascal.

    ouOperador 6!e res!l%a @>DAD@>7 6!ando !m dos se!s operandos l8gicos $or verdadeiro.(6!ivale ao 7>

    do Pascal.e

    Operador 6!e res!l%a @>DAD@>7 somen%e se se!s dois operandos l8gicos $orem verdadeiros.(6!ivale aoAD do Pascal.

    8ouOperador 6!e res!l%a @>DAD@>7 se se!s dois operandos l8gicos $orem di$eren%es; eFA6S7 se $orem ig!ais. (6!ivale ao 7> do Pascal.

    Coando8 de Sada de Dado8

    escreva 0+lista-de-expresses>2

    (screve no disposi%ivo de sada padr#o Fis%o :; na rea N direi%a da me%ade in$erior da %ela do

    Vis!Alg o con%eKdo de cada !ma das e)press4es 6!e comp4em . Ase)press4es den%ro des%a lis%a devem es%ar separadas por vrg!lasJ depois de serem avaliadas;se!s res!l%ados s#o impressos na ordem indicada. _ e6!ivalen%e ao comando #rite do Pascal.

    Ee modo semelHan%e a Pascal; : possvel especi$icar o nKmero de espa"os no 6!al se dese?aescrever !m de%erminado valor. Por e)emplo; o comando escreva08:2 escreve o valor davarivel 8 em * espa"os; alinHado@o N direi%a. Para variveis reais; pode@se %am:m especi$icar onKmero de casas $racionrias 6!e ser#o e)iidas. Por e)emplo; considerando G como !ma varivelreal; o comando escreva0G:H:%2escreve se! valor em - espa"os colocando 2 casas decimais.

    escreval 02.

    Idem ao an%erior; com a Knica di$eren"a 6!e p!la !ma linHa em seg!ida. _ e6!ivalen%e ao

    #riteln do Pascal.

  • 7/24/2019 Visual g Final 2

    18/20

    Coando de En)rada de Dado8

    leia 02

    Becee valores digi%ados pelos !s!rio; a%ri!indo@os Ns variveis c!?os nomes es%#o em F: respei%ada a ordem especi$icada nes%a lis%a. _ anlogo ao comando read doPascal.

    Coando de De8io Condi-iona4

    se entao

    fimse

    Ao encon%rar es%e comando; o Vis!Alg analisa a . Se o se! res!l%ado $or@>DAD@>7; %odosos comandos da Fen%re es%a linHa e a linHa com fimse s#oe)ec!%ados. Se o res!l%ado $or FA6S7; es%es comandos s#o despre/ados e a e)ec!"#o do algori%mo

    con%in!a a par%ir da primeira linHa depois do fimse.

    se entao

    senao

    fimse

    Res%a o!%ra $orma do comando; se o res!l%ado da avalia"#o de $or@>DAD@>7; %odos os comandos da Fen%re es%a linHa e a linHacom senao s#o e)ec!%ados; e a e)ec!"#o con%in!a depois a par%ir da primeira linHa depois dofimse. Se o res!l%ado $or FA6S7; es%es comandos s#o despre/ados e o algori%mo con%in!a a ser

    e)ec!%ado a par%ir da primeira linHa depois do senao; e)ec!%ando %odos os comandos da Fa%: a linHa com fimse.

    (s%es comandos e6!ivalem ao i$...then e i$...then...else do Pascal. Ro%e 6!e n#o H necessidade dedelimi%adores de loco Fcomo begin e end; pois as se6`ncias de comandos ? es%#o delimi%adaspelas palavras@cHave senao e fimse. O Vis!Alg permi%e o aninHamen%o desses comandos dedesvio condicional.

    Coando de Se4e:;o M4)i/4a

    O Vis!Alg implemen%a Fcom cer%as varia"4es o comando case do Pascal. A sin%a)e : a seg!in%eM

    escolIa caso ! ! !

    caso ! ! !

    ..

    .outrocaso

    fimescolIa

  • 7/24/2019 Visual g Final 2

    19/20

    Coando8 de Re/e)i:;o

    O Vis!Alg implemen%a as %rs es%r!%!ras de repe%i"#o !s!ais nas ling!agens de programa"#oM ola"o con%ado Jara...ate...faca Fsimilar ao $or...to...do do Pascal; e os la"os condicionadosenKuanto...faca Fsimilar ao #hile...do e reJita...ate Fsimilar ao repeat...until. A sin%a)edes%es comandos : e)plicada a seg!ir.

    "ara ''' (a:a

    (s%a es%r!%!ra repe%e !ma se6`ncia de comandos !m de%erminado nKmero de ve/es.

    Jara de ate Jasso !faca

    fimJara

    +varivel ?_ a varivel con%adora 6!e con%rola o nKmero de repe%i"4es do la"o. Ra vers#oa%!al; deve ser necessariamen%e !ma varivel do %ipo inteiro; como %odas as

    e)press4es des%e comando.

    _ !ma e)press#o 6!e especi$ica o valor de iniciali/a"#o da varivel con%adoraan%es da primeira repe%i"#o do la"o.

    _ !ma e)press#o 6!e especi$ica o valor m)imo 6!e a varivel con%adora podealcan"ar.

    _ opcional. Q!ando presen%e; precedida pela palavra Jasso; : !ma e)press#o6!e especi$ica o incremen%o 6!e ser acrescen%ado N varivel con%adora emcada repe%i"#o do la"o. Q!ando es%a op"#o n#o : !%ili/ada; o valor padr#o de%incremento> : 1. Vale a pena %er em con%a 6!e %am:m : possvelespeci$icar valores nega%ivos para. Por o!%ro lado; se a avalia"#o da e)press#o +incremento ?res!l%ar em valor n!lo; a e)ec!"#o do algori%mo ser in%errompida; com a

    impress#o de !mamensagem de erro.

    fimJara

    Indica o $im da se6`ncia de comandos a serem repe%idos. 7ada ve/ 6!e oprograma cHega nes%e pon%o; : acrescen%ado N varivel con%adora o valor de+incremento ?; e comparado a . Se $or menor o! ig!alFo! maior o! ig!al; 6!ando $or nega%ivo; a se6`ncia de comandos ser e)ec!%ada mais!ma ve/Jcaso con%rrio; a e)ec!"#o prosseg!ir a par%ir do primeiro comando 6!e es%e?aap8s ofimJara.

    & e s#o avaliados !ma ni-a e9an%es da e)ec!"#o da primeira repe%i"#o; e n;o 8e a4)era d.ran)e a e,e-.:;o do 4a:o; mesmo6!e variveis even%!almen%e presen%es nessas e)press4es %enHam se!s valores al%erados.

    EnH.an)o ''' (a:a

    (s%a es%r!%!ra repe%e !ma se6`ncia de comandos en6!an%o !ma de%erminada condi"#oFespeci$icada a%rav:s de !ma e)press#o l8gica $or sa%is$ei%a.

    enKuanto faca

    fimenKuanto

  • 7/24/2019 Visual g Final 2

    20/20

    (s%a e)press#o 6!e : avaliada an%es de cada repe%i"#o do la"o.Q!ando se! res!l%ado $or V(BEAE(IBO; : e)ec!%ada.

    fimenKuanto

    Indica o $im da 6!e ser repe%ida. 7adave/ 6!e a e)ec!"#o a%inge es%e pon%o; vol%a@se ao incio do la"o para 6!e se?a avaliada novamen%e. Se o res!l%ado des%a

    avalia"#o $or V(BEAE(IBO; a sere)ec!%ada mais !ma ve/J caso con%rrio; a e)ec!"#o prosseg!ir a par%irdo primeiro comando ap8s fimenKuanto.

    Re/i)a ''' a)

    (s%a es%r!%r!ra repe%e !ma se6`ncia de comandos a%: 6!e !ma de%erminada condi"#oFespeci$icada a%rav:s de !ma e)press#o l8gica se?a sa%is$ei%a.

    reJita

    ate

    reJita Indica o incio do la"o.

    ate +expresso-lgica?

    Indica o $im da a serem repe%idos. 7ada ve/6!e o programa cHega nes%e pon%o; : avaliadaM se se!res!l%ado $or 9ALSO; os comandos presen%es en%re es%a linHa e a linHa reJitas#o e)ec!%adosJ caso con%rrio; a e)ec!"#o prosseg!ir a par%ir do primeirocomando ap8s es%a linHa.

    5'0 $i74iora(ia

    1 @ H%%pM&&&.!nivas$.ed!.rmarcelo.linderar6!ivosbapvis!alg.pd$2 @ H%%pM&&&.apoioin$orma%ica.in$.rprod!%osvis!alg

    3 @ H%%pMvis!alg.com.r

    ' @ H%%pM&&&.dicasdeprogramacao.com.rdo&nload@vis!alg

    * H%%pM&&&.i$c@carimori!.ed!.r$ro//a2012.1IA12Apos%ilaVis!alg20.pd$

    http://www.univasf.edu.br/~marcelo.linder/arquivos_ap/visualg.pdfhttp://www.apoioinformatica.inf.br/produtos/visualghttp://visualg.com.br/http://www.dicasdeprogramacao.com.br/download-visualg/http://www.ifc-carimboriu.edu.br/~frozza/2012.1/IA12/ApostilaVisualg20.pdfhttp://www.apoioinformatica.inf.br/produtos/visualghttp://visualg.com.br/http://www.dicasdeprogramacao.com.br/download-visualg/http://www.ifc-carimboriu.edu.br/~frozza/2012.1/IA12/ApostilaVisualg20.pdfhttp://www.univasf.edu.br/~marcelo.linder/arquivos_ap/visualg.pdf