Razlika između verzija stranice "BASIC"

[pregledana izmjena][pregledana izmjena]
Uklonjeni sadržaj Dodani sadržaj
m Bot: Replace deprecated <source> tag and "enclose" parameter; kozmetičke promjene
Red 125:
Računanje se vrši na slijedeći način:
 
nova.varijabla= varijabla(broj) znak varijabla(broj) znak varijabla(broj) znak varijabla(broj) ...
U ovom slučaju je nova.varijabla rezultat računanja i taj rezultat je smješten u varijablu nova.varijabla. Varijabla(broj) je broj sa kojim se računa, a znak je matematički znak (+,-,*,/,\ ili ^) koji simbolizira računsku operaciju. Vidimo da rezultujuća varijabla mora biti na lijevoj strani znaka jednako (=).
Red 137:
# a=5+2 --> varijabli a se pridružuje vrijednost 7
# a=5-2 --> varijabli a se pridružuje vrijednost 3
# a=5*2 --> varijabli a se pridružuje vrijednost 10
# a=5/2 --> varijabli a se pridružuje vrijednost 2.5
# a=5\2 --> varijabli a se pridružuje vrijednost 2
Red 183:
* '''INPUT''' naredba će od korisnika programa tražiti unos neke numeričke vrijednosti varijable. Njena sintaksa je '''INPUT varijabla'''. Isto tako je moguće staviti poslije riječi INPUT navodnike (" "), te pod navodnicima napisati tekst koji će se korisniku ispisati uz upit da se unese tražena varijabla. Želimo li omogućiti unos tekstualnih vrijednosti koristićemo naredbu '''INPUT$''' , njena sintaksa je '''INPUT$ varijabla$'''.
 
* '''REM''' naredba služi za dodavanje komentara pri pisanju programskog koda. Taj komentar će biti vidljiv samo u programskom kodu, dok ga korisnik tokom izvršavanja programa neće moći vidjeti. Sintaksa ove naredbe je '''REM tekst'''. Dati tekst ne mora biti stavljen pod navodnike.
 
* '''CLS''' je skraćenica od '''CL'''ear '''S'''creen. Obično se stavlja na početak programa i time postižemo da se sav tekst u programu, uključujući i prošle programe izbriše sa ekrana u kojem vidimo izvršenje programa. Tako, svaki novi program počinje od početka ekrana i podaci se ispisuju sve do nove upotrebe CLS, kada se svi podaci ponovo izbrišu.
 
* '''END''' se obično stavlja na kraj programa, mada nije obavezno. To čak ne spada u pravu vrstu naredbe, iako se stavlja na kraju programa, kako bi se potencijalni čitač programa lakše orijentisao. Također će služiti i kod naredbe bezuslovnog izlaska iz pod procedure, funkcije ili IF..THEN bloka.
 
=== Primjer 3 ===
 
Na lijevoj strani možete vidjeti programski kod, a na desnoj primjer izvršenja programa koji radi po napisanom kodu programa (dobija se pritiskom tipke F5).
 
[[Datoteka:Primjer BASIC-a (1).png|mini|centar|750px|Primjer korištenja naredbe '''PRINT''']]
Red 204:
Uslov mora počinjati sa riječi '''IF''' (ako) i poslije te rječice se stavlja uslov koji program treba da ispita. Taj uslov mora sadržati dvije već postojeće varijable te neki od relacionih operatora(=,<,>,<=,>=,<>) koji treba staviti između njih. Znači uslov mora sadržati dvije varijable (vrijednosti), te relaciju između njih koju ispituje taj uslov. Također uslov može sadržati i logičke operatore (AND, OR, NOT). Nakon uslova slijedi posljedica, šta treba učiniti ako je uslov ispunjen (naredba '''THEN'''). Ključne riječi '''IF''' i '''THEN''' moraju biti u istom redu.
 
