Tanuljunk BASIC-et, ami az alap volt

2014-11-03

 

A dolog onna indult, hogy csemetémet meg kellene tanítanom programozni. Bár az általános iskolában azt ígérték amikor beirattuk, lassan már 7 éve, hogy az angolt és a számítástechnikát kiemelten fogják tanítani, de az iskoláknak sem lehet mindent elhinni. Minden éveben tanultak LOGO-t, meg MS Paint-t. Takarékosságból számítástechnikából nem volt tankönyvük, és nem voltak hajlandók elárulni mit tanítanak. Egy fogadóórán az verte ki a biztosítékot, hogy a gyerek számítástechnika tanárnője megkérdezte mi a foglalkozásom, mert nem mindig érti mit mond neki a gyerek.

Szóval volt ez a kiváló hazánk fia, Kemény János, aki a hatvanas években, amikor én születtem, egy másik okos emberrel, Thomas Kurtzzal Amerikában megalkották a BASIC programozási nyelvet, kifejezetten oktatási célból. Persze részletesebben is utána lehet olvasni a dolognak. És hol vagyok én, hogy oktatási célból kitaláljak egy jobb nyelvet? Azután a szakközépiskolában az első programozási élményem is a BASIC nyelvvel kezdődött. Azt a számítógépet úgy hívták, hogy TPA70, és másodprcenként úgy 70000 program lépést tudott végrehajani. A nyolcvanas években robbanásszerűen terjedtek el a személyi számítógépek, és mindegyiket BASIC-ben lehetett programozni. Mindenki BASIC-ben tanult meg programozni. Akkor a embereknek megadatott az élmény, hogy a BASIC nyelv segítségével mindenfélére rávehettek egy számítógépet. Pedig akkor kazettás magnókkal kínlódtunk, majd sokkal később szatyornyi floppy lemezzel mászkáltunk számítógép klubba programokat csereberélni. Nem volt lapos LCD fullHD monitor, meg még három laptop és két tablet a családban, hanem jobbára meg kellett küzdenünk a TV használatáért. Ma számos fizetős és ingyenes lehetőség közül választhatunk ha programozni akarunk, de ezek a rendszerek együtt nőttek fel velünk, kifinomultak, bonyolultak, még a leírásaik is komplikáltak, a tanuló nem találja meg a fonalat, amelyik végigvezeti az egyszerűtől a bonyolultig a megismerés labirintusában. Néha ráakadok a neten egy-egy iskolai, egyetemi előadás jegyzetre, és sokszor azt látom, hogy az mintegy leltárszerűen felsorolja a lehetőségeket, de nem tanít. Nem súlyozza mi az, amivel már az egyszerűbb feladatokat meg tudjuk oldani, mi az ami általában kell, és mi az amire csak néha van szükség. Így csak számonkérni és megutáltatni lehet a programozást.

Jól elkanyarodtam a témától. Elég nehéz olyat tanítani, amihez nem értünk. Ezért esett néhány éve a választásom a TV Computer emulátorra. Annak BASIC-jét sok évig nyúztam, sok programot írtam benne. Hülye dolog, hogy a valamikori kedvenc játékszeremre most azt mondják retro. Ha valakit érdekel, közelebbit itt talál róla mindenfélét.

Csak hát mégsem az igazi, egy mai PC annyi mindennel többet tud, szinek, képernyő felbontás, hangok, nyomtatás, és gyorsabban is dolgozik. Az emulátorokban külön macera, hogy a régi gép billentyűzete hogyan van leképezve a PC-re. De a gyerek mindennek ellenére élvezte benne a programozást!

