RJEŠENJA ZADATAKA IZ PROGRAMSKOG JEZIKA
QBASIC/PASCAL
SA GRADSKOG NATJECANJA ZA OSNOVNE ŠKOLE
Rijeka,13. veljače 1998.
Prvi zadatak ( stepenice.BAS )
REM stepenice.bas
SCREEN 12
CLS
unos:
INPUT "Upiši broj stepenica ", n
INPUT "Upiši širinu stepenica ", m
IF n * m > 300 THEN PRINT "Unesene vrijednosti su prevelike ": GOTO unos
CLS
LINE (1, 1)-(300, 300), , B
x = 1: y = 1
FOR b = 1 TO n
LINE (x, y)-(x + m, y)
LINE (x + m, y)-(x + m, y + m)
x = x + m
y = y + m
NEXT
Drugi zadatak ( RECENICA.BAS )
REM recenica.bas
DIM x$(30)
i = 1
raz$ = " "
INPUT "Upisi recenicu "; rec$
FOR j = 1 TO LEN(rec$)
IF (MID$(rec$, j, 1) = raz$) THEN
i = i + 1
ELSE
x$(i) = x$(i) + MID$(rec$, j, 1)
END IF
NEXT j
REM --------------- Bubble sort
FOR l = 1 TO i
FOR k = 1 TO i - l
IF x$(k) > x$(k + 1) THEN SWAP x$(k), x$(k + 1)
NEXT k
NEXT l
FOR k = 1 TO i
PRINT x$(k)
NEXT k
Treći zadatak ( TABELA.BAS )
REM tabela.bas
CLS
Unos:
INPUT "Broj stupaca tabele: ", n
IF (INT(n / 2) = n / 2) OR (n < 2) THEN PRINT "Pogresan unos !": GOTO unos
DIM a(n, n)
st = INT(n / 2 + 1)
red = 1
a(red, st) = 1
DO
red = red + 1
FOR st = 1 TO n
IF st = 1 THEN a(red, st) = a(red - 1, st) + a(red - 1, st + 1)
IF st = n THEN
a(red, st) = a(red - 1, st - 1) + a(red - 1, st)
ELSE a(red, st) = a(red - 1, st - 1) + a(red - 1, st) + a(red - 1, st + 1)
END IF
NEXT st
LOOP WHILE a(red, 1) = 0
FOR i = 1 TO red
FOR j = 1 TO n
PRINT using "#####";a(i, j);
NEXT j
PRINT
NEXT i
Četvrti zadatak ( NIZ.BAS )
REM niz.bas
CLS
INPUT "Upisi pocetni niz znamenaka: ", poniz$
niz$ = poniz$
PRINT "Niz je "; niz$;
brojac = 1
DO
brojac = brojac + 1
suma = 0
a$ = RIGHT$(niz$, 4)
FOR x = 1 TO 4
b$ = MID$(a$, x, 1)
suma = suma + VAL(b$)
NEXT x
suma$ = STR$(suma)
niz$ = niz$ + RIGHT$(suma$, 1)
PRINT RIGHT$(suma$, 1);
LOOP UNTIL poniz$ = RIGHT$(niz$, 4)
PRINT
PRINT "Pocetnu kombinaciju "; poniz$; " dobivamo ponovo na "; brojac; "-oj znamenki"