You are on page 1of 26

Criaco de um Programa

Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10

Um rograma !e com "#a!or na!a mais $ !o %"e "m gr" o !e coman!os &ogicamen#e !is os#os com o ob'e#ivo !e e(ec"#ar !e#ermina!a #are)a. *sses coman!os so grava!os em "m ar%"ivo #e(#o %"e $ #rans)orma!o em "ma &ing"agem e(ec"#+ve& or "m com "#a!or a#rav$s !e "m rocesso c,ama!o com i&a-o. A com i&a-o s"bs#i#"i os coman!os !e a&#o n.ve& /%"e os ,"manos com reen!em0 or ins#r"-1es !e bai(o n.ve& /com reen!i!a e&o sis#ema o eraciona& em e(ec"-o no com "#a!or0. 2o caso !o A!v3&4 no $ o sis#ema o eraciona& !e "m com "#a!or %"e ir+ e(ec"#ar o c5!igo com i&a!o4 mas sim o A36 6erver. 7en#ro !e "m rograma4 os coman!os e )"n-1es "#i&i8a!os !evem seg"ir regras !e sin#a(e !a &ing"agem "#i&i8a!a4 ois caso con#r+rio o rograma ser+ in#errom i!o or erros. 9s erros o!em ser !e com i&a-o o" !e e(ec"-o.

*rros !e com i&a-o so a%"e&es encon#ra!os na sin#a(e %"e no ermi#em %"e o ar%"ivo !e c5!igo !o rograma se'a com i&a!o. 3o!em ser coman!os es eci)ica!os !e )orma err:nea4 "#i&i8a-o inv+&i!a !e o era!ores4 e#c. *rros !e e(ec"-o so a%"e&es %"e acon#ecem !e ois !a com i&a-o4 %"an!o o rograma es#+ sen!o e(ec"#a!o. 3o!em ocorrer or in;meras ra81es4 mas gera&men#e se re)erem a )"n-1es no e(is#en#es4 o" vari+veis no cria!as o" inicia&i8a!as4 e#c.

Linhas de Programa
As &in,as e(is#en#es !en#ro !e "m ar%"ivo #e(#o !e c5!igo !e rograma o!em ser &in,as !e coman!o4 &in,as !e comen#+rio o" &in,as mis#as.

Linhas de Comando
<in,as !e coman!o oss"em os coman!os o" ins#r"-1es %"e sero e(ec"#a!as. 3or e(em &o:
Local nCnt Local nSoma := 0 For nCnt := 1 To 10 nSoma += nCnt Next nCnt

Linhas de Comentrio
<in,as !e comen#+rio oss"em "m #e(#o %"a&%"er4 mas no so e(ec"#a!as. 6ervem a enas ara !oc"men#a-o e ara #ornar mais )+ci& o en#en!imen#o !o rograma. *(is#em #rs )ormas !e se comen#ar &in,as !e #e(#o. A rimeira !e&as $ "#i&i8ar o sina& !e = /as#erisco0 no come-o !a &in,a:
* Programa para clculo do total * Autor: M cro! ga So"t#are S$A$ * %ata: & de outu'ro de &001

>o!as as &in,as inicia!as com "m sina& !e as#erisco so consi!era!as como comen#+rio. 3o!e?se "#i&i8ar a a&avra 29>* o" !ois s.mbo&os !a &e#ra @e@ comercia& /AA0 ara rea&i8ar a )"n-o !o sina& !e as#erisco. 3or$m #o!as es#as )ormas !e comen#+rio !e &in,as so obso&e#as e e(is#em a enas ara com a#ibi&i8a-o com o a!ro (Base. A me&,or maneira !e comen#ar &in,as em A!v3& $ "#i&i8ar !"as barras #ransversais:
(( Programa para clculo do total (( Autor: M cro! ga So"t#are S$A$ (( %ata: & de outu'ro de &001

9"#ra )orma !e !oc"men#ar #e(#os $ "#i&i8ar as barras #ransversais '"n#amen#e com o as#erisco4 o!en!o?se comen#ar #o!o "m b&oco !e #e(#o sem recisar comen#ar &in,a a &in,a:
(* Programa para clculo do total Autor: M cro! ga So"t#are S$A$ %ata: & de outu'ro de &001 *(

>o!o o #e(#o encon#ra!o en#re a aber#"ra /in!ica!a e&os carac#eres /=0 e o )ec,amen#o /in!ica!a e&os carac#eres =/0 $ consi!era!o como comen#+rio.

Linhas Mistas
9 A!v3& #amb$m ermi#e %"e e(is#am &in,as !e coman!o com comen#+rio. Cs#o $ oss.ve& inc&".n!o?se as !"as barras #ransversais ///0 ao )ina& !a &in,a !e coman!o e a!icionan!o?se o #e(#o !o comen#+rio:

Local nCnt Local nSoma := 0 (( )n c al *a a +ar +el com *ero para a !oma For nCnt := 1 To 10 nSoma += nCnt Next nCnt

Tamanho da Linha
Assim como a &in,a ).sica4 !e&imi#a!a e&a %"an#i!a!e !e carac#eres %"e o!e ser !igi#a!o no e!i#or !e #e(#os "#i&i8a!o4 e(is#e "ma &in,a consi!era!a &in,a &5gica. A &in,a &5gica4 $ a%"e&a consi!era!a ara a com i&a-o como "ma ;nica &in,a !e coman!o. A rinc. io4 ca!a &in,a !igi#a!a no ar%"ivo #e(#o $ !i)erencia!a a 5s o ressionamen#o !a #ec&a D*n#erE. 9" se'a4 a &in,a &5gica4 $ a &in,a ).sica no ar%"ivo. 3or$m a&g"mas ve8es4 or &imi#a-o ).sica !o e!i#or !e #e(#o o" or es#$#ica4 o!e?se @%"ebrar@ a &in,a &5gica em mais !e "ma &in,a ).sica no ar%"ivo #e(#o. Cs#o $ e)e#"a!o "#i&i8an!o?se o sina& !e on#o?e?v.rg"&a /F0.
)" ,-mpt./cNome0 $And$ ,-mpt./c-nd0 $And$ 1 2enter3 ,-mpt./cTel0 $And$ ,-mpt./cFax0 $And$ 1 2enter3 ,-mpt./c-ma l0 4ra+a%ado!/cNome5c-nd5cTel5cFax5c-ma l0 -nd "

2es#e e(em &o e(is#e "ma &in,a !e coman!o ara a c,ecagem !as vari+veis "#i&i8a!as. Gomo a &in,a #orna?se m"i#o gran!e4 o!e?se !ivi!.?&a em mais !e "ma &in,a ).sica "#i&i8an!o o sina& !e on#o?e?v.rg"&a. 6e "m sina& !e on#o?e?v.rg"&a )or es%"eci!o nas !"as rimeiras &in,as4 !"ran#e a e(ec"-o !o rograma ocorrer+ "m erro4 ois a seg"n!a &in,a ).sica ser+ consi!era!a como "ma seg"n!a &in,a !e coman!o na com i&a-o. * !"ran#e a e(ec"-o es#a &in,a no #er+ sen#i!o.

Estrutura de um Programa
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

A esar !e no ser "ma &ing"agem !e a!r1es r.gi!os com re&a-o H es#r"#"ra !o rograma4 $ im or#an#e i!en#i)icar a&g"mas !e s"as ar#es. Gonsi!ere o rograma !e e(em &o abai(o:
(* +===========================================+ 6 Programa: Clculo do Fator al 6 6 Autor : M cro! ga So"t#are S$A$ 6 6 %ata : 0& de outu'ro de &001 6 +===========================================+ *( Local nCnt Local n7e!ultado := 1 (( 7e!ultado do "ator al Local nFator := 8 (( N9mero para o clculo (( Clculo do "ator al For nCnt := nFator To 1 Step :1 n7e!ultado *= nCnt Next nCnt (( -x 'e o re!ultado na tela5 atra+;! da "un<=o alert Alert/>? "ator al de > + c@alToCAar/nFator0 + 1 > ; > + c@alToCAar/n7e!ultado00 (( Term na o programa 7eturn

3o!e?se c&assi)icar "m rograma em A!v3& em %"a#ro ar#es b+sicas:


Irea !e C!en#i)ica-o Irea !e A'"s#es Cniciais Gor o !o 3rograma Irea !e *ncerramen#o

A rea de Identificao

*s#a $ "ma +rea %"e no $ obriga#5ria e $ !e!ica!a a !oc"men#a-o !o rograma. J"an!o e(is#en#e4 con#$m a enas comen#+rios e( &ican!o a s"a )ina&i!a!e4 !a#a !e cria-o4 a"#or4 e#c4 e a arece no come-o !o rograma4 an#es !e %"a&%"er &in,a !e coman!o. 9 )orma#o ara es#a +rea no $ !e)ini!o. 3o!e?se co&ocar %"a&%"er #i o !e in)orma-o !ese'a!a e esco&,er a )orma#a-o a ro ria!a.
(* +==========================================+ 6 Programa: Clculo do Fator al 6 6 Autor : M cro! ga So"t#are S$A$ 6 6 %ata : 0& de outu'ro de &001 6 +==========================================+ *(

9 ciona&men#e o!e?se inc&"ir !e)ini-1es !e cons#an#es "#i&i8a!as no rograma o" inc&"so !e ar%"ivos !e cabe-a&,o nes#a +rea.

A rea de Ajustes Iniciais


2es#a +rea gera&men#e se )a8em os a'"s#es iniciais4 im or#an#es ara o corre#o )"ncionamen#o !o rograma. *n#re os a'"s#es se encon#ram !ec&ara-1es !e vari+veis4 inicia&i8a-1es4 aber#"ra !e ar%"ivos4 e#c. A esar !o A!v3& no ser "ma &ing"agem r.gi!a e as vari+veis o!erem ser !ec&ara!as em %"a&%"er &"gar !o rograma4 $ aconse&,+ve& )a8?&o nes#a +rea visan!o #ornar o c5!igo mais &eg.ve& e )aci&i#ar a i!en#i)ica-o !e vari+veis no "#i&i8a!as.
Local nCnt Local n7e!ultado := 0 (( 7e!ultado do "ator al Local nFator := 10 (( N9mero para o clculo

O Cor o do Programa
K nes#a +rea %"e se encon#ram as &in,as !e c5!igo !o rograma. K on!e se rea&i8a a #are)a necess+ria a#rav$s !a organi8a-o &5gica !es#as &in,as !e coman!o. *s era?se %"e as &in,as !e coman!o es#e'am organi8a!as !e #a& mo!o %"e no )ina& !es#a +rea o res"&#a!o es era!o se'a ob#i!o4 se'a e&e arma8ena!o em "m ar%"ivo o" em vari+veis !e mem5ria4 ron#o ara ser e(ibi!o ao "s"+rio a#rav$s !e "m re&a#5rio o" na #e&a.
(( Clculo do "ator al For nCnt := nFator To 1 Step :1

n7e!ultado *= nCnt Next nCnt

A rea de Encerramento
K nes#a +rea on!e as )ina&i8a-1es so e)e#"a!as. K on!e os ar%"ivos aber#os so )ec,a!os4 e o res"&#a!o !a e(ec"-o !o rograma $ "#i&i8a!o. 3o!e?se e(ibir o res"&#a!o arma8ena!o em "ma vari+ve& o" em "m ar%"ivo o" sim &esmen#e )ina&i8ar4 caso a #are)a '+ #en,a si!o #o!a com &e#a!a no cor o !o rograma. K nes#a +rea %"e se encon#ra o encerramen#o !o rograma. >o!o rograma em A!v3& !eve sem re #erminar com a a&avra c,ave re#"rn.
(( -x 'e o re!ultado na tela5 atra+;! da "un<=o alert Alert/>? "ator al de > + c@alToCAar/nFator0 + 1 > ; > + c@alToCAar/n7e!ultado00 (( Term na o programa 7eturn

Contro!ando o "!u#o
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

9 A!v3& s" or#a v+rias es#r"#"ras !e con#ro&e %"e ermi#em m"!ar a se%Lncia !e )&"(o !e e(ec"-o !e "m rograma. *s#as es#r"#"ras ermi#em a e(ec"-o !e c5!igo basea!o em con!i-1es &5gica e a re e#i-o !a e(ec"-o !e e!a-os !e c5!igo %"a&%"er n;mero !e ve8es. *m A!v3&4 #o!as as es#r"#"ras !e con#ro&e o!em ser @anin,a!as@ !en#ro !e #o!as as !emais es#r"#"ras con#an#o %"e es#e'am anin,a!as ro riamen#e. *s#r"#"ras !e con#ro&e #m "m i!en#i)ica!or !e in.cio e "m !e )im4 e %"a&%"er es#r"#"ra anin,a!a !eve se encon#rar en#re es#es i!en#i)ica!ores. >amb$m e(is#em es#r"#"ras !e con#ro&e ara !e#erminar %"e e&emen#os4 coman!os4 e#c em "m rograma sero com i&a!os. *s#as so as !ire#ivas !o r$? rocessa!or Mi)!e)...Men!i) e Mi)n!e)...Men!i). Gons"&#e a !oc"men#a-o sobre o r$? rocessa!or ara maiores !e#a&,es. As es#r"#"ras !e con#ro&e em A!v3& es#o !ivi!i!as em :

*s#r"#"ras !e Re e#i-o *s#r"#"ras !e 7eciso.

$es%iando a E#ecuco
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

*s#r"#"ras !e !esvio so !esegina!as ara e(ec"#ar "ma se-o !e c5!igo se !e#ermina!a con!i-o &5gica res"&#ar em ver!a!eiro /.>.0. *m A!v3& e(is#em !ois coman!os ara e(ec"-o !e se-1es !e c5!igo !e acor!o com ava&ia-1es &5gicas. 9 coman!o CN...*27CN e o coman!o 79 GA6*...*27GA6*.

O Comando $O CA&E'''E($CA&E
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

*(ec"#a o rimeiro con'"n#o !e coman!os c"'a e( resso con!iciona& res"&#a em ver!a!eiro /.>.0.

&inta#e

%? CASCAS- l-xpre!!ao1 Commando! BCAS- l-xpre!!ao& Commando! $$$ CAS- l-xpre!!aoN Commando!C B?TD-7E)SCommando!C -N%CAS-

Par)metros

GA6* &*( ressao1 Goman!os...

9>O*RPC6* Gomman!os

J"an!o a rimeira e( resso GA6* res"&#an#e em ver!a!eiro /.>.0 )or encon#ra!a4 o con'"n#o !e coman!os seg"in#e $ e(ec"#a!o. A e(ec"-o !o con'"n#o !e coman!os con#in"a a#$ %"e a r5(ima c&+"s"&a GA6*4 9>O*RPC6* o" *27GA6* se'a encon#ra!a. Ao #erminar !e e(ec"#ar esse con'"n#o !e coman!os4 a e(ec"-o con#in"a com o rimeiro coman!o seg"in#e ao *27GA6*. 6e "ma e( resso GA6* res"&#ar em )a&so /.N.04 o con'"n#o !e coman!os seg"in#e a es#a a#$ a r5(ima c&+"s"&a $ ignora!o. A enas "m con'"n#o !e coman!os $ e(ec"#a!o. *s#es so os rimeiros coman!os c"'a e( resso GA6* $ ava&ia!a como ver!a!eiro /.>.0. A 5s a e(ec"-o4 %"a&%"er o"#ra e( resso GA6* os#erior $ ignora!a /mesmo %"e s"a ava&ia-o res"&#asse em ver!a!eiro0. 6e #o!as as e( ress1es GA6* )orem ava&ia!as como )a&so /.N.04 a c&+"s"&a 9>O*RPC6* !e#ermina se "m con'"n#o a!iciona& !e coman!os !eve ser e(ec"#a!o. 6e essa c&+"s"&a )or inc&"i!a4 os

coman!os seg"in#es sero e(ec"#a!os e en#o o rograma con#in"ar+ com o rimeiro coman!o seg"in#e ao *27GA6*. 6e a c&+"s"&a 9>O*RPC6* )or omi#i!a4 a e(ec"-o con#in"ar+ norma&men#e a 5s a c&+"s"&a *27GA6*.

Comentrios

9 Goman!o 79 GA6*...*27GA6* $ "#i&i8a!o no &"gar !o coman!o CN...*27CN %"an!o "m n;mero maior !o %"e "ma e( resso !eve ser ava&ia!a4 s"bs#i#"in!o a necessi!a!e !e mais !e "m coman!o CN...*27CN anin,a!os.

E#em !o

Local nMe! := MontA/%ate/00 Local cPer odo := >> %? CASCAS- nMe! 2= F cPer odo := >Pr me ro Tr me!tre> CAS- nMe! 3= G $And$ nMe! 2= H cPer odo := >Segundo Tr me!tre> CAS- nMe! 3= I $And$ nMe! 2= J cPer odo := >Terce ro Tr me!tre> ?TD-7E)ScPer odo := >Kuarto Tr me!tre> -N%CAS7eturn

O Comando I"'''E($I"
Reviso: 20/09/200Q Abrangncia Verso 5.07 Vers1es An#eriores Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11

*(ec"#a "m con'"n#o !e coman!os basea!o no va&or !e "ma e( resso &5gica.

&inta#e

)F l-xpre!!ao Comando! B-LSComando!$$$C -N%)F

Par)metros

*s eci)ica "ma e( resso &5gica %"e $ ava&ia!a. 6e &*( ressao res"&#ar em ver!a!eiro /.>.04 %"a&%"er coman!o seg"in#e ao CN e an#ece!en#e ao *<6* o" *27CN /o %"e ocorrer rimeiro0 ser+ e(ec"#a!o.6e &*( ressao res"&#ar em )a&so /.N.0 e a c&+"s"&a *<6* )or !e)ini!a4 %"a&%"er coman!o a 5s essa &*( ressao c&+"s"&a e an#erior ao *27CN ser+ e(ec"#a!a. 6e a c&+"s"&a *<6* no )or !e)ini!a4 #o!os os coman!os en#re o CN e o *27CN so ignora!os. 2es#e caso4 a e(ec"-o !o rograma con#in"a com o rimeiro coman!o seg"in#e ao *27CN. Gon'"n#o !e coman!os A!v3& %"e sero e(ec"#a!os !e en!en!o !a Goman!os ava&ia-o !a e( resso &5gica em &*( ressao.

Comentrios

3o!e?se anin,ar "m b&oco !e coman!o CN...*27CN !en#ro !e o"#ro b&oco !e coman!o CN...*27CN. 3or$m4 ara a ava&ia-o !e mais !e "ma e( resso &5gica4 !eve?se "#i&i8ar o coman!o 79 GA6*...*27GA6*.

E#em !o

Local d@encto := CT?%/>F1(1&(01>0 )" %ate/0 3 d@encto Alert/>@enc mento ultrapa!!ado,>0 -nd " 7eturn

I" no Protheus 2as vers1es !o *R3 6iga A!vance! 2.07 /Q.07 e an#eriores4 caso o coman!o CN recebesse "m arg"men#o n"&o / 2C< 0 4 a a &ica-o era abor#a!a com a ocorrncia @*rror BA6*/1066 Arg"men# error: con!i#iona&@. A ar#ir !as vers1es 3ro#,e"s 507 e os#eriores4 a a &ica-o no $ abor#a!a4 e o coman!o CN com or#a?se como se #ivesse recebi!o o va&or boo&eano .N. / )a&so 0

O Comando "O*'''(E+T
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

A es#r"#"ra !e con#ro&e N9R...2*R>4 o" sim &esmen#e o &oo N9R4 re e#e "ma se-o !e c5!igo em "m n;mero !e#ermina!o !e ve8es.

&inta#e

F?7 @ar a+el := n@alor)n c al T? n@alorF nal BST-P n)ncrementoC Comando!$$$ B-L)TC BL??PC N-LT

Par)metros

*s eci)ica "ma vari+ve& o" "m e&emen#o !e "ma ma#ri8 ara a#"ar como "m con#a!or. A vari+ve& o" o e&emen#o !a ma#ri8 no recisa #er Variave& si!o !ec&ara!o an#es !a e(ec"-o !o coman!o N9R...2*R>. 6e a vari+ve& no e(is#ir4 ser+ cria!a como "ma vari+ve& riva!a. nVa&orCnicia& $ o va&or inicia& ara o con#a!orF nVa&orNina& $ o va&or nVa&orCnicia& )ina& ara o con#a!or. 3o!e?se "#i&i8ar va&ores n"m$ricos &i#erais4 >9 nVa&orNina& vari+veis o" e( ress1es4 con#an#o %"e o res"&#a!o se'a !o #i o !e !a!o n"m$rico. nCncremen#o $ a %"an!i!a!e %"e ser+ incremen#a!a o" !ecremen#a!a no con#a!or a 5s ca!a e(ec"-o !a se-o !e coman!os. 6e o va&or !e 6>*3 nCncremen#o )or nega#ivo4 o con#a!or ser+ !ecremen#a!o. 6e a c&+"s"&a nCncremen#o 6>*3 )or omi#i!a4 o con#a!or ser+ incremen#a!o em 1. 3o!e?se "#i&i8ar va&ores n"m$ricos &i#erais4 vari+veis o" e( ress1es4 con#an#o %"e o res"&#a!o se'a !o #i o !e !a!o n"m$rico. *s eci)ica "m o" mais ins#r"-1es !e coman!o A!v3& %"e sero Goman!os e(ec"#a!as.

*RC>

<993

>rans)ere o con#ro&e !e !en#ro !o coman!o N9R...2*R> ara o coman!o ime!ia#amen#e seg"in#e ao 2*R>4 o" se'a4 )ina&i8a a re e#i-o !a se-o !e coman!os ime!ia#amen#e. 3o!e?se co&ocar o coman!o *RC> em %"a&%"er &"gar en#re o N9R e o 2*R>. Re#orna o con#ro&e !ire#amen#e ara a c&+"s"&a N9R sem e(ec"#ar o res#an#e !os coman!os en#re o <993 e o 2*R>. 9 con#a!or $ incremen#a!o" o" !ecremen#a!o norma&men#e4 como se o 2*R> #ivesse si!o a&can-a!o. 3o!e?se co&ocar o coman!o <993 em %"a&%"er &"gar en#re o N9R e o 2*R>.

Comentrios

Uma vari+ve& o" "m e&emen#o !e "ma ma#ri8 $ "#i&i8a!o como "m con#a!or ara es eci)icar %"an#as ve8es os coman!os A!v3& !en#ro !a es#r"#"ra N9R...2*R> so e(ec"#a!os. 9s coman!os A!v3& !e ois !o N9R so e(ec"#a!os a#$ %"e o 2*R> se'a a&can-a!o. 9 con#a!or /Variave&0 $ en#o incremen#a!o o" !ecreman#a!o com o va&or em nCncremen#o /se a c&+"s"&a 6>*3 )or omi#i!a4 o con#a!or $ incremen#a!o em 10. *n#o4 o con#a!or $ com ara!o com o va&or em nVa&orNina&. 6e )or menor o" ig"a& ao va&or em nVa&orNina&4 os coman!os seg"in#es ao N9R so e(ec"#a!os novamen#e. 6e o va&or )or maior %"e o con#i!o em nVa&orNina&4 a es#r"#"ra N9R...2*R> $ #ermina!a e o rograma con#in"a a e(ec"-o no rimeiro coman!o a 5s o 2*R>. 9s va&ores !e nVa&orCnicia&4 nVa&orNina& e nCncremen#o so a enas consi!era!os inicia&men#e. *n#re#an#o4 m"!ar o va&or !a vari+ve& "#i&i8a!a como con#a!or !en#ro !a es#r"#"ra a)e#ar+ o n;mero !e ve8es %"e a re e#i-o ser+ e(ec"#a!a. 6e o va&or !e nCncremen#o $ nega#ivo e o va&or !e nVa&orCnicia& $ maior %"e o !e nVa&orNina&4 o con#a!or ser+ !ecremen#a!o a ca!a re e#i-o. *(em &o
Local nCnt Local nSomaPar := 0 For nCnt := 0 To 100 Step & nSomaPar += nCnt Next Alert/ >A !oma do! 100 pr me ro! n9mero! pare! ;: > + 1 c@alToCAar/nSomaPar0 0 7eturn

*s#e e(em &o im rime a soma !os 100 rimerios n;meros ares. A soma $ obi#i!a a#rav$s !a re e#i-o !o c+&c"&o "#i&i8an!o a r5 ria vari+ve& !e con#a!or. Gomo a c&+"s"&a 6>*3 es#+ sen!o "#i&i8a!a4 a vari+ve& nGn# ser+ sem re incremen#a!a em 2. * como o con#a!or come-a com 04 se" va&or sem re ser+ "m n;mero ar.

O Comando ,-ILE'''E($$O
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

A es#r"#"ra !e con#ro&e POC<*...*27794 o" sim &esmen#e o &oo POC<*4 re e#e "ma se-o !e c5!igo en%"an#o "ma !e#ermina!a e( resso res"&#ar em ver!a!eiro /.>.0.

&inta#e

ED)L- l-xpre!!ao Comando!$$$ B-L)TC BL??PC -N%%?

Par)metros

*s eci)ica "ma e( resso &5gica c"'o va&or !e#ermina %"an!o os coman!os en#re o POC<* e o *2779 so e(ec"#a!os. *n%"an#o o res"&#a!o !e &*( ressao &*( ressao )or ava&ia!o como ver!a!eiro /.>.04 o con'"n#o !e coman!os so e(ec"#a!os. *s eci)ica "m o" mais ins#r"-1es !e coman!o A!v3& %"e sero e(ec"#a!as Goman!os en%"an#o &*( ressao )or ava&ia!o como ver!a!eiro /.>.0. >rans)ere o con#ro&e !e !en#ro !o coman!o POC<*...*2779 ara o coman!o ime!ia#amen#e seg"in#e ao *27794 o" se'a4 )ina&i8a a re e#i-o !a *RC> se-o !e coman!os ime!ia#amen#e. 3o!e?se co&ocar o coman!o *RC> em %"a&%"er &"gar en#re o POC<* e o *279. Re#orna o con#ro&e !ire#amen#e ara a c&+"s"&a POC<* sem e(ec"#ar o res#an#e !os coman!os en#re o <993 e o *2779. A e( resso em <993 &*( ressao $ reava&ia!a ara a !eciso se os coman!os con#in"aro sen!o e(ec"#a!os.

Comentrios

9s coman!os en#re o POC<* e o *2779 so e(ec"#a!os en%"an#o o res"&#a!o !a ava&ia-o !a e( resso em &*( ressao ermanecer ver!a!eiro /.>.0. Ga!a a&avra c,ave POC<* !eve #er "ma a&avra c,ave *2779 corres on!en#e.

E#em !o

Local nNum'er := 0 Local nSomaPar := 0 EA le nNum'er 2= 100 nSomaPar += nNum'er nNum'er += & -nddo Alert/ >A !oma do! 100 pr me ro! n9mero! pare! ;: > + c@alToCAar/nSomaPar0 0 7eturn

*e etico de Comandos
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10

*s#r"#"ras !e re e#i-o so !esigna!as ara e(ec"#ar "ma se-o !e c5!igo mais !e "ma ve8. 3or e(em &o4 imaginan!o?se a e(is#ncia !e "ma )"n-o ara im rimir "m re&a#5rio4 o!e?se !ese'ar im rimi?&o %"a#ro ve8es. G&aro4 o!e?se sim &esmen#e c,amar a )"n-o !e im resso %"a#ro ve8es em se%Lncia4 mas is#o se #ornaria o"co ro)issiona& e no reso&veria o rob&ema se o n;mero !e re&a#5rios )osse vari+ve&. *m A!v3& e(is#em !ois coman!os ara a re e#i-o !e se-1es !e c5!igo. 9 coman!o N9R...2*R> e o coman!o POC<*...*2779.

Macro &u.stituico
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

9 o era!or !e macro s"bs#i#"i-o4 simbo&i8a!o e&o @e@ comercia& /A04 $ "#i&i8a!o ara a ava&ia-o !e e( ress1es em #em o !e e(ec"-o. N"nciona como se "ma e( resso arma8ena!a )osse com i&a!a em #em o !e e(ec"-o4 an#es !e ser !e )a#o e(ec"#a!a. Gonsi!ere o e(em &o:
01 L := 10 0& M := >L + 1> 0F N := OM (( ? conte9do de N !er 11

A vari+ve& R $ a#rib".!a com o va&or 104 en%"an#o a vari+ve& S $ a#rib".!a com a s#ring !e carac#eres con#en!o @R T 1@. A #erceira &in,a "#i&i8a o o era!or !e macro. *s#a &in,a )a8 com %"e o n;mero 11 se'a a#rib".!o H vari+ve& B. 3o!e?se erceber %"e esse $ o va&or res"&#an#e !a e( resso em )orma#o !e carac#ere con#i!a na vari+ve& S. U#i&i8an!o?se "ma #$cnica ma#em+#ica e&emen#ar4 a s"bs#i#"i-o4 #emos %"e na seg"n!a &in,a4 S $ !e)ini!o como @R T 1@4 en#o o!e?se s"bs#i#"ir S na #erceira &in,a:
0F N := O>L + 1>

9 o era!or !e macro cance&a as as as:


0F N := L + 1

3o!e?se erceber %"e o o era!or !e macro remove as as as4 o %"e !ei(a "m e!a-o !e c5!igo ara ser e(ec"#a!o. 7eve?se #er em men#e %"e #"!o isso acon#ece em #em o !e e(ec"-o4 o %"e #orna #"!o m"i#o !inUmico. Uma "#i&i8a-o in#eressan#e $ criar "m #i o !e ca&c"&a!ora4 o" ava&ia!or !e )5rm"&as4 %"e !e#ermina o res"&#a!o !e a&go %"e o "s"+rio !igi#a. 9 o era!or !e macro #em "ma &imi#a-o: vari+veis re)erencia!as !en#ro !a s#ring !e carac#eres /R nos e(em &os an#eriores0 no o!em ser &ocais.

O eradores Comuns
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

2a !oc"men#a-o sobre vari+veis ,+ "ma breve !emons#ra-o !e como a#rib"ir va&ores a "ma vari+ve& !a )orma mais sim &es. 9 A!v3& am &ia signi)ica#ivamen#e a "#i&i8a-o !e vari+veis a#rav$s !o "so !e e( ress1es e )"n-1es. Uma e( resso $ "m con'"n#o !e o era!ores e o eran!os c"'o res"&#a!o o!e ser a#rib".!o a "ma vari+ve& o" en#o ana&isa!o ara a #oma!a !e !ecis1es. 3or e(em &o:
Local nSalar o := 10005 n%e!conto := 0$10 Local nAumento5 nSalL Pu do nAumento := nSalar o * 1$&0 nSalL Pu do := nAumento * /1:n%e!conto0

2es#e e(em &o so "#i&i8a!as a&g"mas e( ress1es ara ca&c"&ar o sa&+rio &.%"i!o a 5s "m a"men#o. 9s o eran!os !e "ma e( resso o!em ser "ma vari+ve&4 "ma cons#an#e4 "m cam o !e ar%"ivo o" "ma )"n-o.

O eradores Matemticos
9s o era!ores "#i&i8a!os em A!v3& ara c+&c"&os ma#em+#icos so: T ? = / == o" W X A!i-o 6"b#ra-o V"&#i &ica-o 7iviso *( onencia-o V5!"&o /Res#o !a 7iviso0

O eradores de &tring
9s o era!ores "#i&i8a!os em A!v3& ara #ra#amen#o !e carac#eres so: T Gonca#ena-o !e s#rings /"nio0 ? Gonca#ena-o !e s#rings com e&imina-o !os brancos )inais !as s#rings in#erme!i+rias

Y Gom ara-o !e 6"bs#rings /con#i!o em0

O eradores *e!acionais
9s o era!ores "#i&i8a!os em A!v3& ara o era-1es e ava&ia-1es re&acionais so: D E Z ZZ DZ EZ DE o" M o" [Z Gom Gom Gom Gom Gom Gom Gom ara-o Venor ara-o Vaior ara-o Cg"a& ara-o *(a#amen#e Cg"a& / ara carac#eres0 ara-o Venor o" Cg"a& ara-o Vaior o" Cg"a& ara-o 7i)eren#e

O eradores L/gicos
9s o era!ores "#i&i8a!os em A!v3& ara o era-1es e ava&ia-1es &5gicas so: .An!. * &5gico .9r. 9U &5gico .2o#. o" [ 2\9 &5gico

O eradores Es eciais
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

A&$m !os o era!ores com"ns4 o A!v3& oss"i a&g"ns o"#ros o era!ores o" i!en#i)ica!ores. *s#as so s"as )ina&i!a!es: /0 ]^ _` ?E A a Agr" amen#o o" N"n-o *&emen#o !e Va#ri8 7e)ini-o !e Va#ri84 Gons#an#e o" B&oco !e G5!igo C!en#i)ica!or !e A e&i!o Vacros"bs#i#"i-o 3assagem !e arUme#ro or re)erncia

9s arn#eses so "#i&i8a!os ara agr" ar e&emen#os em "ma e( resso m"!an!o a or!em !e rece!ncia !a ava&ia-o !a e( resso /seg"n!o as regras ma#em+#icas or e(em &o0. >amb$m servem ara envo&ver os arg"men#os !e "ma )"n-o. Ve'a a !oc"men#a-o sobre rece!ncia !e o era!ores ara maiores !e#a&,es. 9s co&c,e#es so "#i&i8a!os ara es eci)icar "m e&emen#o es ec.)ico !e "ma ma#ri8. 3or e(em &o4 A]342^4 re)ere?se ao e&emen#o !a ma#ri8 A na &in,a 34 co&"na 2. As c,aves so "#i&i8a!as ara a es eci)ica-o !e ma#ri8es &i#erais o" b&ocos !e c5!igo. 3or e(em &o4 A:Z_10420430` cria "ma ma#ri8 c,ama!a A com #rs e&emen#os. 9 s.mbo&o ?E i!en#i)ica "m cam o !e "m ar%"ivo !i)erencian!o?o !e "ma vari+ve&. 3or e(em &o4 NU2G?Enome re)ere?se ao cam o nome !o ar%"ivo NU2G. Vesmo %"e e(is#a "ma vari+ve& c,ama!a nome4 $ o cam o nome %"e ser+ acessa!o. 9 s.mbo&o A i!en#i)ica "ma ava&ia-o !e e( resso a#rav$s !e macro e $ vis#o em !e#a&,es na !oc"men#a-o sobre macross"bs#i#"i-o. 9 s.mbo&o a $ "#i&i8a!o ara in!icar %"e !"ran#e a assagem !e "ma vari+ve& ara "ma )"n-o o" roce!imen#o e&a se'a #oma!a como "ma re)erncia e no como va&or.

O eradores de Atri.uico
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

9s o era!ores "#i&i8a!os em A!v3& ara a#rib"i-o !e va&ores a vari+veis !e mem5ria so: Z :Z TZ ?Z =Z /Z ==Z o" WZ XZ A#rib"i-o 6im &es A#rib"i-o em <in,a A!i-o e A#rib"i-o em <in,a 6"b#ra-o e A#rib"i-o em <in,a V"&#i &ica-o e A#rib"i-o em <in,a 7iviso e A#rib"i-o em <in,a *( onencia-o e A#rib"i-o em <in,a V5!"&o /res#o !a !iviso0 e A#rib"i-o em <in,a

Atri.uio &im !es


9 sina& !e ig"a&!a!e $ "#i&i8a!o ara a#rib"ir va&or a "ma vari+ve& !e mem5ria.
n@ar a+el = 10

Atri.uio em Linha
9 o era!or !e a#rib"i-o em &in,a $ carac#eri8a!o or !ois on#os e o sina& !e ig"a&!a!e. >em a mesma )"n-o !o sina& !e ig"a&!a!e so8in,o4 or$m a &ia a a#rib"i-o Hs vari+veis. Gom e&e o!e?se a#rib"ir mais !e "ma vari+ve& ao mesmo #em o.
n@ar1 := n@ar& := n@arF := 0

J"an!o !iversas vari+veis so inicia&i8a!as em "ma mesma &in,a4 a a#rib"i-o come-a !a !irei#a ara a es%"er!a4 o" se'a4 nVar3 recebe o va&ro 8ero inicia&men#e4 nVar2

recebe o con#e;!o !e nVar3 e nVar1 recebe o con#e;!o !e nVar2 or )ina&. Gom o o era!or !e a#rib"i-o em &in,a4 o!e?se s"bs#i#"ir as inicia&i8a-1es in!ivi!"ais !e ca!a vari+ve& or "ma inicia&i8a-o a enas:
Local n@ar1 := 05 n@ar& := 05 n@arF := 0

or
Local n@ar1 := n@ar& := n@arF := 0

9 o era!or !e a#rib"i-o em &in,a #amb$m o!e ser "#i&i8a!o ara s"bs#i#"ir va&ores !e cam os em "m banco !e !a!os.

Atri.uio Com osta


9s o era!ores !e a#rib"i-o com os#a so "ma )aci&i!a!e !a &ing"agem A!v3& ara e( ress1es !e c+&c"&o e a#rib"i-o. Gom e&es o!e?se economi8ar !igi#a-o: 9 era!or TZ ?Z =Z /Z ==Z o" WZ XZ *(em &o *%"iva&en#e a R TZ S R Z R T S R ?Z S R Z R ? S R =Z S R Z R = S R /Z S R Z R / S R ==Z S R Z R == S R XZ S R Z R X S

O eradores de Incremento0$ecremento
Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

A &ing"agem A!v3& oss"i o era!ores ara rea&i8ar incremen#o o" !ecremen#o !e vari+veis. *n#en!e?se or incremen#o a"men#ar o va&or !e "ma vari+ve& n"m$rica em 1 e en#en!e?se or !ecremen#o !imin"ir o va&or !a vari+ve& em 1. 9s o era!ores so: TT Cncremen#o 35s o" 3r$?)i(a!o ?? 7ecremen#o 35s o" 3r$?)i(a!o

9s o era!ores !e !ecremen#o/incremen#o o!em ser co&oca!os #an#o an#es / r$?)i(a!o0 como !e ois / 5s?)i(a!o0 !o nome !a vari+ve&. 7en#ro !e "ma e( resso4 a or!em !o o era!or $ m"i#o im or#an#e4 o!en!o a&#erar o res"&#a!o !a e( resso. 9s o era!ores incremen#ais so e(ec"#a!os !a es%"er!a ara a !irei#a !en#ro !e "ma e( resso.
Local nA := 10 Local nN := nA++

nA

9 va&or !a vari+ve& nB res"&#a em 214 ois a rimeira re)erncia a nA /an#es !o TT0 con#in,a o va&or 10 %"e )oi consi!era!o e ime!ia#amen#e a"men#a!o em 1. 2a seg"n!a re)erncia a nA4 es#e '+ oss".a o va&or 11. 9 %"e )oi e)e#"a!o )oi a soma !e 10 mais 114 ig"a& a 21. 9 res"&#a!o )ina& a 5s a e(ec"-o !es#as !"as &in,as $ a vari+ve& nB con#en!o 21 e a vari+ve& nA con#en!o 11. 2o en#an#o:
Local nA := 10 Local nN := ++nA

nA

Res"&#a em 224 ois o o era!or incremen#a& a"men#o" o va&or !a rimeira nA an#es %"e se" va&or )osse consi!era!o.

Ordem de Precedencia dos O eradores


Reviso: 13/07/2002 Abrangncia Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Vers1es An#eriores

7e en!en!o !o #i o !e o era!or4 e(is#e "ma or!em !e rece!ncia ara a ava&ia-o !os o eran!os. *m rinc. io4 #o!as as o era-1es com os o era!ores so rea&i8a!as !a es%"er!a ara a !irei#a se e&es #iverem o mesmo n.ve& !e riori!a!e. A or!em !e rece!ncia4 o" n.ve& !e riori!a!e !e e(ec"-o4 !os o era!ores em A!v3& $:

1. 9 2. 9 3. 9 Q. 9 5. 9 6. 9 7. 9

era!ores !e Cncremen#o/7ecremen#o r$?)i(a!o era!ores !e 6#ring era!ores Va#em+#icos era!ores Re&acionais era!ores <5gicos era!ores !e A#rib"i-o era!ores !e Cncremen#o/7ecremen#o 5s?)i(a!o

*m e( ress1es com &e(as com !i)eren#es #i os !e o era!ores4 a ava&ia-o seg"ir+ essa se%"ncia. Gaso e(is#a mais !e "m o era!or !o mesmo #i o /o" se'a4 !e mesmo n.ve&04 a ava&ia-o se !+ !a es%"er!a ara !irei#a. 3ara os o era!ores ma#em+#icos en#re#an#o ,+ "ma rece!ncia a seg"ir:

1. *( onencia-o 2. V"&#i &ica-o e 7iviso 3. A!i-o e 6"b#ra-o

Gonsi!ere o e(em &o:


Local n7e!ultado := &+10(&+8*F+&QF

9 res"&#a!o !es#a e( resso $ 304 ois rimeiramen#e $ ca&c"&a!a a e( onencia-o 2W3/Z804 en#o so ca&c"&a!as as m"&#i &ica-1es e !ivis1es 10/2/Z50 e 5=3/Z1504 e )ina&men#e as a!i-1es res"&#an!o em 2T5T15T8/Z300.

A!terao da Preced1ncia
A "#i&i8a-o !e arn#eses !en#ro !e "ma e( resso a&#era a or!em !e rece!ncia !os o era!ores. 9 eran!os en#re arn#eses so ana&isa!os an#es !os %"e se encon#ram )ora !os arn#eses. 6e e(is#irem mais !e "m con'"n#o !e arn#eses no?anin,a!os4 o gr" o mais a es%"er!a ser+ ava&ia!o rimeiro e assim s"cessivamen#e.
Local n7e!ultado := /&+100(/&+80*F+&QF

2o e(em &o acima rimeiro ser+ ca&c"&a!a a e( onencia-o 2W3/Z80. *m seg"i!a 2T10/Z120 ser+ ca&c"&a!o4 2T5/Z70 ca&c"&a!o4 e )ina&men#e a !iviso e a m"&#i &ica-o sero e)e#"a!as4 o %"e res"&#a em 12/7=3T8/Z13.1Q0. 6e e(is#irem v+rios arn#eses anin,a!os4 o" se'a4 co&oca!os "m !en#ro !o o"#ro4 a ava&ia-o ocorrer+ !o arn#eses mais in#ero em !ire-o ao mais e(#erno.

You might also like