Upload
henrique
View
225
Download
0
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