Вы находитесь на странице: 1из 10

Nastavna cjelina

QBASIC uvod u programiranje

Quick BASIC je skraenica od rijei Basica je Beginner's All-purpose Simbolic Instruction


Code koju je razvila tvrtka Microsoft za MS-DOS operacijski sustav.
To je programski jezik ope namjene koji se moe jednostavno nauiti, a namijenjen je za
poetnike pri rjeavanju jednostavnih zadataka iz podruja matematike, fizike....
Qbasic je jedna od verzija programskog jezika Basic. Basic je nastao 1963. godine
QBASIC je bila osnova za popularni Visual Basic. Programski jezik BASIC je jezik ope
namjene, osmiljen za poduku i obrazovanje programera, a najiru uporabu je naao kod
osobnih raunala.
Alfabet QBASIC-a ine:
o Brojevi decimalnog (dekadskog) sustava 0 do 9
o Velika i mala slova engleske abecede A,B,C....X,Y,Z
o Specijalni znakovi: ",#,$,%,&,/,(,),=,?,*,>,< itd.
o Specijalan znak za prazno mjesto "Blanko"
o Specijalni znaci koje definira korisnik
Podaci
Podaci u QBASIC-u mogu biti:
o Numeriki brojani, samo decimalni
o Znakovni (tekstualni, alfanumeriki), stringovi
Numeriki brojani podaci
1. Prvo pravilo koje treba napomenuti je da se umjesto decimalnog zareza pie toka.
2. Izmeu brojeva nema razmaka
3. Izmeu predznaka i broja takoer nema razmaka.
Znakovni podaci
Znakovni podaci se navode pod znacima dvostrukog navoda. Znakovni podaci mogu
sadravati samo tekst ili tekst i brojeve (alfanumeriki).
Varijable
Promjenljiva (varijabla) je objekt ija se vrijednost mijenja tokom rada programa.
U jednom programu ne mogu postojati dvije promjenljive sa istim imenom.
Promjenljive mogu biti :
o numerike (mogu primiti samo brojanu vrijednost),
o znakovne (mogu primiti nizove znakova).
Znakovne promjenljive na kraju imena moraju sadravati znak za string ($). DOLAR
Za imena promjenljivih treba uzimati logike rijei kao to su: broj, suma, proizvod, ime$,
prezime$, itd.

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

U QBASIC-u koriste se samo male zagrade.


Aritmetiki operatori
+ Zbrajanje
- Oduzimanje
* Mnoenje
/ Dijeljenje
^ Potenciranje

Relacioni operatori
= Jednako
> Vee od
< Manje od
>= Vee ili jednako od
<= Manje ili jednako od
<> Razliito od
Logiki operatori
Logiko NE, Logiko ILI , Logiko I radili prole godine

Znak ^ - Alt + 94 (ASCII vrijednost znaka ^ je 094).


Znak \ - Alt + 92 (ASCII vrijednost znaka ^ je 092). Raunanje se vri na slijedei nain:
Pokretanje programa uz pomo tipke F5.
Zapis datoteke u raunalu *.bas

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

Naredbe QBASIC-a
Za sve naredbe u QBASIC-u moemo napisati njihovu opu sintaksu kao: bn_NAREDBA bn
- broj reda (bilo koji prirodni broj) NAREDBA ime naredbe
U jednom programskom redu moe se napisati i vie naredbi ali se moraju odvojiti dvotakom
(:).
Naredba za komentar REM_tekst tekst Piemo tekst koji pojanjava rad programa
Naredba za ulaz (unos podataka) INPUT_lista promjenljivih (varijabli) lista promjenljivih
(varijabli) imena promjenljivih (varijabli) koje se meusobno odvajaju zarezom (,). Ova
naredba preuzima podatke sa standardnog ulaza (tastatura) i pridruuje ih redom
odgovarajuim promjenljivim (varijablama). Ulazni podaci moraju se slagati sa varijablama
po tipu (Numerikoj varijabli se pridruuje numeriki podatak a znakovnoj varijabli znakovni
podatak).
Naredba za izlaz (ispis rezultata) PRINT_lista promjenljivih (varijabli), izraza i konstanti
PRINT - Sa naredbom se moe oblikovati ispis na ekranu.
Naredba pridruivanja (=) promjenljiva=izraz S lijeve strane jednakosti mora se nalaziti
varijabla (promjenljiva) a sa desne strane izraz koji se izraunava a znak jednakosti ita se
POSTAJE.
CLS - Naredba za brisanje ekrana Naredba CLS se koristi da bi prilikom ispisa rezultata
programa imali ist ekran (brie ranije rezultate).
END - Naredba za kraj programa

