Basic je programski jezik. Prva varijanta se pojavila 1962. a naziv je dobio od Beginner's All Purpose Symbolic Instruction Code. Služi za pravljenje jedostavnih programa i simulacija. Kao i većina drugih programskih jezika, za programiranje koristi naredbe i varijable koje zajedno čine programski kod kojim se piše program. Do danas je urađen velik broj varijanti ovog programskog alata ipak u upotrebi je najčešća varijanta Microsoftov Quick Basic poznatiji pod nazivom Qbasic4, za PC računare koji rade pod DOS (Windows) operativnim sistemima. Inače ljuska (Shell) koju koristi Qbasic je DOS pa su i prozori takvi (i editor ali i komandni prozor).
Za izvršenje zadatih naredbi, tj. za pokretanje napisanog programa, u Qbasic-u je potrebno pritisnuti dugme F5 na tastaturi.
Uvod Pojam varijable
Najjednostavnije objašnjenje varijabli jeste to da su varijable ustvari promjenljive vrijednosti. Varijable nam služe kako bi olakšali kodiranje programa. Svaka varijabla ima svoje ime i svoju vrijednost. Pa tako, svaki put kada želimo u programu upotrijebiti riječ kahva, ne moramo je svaki put pisati u kodu programa nego joj je moguće dodijeliti ime, i svaki put upotrijebiti to ime umjesto riječi kahva, ali će se ipak svaki put u programu ispisati riječ kahva. Postoje dvije vrste varijabli:
Numeričke(brojevne) i Znakovne varijable
Numerička varijabla ima brojevnu vrijednost tj. može sadržati samo ove znakove:
0,1,2,3,4,5,6,7,8,9 i tačku(.) umjesto zareza.
Ukoliko korisnik programa ili sam programer pokuša dodijeliti numeričkoj varijabli vrijednost koja sadrži neki drugi znak(simbol), osim gore navedenih 11 simbola, programski jezik (qbasic) će javiti grešku.
Kao ime za numeričku vrijednost se mogu koristiti svih 128 znakova ASCII koda, s tim da to ime mora počinjati sa slovom engleskog alfabeta i ta oznaka ne smije sadržati prazna (blanko) mjesta u sebi.
Znakovna varijabla ima vrijednost koja može sadržati 128 znakova ASCII koda (to uključuje i brojeve). Ime znakovne varijable je isto kao i numeričke, samo što na kraju varijable obavezno moramo staviti string ($-dolar).
Primjer 1
Ime varijable Vrijednost varijable a 23 somun 1.50 ćevapi-5.luk 2.544345864 a$ kahva somun$ 5 cevapa u cijeli sa puno luka ćevapi-5.luk$ Kraj narudžbe
Svaki put kada želimo da u programu ispišemo 1.50, u kodu ćemo napisati somun ili kada želimo da napišemo riječ kahva u programu, u kodu ćemo napisati samo a$. Kao što vidimo varijable nam potencijalno mogu skratiti postupak pisanja koda programa, a i cijeli sistem rada u programskom jeziku qbasic je zasnovan na varijablama i naredbama pomoću kojih upravljamo vrijednostima varijabli.
Dodjeljivanje vrijednosti varijabli
Dodjeljivanje vrijednosti varijabli se vrši pomoću relacionog operatora jednako(=). Tako npr. kada želimo dodijeliti vrijednost 10000 varijabli cilj to ćemo učiniti na sljedeći način u kodu:
cilj=10000
Na ovaj način smo varijabli cilj dodijelili vrijednost 10000.
Kod dodjeljivanja vrijednosti znakovnoj varijabli obavezno moramo vrijednost varijable staviti pod navodnike. Tako npr. kada želimo da varijabli a$ dodijelimo vrijednost 10000 članaka u kodu ćemo napisati sljedeće:
a$="10000 članaka"
Postoji slučaj gdje želimo nekoj novoj varijabli dodijeliti vrijednost neke već postojeće varijable. To se vrši po istom principu:
cilj=10000
težnja=cilj
Sada varijabla težnja ima vrijednost varijable cilj tj. vrijednost varijable težnja je 10000.
U sva tri slučaja ime varijable se stavlja sa lijeve strane znaka jednakosti (=), a vrijednost te varijable sa desne. Ukoliko programer pokuša uraditi drugačije, basic će javiti grešku.
Relacioni operatori su oni operatori uz pomoć kojih uspostavljamo odnos(relaciju) između dvije varijable. Oni se često koriste u uslovima, dok se operator (=) koristi i u dodjeljivanju vrijednosti varijabli. Relacioni operatori su:
OperatorZnačenje=jednako>veće od<manje od>=jednako ili veće od<=jednako ili manje od<>različito
Pored ovih relacionih postoje još i tzv. logički operatori. To su operatori koji se koriste u uslovima i ciklusima. Tri su, i oni će kasnije biti posebno obrađeni. To su:
NOT - ne AND - i OR - ili
Računanje sa numeričkim varijablama
U programskom jeziku Basic se može vršiti računanje sa određenim brojevima, ali isto tako i sa varijablama. Rezultat računanja varijabli i(li) brojeva uvijek mora biti neka nova varijabla čija će vrijednost biti jednaka rezultatu tog računanja. Računanje se vrši pomoću znakova za računske operacije. Osnovni znakovi su:
plus (+) minus (-) puta (*) podijeljeno (/) cjelobrojno dijeljenje (\) ostatak dijeljenja (MOD) stepenovanje (^) korjenovanje (SQR)
Znak ^ ćemo dobiti kada u Basicu držeći pritisnut taster Alt otkucamo broj 94 sa numeričkog dijela tastature. (ASCII vrijednost znaka ^ je 094). Broj ili varijabla koja se nalazi lijevo od ovog znaka je broj koji se stepenuje (baza), a broj ili varijabla koja se nalazi na desnoj strani znaka jednako predstavlja eksponent.
Znak \ ćemo dobiti kada u Basicu držeći pritisnut taster Alt otkucamo broj 92 sa numeričkog dijela tastature. (ASCII vrijednost znaka ^ je 092). Ne postoji simbol u Basicu za korjenovanje nego postoji funkcija kojom se izračunava korjen nekog broja.
Računanje se vrši na sljedeć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 (=).
također se mogu koristiti i zagrade i to samo male zagrade - (). U jednoj zagradi može biti više drugih zagrada. Program će računati vrijednosti po principu "klasične matematike" iznutra prema vani.
Primjer 2
Ovdje ćemo navesti nekoliko primjera računanja vrijednosti u Basic-u.
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 a=5 MOD 2 --> varijabli a se pridružuje vrijednost 1 a=5^2 --> varijabli a se pridružuje vrijednost 25 a=SQR(2) --> varijabli a se pridružuje vrijednost 1.4142135..
Sarajevo=400000
Mostar=106000
neki.bh.gradovi=Sarajevo+Mostar
bez.ilidže=neki.bh.gradovi-50000
Vidimo da svaka varijabla mora bti definisana tj. mora imati svoju vrijednost (u protivnom će vrijednost te varijable biti 0).
Pojam naredbe
Naredbe u programskom jeziku Basic su riječi pomoću kojih programer upravlja varijablama. Svaka od njih ima svoje posebne parametre koje programer mora odrediti kako bi određena naredba funkcionisala. Postoji više vrsta naredbi: Ulazne naredbe Izlazne naredbe Blokovi provjere uslova Petlje Ugrađene funkcije Naredbe za obradu varijabli Naredbe za rad sa grafikom i zvukom Naredbe za rad sa datotekama i podacima i dr.
U jednom redu koda se može upotrijebiti samo jedna naredba. Ako želimo u jedan red koda napisati više naredbi onda ih moramo odvojiti dvotačkom (:).
Pojam algoritma i dijagrama toka
Algoritam je niz određenih i uređenih koraka koji tačno i precizno vode do rješenja, ako ono postoji ako ne, govori nam da rješenje ne postoji, ne može se dobiti sa preciznom tačnošću ili u odrđenom vremenu. Znači, algoritam predstavlja niz stvari koje računar uradi kako bi ispunio zahtjeve koje je programer zadao u programskom kodu. Kada se algoritam napiše u vidu naredbi, dobijemo programski kod.
Dijagram toka je grafički prikaz algoritma, odnosno postupka za rješavanje određenog postupka.
Interesantno je da su principi i definicija algoritma postavljeni puno prije pojave računara. Dao ih je arapcki matematičar Al'Harizmi u 10. vijeku.
Osnovne naredbe u programskom jeziku Basic
PRINT je izlazna naredna koja služi za ispisivanje teksta (znakova i brojeva) u programu. Sintaksa ove naredbe je PRINT varijabla. Znači, da bi napisali ovu naredbu potrebno je napisati riječ PRINT, zatim naziv varijable, neki tekst ili broj. Ako želimo da namse ispiše neka već definisana varijabla, poslije riječi PRINT pišemo ime te varijable. Ako želimo ispisati u programu neki tekst, to ćemo učiniti tako što ćemo napisati riječ PRINT, pa pod navodnicima (" ") ispisati željeni tekst. Ako želimo ispisati neki broj, dovoljno je poslije riječi PRINT napisati taj broj. Ako želimo ispisati više od jedne varijable (teksta ili broja) u programu to ćemo učiniti tako što ćemo staviti zarez (,) ili tačku-zarez (;) poslije prve varijable (teksta ili broja), te taj postupak ponoviti nakon svake sljedeće. Da li će biti zarez ili tačka-zarez zavisi od veličine razmaka između te dvije varijable (teksta ili broja). Za manji razmak ćemo staviti tačku-zarez (;), a za veći zarez (,). 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 CLear Screen. 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).
mini|centar|750px|Primjer korištenja naredbe PRINT mini|centar|750px|Program koji sabira dva broja
Uslovi
Uslovi u Basicu služe kako bi provjerili vrijednosti varijabli, uporedili ih, te efikasnije upravljali njima poslije ispitanog uslova. Postoji više načina postavljanja uslova, te su neki od njih upriložena u nastavku.
Prvi način postavljanja uslova
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.