ProgramiranjeRETRO KUTAK – tehnologija prošlih decenijaSIMON'S BASIC

SIMON’S BASIC C64 – lekcija druga

SIMON’S BASIC C64 – lekcija druga na TechFokus.rs je deo retro-edukativnog serijala namenjenog programerima i ljubiteljima Commodore 64 računara u Srbiji i regionu. U ovoj lekciji detaljno su objašnjene komande specifične za Simon’s BASIC, kao što su AUTO, RENUMBER, FIND, KEY, TRACE, SECURE i druge, koje značajno olakšavaju i automatizuju proces programiranja. Lekcija pruža primere, objašnjenja i savete za efikasniji rad u okruženju Sajmons bejzika. Tekst je optimizovan za SEO i generativne AI pretraživače poput ChatGPT, Gemini i Copilot, i deo je šireg ciklusa „RETRO KUTAK“ posvećenog C64 zajednici u Srbiji.

RETRO KUTAK 

SIMON’S BASIC C64 – lekcija druga

SIMON’S BASIC C64 –  lekcija prva
SIMON’S BASIC C64 – lekcija druga
SIMON’S BASIC C64 – lekcija treća
SIMON’S BASIC C64 – lekcija čevrta
SIMON’S BASIC C64 – lekcija peta
SIMON’S BASIC C64 –  lekcija šesta
SIMON’S BASIC C64 – lekcija sedma

Krećemo sa drugom lekcijom. Danas ćemo proširiti naše znanje još nekim korisnim naredbama Sajmons bejzika i videćemo prednosti istih nad standardnim bejzikom

Napomene, saveti i objašnjenja

Kod Sajmons bejzika treba imati u vidu da ako ove programe pokušamo da učitamo u standardni C64 bejzik dobićemo simbole umesto naredbi koji naravno neće imati nikakvog značaja u standardnom bejziku i rezultiraće „Syntax error“ porukom. Takođe sve naredbe, funkcije i bitne memorijske lokacije koje koristi standardni bejzik možete koristiti i u Sajmons bejziku.

Naredbe Simon’s basic-a 

Automatizacija programiranja.

Pod automatizacijom spadaju one naredbe koje programeru omogućavaju lakši unos, nove mogućnosti, provere i nadgledanje izvršavanja Sajmons bejzik programa 

AUTO – Automatizovano ispisivanje brojeva programskih linija

Ova naredba je možda suvišna po našem mišljenju ali korišćenje iste zavisi od vašeg ukusa. Njenim zadavanjem programer ne mora da upisuje brojeve linija već sam sistem to radi umesto njega. Bez obzira što se može dati i u direktnom i programskom modu uvek se koristi u direktnom (nema smisla koristiti je u programskom modu). Ova napomena važi za sve naredbe koje služe za automatizaciju.

Oblik naredbe:

AUTO p,k  –  Argument „p“ je prva programska linija, a „k“ je korak između njih

Primer:

AUTO 10,10

Na ekranu će se pojaviti broj 10 i računar očekuje da se unese programski red. Pritiskom na return/enter preći će u sledeći red i ispisati broj 20 tražeći da se unese drugi programski red i tako dalje. Prekid automatskog numerisanja se dešava ako pretisnete return/enter a da niste ništa uneli u trenutnu programsku liniju

 

RENUMBER – menjanje brojeva programskih linija

Data naredba menja brojeve programskih linija. U radu često moramo ubaciti dosta naredbi između dve programske linije. Tako može postati prenatrpano, a u retkim slučajevima između dve susedne programske linije nema dovoljno programskih brojeva pa se onda moraju brisati, prebacivati i sl.  jednom rečju nezgodni problem. Pomoću date naredbe ovaj problem se lako rešava ali postoji caka. Programski brojevi u GOTO i GOSUB naredbama ostaju nepromenjeni tako da se moraju ručno menjati odgovarajućim novim programskim brojevima u celom programu. Naravno, Sajmons bejzik pruža rešenje i za to dodatnim naredbama kojim se zamenjuju ove dve naredbe ali o tome u kasnijim lekcijama.

Oblik naredbe:

RENUMBER p,k  – Argument „p“ je broj programske linije od koje počinje, a „k“ predstavlja korak

Primer:

RENUMBER 10,10

Posle ove naredbe listing programa

