6.2.2. Mogućnosti QBASIC-a

 Natrag  Programiranje  Dalje


Većina jezičkih procesora, pa tako i QBASIC koristi konstante i varijable i svom radu. Prema vrsti podatka koji se i njima čuva konstante i varijable mogu biti znakovne-tekstualne (string - $) ili brojčane. Kakva je razlika između konstanti i varijabli? Razlika je u načinu ponašanja tijekom izvođenja programa. Uvriježeno da se konstante zadaju odmah na početku programa (kao PI =3.141592 i slično) i njihova se vrijednost tijekom izvođenja ne može mijenjati, a varijable svoju vrijednost mijenjaju tijekom izvođenja programa i podrazumna početna vrijednost je nula ako se drugačije ne odredi. Na primjer X=X+1 znači da se X-u koji je s lijeve strane imao vrijednost nula pridružuje operacija s desne strane koja ga uvećava za 1 pa je po izvršenju ove naredbe X=1. Naravno sukladno rečenom PI=PI+1 neće se izvršiti ako je PI proglašeno kao konstanta. Iz ovog primjera vidi se da za trivijalne matematičke operacije ne treba ključna riječ.

Ime varijable može imati najviše 40 znakova a najmanje jedan. Nije dobro da ime varijable počne s brojem i nije dobro da sadrži posebne znakove van znakova abecede ASCII koda (osobito naše grafeme). Za ovaj jezički procesor nebitno je jesu li mala ili velika slova jer ih tumači jednako.

Na narednoj slici prikazane su najmanje i najveće vrijednosti dozvoljene pri radu s varijablama, datotekama, poljima i ostalim relevantnim računalnim čimbenicima.

 QBasic - Resursi
Slika 6.2.6 Granice uporabe resursa QBASIC-a.

Znakovne varijable mogu sadržavati sve znakove ASCII koda te se recimo i znamenka tada tretira kao tekst. Naravno postoje naredbe (ključne riječi) koje mogu znamenku kao tekst pretvoriti u znamenku kao broj i obratno. Osim toga moguće je od svakog znaka dobiti njegovu vrijednost po ASCII kodu što će omogućiti, recimo sortiranje popisa s imenima.

Brojčane varijable su posebna zanimljivost. Mogu se izraziti kao varijable sa cjelobrojnim (integer) sadržajem kapaciteta 16 bit-a ili 32 bit-a (jedan bit koristi se za predznak), te kao varijable brojeva s decimalnom točkom koje broj čuvaju s 7 ili 15 znamenaka (jedno mjesto koristi se za predznak) uz faktor množenja po osnovi 10 (E+38 je 1038, a D+308 je 10308). Kakva je razlika između E i D ako su oba 10? Sukladno navedenom ako se pridoda odgovarajući sufiks imenu varijable dobiju se i njihove različite mogućnosti. X%, X&, X! i X# različito će se ponašati.

Smisao navedenog je upravo u brzini izvršavanja programa. Nije isto brojiti od 1 do 10 kao i brojiti od 1,0000000000000D+000 do 1,0000000000000D+001. Dakle u matematičkim operacijama brojanja studenata uporabiti će se integer varijabla, ali u izračunavanju njihove prosječne težine varijabla s decimalnom točkom.

 QBasic - Operatori
Slika 6.2.7 Simboli i operatori QBASIC-a.

Matematičke i logičke operatore ne treba posebno objašnjavati. Specijalni znakovi služe za dopisivanje komentara te za nadzor izgleda ekrana prilikom upisa ili ispisa podataka (sadržaja varijabli).

Zbog velikog broja ključnih riječi, u programskoj potpori za pomoć, svrstane su i po načinu pripadnosti jednoj od specifičnih grupa kako su redom nabrojene prema slici 6.2.8.

  • Upravljanje odvijanja programa (uglavnom strukture)
  • Definiranje konstanti i varijabli (od svojstava pa do brisanja sadržaja)
  • Definicija i pozivi BASIC-ovih procedura (kao pokretanje programa)
  • Rad s ulazni i izlazni uređajima (ekran i pisač)
  • Crtanje i unos slike (crtanje i bojanje zatvorenih likova)
  • Upravljanje datotekama i imenicima na disku (otvori, briši ...)
  • Upis i ispis iz datoteka (dohvat a ne ispis podataka)
  • Upravljanje RAM-om (brisanje, čitanje određene ćelije ...)
  • Obrada teksta (manipulacija znakovima u string varijabli)
  • Matematičke operacije (vlastite funkcije!)
  • Zamke (lovljenje prekoračenja i preopterećenja i slično)

 QBasic - Ključne riječi
Slika 6.2.8 Ključne riječi grupirane prema namijeni.

Slika 6.2.8 predstavlja popis skoro svih komandi QBASIC-a. Što ako je rezultat neke matematiče operacije veći od kapaciteta varijable? Program će se prekinuti u izvršavanju i jezički procesor izbaciti će poruku tipa 'overflow', 'division by zero' ili nešto slično. Dakle, treba predvidjeti ovakve situacije i naredbama za nadzor tijeka programa spriječiti prekid izvršavanja programa. Što ako je zabunom umjesto znamenke upisan znak 'A' za brojčanu varijablu? Opet će doći do prekida programa i upozorenja na grešku. Ponovo su u 'igri' nadzorne strukture.

Dakle, oko 25% koda cjelokupnog programsko koda odnositi će se na njegovu matematičku funkcionalnost, oko 50% koda odnositi će se za sprječavanje 'nebuloznih' unosa, rezultata i izračuna, a ostatak na oblikovanje formi za unos podataka te ispis na ekranu odnosno pisaču. Naravno, faza testiranja je neizbježna i tada treba namjerno praviti sve moguće greške u radu s programom kako bi se došlo do 'stabilnog i robusnog rezultata' otpornog na sve moguće 'zamisli' korisnika. Uobičajeno je da testiranje vrši tim koji s izradom programskog proizvoda nema doticaja, što je i razumljivo jer je programeru vrlo teško pronaći svoje vlastite greške. Kada programski proizvod konačno dođe u produkciju završno testiranje vrši tim koji opet s prethodno navedenima nema nikakve veze. Opisano je dio koji pripada fazi 6 u poglavlju 6 o razvoju programske potpore. Programska potpora ne izrađuje se 'preko noći' uz jedno piće i picu.

 Natrag
 Tražila
 Dalje

 Početak
 KAZALO  Informatička abeceda
 
Citiranje ove stranice:
Radić, Drago. " Informatička abeceda " Split-Hrvatska.
{Datum pristupa}. <http://www.informatika.buzdo.com/>.
Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost