Qbasic

Post on 22-Nov-2014

321 views 1 download

Tags:

Transcript of Qbasic

Osnove programskogOsnove programskogjezika QBasicjezika QBasic

QBASICQBASICQBASIC

• Korisničko sučelje• Elementi• Ulazno / Izlazne instrukcije• Instrukcije grananja (odluke)• Programske petlje• Funkcije• Datoteke

•• Korisničko sučeljeKorisničko sučelje•• ElementiElementi•• Ulazno Ulazno / / Izlazne instrukcijeIzlazne instrukcije•• Instrukcije grananja Instrukcije grananja ((odlukeodluke))•• Programske petljeProgramske petlje•• FunkcijeFunkcije•• DatotekeDatoteke

Korisničko sučelje u kojem se gradiQBASIC program

Korisničko sučelje Korisničko sučelje u u kojemkojem se se gradigradiQBASIC programQBASIC program

• File - New, Open, Save, Save As.., Print, Exit• Edit - Cut, Copy, Paste, Clear, Sub, Fun• View - Subs, Split, Output screen• Search - Find, Repeat Last Find, Change• Run - Start (shit+F5),Restart, Continue• Debug - Otklanjanje pogrešaka• Options - Opcije• Help - Index, Contents, Topic

•• FileFile - New, Open, Save, Save As.., Print, Exit- New, Open, Save, Save As.., Print, Exit•• EditEdit - Cut, Copy, Paste, Clear, Sub, Fun- Cut, Copy, Paste, Clear, Sub, Fun•• ViewView - Subs, Split, Output screen- Subs, Split, Output screen•• SearchSearch - Find, Repeat Last Find, Change- Find, Repeat Last Find, Change•• RunRun - Start (shit+F5),Restart, Continue- Start (shit+F5),Restart, Continue•• DebugDebug - - Otklanjanje pogrešakaOtklanjanje pogrešaka•• OptionsOptions - - OpcijeOpcije•• HelpHelp - Index, Contents, Topic- Index, Contents, Topic QBasicQBasic

Elementi QBASIC-aElementi Elementi QBASIC-aQBASIC-a

• Variables and Constants• Operators and Formulas• Hierarchy of operations• Uses of parentheses (uporaba

zagrada)• Assigning (pridruživanje)

•• Variables and ConstantsVariables and Constants•• Operators and FormulasOperators and Formulas•• Hierarchy of operationsHierarchy of operations•• Uses of parentheses (Uses of parentheses (uporabauporaba

zagradazagrada))•• Assigning (Assigning (pridruživanjepridruživanje))

Variables and ConstantsVariables and ConstantsVariables and Constants• Numeric - RealA=12.33 AB=1.11E+03A1=13.22 AC1=2.77E-05• IntegerA=12A1=13• StringA$=“123”AB$=“Pero”

•• Numeric - RealNumeric - RealA=12.33 AB=1.11E+03A=12.33 AB=1.11E+03A1=13.22 AC1=2.77E-05A1=13.22 AC1=2.77E-05•• IntegerIntegerA=12A=12A1=13A1=13•• StringStringA$=“123”A$=“123”AB$=“AB$=“PeroPero””

Nizovi

• Real

• Integer

• String

A(10)

A$(15)

NizoviNizovi

•• RealReal

•• IntegerInteger

•• StringString

A(10)A(10)

A$(15)A$(15)

Arithmetic OperatorsArithmetic OperatorsArithmetic Operators

Operator Example Meaning + A + B Add A to B - A - B Substract B from A * A * B Multiple A by B / A / B Divide A by B ^ A ^ B Calculate A to the power B

Operator Example MeaningOperator Example Meaning + A + B Add A to B+ A + B Add A to B - A - B - A - B Substract Substract B from AB from A * A * B Multiple A by B * A * B Multiple A by B / A / B / A / B Divide A by B Divide A by B ^ A ^ B Calculate A to the power B ^ A ^ B Calculate A to the power B

Arithmetic Relational OperatorsArithmetic Relational OperatorsArithmetic Relational Operators

Operator Example Meaning = A = B A is equal to B < A < B A is less than B > A > B A is greater than B <=,=< A <= B A is less than or equal to B >=,=> A >= B A is greater than or equal to B <>, >< A <> B A is not equal to B

String Relational Operators- vrijedi isto ali za stringove -

Operator Example MeaningOperator Example Meaning = A = B = A = B A is equal to B A is equal to B < A < B < A < B A is less than B A is less than B > A > B A is greater than B > A > B A is greater than B <=,=< A <= B A is less than or equal to B <=,=< A <= B A is less than or equal to B >=,=> A >= B A is greater than or equal to B >=,=> A >= B A is greater than or equal to B <>, >< A <> B A is not equal to B<>, >< A <> B A is not equal to B