1 REM PRIMER

3 REM ZA NAREDBU

5 REM RENUMBER

izgledaće ovako:

10 REM PRIMER

20 REM ZA NAREDBU

30 REM RENUMBER

 

OPTION – prikaz naredbi Sajmons bejzika inverzno

U slučaju da želite da znate koje naredbe u vašem programu pripadaju Sajmonsu, a koje standardnom bejziku ova naredba će to uraditi za vas.

Format naredbe:

OPTION 10  – ako je argument 10 naredbe Sajmonsa se prilikom listinga ispisuju inverzno, a svaki drugi broj isključuje ovaj prikaz (zašto baš 10 ko to zna)

OPTION 0 ili bilo koji broj koji nije 10 isključuju ovaj način prikaza

 

DELAY – Promena brzine listanja programa

Ova naredba menja brzinu listanja programa pokrenute naredbom LIST. (Lično nevidimo neku primetnu promenu u brzini listanja)

Oblik naredbe:

DELAY  b   –  Argument „b“ određuje brzinu listanja (0-255 – veći broj manja brzina)

 

FIND – Nalaženje zadatog broja, znaka, promenljive ili teksta u programu

Ovom naredbom možemo naći u kojim sve programskim linijama postoji traženi tekst, promenljiva, naredba, broj ili znak

Oblik naredbe:

FINDa – Argument „a“ može biti bilo koja naredba,znak ili broj. Piše se bez razmaka od naredbe.

FIND „tekst“ – tekst koji počinje odmah posle otvorenog znaka navoda

Primer:

10 FOR I=1 TO 10

20 PRINT „PROBA DELA PROGRAMA“

30 NEXT I

Posle davanja naredbi:

FINDFOR – prikazaće se broj 10

FINDI – prikazaće se brojevi 10 i 30

FIND „PROB“ – prikazaće se broj 20

FIND „DELA“ – neće se prikazati ništa jer reč DELA nije na početku otvorenih navodnika

 

KEY – dodeljivanje ispisa ili naredbi funkcijskim tasterima

Ova naredba ima veoma interesantnu funkciju. Dozvoljava nam da dodelimo funkcijskim tasterima mogućnost ispisivanja teksta ili čak aktiviranje neke željene naredbe ili skupa naredbi. Iako C64 ima samo 8 funkcijskih tastera ovde imamo mogućnost 16 kombinacija. Prvih osam dobijamo pritiskom na f1,f3,f5,f7 i shift+f1,f3,f5,f7 (f2,f4,f6,f8),a drugih 8 pritiskom na commodore taster + f1,f3,f5,f7 i commodore taster+shift+f1,f3,f5,f7 (kod emulatora svaki funkcijski taster ima svoj taster pa je još više olakšano)

Oblik naredbe:

KEY b,“tekst“ – argument „b“ je broj funkcijskog tastera od 1 do 16, a „tekst“ tekst ispisa koji se dodeljuje tom tasteru

Primer:

KEY 1,“PRINT“

KEY 2,“ (SHIFT+CLR/HOME)LIST“+CHR$(13)

U prvom redu smo dodelili prvom funkcijskom tasteru ispis naredbe „PRINT“ i pritiskom na F1 ista će se ispisati. U drugom redu smo dodelili funkcijskom tasteru F2 da obriše ekran,ispiše naredbu LIST i pretisne return/enter (CHR$(13)) čime će se izlistati program koji je u memoriji

 

DISPLAY – Prikaz teksta dodeljenog funkcijskim tasterima

Ovom naredbom možemo videti šta smo dodelili funkcijskim tasterima naredbom KEY

Format naredbe:

DISPLAY

Posle ove naredbe izlistaće se svi funkcijski tasteri od 1 do 16 i kod onih kojih imaju dodelu ista će se ispisati dok će kod ostalih stajati samo znaci navoda. Daje se bez argumenata.

 

TRACE – Prikaz broja programske linije koja se izvršava

Ova naredba u gornjem desnom uglu ekrana prikazuje programske linije redosledom kojim se izvršavaju. Veoma je korisna za programera kada treba da se uoči neka logička greška.

Oblik naredbe:

TRACE 10 – prikazivaće se programske linije ako je dat broj 10 (zaista je interesantno zašto su se programeri Sajmonsa odlučili baš za ovu soluciju). Za prekid se daje TRACE 0 ili bilo koji drugi broj koji nije 10

 

