Rad s varijablama i grananja programa – Microsoft Small Basic 2. dio

Upisivanje podataka i rad s varijablama

Programima pravu čar daje mogućnost interakcije s korisnicima. Da bismo to mogli postići, trebamo upotrijebiti varijable. Za razliku od mnogih drugih programskih jezika, u Small Basicu nije potrebno deklarirati varijable, nego samo postaviti njihovu vrijednost što ga čini vrlo zgodnim za početnike u programiranju.

U nastavku ćemo upoznati naredbe koje omogućuju upis podataka s tipkovnice, tj. interakciju s korisnikom programa. Radi se o naredbama Read() i ReadNumber() koje se nalaze u klasi TextWindow.

Naredba Read() računalu zadaje da pričeka dok korisnik nešto ne upiše i pritisne tipku Enter. Dakle, naredba učitava tekst upisan u tekstualnom prozoru, a da bi prihvatila unos, treba pritisnuti tipku Enter. Kako radi ova naredba, pogledajte na jednom jednostavnom primjeru iz naše kolekcije Primjer 2.1.

Želite li saznati koja je omiljena boja korisnika programa, možete ga zamoliti da upiše njeno ime te nakon toga ispisati poruku o kojoj se boji radi. Pogledajmo kako to možemo učiniti:

TextWindow.Write("Upišite ime svoje omiljene boje: ")

ImeBoje = TextWindow.Read()

TextWindow.WriteLine(ImeBoje + " je vaša omiljena boja!")

slika2.1 
Primjer programa u kojemu je upotrijebljena naredba Read()

Naredbu TextWindow.Write() nećemo posebno objašnjavati jer smo se njome bavili u 1. dijelu. Ono što je ovdje novina je druga linija programskog koda: ImeBoje = TextWindow.Read(). U ovoj programskoj liniji riječ ImeBoje predstavlja varijablu kojoj će se naredbom TextWindow.Read() pridodati tekst upisan u tekstualnom prozoru. Ukratko ćemo objasniti što je to varijabla. Varijabla je mjesto za privremeno pohranjivanje vrijednosti koje ćemo naknadno koristiti u programu, a imenujemo ih kako bismo ih lakše prepoznali. Prilikom imenovanja varijabli treba pripaziti na sljedeće:

  1. Ime varijable mora započeti slovom i ne smije se podudarati s ključnim riječima Small Basica poput If, For, Then i sl.
  2. Ime može biti sastavljeno od svih slova, znamenaka i donjih crtica.
  3. Može biti proizvoljne dužine i bilo bi poželjno da opisuje svoju namjeru, primjerice SumaBrojeva, PrviPribrojnik, AritmetičkaSredinaBrojeva i sl.

slika2.2Za razliku od većine drugih programskih jezika, u Small Basicu nije potrebno deklarirati varijable, već im je dovoljno samo postaviti vrijednost, a u imenima je dozvoljeno korištenje dijakritičkih znakova. Zgodno je i da će nakon imenovanja Small Basic prepoznati varijablu i kod njene iduće upotrebe ponuditi njen automatski upis u okviru Intellisense🙂. Stoga nemojte izbjegavati dulje nazive varijabli, ponekad je dobro da opišete namjenu varijable kako bi se i drugi korisnici lakše snašli u vašem programu.

 

Varijable na dohvatu ruke u pomoći koju pruža Intellisense

Pogledajte još jedan jednostavan primjer s upotrebom varijable za upis podataka, Primjer 2.2.

Napomenut ćemo da i kod ispisivanja sadržaja u tekstualnom okviru možemo proizvoljno kombinirati tekst i vrijednosti varijable. Prilikom uređivanja ispisa valja pripaziti na to da tekst koji želite ispisati navodite unutar navodnih znakova, dok je za ispis vrijednosti varijable dovoljno navesti njeno ime. Kombinirate li ispis teksta i varijable zajedno, za spajanje upotrijebite znak "+".