Drugi dio uslova sadrži posljedicu tj. šta će program učiniti ako se desi da je uslov ispunjen. Poslije rječice IF i napisanih varijabli, te relacije između njih koje program ispituje, obavezno se mora staviti rječica '''THEN''', te poslijedica koju će program učiniti ako je ispunjen svaki dio uslova (ili dio uslova preciziran logičkim operatorima). Ta posljedica obavezno mora sadržati neku od naredbi tj. šta će program učiniti sa željenom varijablom ako je uslov ispunjen.
Ako ćemo nakon ključne riječi za posljedicu ('''THEN''') koristiti samo jednu naredbu onda se i ona piše u istom redu ali ako treba izvršiti više naredbi onda se one pišu u novom redu (svaka) a blok IF..THEN se mora zaključati naredbom '''END IF'''
 
Treći dio uslova uključuje naredbu ELSE kojom je omogućeno izvršavanje posljedice kada je rezultat ptovjere uslova netačan (0). Iza rječice THEN i niza naredbi koje će se ispuniti u slučaju pozitivnog rezultata uslova, stavljamo rječicu '''ELSE''' te također niz naredbi koje će program izvršiti ukoliko se desi da je rezultat postavljenog uslova netačan. Ukoliko se ne stavi ovaj dio u uslov tj. ako programer ne definiše posljedicu negativnog rezultata postavljenog uslova, program će nastaviti izvršavanje programskog koda iz sljedećeg reda.
Red 231:
 
== Sintaksa IF bloka ==
<sourcesyntaxhighlight lang="gwbasic">
'''1. Primjer'''
IF uslov THEN naredba posljedice
Red 252:
...
END IF
</syntaxhighlight>
</source>
 
== Još neki od Blokova za provjeru uslova ==
'''WHILE.. WEND''' Ovaj blok će se izvršavati sve dok je tvrdnja u uslovu tačna a provjera se vrši na ulazu u blok. Njegova sintaksa je sledeća:
<sourcesyntaxhighlight lang="gwbasic">
WHILE uslov
naredba1
Red 262:
...
WEND
</syntaxhighlight>
</source>
 
'''DO.. LOOP WHILE''' Ovaj blok će se izvršavati sve dok je tvrdnja u uslovu tačna a provjera se vrši na kraju bloka. Njegova sintaksa je sledeća:
<sourcesyntaxhighlight lang="gwbasic">
DO
Naredba1
Red 271:
...
LOOP WHILE uslov
</syntaxhighlight>
</source>
 
'''DO WHILE.. LOOP''' Ovaj blok će se izvršavati sve dok je tvrdnja u uslovu tačna a provjera se vrši na ulazu u blok. Njegova sintaksa je sledeća:
<sourcesyntaxhighlight lang="gwbasic">
DO WHILE uslov
Naredba1
Red 280:
...
LOOP
</syntaxhighlight>
</source>
 
'''DO.. LOOP UNTIL uslov''' Ovaj blok će se izvršavati sve dok se tvrdnja u uslovu ne ispuni (dok tvrdnja nije tačna) a provjera se vrši na kraju bloka. Njegova sintaksa je sledeća:
<sourcesyntaxhighlight lang="gwbasic">
DO
Nareba1
Red 289:
...
LOOP UNTIL uslov
</syntaxhighlight>
</source>
 
'''DO UNTIL uslov...LOOP''' Ovaj blok će se izvršavati sve dok tvrdnja u uslovu ne bude tačna a provjera se vrši na ulazu u blok. Njegova sintaksa je sledeća:
<sourcesyntaxhighlight lang="gwbasic">
DO UNTIL uslov
Naredba1
Red 298:
...
LOOP
</syntaxhighlight>
</source>
 
== Višestruki odabir ==
 
Umjesto da koristimo više blokova za provjeru moguće je koristiti ključne riječi '''SELECT CASE''' čime je omogućen višestruki izbor. Sintaksa je sledeća:
<sourcesyntaxhighlight lang="gwbasic">
SELECT CASE varijabla
CASE 1
Red 318:
naredba1
END SELECT
</syntaxhighlight>
</source>
 
''-nadam se da komentar nije potreban i da je vidljivo iz priloženog kako funkcioniše ova struktura. Jasno da je i u okviru svakog slučaja (CASE) moguće dodavati nove blokove uslova, ubaciti prekid BREAK ..''
Red 326:
Naredba '''GOTO''' je naredba (bez)uslovnog prelaska na definisani red. Često se koristi uz uslove i tada je uslovna.
 
