Male škole programiranja na Commodore 64 u BASIC-u
Druga lekcija „Male škole programiranja na Commodore 64“ donosi pregled važnih BASIC komandi, vrste grešaka, unos podataka i praktične primere koji pomažu da razumete osnove programiranja na legendarnom C64.
Dobrodošli na drugi čas „Male škole programiranja na Commodore 64 u BASIC-u“. Danas nastavljamo gde smo stali, zaranjajući dublje u svet BASIC komandi. Upoznaćemo se sa ključnim konceptima kao što su petlje i uslovi, naučićemo kako da primamo unos od korisnika i kako da se izborimo sa neizbežnim greškama. Idemo korak po korak.
Za početak: Vrste grešaka kod programiranja
Prilikom programiranja mogu se javiti dve osnovne vrste grešaka: sintaksičke i logičke.
- Sintaksičke greške (Syntax Errors): Ovo su greške u „gramatici“ jezika. Dešavaju se kada pogrešno unesete naziv naredbe (npr.
PRONTumestoPRINT). Računar ih odmah prepozna i prijavljuje porukom?SYNTAX ERROR. Ovde spadaju i greške tipa podataka, na primer, kada pokušate da u numeričku promenljivu upišete tekst (?REDO FROM START). - Logičke greške (Logic Errors): Ove greške su mnogo „podmuklije“. Vaš program radi, ne prijavljuje grešku, ali jednostavno ne daje tačan rezultat. Na primer, hteli ste da saberete dva broja, a greškom ste ih pomnožili. Računar ne zna vašu nameru, pa ovakve greške zahtevaju detaljno pregledanje koda.
Važni saveti i trikovi za C64
Napomena: Dužina programske linije
C64 BASIC editor dozvoljava unos u maksimalno dva reda na ekranu za jednu programsku liniju (ukupno 80 karaktera). Ako vaša linija postane duža i pređe u treći red, računar će prihvatiti samo prva dva reda. Ostatak će ignorisati ili prijaviti grešku. Zato, ako imate dugačke naredbe, razbijte ih u više programskih linija.
Mali savet: Dva seta karaktera
C64 ima dva seta karaktera: prvi (podrazumevani) sa velikim slovima i grafičkim simbolima, i drugi sa malim i velikim slovima. Između njih prelazite pritiskom na Commodore + Shift. Za programiranje ostanite u prvom setu (velika slova).
Listanje kataloga na disketi
Da biste videli šta se nalazi na disketi, koristite sledeću komandu (ovo briše trenutni program iz memorije!):
LOAD "$",8 LIST
Upoznajmo nove komande
: (Dvotačka) – Više naredbi u jednoj liniji
Dvotačka vam omogućava da „spojite“ više naredbi u jednu programsku liniju.
10 PRINT "C64 JE ODLICAN ": PRINT "RACUNAR"
π (Pi) i ↑ (Stepenovanje)
- π (Pi): Konstanta ~3.14159. Dobija se sa
SHIFT+STRELICA LEVO. - ↑ (Stepenovanje): Operator za stepenovanje (npr. 2 na treći). Dobija se pritiskom na
STRELICA LEVO.
REM – Unos komentara
Naredba REM (Remark) služi za ostavljanje komentara koje računar ignoriše.
10 PRINT "C64" : REM OVO JE KOMENTAR
Ostale korisne komande
- END: Momentalno zaustavlja izvršavanje programa.
- LET: Služi za dodelu vrednosti (npr.
LET A=10), ali je na C64 opciona i obično se piše samoA=10. - CLR: Briše sadržaj svih promenljivih (resetuje ih na nulu ili prazan tekst).
Interakcija i Kontrola Ekrana
Brisanje ekrana u programu
Da biste obrisali ekran unutar programa, koristite komandu PRINT sa specijalnim karakterom (inverzno srce), koji dobijate pritiskom na SHIFT + CLR/HOME dok ste unutar navodnika.
10 PRINT "(SHIFT+CLR/HOME)"
INPUT – Unos podataka od korisnika
Naredba INPUT zaustavlja program i traži od korisnika da unese podatak.
10 INPUT "KAKO SE ZOVES"; IME$ 20 PRINT "ZDRAVO, "; IME$
Kontrola Toka Programa
FOR-NEXT Petlje
Petlje omogućavaju ponavljanje dela koda određeni broj puta.
10 FOR I = 1 TO 5 20 PRINT "OVO JE LINIJA BROJ"; I 30 NEXT I
IF-THEN (Odlučivanje) i GOTO (Skok)
IF proverava uslov. Ako je tačan, izvršava se komanda posle THEN. GOTO bezuslovno skače na zadatu liniju.
Veliki Primer: „Igra Pogađanja Gradova“
Iskombinujmo sve naučeno u jednu igru:
10 PRINT "(SHIFT+CLR/HOME)" : REM BRISE EKRAN 20 CLR 30 PRINT "--- IGRA POGADJANJA GRADOVA ---" 40 INPUT "IGRAC 1, UNESI TAJAN GRAD"; GRAD$ 50 PRINT "(SHIFT+CLR/HOME)" : REM SAKRIJ UNOS 60 PRINT "IGRAC 2 IMA 5 POKUSAJA." 70 FOR I = 1 TO 5 80 INPUT "TVOJ POKUSAJ"; POG$ 90 IF POG$ = GRAD$ THEN GOTO 200 100 PRINT "NETACNO!" 110 NEXT I 120 PRINT "IZGUBIO SI. GRAD JE BIO: "; GRAD$ 130 END 200 PRINT "BRAVO! POGODIO SI!"
❓ Pitanja i odgovori (FAQ)
Šta znači poruka ?SYNTAX ERROR?
Ovo je najčešća greška i znači da računar ne razume komandu koju ste uneli. Proverite da li ste pravilno napisali naziv naredbe (npr. PRINT umesto PRONT) i da li su svi znaci navoda zatvoreni.
Kako da prekinem program koji se zaglavio u petlji?
Ako program radi beskonačno i ne reaguje, pritisnite taster RUN/STOP na tastaturi (ili odgovarajući taster u emulatoru, često ESC) da biste ga nasilno prekinuli.
Da li moram da pišem komandu LET?
Ne. Iako je LET deo BASIC standarda, na Commodore 64 ona je opciona. Umesto LET A=10, možete (i trebalo bi) pisati samo A=10 radi uštede memorije i bržeg kucanja.
Šta se dešava ako linija koda pređe dva reda na ekranu?
C64 prihvata samo prva dva reda (80 karaktera) kao jednu programsku liniju. Sve što pređe u treći red biće ignorisano ili će izazvati grešku. Dugačke naredbe razbijte u više linija.
Kako INPUT komanda zna da li unosim broj ili tekst?
Zavisi od promenljive koju koristite. Ako napišete INPUT A, računar očekuje broj. Ako napišete INPUT A$ (sa znakom dolara), računar očekuje tekst.
Toliko za danas. Pokušajte da modifikujete igru pogađanja – možda da se pogađa broj? Programiranje je rešavanje problema, korak po korak. Vidimo se na sledećoj lekciji!

