5. Jos malo o promenljivama.  

Na proslom casu smo rekli da se u JSL-u koriste cetiri vrste promenljivih:

• integer
• string
• handle
• object

Da ponovimo, da se u string promenljive mogu smestati nizovi znakova. To smeju biti Slova, brojevi, i interpunkcijski znaci. Nasa skripta za sada izgleda ovako:

Script PozdravnaPoruka ()
Var
string Poruka

Let Poruka="Dobar dan"
SayString (Poruka)

EndScript 

Pogledajmo malo detaljnije sledeci njen red:

Let Poruka="Dobar dan"

Programsku rec "Let", u JSL-u, obavezno je navesti ispred izraza u kome nekoj promenljivoj dodeljujemo vrednost. Slobodnim jezikom receno , programska rec "Let" znaci "neka je".

Rec "Poruka" je ime string promenljive koju smo u pocetku skripte deklarisali. Da ponovimo, da izraz deklarisanje promenljivih znaci odredjivanje, odnosno dodeljivanje imena i tipa promenljivoj pre nego sto bude upotrebljena u programu. U nekim programskim jezicima ovo nije neophodno, ali je u JSL-u obavezno deklarisanje promenljivih. To je dobro, jer nam stvara naviku koja ce nam biti dragocena u nekim jacim jezicima. Uocite da rec "poruka" nije navedena u navodnicima. Mada cemo u praksi cesto reci "string Poruka", rec Poruka je u stvari ime string promenljive, i sluzi nam samo kao oznaka za stvarni string koji ona predstavlja. 

Sa desne strane znaka jednakosti, nalazi se izraz "Dobar dan". Koliko je bilo vazno uociti da ime promenljive ne stoji u navodnicima, tako je ovde vazno uociti da je string 

Dobar dan

napisan u navodnicima, dakle:

"Dobar dan"

Ovu cinjenicu sa navodnicima smo ponovili vise puta jer je to nesto sto moze da zbuni pocetnike, a cesto  i napredniji programeri izostave omaskom po neki navodnik. Naravno tu je nas prijatelj kompajler koji ce nas na to upozoriti.

Rekli smo vec na proslom casu da znak jednakosti predstavlja operator cija je uloga da dodeli vrednost izraza sa desne strane , izrazu sa njegove leve strane. Tako bi sada nas posmatrani red mogao da se izrazi slobodnim jezikom kao:

Neka string promenljiva Poruka dobije vrednost Dobar dan

Svaka promenljiva, pa tako i nasa string promenljiva po imenu Poruka, biva deklarisana, sto slobodno receno predstavlja njeno rodjenje, biva joj jednom ili vise puta dodeljena vrednost, sto je njen zivot, i konacno napusta svoj skup, prestaje da vazi ili sasvim slobodnim izrazom, umire.
Kada pozovemo nasu skriptu da se izvrsi, to izgleda ovako:
Kompajler je dosao u prvi red i naisao na programsku rec "Var", koju razume. U tom momentu on ocekuje kao sledecu rec tip promenljive i nailazi takodje na rec koju razume a to je "string" koji predstavlja jednu od njemu poznate cetiri vrste promenljivih. Sledece sto trazi je ime promenljive i to je sledeca rec koju do tog momenta nije znao. To je rec Poruka, i on je pamti. Od tog momenta promenljiva Poruka je deklarisana i kada se u daljem tekstu javi, kompajler ce znati da je to string a ne neka od ostale tri vrste promenljivih. Ono sto treba konstatovati, je da u tom momentu promenljiva Poruka nema nikakvu konkretnu vrednost ali joj je Jaws automatski dodelio vrednost null. O ovoj specijalnoj vrednosti razmisljajte kao o paru navodnika izmedju kojih nema nicega, (""). Posto kompajler poznaje programsku rec "Let", a takodje je obavesten da rec Poruka predstavlja string promenljivu, posto naidje na operator znak jednakosti, "=", ocekuje sa njegove desne strane stringovni izraz koji ce biti dodeljen string promenljivoj Poruka. Tu stoji "Dobar dan", sto predstavlja direktno naveden stringovni izraz, i on od tog momenta pored imena i tipa za promenljivu Poruka, pamti i njenu vrednost. Onda nailazi na ime funkcije SayString, koje takodje poznaje jer predstavlja jednu od citave serije Jaws-ovih ugradjenih funkcija. Nakon imena funkcije, ocekuje se par zagrada, i u njima ce kompajler potraziti string promenljivu, posto mu je ova funkcija poznata i zna sta zahteva. U zagradama nalazi rec Poruka, koja mu je poznata sa pocetka funkcije i videvsi da odgovara po tipu, prelazi na izvrsenje same funkcije. Programski kod ove funkcije se nalazi tvrdo ugradjen u Jaws-u i njega ne mozemo da vidimo. Kao rezultat izvrsenja ove funkcije kojoj je poslat nas string parametar, bice izgovorena poruka. Nailaskom na zavrsni red skripte, promenljiva Poruka se ponistava, gasi, ili programerskim jezikom napusta skup. Takodje se u programerskom zargonu kaze da je ova promenljiva vidljiva u unutrasnjosti ove skripte, a izvan nje nije, pa se tako ova promenljiva naziva lokalnom promenljivom. Pored lokalnih promenljivih,, postoje i globalne promenljive ali o njima cemo na nekom od narednih casova kada nam budu zatrebale.

A sada da se opet malo poigramo nasom skriptom. Dopisite joj dva reda tako da izgleda ovako:

Script PozdravnaPoruka ()
Var
string Poruka

Let Poruka="Dobar dan"
SayString (Poruka)

Let Poruka="Dobro Vece"
SayString (Poruka)

EndScript 

Kompilirajte skriptu i pokrenite iz Notepad-a. Da li cujete jednu, a zatim drugu poruku?

Slicno kao sto u jednu posudu, sve dok ona postoji mozemo stavljati razne stvari za koje je ona predvidjena, tako i jednoj promenljivoj u toku njenog postojanja, mozemo dodeljivati razlicite vrednosti koje joj odgovaraju po tipu za koji smo je deklarisali.
 "Lekcija 6."


 "Skok na sadrzaj"



U ovom momentu, trebalo bi da imate potpuno jasnu ideju o ovome o cemu smo pricali. Ne prelazite na sledece lekcije pre nego sto vam ovo bude potpuno jasno. Na sledecim casovima cemo uvoditi sve vise programskih reci i postupaka koji ce sa jedne strane traziti malo napora da bi se shvatili, ali ce sa druge strane vasa programerska snaga rasti i moci cete da sklopite sve vise i vise programskih linija tako da rade upravo ono sto vi hocete.