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
Top Related