Primjer Napraviti program koji sa standardnog ulaza (tipkovnice) trai unos dva broja a
zatim ispisuje njihov zbroj na ekranu monitora.
10 CLS
20 REM Unos i ispis dva broja
30 PRINT "Unesi dva boja"
40 INPUT broj1, broj2
50 Zbroj=broj1+broj2
60 PRINT "Zbroj brojeva koje ste unijeli je:"; Zbroj
70 END
Primjer Sa standardnog ulaza se unose dva broja. Na izlazu je potrebno ispisati zbroj i
umnoak tih brojeva.
10 CLS
30 INPUT "Unesi prvi broj"; broj1
40 INPUT "Unesi drugi broj"; broj2
50 PRINT "Zbroj brojeva koje ste unijeli je:"; broj1+broj2
60 PRINT "Umnoak brojeva koje ste unijeli je:"; broj1*broj2
70 END

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

Primjer :
Napisati program za izraunavanje povrine i opseg pravokutnika ako su poznate stranice
"a" i "b".
RJEENJE:
5 CLS
10 PRINT "Program pravokutnik"
20 PRINT "Upii stranice a = , i b = "
30 INPUT A,B
40 P=A*B
50 O=2*(A+B)
60 PRINT Povrina je P = " ;P
70 PRINT "Opseg je O = " ;O
80 END

EKRAN:
Program pravokutnik
Upii stranice a = , i b =
5
3
Povrina je P = 15
Opseg je O = 16

Primjer :
Program za izraunavanje povrine i opsega kruga.
RJEENJE:
5 CLS
10 PRINT "Program krug"
20 PRINT "Upii radius kruga r ="
30 INPUT R
40 O=2*r*(22/7)
50 P=r*r*(22/7)
60 PRINT "Opseg je O = " ;O
70 PRINT "Povrina je P =" ;P
80 END
Primjer :
Napisati program za izraunavanje povrine i opseg kvadrata ako je poznata dijagonala
kvadrata "d".
RJEENJE:
5 CLS
10 PRINT "Program kvadrat"
20 PRINT "Upii dijagonalu kvadrata d = "
30 INPUT D
50 A=(d/2)*SQR(2)
60 O=4*A
70 P=A*A
75 PRINT "Stranica kvadrata je a = " ;A
80 PRINT "Opseg je O = " ;O
85 PRINT "Povrina je P = " ;P
90 END

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

Primjer :
Program koji rauna povrinu i volumen valjka(cilindra) ako je poznat polumjer baze "r" i
visina "h".
RJEENJE:
5 CLS
10 REM Program valjak-cilindar
15 PRINT "Upii polumjer baze i visinu cilindra-valjka: "
20 INPUT R,H
25 B=R*R*(22/7)
30 V = B*H
35 M = 2*R*(22/7)*H
40 P = M+(2*B)
45 PRINT "Volumen je V = " ;V
50 PRINT "Povrina je P = " ;P
60 END
Primjer : Napisati program za usporedbu dva broja.
RJEENJE:
10 CLS
20 REM Usporedba dva broja
30 PRINT "Upii dva broja"
40 INPUT A, B
50 IF A = B THEN PRINT "Ovi brojevi su jednaki :";A,=;B
60 IF A > B THEN PRINT "Prvi broj je VEI od drugog :";A,>;B
70 IF A < B THEN PRINT "Prvi broj je MANJI od drugog :";A,<;B
80 END

Primjer :
Napisati program za izraunavanje rjeenja jednadba oblika 2ax 4b = 3c. Program treba da
ispie na ekranu da nema rjeenja ako je parametar a = 0.
RJEENJE:
10 CLS
20 REM Jednadba oblika 2ax-4b=3c
30 PRINT "Upii parametre jednadbe a =,b = i c = "
40 INPUT A, B, C
50 IF A <> O GOTO 60 ELSE GOTO 90
60 X = ((3 * C) + (4 * B)) / (2 * A)
70 PRINT "Rjeenje je X = "; X
80 GOTO 90
90 PRINT "Jednadba nema rjeenja jer je a = 0"
100 END

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

Naredbe za postavljanje uvjeta


