Small Basic

Small Basic je programski jezik koji programiranje čini jednostavnim i zabavnim za početnike, a zbog činjenice da je objektno orijentiran i objektno pisan, uvelike olakšava kasniji prijelaz na naprednije programske jezike.

Programiranje je postupak stvaranje računalnog programa pomoću odgovarajućeg programskog jezika.

Program je skup naredbi računalu.

Small Basic možete besplatno preuzeti ovdje.

 

Radno okruženje

1. Uređivač – služi za pisanje programa u Small Basicu. Moguće je otvoriti i više uređivača istovremeno.

2. Alatna traka – omogućuje upućivanje naredbi aktivnom uređivaču ili okruženju.

3. Površina – nalaze se prozori uređivača.

 

Pa krenimo …

Zadatak 1. Napišimo program koji će ispisati „Dobro došli u svijet programiranja!“.

TextWindow.Writeline (“Dobro došli u svijet programiranja!”)

Objasnimo ovaj program:

TextWindow – je objekat u kojem će se nalaziti rezultat naredbe (crni prozor), u ovom slučaju „Dobro došli u svijet programiranja!“

WriteLine – naredba kojom se ispisuje neki tekst zadan unutar navodnika, a potom se pokazivač premješta u novi red. Postoji i naredba Write, ali pokazivač nakon ispisa teksta ostaje u istom redu iza posljednjeg ispisanog znaka.

„Dobro došli u svijet programiranja!“ – tekst odnosno skup znakova koji se nalaze u argumentu naredbe WriteLine, to jest, onaj tekst koji će biti ispisan.

 

Ukoliko tekst želimo pobojati napišemo slijedeći red:

TextWindow.ForegroundColor = “Yellow”

Popis boja:

Black Green Yellow DarkGreen
Blue Magenta DarkBlue DarkMagenta
Cyan Red DarkCyan DarkRed
Gray White DarkGray DarkYellow

 

Varijable

Varijable su mjesta za privremeno pohranjivanje vrijednosti za naknadnu upotrebu.

 

Primjer.

ime =“Tomislav”
starost = 14

 

Neka pravila za imenovanje varijabli

1. Ime varijable mora početi sa slovom i ne smije se poklapati s imenima ključnih riječi kao što su if, while, for, …

2. Ime može biti kombinacija slova, brojki  i znaka “_”.

3. Imena bi trebala biti smislena, odnosno da opisuju vrijednost varijable koju privremeno pohranjujemo.

 

Zadatak 2. Napišimo program koji će ispisati “Dobar dan”  popraćeno korisnikovim imenom (npr. Dobar dan Gordana)

TextWindow.Writeline(“Unesite svoje ime: “)
ime = TextWindow.Read()
TextWindow.WriteLine(“Dobar dan “ + ime)

Analiza programa:

Prva linija (TextWindow.Writeline(“Unesite Vaše ime : ”))  ispisuje rečenicu “Unesite Vaše ime”.

U drugoj liniji (ime = TextWindow.Read()) se pojavljuje varijabla ime i naredba  dodijeljivanja “=”. Read je operacija koja u osnovi naređuje računalu da pričeka da korisnik nešto upiše i pritisne tipku ENTER. Kada korisnik pritisne tipku ENTER, ta operacija vraća programu ono što je korisnik upisao. Važno je napomenuti da se ono što korisnik upiše sada pohranjuje u varijablu ime.

U trećoj liniji ispisuje se “Dobar dan” i pridružuje se vrijednost iz varijable ime. Pridruživanje se omogućuje pomoću znaka “+”.

 

Brojevi

Osnovne operacije sa brojevima su zbrajanje, oduzimanje, množenje i dijeljenje, a njihove oznake u Small Basic-u su redom “+”, “-”, “*” i “/”.

 

Zadatak 3. Napiši program koji će zbrojiti broj 10 i 20.

broj1 = 10
broj2 = 20
zbroj = broj1 + broj2
TextWindow.WriteLine(zbroj)

U prvom se retku programa varijabli broj1 dodjeljuje vrijednost 10, a u sljedećem vrijednost 20. U trećem se retku zbrajaju broj1 i broj2, a zatim se rezultat zbrajanja dodjeljuje varijabli zbroj. U ovom slučaju varijabla zbroj ima vrijednost 30 i  ta se vrijednost prikazuje u prozoru za tekst (TextWindow).

Napomena: Navodnici nisu potrebni za brojeve, već samo za tekst.

 

Zadatci za vježbu.

1. Napiši program koji će učitati varijablu stranice i izračunati opseg i površinu kvadrata. Spremi program pod imenom “kvadrat”.

2. Napiši program koji će učitati duljinu dviju stranica i izračunati opseg i površinu pravokutnika. Spremi program pod imenom “pravokutnik”.

3. Napiši program koji će učitati duljinu polumjera kruga i izračunati opseg (2*r*3.14) i površinu (r*r*3.14) kruga.  Spremi program pod imenom “polumjer kruga”.

4. Napišite program za pretvorbu temperaturnih jedinica. Formula glasi: °C= 5* (°F – 32) / 9

 

Uvjeti i grananje

If-Then-Else-EndIf

Zadatak 4. Napišimo program koji će napisati “Dobro jutro” ili “Dobro veče” ovisno o dobu dana.

If (Clock.Hour < 12) Then
TextWindow.WriteLine(“Dobro jutro”)
EndIf
If (Clock.Hour >= 12) Then
TextWindow.WriteLine(“Dobro veče”)
EndIf

Prvi redak naređuje računalu da prikaže tekst “Dobro jutro” ako je vrijednost svojstva Clock.Hour manja od 12.

If (uvjet npr. Clock.Hour < 12) then
naredbe
Endif (ova riječ obavještava da je uvjetno izvršavanje gotovo)

Objekt Clock omogućuje pristup datumu i vremenu. Nudi i brojna svojstva pomoću kojih možete dobiti zasebne podatke o danu, mjesecu, godini, satu, minutama i sekundama.

Prethodni zadatak možemo i zapisati i pomoću naredbe else jer je drugi uvjet suvišan. Vrijednost svojstva Clock.Hour može biti manja ili veća od 12, pa druga provjera uopće nije potrebna.

If (Clock.Hour < 12) Then
TextWindow.WriteLine(“Good Morning World”)
Else
TextWindow.WriteLine(“Good Evening World”)
EndIf

Zadatak 5. Napišimo program koji utvrđuje je li uneseni broj paran ili neparan.

TextWindow.Write(“Broj je: “)
x = TextWindow.ReadNumber()
ostatak = Math.Remainder(x,2)
If (ostatak = 0) Then
TextWindow.WriteLine(“Broj je paran”)
Else
TextWindow.WriteLine(“Broj je neparan”)
EndIf

Math.Remainder dijeli prvi broj s drugim, a zatim vraća ostatak.

 

Grananje

Napišimo program:

i = 1
start:
TextWindow.WriteLine(i)
i = i + 1
If (i < 25) Then
Goto start
EndIf

U prvom retku smo varijabli i dodijelili vrijednost 1, a zatim smo dodali oznaku. Ime oznakama dodijeljujemo sami, a u programu možemo dodati koliko god oznaka želimo ukoliko se nazivi međusobno razlikuju.

Iskaz i = i + 1 naređuje računalu da vrijednost varijable i poveća za 1 i rezultat ponovno dodijeli varijabli i. Dakle, ako je vrijednost varijable i prije izvođenja ovog iskaza bila 1, nakon njegova izvođenja bit će 2 .

If (i < 25) Then
Goto start
EndIf

Ovaj dio programa izvršava naredbe od oznake start ako je vrijednost varijable i manja od 25.

Iskaz Goto naređuje računalu da neku radnju ponovi određeni broj puta.

Beskonačno izvođenje programa:

pocetak:
TextWindow.Write(“Broj je: “)
x = TextWindow.ReadNumber()
ostatak = Math.Remainder(x,2)
If (ostatak = 0) Then
TextWindow.WriteLine(“Broj je paran”)
Else
TextWindow.WriteLine(“Broj je neparan”)
EndIf
Goto pocetak

