Professional Documents
Culture Documents
OSNOVNI POJMOVI
QBasic je vrlo jednostavan programski jezik ije se naredbe piu engleskim jezikom.
Pripada strukturalnim programskim jezicima i pri pisanju programa postoji nekakav slijed.
Naredbe se piu jedna ispod druge, onim redom kako elimo da ih raunalo izvrava.
Rije BASIC nastala je od poetnih slova rijei "Beginner's All-purpose Symbolic Instruction Code" (poetniki vienamjenski simboliki
programski kod).
RALANJIVANJE ZADATKA
U programiranju je vrlo vana sposobnost ralanjivanja zadatka. Ralanjivanjem zadatka na osnovne dijelove lake emo ga prevesti na programski
jezik. Evo primjera:
Zadatak:
Napii program koji e obrisati ekran, ispisati poruku "Dobar dan", priekati 3
sekunde, zatim ispisati poruku "Ja sam tvoj prvi program", opet priekati 3 sekunde,
zatim ispisati poruku "Dovienja" i nakon 3 sekunde obrisati ekran i zavriti s
radom.
Da bi ovo lake preveli na programski jezik, trebamo ralaniti pojedine korake:
RALANJIVANJE ZADATKA:
- obrii ekran
CLS
- priekaj 3 sekunde
SLEEP 3
- priekaj 3 sekunde
SLEEP 3
- ispii DOVIENJA
PRINT "Dovienja"
- priekaj 3 sekunde
SLEEP 3
- obrii ekran
CLS
- zavri s radom
END
Evo, ve smo nauili i neke naredbe programskog jezika QuickBasica (CLS, PRINT, SLEEP, END).
Treba jo nauiti kako ovaj programski kod upisati u editor QuickBasica i pokrenuti program...
Home
End
Ctrl + Home
Ctrl + End
Break
Alt + End
Shift + F5
F8
CLS
PRINT
SLEEP
PRINT
SLEEP
PRINT
SLEEP
CLS
END
"Dobar dan"
3
"Ja sam tvoj prvi program"
3
"Dovienja"
3
SPREMANJE PROGRAMA
UITAVANJE PROGRAMA
2.
UKRATKO O VARIJABLAMA
U PROGRAMIRANJU
U MATEMATICI
brojane
tekstualne
x=7
y=5
z=x+y
x=7
y=5
z=x+y
a$ = "dobar"
b$ = "dan"
c$ = a$ + b$
Rezultat: z=12
Rezultat: z=12
c$="dobar dan"
BROJANE VARIJABLE
MATEMATIKE OPERACIJE
MATEMATIKI OPERATORI:
VRSTA
Simbol
INTEGER
LONG
SINGLE
DOUBLE
&
!
#
Obuhvaa
Simbol
ZNAENJE
dijeljenje
mnoenje
Veliina
cijeli brojevi
-32.768
do +32.767
cijeli brojevi
-2.147.483.648
do +2,147,483,647
decimalni
brojevi
decimalni
brojevi
zbrajanje
oduzimanje
dijeljenje
(vraa Integer)
potenciranje
(npr: 5 ^ 3 = 125)
Mod
ostatak dijeljenja
(npr: 10 Mod 3 = 1)
PRIORITET RAUNANJA:
Primjer:
A% = 6
B% = 12
PRINT A% + B% / 2
Rezultat:
KORITENJE ZAGRADA:
Primjer:
A! = 5.5
B! = 12.5
PRINT (A! + B!) / 2
Rezultat:
TEKSTUALNE VARIJABLE
ime$ = "Ana"
prez$ = "Ani"
naziv$ = ime$ + " " + prez$
PRINT naziv$
Rezultat:
Ana Ani
Njih moemo samo spajati i to koristei znak plus (+). Dakle, nad njima
ne moemo obavljati raunske operacije ak ni onda kada sadre brojeve!
Tekstualne varijable iza naziva imaju znak $.
On nam govori da se radi o varijabli s tekstom.
KONSTANTE
3.
OBJANJENJE
Od korisnika programa esto moramo zatraiti podatke koje na program treba obraditi.
Na primjer da upie neka dva broja koja e program zbrojiti i rezultat ispisati na ekranu.
Zato moramo imati mogunost prihvata podataka - za to nam slui naredba INPUT.
PROGRAMSKI KOD
REZULTAT NA EKRANU
CLS
PRINT "ZBRAJANJE"
INPUT "Upii prvi broj:", x
INPUT "Upii drugi broj:", y
z=x+y
PRINT "Zbroj iznosi:", z
END
'brie ekran
ZBRAJANJE
Upii prvi broj: 10
Upii drugi broj: 15
'z = 10 + 15
Zbroj iznosi: 25
'kraj programa
ZADATAK: Prihvati od korisnika ime i mjesto stanovanja te ispii neku pozdravnu poruku.
PROGRAMSKI KOD
REZULTAT NA EKRANU
CLS
INPUT "Upii svoje ime:", a$
INPUT "Gdje stanuje?", b$
PRINT "Dobar dan, " + a$
PRINT b$ + " je lijepo mjesto!"
END
'brie ekran
Upii svoje ime: Marko
Gdje stanuje? Bjelovar
Dobar dan, Marko
Bjelovar je lijepo mjesto!
'kraj programa
4.
JEDNODIMENZIONALNI NIZ
1. kolona
1. stavka
Ivan
2. stavka
Maja
3. stavka
Ante
x$(1) = "Ivan"
x$(2) = "Maja"
x$(3) = "Ante"
NAREDBA
NAREDBA
FOR i = 1 TO 3
PRINT x$(i)
NEXT i
Ivan
Maja
Ante
VIEDIMENZIONALNI NIZ
Zamislimo sada popis od tri uenika u kojem osim imena imamo i neku
ocjenu, kao na slici desno.
Za takav niz kaemo da ima tri stavke (Ivan-4, Maja-5 i Ante-3) i ima
dvije dimenzije (dvije kolone: imena i ocjene).
1. kolona
1. stavka
2. stavka
3. stavka
2. kolona
Ivan
Maja
Ante
x$(1,1) = "Ivan"
x$(1,2) = "4"
x$(2,1) = "Maja"
x$(2,2) = "5"
x$(3,1) = "Ante"
x$(3,2) = "5"
NAREDBA
Ivan 4
Maja 5
Ante 3
NAREDBA
FOR i = 1 TO 3
PRINT x$(i,1); x$(i,2)
NEXT i
Ivan 4
Maja 5
Ante 3
5.
OBJANJENJE
Pomou naredbe OPEN moemo formirati datoteku i u nju upisivati ili iz nje itati upisane podatke. Na taj nain moemo spremiti podatke kao to su
popisi, tekstovi ili drugi odgovori korisnika te ih kasnije uitati iz datoteke u cilju prikaza izvjea ili dodatne obrade.
Vano je napomenuti da svaku otvorenu datoteku na kraju rada treba zatvoriti naredbom CLOSE kao i to da se svaka datoteka otvara pod jedinstvenim
brojem (#1, #2, #3...) koji se definira u naredbi OPEN i zatim koristi u naredbama WRITE i CLOSE.
Ako elimo stvoriti novu (praznu) datoteku i upisati podatke u nju, onda datoteku otvaramo za izlaz/upis (FOR OUTPUT), kao u primjeru:
PROGRAMSKI KOD
OBJANJENJE
Gornji primjer otvara datoteku za upis i zatim vrti DO...LOOP petlju unutar koje od korisnika prihvaa jedno po jedno ime i ocjenu (INPUT) i upisuje to
u datoteku (WRITE) sve dok korisnik umjesto imena ne upie rije "kraj". Kada korisnik umjesto imena upie rije "kraj", petlja se prekida i datoteka
se zatvara.
Ako podatke elimo dopisati u ve postojeu datoteku, onda datoteku otvaramo za dodavanje (FOR APPEND), kao u primjeru (ako datoteka ne postoji,
APPEND e formirati novu datoteku!):
PROGRAMSKI KOD
OBJANJENJE
ITANJE IZ DATOTEKE
Ako elimo uitati podatke iz neke datoteke koju smo prethodno formirali, onda datoteku otvaramo za ulaz/itanje (FOR INPUT), kao u primjeru (ako
datoteka ne postoji, pokuaj INPUT e rezultirati grekom!):
PROGRAMSKI KOD
OBJANJENJE
Gornji primjer otvara datoteku za itanje i zatim vrti DO...LOOP petlju unutar koje prihvaa redom jedno po jedno ime i ocjenu iz datoteke (INPUT) i
ispisuje te podatke na ekran (PRINT) sve dok ne doe do kraja datoteke (EOF). Kada doe do kraja datoteke, petlja se prekida i datoteka se zatvara
(CLOSE).
Pri itanju iz datoteke treba voditi rauna o tome kojim su redom i kojeg su tipa podaci u datoteku upisivani i adekvatno tome definirati varijable za
prihvat tih podataka u INPUT, jer u suprotnom podaci nee biti ispravno uitani ili e doi do greke!
VANO: Ako datoteka "spisak.txt" ne postoji, program e rezultirati grekom!
Zato je dobro na poetak gornjeg programa dodati rutinu koja e to izbjei:
OPEN "spisak.txt" FOR APPEND AS #1 : CLOSE #1
Time osiguravamo da e se datoteka automatski formirati ukoliko ne postoji a ako postoji onda e se samo na kratko otvoriti i odmah zatvoriti
(CLOSE), bez izmjene. Dodue, ako datoteka ne postoji formirat e se prazna datoteka ali zato pokuaj otvaranja s INPUT nee rezultirati grekom!
6.
OBJANJENJE
RANDOMIZE n
je iskaz za ukljuenje generatora sluajnih brojeva, gdje je n cijeli broj (sjeme za generiranje brojeva).
Generator u praksi najee ukljuujemo sa:
RANDOMIZE Timer
gdje je Timer funkcija koja nam vraa broj sekundi proteklih od poetka dana...
RND
ZADATAK:
PROGRAMSKI KOD
OBJANJENJE PROGRAMA
'komentar programera
'brie ekran
'ukljuenje generatora sluajnih brojeva
'programska petlja sa 6 ponavljanja
'ispis sluajnog broja (izmeu 1 i 45)
INT - pretvara decimalni broj u cijeli broj
RND*44 - generira broj izmeu 0 i 44
+1 - da se izbjegne 0 ako RND vrati 0
ZADATAK:
PROGRAMSKI KOD
Napii program koji generira dva sluajna broja i korisniku postavlja zadatak da izrauna umnoak ta dva broja.
Nakon to korisnik upie rezultat, program e provjeriti da li je rezultat ispravan i o tome obavijestiti korisnika. Ako
korisnik kao rezultat upie "999", program zavrava s radom.
OBJANJENJE PROGRAMA
CLS
PRINT "Program za vjebu mnoenja"
PRINT "------------------------------------"
RANDOMIZE Timer
DO
a = INT(RND * 10)
b = INT(RND * 10)
c=a*b
PRINT a; "*"; b; "=";
INPUT " ", odgovor
IF odgovor = c THEN
PRINT "Tono!"
ELSE
PRINT "Netono!"
ENDIF
LOOP WHILE odgovor <> 999
END
'brie ekran
'ispis poruke korisniku programa
'ispis obine iscrtkane linije (znak "-")
'ukljuenje generatora sluajnih brojeva
'poetak DO...LOOP programske petlje
'generiranje prvog sluajnog broja (izmeu 1 i 10)
'generiranje drugog sluajnog broja (izmeu 1 i 10)
'izraun tonog odgovora za kasniju provjeru
'ispis upita (prvi broj * drugi broj =)
'prihvat odgovora korisnika u varijablu odgovor
'ako je odgovor = c (korisnik tono izraunao)
'
ispii na ekran "Tono!"
'ako je odgovor <> c (korisnik netono izraunao)
'
ispii na ekran "Netono!"
'kraj logike provjere
'vrti petlju sve dok je odgovor razliit od 999
'kraj programa
7.
OBJANJENJE
Logiku provjeru uvjeta obavljamo kroz IF ... END IF strukturu koja izgleda ovako:
IF uvjet1 THEN
iskazi koji se trebaju izvriti ako je uvjet1 istinit
ELSEIF uvjet2 THEN
iskazi koji se trebaju izvriti ako je uvjet2 istinit
ELSEIF uvjet3 THEN
iskazi koji se trebaju izvriti ako je uvjet3 istinit
ELSE
iskazi koji se trebaju izvriti ako ni uvjet1 ni uvjet2 ni uvjet3 nisu istiniti
END IF
RELACIJSKI OPERATORI
U logikoj provjeri za usporedbu varijabli koristimo relacijske operatore koji
su nam poznati iz matematike i imaju ista znaenja (vidi desno).
OPERATOR
OBJANJENJE
>
vee
<
manje
jednako
<>
razliito
>=
<=
LOGIKI OPERATORI
Ako istovremeno provjeravamo vie uvjeta onda moramo koristiti logike operatore
AND (logiko I), OR (logiko ILI) i NOT (logiko NE) kojima te uvjete povezujemo.
Donja tablica prikazuje u kojim sluajevima logiki operatori vraaju TRUE i FALSE:
AND
(logiko I)
OR
(logiko ILI)
NOT
(logiko NE)
VRAA
ako su oba
uvjeta TRUE
ako je jedan
uvjet TRUE
ako je uvjet
FALSE
TRUE
(logiku ISTINU)
ako je jedan
uvjet FALSE
ako su oba
uvjeta FALSE
ako je uvjet
TRUE
FALSE
(logiku LA)
OBJANJENJE
'komentar
'obrii ekran
'prihvat prvog broja u varijablu a
'prihvat drugog broja u varijablu b
'ako je a vee od b tada...
'... ispii da je prvi broj vei
'ako je a manje od b tada...
'... ispii da je drugi broj vei
'ako nije niti jedno od gornjeg...
'... ispii da su brojevi jednaki
'kraj logike provjere
'kraj programa
PROGRAMSKI KOD
OBJANJENJE
'komentar
'prihvat broja u varijablu x
'ako je broj manji od 5 ili vei od 10 tada...
'... ispii da je upis neispravan
'u suprotnom (broj je izmeu 5 i 10)...
'... ispii da je upis ispravan
'kraj logike provjere
PROGRAMSKI KOD
OBJANJENJE
'komentar
'prihvat prvog broja u varijablu a
'prihvat drugog broja u varijablu b
'prihvat treeg broja u varijablu b
'ako je a vee od b i a vee od c tada...
'... ispii da je prvi broj najvei
'ako je b vee od a i b vee od c tada...
'... ispii da je drugi broj najvei
'ako je c vee od a i c vee od b tada...
'... ispii da je trei broj najvei
'ako je a jednako b i a vee od c tada...
'... ispii da su prvi i drugi broj najvei
'ako je b jednako c i b vee od a tada...
'... ispii da su drugi i trei broj najvei
'ako je c jednako a i c vee od b tada...
'... ispii da su prvi i trei broj najvei
'ako nije niti jedno od gornjeg...
'... ispii da su brojevi jednaki
'kraj logike provjere
8.
OBJANJENJE
U programiranju esto imamo potrebu pretvaranja i izdvajanja podataka.
Quick Basic za to ima nekoliko ugraenih funkcija koje su ovdje opisane.
PRETVARANJE PODATAKA
FUNKCIJA
OBJANJENJE
PRIMJER
REZULTAT
UCase$()
? UCase$("Ana")
LCase$()
? LCase$("Ana")
"ana"
? STR$(100)
"100"
VAL()
? VAL("100")
? VAL("12abc")
? VAL("abc12")
INT()
? INT(4.15)
? INT(4.99)
4
4
CINT()
? CINT(4.50)
? CINT(4.51)
4
5
ABS()
? ABS(-111.11)
? ABS(+222.22)
SQR()
? SQR(9)
? SQR(25)
STR$()
"ANA"
100
12
0
111.11
222.22
3
5
* Kada broj pretvorimo u znakovni izraz, s njim vie ne moemo obavljati raunske operacije
** Kada neki znakovni izraz pretvorimo u broj, s njim moemo obavljati raunske operacije.
Primjer pretvaranja upisanog imena u velika slova, bez obzira kako ga je korisnik upisao:
PROGRAMSKI KOD
OBJANJENJE
'komentar
'brisanje ekrana
'prihvat imena u varijablu a$
'pretvaranje imena u velika slova
'ispii poruku "Tvoje ime je ..."
'kraj programa
PROGRAMSKI KOD
OBJANJENJE
'komentar
'brisanje ekrana
'prihvat broja u varijablu x
'izraun kvadratnog korijena od x
'ispii kvadratni korijen
'kraj programa
IZDVAJANJE PODATAKA
FUNKCIJA
OBJANJENJE
PRIMJER
REZULTAT
MID$()
? MID$("Anamarija",4,6)
INSTR()
? INSTR("Mislav","lav")
? INSTR("Mislav","zec")
4
0
LEN()
? LEN("Anamarija")
LEFT$()
? LEFT$("Anamarija",3")
RIGHT$()
? RIGHT$("Anamarija",6")
LTRIM$()
? LTRIM$("
Ana")
"marija"
"Ana"
"marija"
"Ana"
RTRIM$()
? RTRIM$("Ana
SPACE$()
FOR i = 1 TO 3
? SPACE$(i); "X"
NEXT i
SWAP
")
a$ = "Ana" : e$ = "Edo"
PRINT a$, e$
SWAP a$, e$
PRINT a$, e$
"Ana"
X
X
X
Ana Edo
Edo Ana
PROGRAMSKI KOD
OBJANJENJE
'komentar
'brisanje ekrana
'prihvat rijei u varijablu a$
'izdvajanje prvog slova iz a$
'izdvajanje zadnjeg slova iz a$
'utvrivanje ukupnog broja slova u a$
'ispis prvog slova
'ispis zadnjeg slova
'ispis ukupnog broja slova
'kraj programa
9.
OBJANJENJE
Programske petlje su strukture koje "vrte u krug" neki dio programskog koda, sve dok se ne ispuni zadani uvjet. Najpoznatija programska petlja je
FOR ... NEXT ali postoje i druge, kao to su DO ... LOOP i WHILE ... WEND.
FOR
x
poetak petlje
proizvoljan naziv varijable
n1
n2
STEP n
NEXT
* Varijabla x se prolaskom kroz petlju automatski poveava za 1 ako nije naveden korak (STEP).
* Ako je naveden korak (STEP) varijabla x se prolaskom kroz petlju poveava za vrijednost n.
* NEXT vraa izvrenje na poetak petlje (FOR), sve dok x ne dosegne maksimalnu vrijednost (n2).
Primjer ispisa rastueg niza brojeva od 1 do 5:
PROGRAMSKI KOD
OBJANJENJE
FOR i = 1 TO 5
PRINT i;
NEXT i
Rezultat: 1 2 3 4 5
PROGRAMSKI KOD
OBJANJENJE
FOR i = 1 TO 10 STEP 2
PRINT i;
NEXT i
Rezultat: 1 3 5 7 9
PROGRAMSKI KOD
OBJANJENJE
FOR i = 10 TO 5 STEP -1
PRINT i;
NEXT i
Rezultat: 10 9 8 7 6 5
Dok je FOR...NEXT petlja pogodna za analizu brojanih podataka, DO...LOOP petljom moete analizirati bilo koju vrstu podataka.
Primjer ispisa rastueg niza brojeva od 1 do 4:
PROGRAMSKI KOD
OBJANJENJE
x=1
DO WHILE x < 5
PRINT x;
x=x+1
LOOP
Rezultat: 1 2 3 4
PROGRAMSKI KOD
OBJANJENJE
'komentar
'brisanje ekrana
'definiranje eljene ifre u varijabli sifra$
'poetak petlje
'prihvat ifre od korisnika u varijablu s$
'kraj petlje i provjera ispravnosti ifre
'(ako je ifra ispravna program nastavlja
'ispod LOOP a ako nije vraa se na DO)
10.
OBJANJENJE
Programske petlje su strukture koje "vrte u krug" neki dio programskog koda, sve dok se ne ispuni zadani uvjet. Najpoznatija programska petlja je
FOR ... NEXT ali postoje i druge, kao to su DO ... LOOP i WHILE ... WEND.
FOR
x
poetak petlje
proizvoljan naziv varijable
n1
n2
STEP n
NEXT
* Varijabla x se prolaskom kroz petlju automatski poveava za 1 ako nije naveden korak (STEP).
* Ako je naveden korak (STEP) varijabla x se prolaskom kroz petlju poveava za vrijednost n.
* NEXT vraa izvrenje na poetak petlje (FOR), sve dok x ne dosegne maksimalnu vrijednost (n2).
Primjer ispisa rastueg niza brojeva od 1 do 5:
PROGRAMSKI KOD
OBJANJENJE
FOR i = 1 TO 5
PRINT i;
NEXT i
Rezultat: 1 2 3 4 5
PROGRAMSKI KOD
OBJANJENJE
FOR i = 1 TO 10 STEP 2
PRINT i;
NEXT i
Rezultat: 1 3 5 7 9
PROGRAMSKI KOD
OBJANJENJE
FOR i = 10 TO 5 STEP -1
PRINT i;
NEXT i
Rezultat: 10 9 8 7 6 5
Dok je FOR...NEXT petlja pogodna za analizu brojanih podataka, DO...LOOP petljom moete analizirati bilo koju vrstu podataka.
Primjer ispisa rastueg niza brojeva od 1 do 4:
PROGRAMSKI KOD
OBJANJENJE
x=1
DO WHILE x < 5
PRINT x;
x=x+1
LOOP
Rezultat: 1 2 3 4
PROGRAMSKI KOD
OBJANJENJE
'komentar
'brisanje ekrana
'definiranje eljene ifre u varijabli sifra$
'poetak petlje
'prihvat ifre od korisnika u varijablu s$
'kraj petlje i provjera ispravnosti ifre
'(ako je ifra ispravna program nastavlja
'ispod LOOP a ako nije vraa se na DO)
11.
OBJANJENJE
Potprogrami i funkcije su zasebni dijelovi programa koji imaju svoja unikatna imena te mogu prihvatiti jednu ili vie vrijednosti na obradu. Koriste se
kada na program mora esto izvoditi isti slijed naredbi ili izraunavati vrijednosti po istim formulama, kako ne bi svaki puta trebalo pisati jedan te isti
programski kod.
Novi potprogram definirate preko izbornika, izborom EDIT -> New Sub... i upisom imena.
Novu funkciju definirate preko izbornika, izborom EDIT -> New Function... i upisom imena.
Editor koda izmeu glavnog programa, potprograma ili funkcije prebacujete izborom VIEW -> SUBs... ili pritiskom na tipku F2 pa izborom glavnog
programa, potprograma ili funkcije.
POTPROGRAMI (SUBRUTINE)
Potprogram zapoinje iskazom SUB iza kojega ide ime potprograma a zavrava iskazom END SUB.
Poziva se iskazom CALL iza kojega ide naziv potprograma koji se poziva (npr. CALL ObradiIme).
Nakon to pozvani potprogram zavri s radom, kontrolu vraa iza iskaza CALL kojim je pozvan.
PROGRAMSKI KOD
OBJANJENJE
PROGRAMSKI KOD
OBJANJENJE
SUB Brojevi
PRINT : PRINT "Potprogram za ispis brojeva"
FOR i = 1 TO 10
PRINT i;
NEXT i
SLEEP 3
END SUB
__________________
SUB Abeceda
PRINT : PRINT "Potprogram za ispis abecede"
FOR i = 65 TO 90
PRINT CHR$(i);
NEXT i
SLEEP 3
END SUB
FUNKCIJE
Funkcija zapoinje iskazom FUNCTION iza kojega ide ime funkcije a zavrava s END FUNCTION.
Obzirom da funkcija uvijek vraa neku vrijednost, poziva se samo navoenjem njezinog imena.
PROGRAMSKI KOD
OBJANJENJE
PROGRAMSKI KOD
OBJANJENJE
12.
OBJANJENJE
Za iscrtavanje grafike prvo treba postaviti tzv. grafiki mod ekrana
naredbom SCREEN, npr:
GRAFIKI MOD
OBJANJENJE
SCREEN 0
SCREEN 1
SCREEN 2
OBJANJENJE
SCREEN 2
PSET(200, 100)
OBJANJENJE
SCREEN 2
LINE (50,50)-(100,100)
LINE (200,50)-(300,100),,B
LINE (400,50)-(500,100),,BF
OBJANJENJE
SCREEN 2
CIRCLE (100, 100), 50
FOR r = 5 TO 50 STEP 5
CIRCLE (300, 100), r
NEXT r
'crtanje elipse
'
(parametar 1 - uspravljena elipsa)
'
(parametar 0.1 - poloena elipsa)
13.
OBJANJENJE
Zvuk u programu moete ostvariti pomou naredbi SOUND i PLAY.
SOUND
Naredba SOUND generira zvuk odreene frekvencije i odreenog trajanja.
Na primjer: SOUND frekvencija, trajanje
- Frekvencija se izraava u Hercima i moe biti od 37 do 32767 Hz.
- Trajanje se izraava u tikovima i moe biti od 1 do 65535 tikova (1 sec = 18 tikova).
Primjer promjene frekvencije zvuka:
PROGRAMSKI KOD
OBJANJENJE
CLS
FOR f = 500 TO 1000 STEP 10
SOUND f, 3
NEXT f
PLAY
Naredbom PLAY moemo odsvirati bilo koju melodiju ako znamo tablicu nota, oktava i trajanja.
Tablica nota:
glazbena nota:
oznaava se slovom:
OKTAVE
o0
o1
...
o6
- oktava 1
- oktava 2
... itd ...
- oktava 7
TRAJANJE NOTE
L1
L2
L4
...
- cijela nota
- polovinka
- etvrtinka
... itd ...
PAUZA
P1
P2
P4
...
PROGRAMSKI KOD
CLS
PLAY "o3 L4 ABCDEFG"
OBJANJENJE
'svira glazbenu ljestvicu (A B C D E F G)
'u etvrtoj oktavi (o3), etvrtinkama nota (L4)