Tako, zdaj pa se že lahko gremo »pravo« programiranje. Ena od osnovnih funkcij programiranja je stavek If-Then-Else, ki bo jo lahko prevedli v Če-Potem-Drugače. To pomeni, da če je neki pogoj izpolnjen, potem izvedemo eno operacijo, sicer pa drugo. Če bi recimo imeli programček, ki bi znal zaznati semafor, bi se tipičen stavek If glasil:

semafor="zelena"

If semafor="rdeča" Then
TextWindow.WriteLine("Stop!")
Else
TextWindow.WriteLine("Pojdi!")
EndIf

Najprej smo zapisali, da spremenljivka semafor vsebuje niz zelena. Nato vrstica stavka IF testira, ali je luč (spremenljivka semafor) rdeča. Če je, potem izpiše »Stop!«, če ni, pa »Pojdi!« (oboje brez narekovajev). V našem primeru je spremenljivka semafor postavljena na zelena, torej bo program izpisal Pojdi!. Vsak stavek If se mora nato končati z EndIf da program ve, da mora v nadaljevanju »ubogati« vse vrstice.
Drug zanimi način so tako imenovane zanke (loops). Večkrat se namreč zgodi, da moramo izvesti ponavljajoča se opravila. Vzemimo primer, ko bi radi za vsa števila od 1 do 20 zapisali njihovo dvakratno vrednost. Za število 1 torej 2, za 2 špevilo 4 in tako naprej. Programček, ki to naredi, se glasi:

For i=1 To 20
TextWindow.WriteLine(i*2)
EndFor

Prva vrstica pove, naj se naslednja operacija ponovi 20-krat, sledi ukaz, kjer naj se vzame zaporedno število (i), se množi z 2 in izpiše. Zadeva se ponavlja, dokler i ne doseže vrednosti 20, izpisovala pa se bodo števila 2, 4, 6, 8 in tako naprej do 40.
Zankanje pride prav tudi pri delu s polji, saj omogoča hiter dostop do spremenljivk, določenih v njih. Vzemimo polje mesecev, ki smo ga določili v enem od prejšnjih primerov, torej:

Mesec[1]="Januar"
Mesec[2]="Februar"
Mesec[3]="Marec"
Mesec[4]="April"
Mesec[5]="Maj"

… in tako naprej. Če zdaj na koncu tega polja dodamo vrstice:

For i=1 To 12
TextWindow.WriteLine(Mesec[i])
EndFor

Dobimo programček, ki bo izpisal vse mesece v letu. Zanka se bo namreč izvedla 12-krat, kot je to določeno v prvi vrstici, vsakič pa se bo izpisal mesec, ki ustreza tej zaporedni številki. Če ne vemo, kako veliko je polje (pri mesecih sicer vemo, pri kakšnih drugih podatkih pa ni nujno), pa lahko prvo vrstico spremenimo celo tako, da uporabimo ukaz:

For i=1 To Array.GetItemCount(Mesec)
TextWindow.WriteLine(Mesec[i])
EndFor

Namesto da vnaprej določimo, da polje Mesec vsebuje 12 elementov, lahko uporabimo funkcijo Array.GetItemCount( ), ki bo to sama odkrila. Array pomeni, naj preišče polje, GetItemCount pomeni, naj ugotovi število elementov, v Mesec pa, da gre za polje s tem imenom.

No, pa naj bo za zdaj teorije dovolj. Če boste želeli, lahko z zadevo nadaljujemo. Ker pa je pisanje lastnih programov lahko dolgočasno, si lahko tudi ogledate, kaj so naredili drugi. Zelo zanimiva je na primer stran http://tinyurl.com/65yohbr, kjer najdemo kopico programov, napisanih v Small Basicu. Zanimivi so predvsem zato, ker gre za nekakšen »natečaj«, kjer programi ne smejo biti daljši od 25 vrstic, kar je zelo malo. Kljub temu pa je nastalo kar nekaj zanimivih stvaritev. Te programe lahko preizkusite tako, da v Small Basicu izberete ukaz Import, v okno, ki se odpre, pa vnesete številko programa, ki jo najdete na omenjeni spletni strani. Poleg tega, da je mogoče vse te programe zagnati, je mogoče tudi videti izvorno kodo, torej videti, kako so narejeni. Tako se lahko naučite še kaj več. Veliko programov, različne izzive in rešitve najdete tudi v forumu in še kje, nekaj zanimivih povezav pa smo zbral tudi mi.


Zanimive povezave:
Osnovna stran Small Basic: http://smallbasic.com/
Forum Small Basic: http://tinyurl.com/6cyo358
Kratki programi, napisani v Small Basicu: http://tinyurl.com/65yohbr
Small Basic Wiki: http://tinyurl.com/6lxt66n

Moj mikro, oktober 2011 | Miha Gradišnik |