Da bi korištenje ove naredbe bilo moguće red u koji se vrši skok mora početi brojem (biti numerisan).
Naredbu GOTO će programer koristiti kada želi da program, poslije pročitanog reda nekog programa, ne čita slijedeći red, nego uz pomoć naredbe GOTO, programer odluči koji će red slijedeće biti pročitan tj. odakle će program nastaviti čitati programski kod. Zbog toga nam je potrebna numeracija tog reda koda. Sintaksa ove naredbe je slijedeća:
 
''GOTO broj koda''
 
Znači poslije riječi GOTO stavljamo broj kojim smo numerisali red, od kojeg želimo da program nastavi čitati programski kod. Naredba GOTO često se upotrebljava kao posljedica (ne)ispunjavanja uslova. Npr. može se staviti da, ukoliko se uslov ispuni program nastavi čitati programski kod sa određene pozicije, a ako se ne ispuni, da se vrati na ponovno dodjeljivanje vrijednosti varijabli (pomoću znaka jednakosti ili naredbe INPUT).
 
=== Naredba višestrukog prelaska ===
Red 339:
''ON brojevna.varijabla GOTO lista linija koda''
 
Pod listom linija koda se podrazumijevaju brojevi (međusobno odvojeni zarezom) koji predstavljaju numerisane redove. Brojevna varijabla određuje od koje će linije koda (navedenog kao broj - numeracija pod listom linija koda) program nastaviti da čita programski kod. Ako je naprimjer vrijednost varijable 1, program će nastaviti čitati programski kod od linije čiji je broj prvi naveden u sintaksi naredbe '''ON GOTO'''. Ako je vrijednost varijable 2, program će nastaviti čitati programski kod od linije čiji je broj drugi naveden u sintaksi naredbe ON GOTO itd. Ako je vrijednost varijable veća od broja numera (brojevi u listi linija koda), onda će taj broj biti podijeljen sa brojem numera te uzeti ostatak kao broj koji će odrediti koji će slijdeći red biti pročitan. Naprimjer, ako ima 5 numera (brojeva koji predstavljaju linije koda u naredbi ON GOTO), a vrijednost brojevne varijable 6, tada će program čitati programski kod iz linije koja je prva stavljena u listi linija koda, ako je vrijednost brojevne varijable 7, tada će program čitati programski kod iz linije koja je druga stavljena u listi linije koda itd. Upotrebom ove naredbe, programer potencijalno može izbjeći korištenje komplikovane sintakse IF THEN uslova, te tako skratiti programski kod.
 
=== Primjer 4 ===
 
Na lijevoj strani možete vidjeti programski kod, a na desnoj primjer izvršenja programa koji radi po napisanom kodu programa (dobija se pritiskom tipke F5).
 
[[Datoteka:Basic3.jpg|mini|centar|750p|Program koji određuje najmanji od tri unijeta pozitivna broja]]
[[Datoteka:Basic4.jpg|mini|centar|750p|Program koji određuje najveći od tri unijeta broja]]
[[Datoteka:Basic5.jpg|mini|centar|750p|Program koji određuje ime dana u sedmici na osnovu unijetog broja]]
 
Red 354:
 
=== Sintaksa naredbe ===
<sourcesyntaxhighlight lang="gwbasic">
FOR a = n TO m STEP x
Naredba1
Red 360:
...
NEXT a
</syntaxhighlight>
</source>
 
'''Primjer FOR.. NEXT petlje:'''
<sourcesyntaxhighlight lang="gwbasic">
Napiši program koji ispisuje sve dvocifrene brojeve!
FOR a = 10 TO 99
Red 370:
Ako treba odraditi zadatak a da ne znamo koliko puta treba ponoviti postupak onda ćemo
koristiti neki od blokova za provjeru uslova ili slične kombinacije.
</syntaxhighlight>
</source>
'''Primjer WHILE..WEND bloka:'''
 
Napiši program koji određuje prvih pet brojeva djeljivih sa 7.
<sourcesyntaxhighlight lang="gwbasic">
a = 0
n = 0
Red 384:
n = n + 1
WEND
</syntaxhighlight>
</source>
 
== Također pogledajte ==