RETRACE – prikazuje se zadnjih 6 programskih linija dobijenih naredbom TRACE

Ako želite da vidite koje su zadnje 6 programskih linija koja je pratila naredba TRACE to postižete ovom naredbom. Prikazaće se isto u gornjem desnom uglu ekrana. Daje se bez argumenata

 

DUMP – ispisivanje svih promenljivih u programu i njihovih trenutnih vrednosti

Ovom naredbom možemo videti sve promenljive koje koristimo u programu i njihove trenutne vrednosti. Daje se bez argumenata. Veoma korisna naredba

 

COLD – softversko resetovanje Sajmons bejzika

Ima istu funkciju kao naredba NEW sa razlikom da ne samo što se briše bejzik program istovremeno se vrši i softverski reset sistema (kao da je Sajmons bejzik tek pokrenut). Daje se bez argumenata. Takođe se brišu i trenutne vrednosti svih promenljivih

 

OLD – vraća obrisani bejzik program

Ova naredba vraća obrisani bejzik program naredbama COLD ili NEW pod uslovom da posle zadavanje naredbe za brisanje i naredbe za povraćaj nije upisana ni jedna programska linija. Vrednosti promenljivih se ne vraćaju na staro. Daje se bez argumenata.

 

DISAPA – Označavanje programskih linija koje će se učiniti nevidljivima

Datom naredbom je pokušano da se uvede neka vrsta sigurnosti za programe koje su pisane u Sajmons bejziku. Ide uvek uz naredbu SECURE. Daje se bez argumenata

Oblik naredbe:

DISAPA

Primer:

10 FOR I=1 TO 10

20 DISAPA:PRINT „PROBNI ISPIS“

30 NEXT I

Kada izlistamo program linija 20 će izgledati ovako: 20 DISAPA:::::PRINT „PROBNI ISPIS“

 

SECURE – aktiviranje zaštite programskih linija označenih naredbom DISAPA

Kada se da ova naredba sve linije koje u sebi imaju naredbu DISAPA biće nevidljive i nedostupne za obradu ali i dalje aktivne. (Nevidljivi programski red se može izbrisati navođenjem njegovog broja i pritiskom na return/enter isto kao kod običnog brisanja programske linije)

Oblik naredbe:

SECURE 0  – ili bilo koji drugi broj

Posle zadavanje ove naredbe dati program u primeru za naredbu DISAPA izgledaće ovako

10 FOR I=1 TO 10

20

30 NEXT I

Završimo sa ovom naredbom za danas. Kao što vidite Sajmons bejzik ima zaista upečatljive naredbe za rad. Velika je šteta što isti nije opšte prihvaćen od strane C64 zajednice ali ko god da ga je koristio uverio se u njegovu moć.

URL prve lekcije: https://techfokus.rs/simonss-basic-za-commodorw-64-lekcija-1/

Strip Saša programira u Simonovom bejziku na Komodoru 64, dok Neša sa naočarima ima glavobolju od C++
Saša uživa programirajući u Simon’s BASIC-u na C64, dok se Neša bori sa glavoboljom radeći u modernom C++ okruženju

 

 

 

 

 

 

 

 

Preslušajte audio recenziju lekcije 2

SIMON’S BASIC C64 –  lekcija prvahttps://techfokus.rs/simonss-basic-za-commodorw-64-lekcija-1/
SIMON’S BASIC C64 – lekcija drugahttps://techfokus.rs/simons-basic-c64-lekcija-druga/
SIMON’S BASIC C64 – lekcija trećahttps://techfokus.rs/simons-basic-c64-lekcija-treca/
SIMON’S BASIC C64 – lekcija čevrtahttps://techfokus.rs/simons-basic-grafika-lekcija-4/
SIMON’S BASIC C64 – lekcija petahttps://techfokus.rs/retrokutak-simons-basic-lekcija-peta/
SIMON’S BASIC C64 –  lekcija šestahttps://techfokus.rs/retro-kutak-simons-basic-c64-lekcija-sesta/
SIMON’S BASIC C64 – lekcija sedmahttps://techfokus.rs/retro-kutak-simons-basic-c64-lekcija-sedma/

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *