Napredni QBASIC

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 24

NAPREDNO PROGRAMIRANJE QBASIC

1. ZADATAK
Napii program koji e na ekranu ispisati sve prirodne neparne brojeve od 1 do 100. Brojevi trebaju biti ispisani jedan iza drugoga. 1 3 5 7 9 ..95 97 99

DIJAGRAM TOKA ZADATAK 1.


POC X=1 NE

X < 100 DA

KRAJ

X
X =X + 2

1. RJEENJE
CLS FOR x = 1 TO 100 STEP 2 PRINT x; NEXT END

2. ZADATAK
Upii petocifren broj. Ispii sve cifre upisanog broja jednu ispod druge te nakon dva preskoena reda njihov zbir. Pogledaj ulaz i izlaz. Primjer: ulaz izlaz 23402 2 3 4 0 2 ----11

2. RJEENJE
CLS INPUT Upii petocifrenbroj: , a a$ = LTRIM$(STR$(a)) FOR x = 1 TO LEN(a$) PRINT MID$(a$, x, 1) zbr = zbr + VAL(MID$(a$, x, 1)) NEXT PRINT PRINT ___ PRINT zbr END

3. ZADATAK
Napii program koji e dopustiti upis petocifrenog broja. Napravi kontrolu da broj cifara ne bude vei ili manji od 5. Ako je vei ili manji od 5, treba napisati poruku Ponovite upis. i omoguiti upis novog broja. Kada se upie petocifren broj, treba sabrati taj broj s brojem napisanim pomou istih cifara obrnutim redom. Primjer: ulaz izlaz 23579 23579 + 97532 ----------121111

3. RJEENJE
CLS start: INPUT Upii petocifren broj: , a a$ = LTRIM$(STR$(a)) IF LEN(a$) < > 5 THEN GOTO start FOR x = LEN(a$) TO 1 STEP -1 b$ = b$ + MID$(a$, x, 1) NEXT PRINT ; a$ PRINT +; b$ PRINT -------- PRINT VAL(a$) + VAL(b$) END

4. ZADATAK
Upii jedno jednodimenzionalno polje x od 15 brojeva. Izrazi: najvei broj i njegovu poziciju u polju, najmanji broj i njegovu poziciju u polju.

2 3 4

6 7 8

9 10 11 12 13 14 15

4. RJEENJE
CLS DIM x(15) DIM p(15) FOR y = 1 TO 15 INPUT Broj > , x(y) p(y) = y NEXT FOR c = 1 TO 15 FOR cc = 1 TO 15 IF x(c) < x(cc) THEN SWAP x(c), x(cc): SWAP p(c), p(cc) NEXT NEXT PRINT x(1); p(1) PRINT x(15); p(15) END

5. ZADATAK
Kua ima 4 stanova na svakom spratu. Broj spratova moe biti od 1 do 7. Nakon upisa broja spratova (1-7) stanove treba popuniti velikim slovima nae abecede poevi od najvieg sprata i ispisati ih na ekranu. Primjer: za 3 sprata ABC D D EFGH Nakon upisa slova jednog stanara treba ispisati sve njegove susjede gore, dolje, lijevo i desno.

Primjer: stanar D susjedi: B, F, ,

Primjer: stanar A susjedi: B,

5. RJEENJE
CLS INPUT Upii broj katova (1-7): , n DIM a$(n, 4) FOR x = 1 TO n FOR y = 1 TO 4 READ b$ a$(x, y) = b$ NEXT NEXT DATA A,B,C,,,D,,D,E,F,G,H,I,J,K,L DATA LJ,M,N,NJ,O,P,R,S,,T,U,V,Z,

NASTAVAK 5. ZADATKA
REM Ispis svih stanara FOR x = 1 TO n FOR y = 1 TO 4 PRINT a$(x, y); ; NEXT PRINT NEXT INPUT Upii stanara: , s$ REM Traenje stanara FOR x = 1 TO n FOR y = 1 TO 4 IF s$ = a$(x, y) THEN GOTO van NEXT NEXT

NASTAVAK 5. ZADATKA
van: REM Ispis susjeda od zadanog stanara IF x > 1 THEN PRINT a$(x - 1, y); IF x < n THEN PRINT a$(x + 1, y); IF y > 1 THEN PRINT a$(x, y - 1); IF y < 4 THEN PRINT a$(x, y + 1); END

ZADATAK TRIMETE

ALGORITAM Glavnog programaTRIMETE


obrii zaslon postavi grafiki ekran640 x 480 postavi varijablu x na 120. stupac postavi varijablu y na 240. redak petlju izvri tri puta priekaj jednu sekundu pozovi potprogram nacrtaj postavi radijus krunice na nulu postavi boju krunice na nulu poveaj kolonu x za 200 kraj petlje

Glavni program TRIMETE


DECLARE SUB nacrtaj (x!, y!, r!, c!) CLS SCREEN 12 x = 120 y = 240 FOR i = 1 TO 3 SLEEP 1 CALL nacrtaj(x, y, r, c) r=0 c=0 x = x + 200 NEXT i

ALGORITAM Potprogram nacrtaj


preuzmi varijable x, y, r i c petlju izvri deset puta poveaj radijus r za 10 poveaj boju krunice c za 1 nacrtaj krunicu kraj petlje kraj potprograma

Potprogram nacrtaj
SUB nacrtaj (x, y, r, c) FOR j = 1 TO 10 r = r + 10 c=c+1 CIRCLE (x, y), r, c NEXT END SUB

ZADATAK NACRTATI STRUKTURNU FORMULU ALKANA

Napii program u QBASIC-u koji e omoguiti upis broja atoma ugljika (C) nekog alkana. Upisani broj ne smije biti manji od 1 i vei od 10. Nakon upisa broja atoma ugljika na ekranu nacrtati strukturnu formulu alkana.

Glavni program
DECLARE SUB ugljik (r!, s!) CLS poc: INPUT "Upii broj atoma ugljika (C) u alkanu: ", c IF c < 1 OR c > 10 THEN PRINT "Pogrean upis!" GOTO poc END IF REM r = redak , s = stupac r = 10 s = 10 LOCATE r, s PRINT "H -"; FOR x = 1 TO c LOCATE r, s s = s + 4 CALL ugljik(r, s) NEXT x s = s + 2 LOCATE r, s PRINT "- H" END

Potprogram
SUB ugljik (r, s) r = r - 2 LOCATE r, s PRINT "H" r = r + 1 LOCATE r, s PRINT "|" r = r + 1 LOCATE r, s PRINT "C -" r = r + 1 LOCATE r, s PRINT "|" r = r + 1 LOCATE r, s PRINT "H" r = r - 2 END SUB

KRAJ

You might also like