Osim s tekstom, u Small Basicu jednostavno radimo i s brojevima. Kao što smo u varijablu pohranjivali tekst, tako u nju možemo pohraniti i brojeve. Primjerice, želimo li zbrojiti brojeve 10 i 20, možemo jednostavno upisati:

zbroj = 10 + 20

TextWindow.WriteLine(zbroj)

No, varijable možemo upotrijebiti i na sljedeći način: najprije im pridružimo željenu vrijednost, a zatim ih koristimo prilikom zbrajanja:

prvi_pribrojnik = 10

drugi_pribrojnik = 20

zbroj = prvi_pribrojnik + drugi_pribrojnik

TextWindow.WriteLine(zbroj)

Uočite da u oba primjera brojevi nisu navedeni unutar navodnih znakova pa zaključujemo da su navodni znakovi potrebni samo kod ispisa teksta dok ih za brojeve ne trebamo. Nadalje, za računsku operaciju zbrajanja upotrijebili smo operator znak “+”. Slično tome, za oduzimanje ćemo upotrijebiti “-“, za množenje “*”, a za dijeljenje znak “/”.

Ovo su samo osnovne matematičke operacije. Nađete li se u situaciji da zatrebate neke složenije matematičke funkcije, potražite ih u klasi Math.

Napredne matematičke funkcije možete pronaći u klasi Mathslika2.3

Budući da smo upoznali osnovne računske operacije koje koristi Small Basic, pogledajmo kako ćemo upisati brojeve te ih pridružiti nekoj varijabli. Upotrijebit ćemo naredbu ReadNumber() koja čeka da korisnik upiše broj i pritisne tipku Enter. Ukoliko korisnik pokuša upisati neki znak koji nije znamenka, program ga neće prihvatiti kao ulaznu vrijednost varijable. S ovako postavljenim vrijednostima varijabli možete izvoditi sve osnovne i napredne matematičke operacije.

Kako izgleda program koji traži unos nekog broja te uneseni broj koristi u daljnjoj obradi, pogledajte u primjerima. Primjer 2.3 – Primjer 2.7.

slika2.4 
Primjer programa – unos brojčane vrijednosti

Naredbe grananja

 

Sigurno ste već čuli za priču o mački i mišu, odnosno problemu kako mačku, koja se nalazi u malom kavezu, preseliti u veći kavez u kojem stanuje miš, a da mačka ne pojede miša. Zvuči komplicirano? No, kao i svaki drugi problem, i ovaj je moguće riješiti. Potrebno je samo zadovoljiti jedan osnovni uvjet: mačka i miš ni u jednom se trenutku ne smiju naći zajedno u istom kavezu. Baš kao i u svakodnevnom životu, i u programima se neke stvari događaju samo ako se ispune postavljeni uvjeti.

Svi dosadašnji programi koje smo napisali u Small Basicu izvršavali su naredbe redom kojim su bile navedene. Za rješavanje većine problema to neće biti dovoljno. U programiranju, kao i u svakodnevnom životu, neke će se naredbe izvršiti samo ako se ispune zadani uvjeti.

Naredbe pomoću kojih možemo kontrolirati tijek programa su one za grananje programa. U Small Basicu za grananje programa koristimo naredbu IF i koristit ćemo je kada, ovisno o postavljenom uvjetu, trebamo izvršiti određenu naredbu ili određeni niz naredbi.

Small Basic nudi dva oblika If…Then naredbe. Prvi oblik naredbe If…Then je sljedeći:

If (uvjet) Then

naredbe

EndIf.

Zadani uvjet mora biti logičkog tipa i smješten unutar zagrada, dok je odgovor na postavljeni uvjet ili istinit ili lažan. Ukoliko je postavljeni uvjet istinit, izvršit će se naredbe koje slijede iza Then i nastavit će se izvršavanje prve naredbe koja slijedi iza naredbe If…Then. Ukoliko uvjet nije istinit, prelazi se na izvršavanje sljedeće programske naredbe. Napomenut ćemo da svaka If naredba obavezno završava ključnom riječi EndIf.

Ovaj oblik If naredbe grafički možemo prikazati ovako:

slika2.5 slika2.6 slika2.7
  Primjer jednostavne If …Then naredbe Primjer izlaznih rezultata

 