String Relational OperatorsString Relational Operators-- vrijedi isto ali za stringovevrijedi isto ali za stringove - -

Hierarchy of operationsHierarchy of operationsHierarchy of operations

A = 15^ 2 + 12*2 + (35 * 8)

→ (35 * 8) = 280→ 15^ 2 = 225→ 12*2 = 24→ 225 + 24 = 249→ 249 + 280 = 529

A = 15^ 2 + 12*2 + (35 * 8)A = 15^ 2 + 12*2 + (35 * 8)

→→ (35 * 8) = 280(35 * 8) = 280→→ 15^ 2 = 22515^ 2 = 225→→ 12*2 = 2412*2 = 24→→ 225 + 24 = 249225 + 24 = 249→→ 249 + 280 = 529249 + 280 = 529

Arrays - Nizovi (real, integer, string)Arrays - Arrays - Nizovi Nizovi (real, integer, string)(real, integer, string)

Program za unos deset varijabli:Deklaracija niza Ne koristi se nizDeklaracija niza Ne koristi se niz Input AFor i = 1 to 7 Input B Input A(i) Input CNext i Input D Input E Input F Input G

Ulazno (Input) / Izlazne (Print)instrukcije

Ulazno Ulazno (Input) / (Input) / Izlazne Izlazne (Print)(Print)instrukcijeinstrukcije

I. NačinInput A, BC = A + BPrint C

II. NačinPrint “Unesi A”;Input APrint “Unesi B”;Input BC = A + BPrint C

III. NačinInput “Unesi A i B”;A,C = A + BPrint “A+B=”, C

Ulazne instrukcije Read - Data - RestoreUlazne instrukcije Ulazne instrukcije Read - Data - RestoreRead - Data - Restore

Primjer 1:Read A,B,C,DPrint CData 2,3,4,5

Primjer 2:Read A,B,C,DPrint CData 2,3,4

Primjer 3:Read A,BPrint BRestoreRead CPrint CData 2,3,4

Instrukcije grananja If … Than … ElseInstrukcije grananjaInstrukcije grananja If … Than … Else

Primjer 1:Input A,Bif A<B Then x = A*BElse x = A+BEndif

Primjer 2:Input A,Bif A<B Then x = A*B ElseIf A>0 Then x = A+B ElseIf A=0 Then x = A/BElse B = 0 x = A-BEndif

Programske petlje Programske petlje 1/51/5

REM REM InstrukcijaInstrukcija IF ... THEN … ELSE IF ... THEN … ELSE CLSCLS n = 1n = 110 10 PRINT "Ana"PRINT "Ana" n = n + 1n = n + 1 IF n <= 5 THEN 10IF n <= 5 THEN 10

Programske petlje Programske petlje 2/52/5

REMREM Petlja pomoću instrukcije Petlja pomoću instrukcije FOR ... FOR ...NEXTNEXT

FOR i = 1 to 5FOR i = 1 to 5 PRINT "Ana" PRINT "Ana"NEXT iNEXT i

Programske petlje Programske petlje 3/53/5

DOi = i + 1print i

LOOP WHILE i<10

DO WHILE i< 10i = i + 1print i

LOOP

Programske petlje Programske petlje 4/54/5

REM REM Umetnuta petlja pomoćuUmetnuta petlja pomoćuinstrukcijeinstrukcije

odluke odluke IF ... THEN IF ... THEN CLS CLS i = 1 i = 120 j = 120 j = 110 PRINT "Ana"10 PRINT "Ana" IF j < 3 THEN j = j + 1: GOTO 10 IF j < 3 THEN j = j + 1: GOTO 10 PRINT "*****" PRINT "*****" IF i < 3 THEN i = i + 1: GOTO 20 IF i < 3 THEN i = i + 1: GOTO 20

Programske petlje Programske petlje 5/55/5

REM REM Umetnuta petlja pomoćuUmetnuta petlja pomoću FOR ... NEXT FOR ... NEXTCLSCLSFOR i = 1 TO 3FOR i = 1 TO 3 FOR j = 1 TO 3 FOR j = 1 TO 3 PRINT "Ana" PRINT "Ana" NEXT j NEXT j

PRINT "*****” PRINT "*****”NEXT iNEXT i

FunkcijeFunkcijeFunkcije