Izvođenje programa možete prekinuti klikom na gumb za zatvaranje (X) u gornjem desnom kutu prozora.

 

Petlja For

Napišimo program:

For i = 1 To 24
TextWindow.WriteLine(i)
EndFor

Pomoću petlje varijabli možete dodijeliti početnu i završnu vrijednost te postići da računalo povećava vrijednost varijable umjesto vas. Svaki put kada poveća vrijednost varijable, računalo izvršava iskaze između riječi For i riječi EndFor.

For i = 1 To 24 Step 2
TextWindow.WriteLine(i)
EndFor

Step 2 naređuje računalu da vrijednost varijable i povećava za 2 umjesto za uobičajenu vrijednost 1. Također možemo i brojiti unatrag tako da vedemo negativnu vrijednost (Step -1).

 

Petlja While

Petlja While se koristi za uzastopno ponavljanje jednog izraza tako dugo dok nije ispunjen određeni uvjet. U donjem primjeru se broj dijeli s 2 dok god je rezultat veći od 1.

broj = 100
While (broj > 1)
TextWindow.WriteLine(broj)
broj= broj / 2
EndWhile

Objasnimo program:

Varijabli broj se dodjeljuje vrijednost 100, a petlja while izvodi se dok god je vrijednost varijable broj veća od 1. Unutar petlje prikazuju se brojevi (TextWindow.WriteLine(broj) ), a zatim se dijele s 2.

 

Grafika

U Small Basicu imamo i mogućnost crtanja, ali nam za to treba prozor za grafiku.

GraphicsWindow.Show()

Kada pokrenemo ovaj program, pojavit će se bijeli prozor. Taj prozor možemo zatvoriti klikom na gumb “X” u njegovom gornjem desnom kutu.

Možemo mijenjati izgled prozora – naslov, pozadinu i veličinu.

GraphicsWindow.BackgroundColor = “Yellow” (boja pozadine je žuta)
GraphicsWindow.Title = “Prozor u Small Basicu”
GraphicsWindow.Width = 320 (širina prozora 320)
GraphicsWindow.Height = 200 (visina prozora 200)
GraphicsWindow.Show()

 

Napišimo program koji crta dvije crte u obliku slova X.

GraphicsWindow.Width = 200
GraphicsWindow.Height = 200
GraphicsWindow.DrawLine(10, 10, 100, 100)
GraphicsWindow.DrawLine(10, 100, 100, 10)

Drawline (Xpoc, ypoc, xzav, yzav)

U naredbi DrawLine prva dva broja određuju koordinate x i y početne točke crte, a druga dva koordinate x i y završne točke crte.

Napomena. Kordinate (0,0) odnose se na točku u gornjem lijevom kutu prozora

GraphicsWindow.PenWidth = 10
GraphicsWindow.PenColor = “Green”

 Ovim naredbama mijenjamo svojstva crte, njezinu debljinu i boju.

Zadatak 6. Napišimo program koji crta više crta povećavajući debljinu olovke za svaku sljedeću crtu.

GraphicsWindow.BackgroundColor = “Black”
GraphicsWindow.Width = 200
GraphicsWindow.Height = 160
GraphicsWindow.PenColor = “Blue”
For i = 1 To 10 GraphicsWindow.PenWidth = i
GraphicsWindow.DrawLine(20, i * 15, 180, i * 15)
endfor

Zadatak 7. Nacrtajmo dva pravokutnika – jedan se crta crvenom olovkom, a drugi se ispunjava zelenim kistom.

GraphicsWindow.Width = 400
GraphicsWindow.Height = 300
GraphicsWindow.PenColor = “Red”
GraphicsWindow.DrawRectangle(20, 20, 300, 60)
GraphicsWindow.BrushColor = “Green”
GraphicsWindow.FillRectangle(60, 100, 300, 60)

DrawRectangle (x, y, širina, visina)

Prva dva broja predstavljaju koordinate X i Y gornjeg lijevog kuta pravokutnika. Treći broj određuje širinu pravokutnika, a četvrti njegovu visinu.

Naredba za crtanje elipse je:

GraphicsWindow.DrawEllipse(20, 20, 300, 60)

Odgovori