1 / 31

NAPREDNO PROGRAMIRANJE QBASIC

NAPREDNO PROGRAMIRANJE QBASIC. ZADATAK. Zadatak je neki problem koji moramo riješiti. Da bi neki zadatak uspješno riješili moramo ga dobro proučiti. Nakon toga trebamo napraviti plan rješavanja zadatka.

tan
Download Presentation

NAPREDNO PROGRAMIRANJE QBASIC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NAPREDNO PROGRAMIRANJEQBASIC Ljubinko Vidanović, prof.

  2. ZADATAK • Zadatak je neki problem koji moramo riješiti. • Da bi neki zadatak uspješno riješili moramo ga dobro proučiti. • Nakon toga trebamo napraviti plan rješavanja zadatka. • Ako je zadatak složeniji, moramo ga rastaviti na manje dijelove, te svaki pojedinačno riješiti. • Postoje trivijalni i netrivijalni zadaci (rješenja).

  3. ALGORITAM Algoritam je načelno rješenje nekog konkretnog problema (zadatka). ili Razrada postupka rješenja određenog problema nazivamo algoritam. • - algoritam je i određeni recept za pripremu jela • - nastavna priprema • - turistički plan obilaska neke zemlje • - putanja kretanja po ulicama kroz grad • -putanja kretanja od mjesta do mjesta • -itd.

  4. DIJAGRAM TOKA • Dijagram toka je algoritam napisan u grafičkom obliku i koristi se standardnim grafičkim simbolima. • Dijagram toka se naročito preporuča kad se rješavaju složeni zadaci iz programiranja. • Dijagram toka – dijagram tijeka.

  5. Početak i kraj Unos podataka Obrada podataka Ispis podataka Odlučivanje Poveznice OSNOVNI SIMBOLIDIJAGRAMA TOKA

  6. PROGRAMSKI JEZIKQBASIC • Programski jezik BASIC (Beginner´s All-purpose Symbolic Instruction Code) • QBASIC = QuickBASIC (Microsoft) • Viši programski jezik namijenjen programerskim početnicima • Lak prijelaz s QBASIC-a na neki drugi programski jezik (npr. PASCAL,C++, COBOL, …..)

  7. 1. ZADATAK • Napiši program koji će na zaslonu ispisati sve prirodne neparne brojeve od 1 do 100. • Brojevi trebaju biti ispisani jedan iza drugoga. • 1 3 5 7 9 …………..95 97 99

  8. POC X=1 NE X < 100 DA KRAJ X X =X + 2 DIJAGRAM TOKA ZADATAK 1.

  9. 1. RJEŠENJE • CLS • FOR x = 1 TO 100 STEP 2 • PRINT x; • NEXT • END

  10. 2. ZADATAK Upiši peteroznamenkasti broj. Ispiši sve znamenke upisanog broja jednu ispod druge te nakon dva preskočena retka njihov zbroj. Pogledaj ulaz i izlaz. • Primjer: • ulaz izlaz • 23402 2 • 3 • 4 • 0 • 2 • ----- • 11

  11. ALGORITAM ZADATAK 2. obriši zaslon • upiši peteroznamenkasti broj • pretvori upisani broj u string varijablu (alfanumerik) • petlju izvrši pet puta • na zaslon ispiši od prve do pete znamenke • jednu po jednu znamenku, svaku u svoj red • pretvori znamenku u broj i dodaj u zbroj • kraj petlje • preskoči dva reda i nacrtaj crtu • na zaslon ispiši zbroj svih znamenki

  12. 2. RJEŠENJE • CLS • INPUT ”Upiši peteroznamenkasti broj: ”, 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

  13. 3. ZADATAK Napiši program koji će dopustiti upis peteroznamenkastog broja. Napravi kontrolu da broj znamenki ne bude veći ili manji od 5. Ako je veći ili manji od 5, treba napisati poruku „Ponovite upis.” i omogućiti upis novog broja. Kada se upiše peteroznamenkasti broj, treba zbrojiti taj broj s brojem napisanim pomoću istih znamenki obrnutim redom. • Primjer: • ulaz izlaz • 23579 23579 • + 97532 • ----------- • 121111

  14. ALGORITAM ZADATAK 3. obriši zaslon • upiši peteroznamenkasti broj • provjeri logičku kontrolu na 5 znamenki • pretvori upisani broj u string varijablu (alfanumerik) • petlju izvrši pet puta • prebaci iz upisanog broja u novi string od pete do prve znamenke • kraj petlje • na zaslon ispiši upisan broj • na zaslon ispiši dobiveni broj (obrnuti) • na zaslonu nacrtaj crtu ispod brojeva • zbroj ta dva broja ispiši na zaslonu

  15. 3. RJEŠENJE • CLS • start: • INPUT ”Upiši peteroznamenkasti 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

  16. 4. ZADATAK • Upiši jedno jednodimenzionalno polje x od 15 brojeva. Izrazi: • najveći broj i njegovu poziciju u polju, • najmanji broj i njegovu poziciju u polju. • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X

  17. 4. RJEŠENJE • 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

  18. 5. ZADATAK Kuća ima 4 stana na svakom katu. Broj katova može biti od 1 do 7. Nakon upisa broja katova (1-7) stanove treba popuniti velikim slovima naše abecede počevši od najvišeg kata i ispisati ih na zaslonu. • Primjer: za 3 kata • A B C Č • Ć D Đ DŽ • E F G H • Nakon upisa slova jednog stanara treba ispisati sve njegove susjede gore, dolje, lijevo i desno. • Primjer: stanar D Primjer: stanar A • susjedi: B, F, Ć, Đ susjedi: B, Ć

  19. 5. RJEŠENJE • CLS • INPUT ”Upiši 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”,”Ž”

  20. 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 ”Upiši stanara: ”, s$ • REM Traženje stanara • FOR x = 1 TO n • FOR y = 1 TO 4 • IF s$ = a$(x, y) THEN GOTO van • NEXT • NEXT

  21. 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

  22. ZADATAKTRIMETE

  23. ALGORITAM Glavnog programaTRIMETE • obriši zaslon • postavi grafički zaslon 640 x 480 • postavi varijablu x na 120. stupac • postavi varijablu y na 240. redak • petlju izvrši tri puta • pričekaj jednu sekundu • pozovi potprogram nacrtaj • postavi radijus kružnice na nulu • postavi boju kružnice na nulu • povećaj stupac x za 200 • kraj petlje

  24. 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

  25. ALGORITAM Potprogram nacrtaj • preuzmi varijable x, y, r i c • petlju izvrši deset puta • povećaj radijus r za 10 • povećaj boju kružnice c za 1 • nacrtaj kružnicu • kraj petlje • kraj potprograma

  26. 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

  27. ZADATAKNACRTATI STRUKTURNU FORMULU ALKANA

  28. Napiši program u QBASIC-u koji će omogućiti upis broja atoma ugljika (C) nekog alkana. Upisani broj ne smije biti manji od 1 i veći od 10. Nakon upisa broja atoma ugljika na zaslonu nacrtati strukturnu formulu alkana.

  29. Glavni program DECLARE SUB ugljik (r!, s!) CLS poc: INPUT "Upiši broj atoma ugljika (C) u alkanu: ", c IF c < 1 OR c > 10 THEN PRINT "Pogrešan 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

  30. 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

  31. KRAJ

More Related