21.05.2014. www.mojamatura.net - Webinar je vodila Sonja Lušić Radošević, profesorica u IX. gimnaziji u Zagrebu. Ponovila je bitne činjenice iz ispitnih kataloga, područja ispitivanja, obrazovne ishode i strukturu ispita na državnoj maturi te dala još koji koristan savjet u zadnji trenutak. U interaktivnom dijelu webinara riješavali su se zadatci s prošlogodišnjih ispita DM 2012./2013.
21.05.2014. www.mojamatura.net - Webinar je vodila Sonja Lušić Radošević, profesorica u IX. gimnaziji u Zagrebu. Ponovila je bitne činjenice iz ispitnih kataloga, područja ispitivanja, obrazovne ishode i strukturu ispita na državnoj maturi te dala još koji koristan savjet u zadnji trenutak. U interaktivnom dijelu webinara riješavali su se zadatci s prošlogodišnjih ispita DM 2012./2013.
2. Programiranje 1 PMF Split 2
QBasic Funkcije sa stringovima
LEN(string$)
LEFT$(string$, broj)
RIGHT$(string$, broj)
•LEN vraća duljinu stringa
•LEFT$ / RIGHT$ vraća određeni broj znakova stringa
počevši od lijeve / desne strane
a$="Dobar dan"
PRINT LEN(A$)
9
a$="Dobar dan"
PRINT LEFT$(A$,5)
PRINT RIGHT$(A$,3)
Dobar
dan
3. Programiranje 1 PMF Split 3
QBasic Funkcije sa stringovima
MID$(string$, broj1, broj2)
MID$(string1$, broj1, broj2)=string2$
•MID$ vraća dio stringa i vrši zamjenu dijela string
varijable s nekim drugim stringom
Split
Dalmacija, Engleska
Dalmacija, Hrvatska
a$ = "Gdje je Split?"
PRINT MID$(a$, 9, 5)
b$ = "Dalmacija, Engleska"
PRINT b$
MID$(b$, 12) = "Hrvatska"
PRINT b$
•INSTR vraća poziciju prvog pojavljivanja nekog
podstringa u stringu
INSTR(pocetna_pozicija, string$, podstring$)
•UCASE$ - pretvara slova u velika
•LCASE$ - pretvara slova u mala
4. Programiranje 1 PMF Split 4
QBasic Funkcije sa stringovima
a$ = "Sveuciliste Split“
PRINT a$
PRINT INSTR(1 , a$, "Split")
PRINT LEFT$(a$, 11 )
PRINT RIGHT$(a$, 6)
PRINT LEN(a$)
PRINT MID$(a$, 1 , 11 )
Stringovi se mogu zbrajati. Npr.
a$=“dobar” b$=“ dan”
c$=a$+b$=“dobar dan”
5. Programiranje 1 PMF Split 5
Primjer
• Program koji će učitati jednu riječ i ispisati je naopako.
CLS
INPUT a$
b$=“”
FOR i=LEN(a$) TO 1 STEP -1
c$=MID$(a$, i, 1)
b$=b$+c$
NEXT i
PRINT b$
6. Programiranje 1 PMF Split 6
QBasic Funkcije pretvorbi
• CHR$(n) – prevodi ASCII kod u odgovarajući
znak
• ASC(x) – daje ASCII kod prvog znaka stringa
REM Pretvorba decimalnog broja u ASCII ekvivalent
CLS
FOR i = 60 TO 130
PRINT i, CHR$(i)
SLEEP 1
NEXT i
7. Programiranje 1 PMF Split 7
QBasic Aritmetičke funkcije
• INT(x) – izračunava najveću cjelobrojnu vrijednost
koja je manja ili jednaka x
• FIX(x) – daje cjelobrojni dio od x
• CINT(x) – zaokruži vrijednost x
• RND – daje slučajne brojeve u intervalu <0,1>; da
bi se izbjeglo ponavljanje brojeva treba koristiti
naredbu RANDOMIZE
• TIMER – određuje broj proteklih sekundi od
uključivanja računala
8. Programiranje 1 PMF Split 8
Primjer
Učitati troznamenkasti broj i ispisati mu srednju
znamenku.
INPUT broj
broj=FIX(broj/10)
PRINT broj MOD 10
9. Programiranje 1 PMF Split 9
QBasic Matematičke funkcije
• SQR(x) – korijen broja
REM Funkcije sin(x); cos(x)
CLS
pi = 3.4592
FOR i = 0 TO 360 STEP 15
PRINT i; "(st) ";
PRINT "cos -> "; (COS(i * (pi / 1 80)));
PRINT "sin -> "; (SIN(i * (pi / 1 80)))
SLEEP ()
NEXT i
10. Programiranje 1 10
Primjer
• Upisati riječ. Ispisati tu riječ na ekran samo ako joj je duljina prost broj.
CLS
INPUT a$
broj=LEN(a$)
f=0
FOR i=2 TO broj-1
IF br MOD i=0 THEN f=1
NEXT i
IF f=0 THEN PRINT a$
11. Programiranje 1 PMF Split 11
Primjer
• Napisati program koji će učitati cijeli broj. Ako je broj četveroznamenkast, ispitati da li mu
je suma prve i treće znamenka jednaka 8.
CLS
INPUT "Unesi broj"; broj
IF broj > 999 AND broj < 10000 THEN
d = broj MOD 10
broj = FIX(broj / 10)
c = broj MOD 10
broj = FIX(broj / 10)
b = broj MOD 10
a = FIX(broj / 10)
IF a + c = 8 THEN PRINT "suma prve i trece znamenke je 8"
ELSE
PRINT "nije cetveroznamenkast!"
END IF
Test podaci:
254, 2768, 87623, 1111, 4849
12. Programiranje 1 PMF Split 12
Primjer
• Napisati program koji će učitati prirodni broj. Pronaći i ispisati koliko puta se
ponovila znamenka 4 u tom broju.
CLS
INPUT "x=", x
br = 0
WHILE x <> 0
z = x MOD 10
IF z = 4 THEN br = br + 1
x = FIX(x / 10)
WEND
PRINT "Znamenka 4 se pojavljuje "; br; " puta"
Test podaci:
326, 4813, 24144
Ima ih 4
13. Programiranje 1 PMF Split 13
Algoritmi pretvorba decimalnog broja u dekadski
početak
br
cijeli = br
ost = cijeli MOD 2
cijeli = cijeli 2
ost
cijeli=0
NE
kraj
Dijagram toka za pretvorbu dekadskog
broja u binarni broj.
Napravi program.
br cijeli ost
26 26
13 0
6 1
3 0
1 1
0 1
14. Programiranje 1 PMF Split 14
Algoritmi brojenje znamenki
Dijagram toka za brojenje znamenki unesenog
broja (npr. za uneseno 324 daje 3).
Napravi program.
br n cijeli
324 0 324
1 32.4
2 3.24
3 0.324
početak
br
cijeli = cijeli / 10
n=0
n=n+1
cijeli < 1
cijeli = br
NE
n
kraj
15. Programiranje 1 PMF Split 15
Algoritmi pretvorba
početak
br
cijeli = cijeli / 10
n=0
n=n+1
cijeli < 1
cijeli = br
NE
dek=0
i=n-1, 0
dek = dek + br10i
* 2i
br = br - br10i
dek
kraj
Algoritam koji će pretvarati binarni broj u dekadski. Napravi program.
br n cijeli dek i
101 0 101
1 10.1
2 1.01
3 0.101
0 2
4=1*22
1 4 1
0 5=4+1*20 0
16. Programiranje 1 PMF Split 16
Zadaci
1. Upisati rečenicu, pa ispisati broj pojavljivanja svakog samoglasnika,
ispisati je naopako i ispisati njenu duljinu.
A-Z 65-90 a-z 97-122
2. Učitati prirodan broj i ispisati sve njegove znamenke. (INT, FIX)
3. Rastaviti prirodan broj na proste faktore. (INT, FIX)
4. Ispisati sumu svih dvoznamenkastih prostih brojeva.
5. Napravi program koji traži da uneseš ime i prezime u jednu string
varijablu i onda ispiši svako slovo iz string varijable jedno ispod
drugog.
6. Napravi program koji traži da uneseš neki string u varijablu i onda
zamijeni znakove u string varijabli.
("QBasic" -> "cisaBQ")