Szóval szükségét láttam, hogy szétnézzek a neten, mit lehet ma találni. A QBASIC is már akkor volt divatban, amikor még MS-DOS-t futtatunk a gépeken, de még fenttartottam lehetséges alternatívaként. Én szeretem külnön szövegszerkesztőben megírni a programomat, majd lefordítani. De főleg egy kezdőnek megkönnyíti az életét, ha van egy IDE, egy olyan keret, amiben meg tudja írni a programot, segít a program írásánál, és megmutatja fordítás vagy futtatásnál hol van a hiba. Biztos van aki emlékszik a Borland cég Turbo Pascal és Torbo C rendszereire. Máig is őrizgtek egy Turbo Pascal 2.0-t. Egyetlen 36 kB TURBO2.COM az egész IDE, fordítóval egyetemben. Keresgéltem. Előszőr találtam ezt a Basic lapot. Megörültem a sok BASIC-kel kapcsolatos dolognak, de utóbb nem itt találtam meg a kincset. A kincset a Free BASIC Compilers and Interpreters rejtette.

A széles választék láttán szűkítettem a kört, és úgy gondoltam, hogy azért manapság illik, hogy a cucc ne DOS ablakban fusson, legyen Windows-os keret hozzá. Jelenleg is dolgozok Visual Basic-ben de azért túlzásnak tartottam hozzá letöltetni a Visua Studio-t, meg regisztrálni hozzá a MS-mél. Van viszont az MS-nek egy SmallBasic-je.

Első közelítésben mintha pont nekünk lenne kitalálva. El is kezdtük próbálgatni. Megbarátkoztunk azzal, hogy nincs PRINT utasítás, gyereknek nem mondtam, hogy egy objektum metódus hívást kellet helyette alkalmazni. Meg más macerái is voltak. A végén az tette be a kaput, hogy nem tudtam a SUB metódusomnak paramétert átadni. Biztos csak én ne jöttem rá hogyan kell, de a fellelt minta progikban sem találtam. Kuka.

Következő jelölt a Just Basic volt.

A gond az volt, hogy egy 2004-es verziója tölthető le, ami anno lehet, hogy nem bug-zott, de 2014-ben ki-kiakadozott. Kuka.

Elnézést, hogy eddig húztam a nálam nyerő Decimal BASIC bemutatását, eljárásom talán azzal védhető, hátha valakinek éppen az általam egyik elvetett BASIC jön be. Igaz szerettem volna ha kedves olvasóm látja is, hogy egy kis munkát fordítottam azéert a keresgélésre, az összevetésre is.

A Decimal BASIC Shiraishi Kazuo munkája, köszönet érte. Így néz ki ha elindítjuk a BASIC.EXE-t.

Hozzávetőleg 1MB-os zip file-ban tudjuk letölteni. Elég kicsomagolni egy számunkra alkalmas helyre, nem igényel telepítést. Ha nem leszünk elég kitartóak, akkor elegendő ezt a mappát törölnünk. Kapunk hozzá több mint 300 BASIC programot, az alap dolgokól a fraktál rajzolásig mindenfélét. Számozhatjuk is a sorokat, de a program nem ragaszkodik hozzá. Lehetőségünk van szöveges és grafikus programot is írni. Úgy láttam, külön támogatja matematikai függvények grafikus ábrázolását. Lehetőségünk van függvényt és szubrutint definiálni, amire azután a nevével hívatkozhatunk, és hajlandók a paraméterek átadás/átvételére is. És van PRINT utasításunk is, mert anno csupa nagy betűben beszéltünk :).

Most, hogy egész jó kedvem kerekedett, és ideje lefeküdnöm, hogy egy keveset aludjak is, már nem maradt időm, hogy meg is tanítsam a BASIC programozást, de bemutatom az első programunkat a suliból.

10 PRINT "Majom"
20 END

Ez annyit tesz, hogy írd ki a képernyőre azt, hogy "Majom"!
Na még itt van a továbbfejlesztett verzió is.

10 PRINT "Majom"
20 GOTO 10
30 END

A program sorok anno a sorszámuk sorrendjében hajtódtak végre, szóval kiírja, hogy "Majom", majd a 20-as sorra lép, ami annnyit tesz, hogy ugorj a 10-es sorra... És megállás nélkül fogja a képernyőnkre írni, hogy "Majom".

10 PRINT "Majom";
20 GOTO 10
30 END

Ez a legadvankedebb verzió az egész képernyőt teleírja "Majom"-mal :).
Jó próbálgatást, remélem mindenkinek élmény lesz.