Pogledajmo kako to izgleda na primjeru programa za uspoređivanja dvaju brojeva. Program uspoređuje dva unesena broja, ispituje koji je od njih veći te ispisuje odgovarajuću poruku.

Kako bismo mogli uspoređivati brojeve, upotrijebit ćemo dvije varijable: prvi i drugi. Nakon što varijablama pridružimo vrijednosti, upotrijebit ćemo dvije If naredbe:

If (Prvi>Drugi) Then

TextWindow.WriteLine( Prvi +" > " +Drugi)

EndIf

If (Prvi < Drugi) Then

TextWindow.WriteLine(Prvi +" < " +Drugi)

EndIf

Prilikom ispitivanja uvjeta upotrijebili smo operatore uspoređivanja > i < . Ovo nisu jedini operatori jer, slično kao u matematici, u Small Basicu možemo upotrijebiti i ostale:

Operatori uspoređivanja    
Naziv Matematika Small Basic
Manje > >
Veće < <
Jednako = =
Veće ili jednako

>=
Manje ili jednako

<=
Različito

<>

 

Naredbu If…Then mnogo češće ćemo upotrebljavati u obliku If…Then…Else, odnosno:

If (uvjet) Then

naredba_1

Else

naredba_2

EndIf

U ovom obliku izvršava se naredba_1 ukoliko je postavljeni uvjet istinit, odnosno naredba_2 ako je postavljeni uvjet lažan. Grafički je možemo prikazati na sljedeći način:

slika2.8 slika2.9
  Primjer jedne If…Then…Else naredbe

 

Prethodni primjer možemo riješiti i pomoću jedne If…Then…Else naredbe na sljedeći način:

If (Prvi > Drugi) Then

     TextWindow.WriteLine( Prvi +" > " +Drugi)

Else

     TextWindow.WriteLine(Prvi +" < " +Drugi)

EndIf

Složena If naredba

 

Naš program ima jedan mali nedostatak. Što je s jednakim brojevima? Kako bismo riješili zadatak u potpunosti, morat ćemo provjeriti još jedan uvjet. No, umjesto da upotrijebimo još jednu zasebnu If naredbu, upotrijebit ćemo složeni If na sljedeći način:

If (prvi > drugi) Then

     TextWindow.WriteLine( prvi +" > " +drugi)

Else

     If (prvi < drugi) Then

          TextWindow.WriteLine(prvi +" < " +drugi)

     Else

          TextWindow.WriteLine(prvi +" = " +drugi)

     EndIf

EndIf

slika2.10 
Primjer je riješen pomoću složene If naredbe

Još nekoliko primjera upotrebe If naredbe potražite u primjerima (Primjer 2.8. do Primjer 2.15.).

Napomenut ćemo da su u primjerima objašnjene i još neke naredbe iz klase Math i klase Clock kao i upotreba logičkih operatora.

Rješenje problema selidbe mačke i miša iz uvodnog primjera pogledajte u sljedećoj prezentaciji.

O autoru Gordana Sokol

Diplomirani informatičar koji posljednjih šesnaest godina predaje informatiku u OŠ Tužno. Autorica sam niza udžbenika i zbirki iz informatike za osnovne i srednje škole. Autorica sam online tečaja "Logo – online učenje programiranja". Završila sam E-learning akademiju, smjer Tutoring.
Ovaj unos je objavljen u Nekategorizirano. Bookmarkirajte stalnu vezu.

Odgovori

Popunite niže tražene podatke ili kliknite na neku od ikona za prijavu:

WordPress.com Logo

Ovaj komentar pišete koristeći vaš WordPress.com račun. Odjava / Izmijeni )

Twitter picture

Ovaj komentar pišete koristeći vaš Twitter račun. Odjava / Izmijeni )

Facebook slika

Ovaj komentar pišete koristeći vaš Facebook račun. Odjava / Izmijeni )

Google+ photo

Ovaj komentar pišete koristeći vaš Google+ račun. Odjava / Izmijeni )

Spajanje na %s