Uvjeti u Basicu slue kako bi provjerili vrijednosti varijabli, usporedili ih, te efikasnije
upravljali njima poslije ispitanog uvjeta. Postoji vie naina postavljanja uvjeta.

IF...THEN...ELSE(ako...zatim...onda)...END IF
Uvjet mora poeti sa rijei IF (ako) i poslije te rjeice se stavlja uvjet koji program treba da
ispita. Taj uvjet mora sadrati dvije ve postojee varijable te neki od relacionih
operatora(=,<,>,<=,>=,<>) koji treba staviti izmeu njih. Znai uvjet mora sadrati dvije
varijable (vrijednosti), te relaciju izmeu njih koju ispituje taj uvjet. Takoer uvjet moe
sadrati i logike operatore (AND, OR, NOT). Nakon uvjeta slijedi posljedica, ta treba
uiniti ako je uvjet ispunjen (naredba THEN). Kljune rijei IF i THEN moraju biti u istom
redu.
Drugi dio uvjeta sadri posljedicu tj. ta e program uiniti ako se desi da je uvjet ispunjen.
Poslije rjeice IF i napisanih varijabli, te relacije izmeu njih koje program ispituje, obvezno
se mora staviti rjeica THEN, te posljedica koju e program uiniti ako je ispunjen svaki dio
uvjeta (ili dio uvjeta preciziran logikim operatorima). Ta posljedica obvezno mora sadravati
neku od naredbi tj. ta e program uiniti sa eljenom varijablom ako je uvjet ispunjen. Ako
emo nakon kljune rijei za posljedicu (THEN) koristiti samo jednu naredbu onda se i ona
pie u istom redu ali ako treba izvriti vie naredbi onda se one piu u novom redu (svaka) a
blok IF..THEN se mora zakljuati naredbom END IF
Trei dio uvjeta ukljuuje naredbu ELSE kojom je omogueno izvravanje posljedice kada je
rezultat provjere uvjet netoan (0). Iza rjeice THEN i niza naredbi koje e se ispuniti u
sluaju pozitivnog rezultata uvjeta, stavljamo rjeicu ELSE te takoer niz naredbi koje e
program izvriti ukoliko se desi da je rezultat postavljenog uvjeta netoan. Ukoliko se ne stavi
ovaj dio u uvjet tj. ako programer ne definira posljedicu negativnog rezultata postavljenog
uvjeta, program e nastaviti izvravanje programskog koda iz sljedeeg reda.
Trebamo li uvezati vie uvjeta tako da rezultat bude jedinstven onda emo koristiti logike
operatore AND (I) ili OR (ILI).
Logiki sklop AND e imati rezultat "tono" to programu daje vrijednost 1 samo ako su oba
uvjeta (ili ako ih ima vie onda svi uvjeti) toni.
Logiki sklop OR e imati rezultat "tono" to programu daje vrijednost 1 ako je bar jedan od
uvjeta toan inae ima vrijednost 0 (netoan).
Logiki sklop NOT, ime se pravi inverzija tj. svi rezultati koji su kod provjere uvjeta bili
"tono" postaju "netono" i obrnuto.

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

Primjer :
Od tri upisana broja (a, b, c) sa tipkovnice nai najvei.
Rjeenje
10 INPUT "Vasa tri broja "; a, b, c
20 max = a
30 IF b > max THEN max = b
40 IF c > max THEN max = c
50 PRINT "Od brojeva "; a, b, c
60 PRINT "najveci je "; max
70 END

GOTO
Naredba GOTO je naredba (bez)uvjetnog prelaska na definirani red. esto se koristi uz
uvjete i tada je uvjetna.
Da bi primjena ove naredbe bila mogua, red u koji se vri skok mora poeti brojem (biti
numeriran). Naredbu GOTO e programer koristiti kada eli da program, poslije proitanog
reda nekog programa, ne ita slijedei red, nego uz pomo naredbe GOTO, programer odlui
koji e red slijedee biti proitan tj. odakle e program nastaviti itati programski kod. Zbog
toga nam je potrebna numeracija tog reda koda. Sintaksa ove naredbe je slijedea:
GOTO broj koda
Naredba GOTO esto se upotrebljava kao posljedica (ne)ispunjavanja uvjeta. Npr. moe se
staviti da, ukoliko se uvjet ispuni program nastavi itati programski kod sa odreene pozicije,
a ako se ne ispuni, da se vrati na ponovno dodjeljivanje vrijednosti varijabli (pomou znaka
jednakosti ili naredbe INPUT).

ON GOTO
Naredba viestrukog prijelaza slui kako bi programer izbjegao koritenje komplicirane
sintakse IF/THEN uvjeta. Za tu naredbu potrebna je brojevna varijabla, koja mora biti
prirodan broj i broj linija koda (meusobno odvojeni zarezom) kolika je vrijednost te
varijable.
Naredba viestrukog prelaska slui kako bi programer izbjegao primjenu sloene sintakse IF
THEN uvjeta. Za ovu naredbu je potrebna brojevna varijabla (ta brojevna varijabla mora biti
prirodan broj), te broj linija koda kolika je vrijednost te varijable.
Sintaksa ove naredbe je:
ON brojevna.varijabla GOTO lista linija koda
Pod listom linija koda se podrazumijevaju brojevi (meusobno odvojeni zarezom) koji
predstavljaju numerirane redove. Brojevna varijabla odreuje od koje e linije koda
(navedenog kao broj - numeracija pod listom linija koda) program nastaviti da ita programski
kod. Ako je npr. 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
Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

naredbe ON GOTO itd. Ako je vrijednost varijable vea 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 slijedei red biti proitan. Npr, 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. Uporabom ove naredbe, programer potencijalno moe izbjei koritenje sloene
sintakse IF THEN uvjeta, te tako skratiti programski kod.

Primjer Napii program koji zahtjeva da korisnik unese broj vei od 5,ako je manji neka se
unos ponovi.
Rjeenje (ako je broj vei od 5 vraa se na unos broja)
5 CLS
10 PRINT " Unesi broj manji od 5"
15 INPUT a
20 IF a>5 THEN GOTO 10
25 END
Primjer Ispis prvih deset brojeva
Opis: Naredba FOR oznaava poetak FOR-NEXT petlje; naredba NEXT oznaava kraj.
Prvi put kad se ponavlja (u ovom sluaju naredba PRINT i), i je 1. Sljedei put je 2, pa 3... do
10, tj. i ide od 1 do 10.
Rjeenje
CLS
FOR i = 1 TO 10
PRINT i
NEXT i

Raunalstvo u graditeljstvu

QBASIC uvod u programiranje

Nastavna cjelina

FOR... NEXT
FOR petlja poznatija kao brojana petlja vri ponavljanje niza naredbi odreeni broj puta.
Veoma se esto koristi. Sve naredbe unutar FOR ..NEXT reda e biti ponovljene onoliko puta
koliki je interval (broj lanova niza ogranien sa n TO m. Problem ove petlje je to se iteracija
(ponavljanje) vri onoliko puta koliko ima elemenata u nizu od n do m (to znai da unaprijed
moramo znati koliko puta se vri iteracija).
Primjer Napii program koji ispisuje sve dvocifrene brojeve!
Rjeenje
FOR a = 10 TO 99
PRINT a,
NEXT a
Ako treba odraditi zadatak, a da ne znamo koliko puta treba ponoviti postupak onda emo
koristiti neki od blokova za provjeru uvjeta ili sline kombinacije.

Primjer :
Rjeenje (Ispis na ekranu pet puta rijei Dobar dan)
FOR n = 1 TO 5
PRINT Dobar dan
NEXT n
END

FUNKCIJE
U QBASIC-u postoje definirane funkcije za rjeavanje nekih problema (Standardne funkcije),
a za neke probleme korisnik mora sam da definira funkcije (Korisnike funkcije) koje su mu
potrebne u programu.
Izdvajanje iz nizova
SPACE$(n) Daje n praznih mjesta
LEFT$(x$,n) Daje lijevi n znakova stringa x$
RIGHT$(X$,n) Daje n znakova sa desne strane stringa x$
MID$(X$,n,m) Ispisuje dio strnga x$ od mjesta n u duinu m znakova

Raunalstvo u graditeljstvu

Nastavna cjelina

QBASIC uvod u programiranje

Primjer : Napravi program koji ce unesenu rije ispisati ovako: pr. kuca .
kuca
u
k
c
u
a
c
kuca
Rjeenje
CLS
INPUT "unesi rijec od 4 slova"; a$
PRINT a$
PRINT MID$(a$, 2, 1), MID$(a$, 1, 1)
PRINT MID$(a$, 3, 1), MID$(a$, 2, 1)
PRINT MID$(a$, 4, 1), MID$(a$, 3, 1)
PRINT a$
END

Raunalstvo u graditeljstvu

Вам также может понравиться