•• TrigonometrijskeTrigonometrijske•• Funkcije sa stringovimaFunkcije sa stringovima•• Funkcije vremena Funkcije vremena i i datumadatuma•• Funkcije pretvorbeFunkcije pretvorbe•• OstaleOstale

FunkcijeFunkcije - - TrigonometrijskeTrigonometrijske

REM REM FunkcijeFunkcije sin(x); sin(x); coscos(x)(x) CLS CLS pi = 3.141592 pi = 3.141592 FOR i = 0 TO 360 STEP 15 FOR i = 0 TO 360 STEP 15 PRINT i; "( PRINT i; "(stst) ";) "; PRINT " PRINT "coscos -> "; (COS(i * (pi / 180))); -> "; (COS(i * (pi / 180))); PRINT "sin -> "; (SIN(i * (pi / 180))) PRINT "sin -> "; (SIN(i * (pi / 180))) SLEEP (1) SLEEP (1) NEXT i NEXT i

FunkcijeFunkcije - - Trigonometrijske Trigonometrijske

REM REM Funkcije atnFunkcije atn(x); tan(x)(x); tan(x) CLS CLS CONST PI = 3.141592654# CONST PI = 3.141592654# FOR i = 15 TO 180 STEP 15 FOR i = 15 TO 180 STEP 15 PRINT " PRINT "atnatn ->"; i; "( ->"; i; "(stst) "; ATN(TAN(PI / i))) "; ATN(TAN(PI / i)) PRINT "tan ->"; i; "( PRINT "tan ->"; i; "(stst) "; (TAN(i * (PI / 180)))) "; (TAN(i * (PI / 180))) NEXT i NEXT i

FunkcijeFunkcije - - Funkcije sa stringovimaFunkcije sa stringovima

•• INSTRINSTR•• LEFT$LEFT$•• RIGHT$RIGHT$•• LENLEN•• MID$MID$•• VALVAL•• STRING$STRING$

•• SPCSPC•• SPACE$SPACE$•• LTRIM$LTRIM$•• RTRIM$RTRIM$

FunkcijeFunkcije - - Funkcije vremena i datuma

•• DATE$DATE$•• TIME$TIME$

FunkcijeFunkcije - - Funkcije pretvorbe

• ASC - ASCII u decimalni ekvivalenmt• CHR$ - decimalni ekvivalent u ASCII• HEX$ - decimalni u HEX• OCT$ - decimalni u OCT

Funkcije Funkcije - - OstaleOstale

•• ABSABS•• SGNSGN•• rnd rnd (randomize)(randomize)

Funkcije Funkcije - - grafikagrafika

REM Boja SCREEN 7 FOR i% = 0 TO 15 COLOR i% PRINT i% REM SLEEP (2) NEXT i%

Rem Pravci i zvuk SCREEN 7 i = 110 xa = 20 * i ya = 10 xb = 700 - 50 * (i - 1) yb = 300 i = i + 1 IF xa > xb THEN STOP LINE (xa, ya)-(xb, yb) SOUND 100 * i, 10 GOTO 10

Potprogrami Potprogrami - Subroutine- Subroutine

REM Poprogram - slučaj GOSUB CLS PRINT " i i*i" PRINT "-------------------" FOR i% = 1 TO 10 GOSUB Square NEXT i% ENDSquare: PRINT i%, i%*i% RETURN

PotprogramiPotprogrami - Subroutine - Subroutine

REM Poprogram - slučaj DECLARE DECLARE SUB kvad (i%) CLS PRINT " i i*i " PRINT "------------------" FOR i% = 1 TO 10 kvad (i%) NEXT i% END SUB kvad (i%) PRINT i%, i% * i% END SUB

Organizacija podatakaOrganizacija podataka- - datotekedatoteke u QBASIC-u - u QBASIC-u -

•• Temeljna znanja o organizaciji podataka uTemeljna znanja o organizaciji podataka udatoteke podatakadatoteke podataka

•• Podaci i procesiPodaci i procesi•• Jednostavni primjeri za unos i čitanjeJednostavni primjeri za unos i čitanje

podatakapodataka•• Program za unos i čitanje podataka sProgram za unos i čitanje podataka s

korištenjemkorištenjem potprograma potprograma

Zašto datotekeZašto datoteke ? - ? - PrimjerPrimjer 1 1

1.1. Izvršite popis učenika Izvršite popis učenika u u razredu razredu..2.2. Unesite popis Unesite popis u u računalo računalo..3.3. Izvršite Izvršite SORT SORT po ancednom redu po ancednom redu..4.4. Tiskajmo izvještaj Tiskajmo izvještaj..•• PROBLEM !!!PROBLEM !!!•• DošaoDošao// otišao učenik otišao učenik ! !•• Što učinitiŠto učiniti ? ?•• OčitoOčito - - Ponoviti radnje po stavkama Ponoviti radnje po stavkama 1.; 2.; 3. i 4. 1.; 2.; 3. i 4.•• DA LI JE OVO UČINKOVITO ?? (DA LI JE OVO UČINKOVITO ?? (Sigurno nijeSigurno nije !) !)

PrimjerPrimjer 2: 2: Osobni karton djelatnikaOsobni karton djelatnika

Podaci kojiPodaci koji se se vode vode - - evidentiraju evidentiraju u u osobnomosobnomkartonukartonu::

–– PrezimePrezime–– ImeIme–– Adresa stanovanjaAdresa stanovanja

•• Ulica Ulica i i brojbroj•• mjestomjesto

–– Jedinstveni matičbi broj građaninaJedinstveni matičbi broj građanina–– Telefonski brojTelefonski broj

Temeljni pojmoviTemeljni pojmovi::

Datoteka (File): Organizirani skup podatakakoji se obrađuju kao cjelina i posprema umemoriju računalnog sustava.

Podatak (Date):Bilo koji predmet mišljenja kojimože prenijeti informaciju; Formaliziraniznakovni prikaz činjenica, pojmova i instrukcijapogodan za priopćavanje, interpretaciju iliobradu;

Datoteka Datoteka - - sadržajsadržaj,, vrste vrste

Datoteka - Tekstualni sadržaj (DOC, TXT)Datoteka - Tekstualni sadržaj (DOC, TXT)Datoteka - Programska (BAS, PAS, FOR …)Datoteka - Programska (BAS, PAS, FOR …)Datoteka - Slika (WMF, GIF, BMP, ICO …)Datoteka - Slika (WMF, GIF, BMP, ICO …)Datoteka - Animacija (AVI, JPG, MOV ….)Datoteka - Animacija (AVI, JPG, MOV ….)Datoteka - Zvuk (WAW …)Datoteka - Zvuk (WAW …)Datoteka -Datoteka - Arhivska Arhivska (ZIP, ARJ, BAK …) (ZIP, ARJ, BAK …)

Datoteka čiji su sadržaj podaci je predmetDatoteka čiji su sadržaj podaci je predmetrasprava i analiza ovog dijela izlaganjarasprava i analiza ovog dijela izlaganja

Podatkovna datotekaPodatkovna datoteka

Podatkovna datotekaPodatkovna datoteka

Definicija: Skup podataka koji mogu bitiDefinicija: Skup podataka koji mogu bitipredmet obrade jednog ili više programapredmet obrade jednog ili više programau nekom programskom jeziku.u nekom programskom jeziku.StrukturaStruktura::

DatotekaDatoteka(File) - (File) - Zapis Zapis (Record) - (Record) - PoljePolje(Field)(Field)

OrganizacijaOrganizacija- - UstrojUstroj: : Logička Logička i i fizičkafizičkaorganizacija podatakaorganizacija podataka..

Podatkovna datoteka - StrukturaPodatkovna datoteka - Struktura

Antić

Jukić

Osobni karton

Prezime KuzmanićIme KuzmaJMBG 1203940380001Adresa Teslina 111Mjesto SplitTelefonski broj 123-231

Zapis

Polje

Podatkovna datotekaPodatkovna datotekaOrganizacija- Ustroj: Logička i fizičkaOrganizacija- Ustroj: Logička i fizičkaorganizacija podataka.organizacija podataka.Logička organizacija: Skup logičko-Logička organizacija: Skup logičko-semantičkih zapisa koji se odnose nasemantičkih zapisa koji se odnose naodređeni niz pojmova iste vrste. Svakiodređeni niz pojmova iste vrste. Svakilogički zapis u datoteci ima isti opis i istilogički zapis u datoteci ima isti opis i istiredosljedredosljed polja podataka u svojoj polja podataka u svojojstrukturi.strukturi.Fizička organizacija: Skup fizičkih zapisaFizička organizacija: Skup fizičkih zapisana fizičkom nosiocu podataka (masovnomna fizičkom nosiocu podataka (masovnommemorijskommemorijskom mediju, radnoj memoriji) mediju, radnoj memoriji)

Tipični procesi Tipični procesi - procedure - procedure zazaobradu podatakaobradu podataka

•• Unos podatakaUnos podataka•• Ažuriranje podatakaAžuriranje podataka

–– BrisanjeBrisanje–– PromjenePromjene

•• Prikazi podatakaPrikazi podataka–– IzvještajiIzvještaji–– TraženjaTraženja