| A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.   
 SZÁMÍTÁSTECHNIKAI ROVAT  
 (Rovatvezető: Ada‐Winter Péter)  
   Az ABC/80 számítógép BASIC‐nyelvének ismertetése I.  
 (Karakterek, aritmetikai értékadás )    Az 1970-es évek elejétől a számítógépek gyártásában új irányzatot  figyelhettünk meg. A mikroprocesszorok felhasználásával elkezdték  az ún. perszonál számítógépek gyártását. Azokat a nagyobb  teljesítményű számítógépeket nevezik így, melyek (viszonylag)  alacsony beszerzési ára és kis fogyasztása lehetővé teszi, hogy  ne csak intézmények, vállalatok, hanem magánszemélyek is  megvásárolhassák, és személyes céljaikra használják őket.  (Persona=latin eredetű szó, jelentése: személy, személyiség.)  1979-ben Magyarországon is megjelent a svéd‐magyar kooperációban  készülő ABC/80 perszonál számítógép. A gép ára (jelenleg 80 EFt)  csökkenő tendenciát mutat, ezért várhatóan egyre több lesz belőle  és fokozatosan "iskola közelbe''kerül. Így a  FORTRAN‐nyelv ismertetése mellett szükségesnek látszik az  ABC/80 program nyelvének, a BASIC‐nyelvnek az ismertetése is. A  Fővárosi Pedagógiai Intézet rendelkezik ilyen géppel, itt a  kitűzött feladatok megoldásai futtathatók. A BASIC‐nyelv  elsajátítható Löcs‐Sarkadi‐Nagy‐Szlankó: A BASIC  programozási nyelv c. könyvből (Műszaki Könyvkiadó, Budapest, 1976.)
 Az ABC/80 3 egységből áll: vezérlőegységből, képernyőből (vagy a  szokásos angol névvel: display-ből) és az adattároló egységből.  A vezérlő egység tárolóterületének nagysága 16 Kbyte. Az egység  tartalmazza a szabvány (írógépes) billentyűzetet, amin az angol  abc betűin és írásjelein kívül ékezetes betűk és speciális  karakterek is találhatók. A 30 cm átmérőjű képernyő 24 sort és  soronként 40 karaktert képes ábrázolni. A képernyőn grafikus ábrák,  görbék, diagramok is megjeleníthetők, a grafikus ábrákhoz 72 sort,  ill. soronként 78 pozíciót használhatunk fel. Az adattároló egy  normál kazettás magnetofon. A programok és adatok tárolására  célszerű C60-as (Agfa, Sony stb.) kazettát alkalmazni.
 A gép a BASIC nyelvet ismeri. Ez egy általános programozási nyelv,  független a gépektől, de egyes gépi megvalósítások néhány dologban  eltérhetnek. A nyelv ismertetése során külön jelezzük az ABC/80-ra  vonatkozó eltéréseket.
   A képernyőhöz tartozó klaviatúrán a következő billentyűk találhatók:
   A-tól Z-ig az angol ábécé kis- és nagybetűi, továbbá az Á, É, Ö és  Ü betűk; 0-tól 9-ig a decimális számjegyek;
 ! '' ? , . ()  (aláhúzás) írásjelek;
 < > = (kisebb, nagyobb, egyenlő) relációjelek;
 * / + és ‐ aritmetikai műveleti jelek (operátorok, a prioritásuk  sorrendjében);
 valamint a következő speciális billentyűk:
 RETURN ‐ a sor, illetve az adatok lezárására szolgál (egy logikai  sor legfeljebb 120 karakterből állhat);
 SHIFT ‐ használatakor a felső sorba írt karakterekkel dolgozunk;
 ‐ állandó nagybetű  írásakor használhatjuk;
 CTRL ‐ vezérlő (control) billentyű, használatakor egy másik  karaktert is meg kell nyomni. (Pl. a CTRL és a C billentyűk  együttes megnyomása a futó programot megállítja);
   : ‐ egy sorba írt több parancs vagy utasítás elválasztásához  szükséges;
 ; ‐ a PRINT utasítás (nyomtassa ki) rövidítése;
 ∘ ‐ valuterjel, stringek (karaktersorozatok) változóinak  jele, a $ jel helyett használják;
 # ‐ szám‐jel, az adattároló egységben egy file megadására szolgál;
 % ‐ a karaktert egész értékű változók jelölésére használhatjuk;
 ← ‐ hibásan megadott karakter törlése;
 → ‐ előre léptetés.
   Az aritmetikai értékadás a nyomtatás és a vezérlés  utasításait a megjelölt irodalom 44‐80. oldalán találhatjuk  meg, így azokat most nem részletezzük. Az ABC/80-ra vonatkozóan  a fontosabb eltérések a következők:
   1. Nem szükséges a LET utasítás kiírása, például 10 LET X=A+B  helyett írhatjuk, hogy 10 X=A+B.
 2. A PRINT utasítást helyettesítheti a ; karakter.
 3. A hatványozás jele nem ↑, hanem **, így a 10 X=A+B**2  utasítás hatására (A+B)2 értéke kerül X-be.
   Mintafeladatként a következő programot ismertetjük:
 Olvassuk be az a, b, c és d értékét, és írjuk ki az   aritmetikai kifejezés értékét. Egy lehetséges megoldást mutatunk  a bal oldali oszlopban. Az első, 10 sorszámú utasításban beolvassuk  az A, B, C, és D értékét, a másodikban az X kifejezés értékét  számítjuk, a harmadikban nyomtatjuk. Nyilvánvalóan D=0 esetén a gép  hibát jelez. Ennek elkerülése érdekében célszerű előbb megvizsgálni,  vajon D értéke nulla-e. A program a következőképpen alakul:
   10 INPUT A, B, C, D  10 INPUT A, B, C, D  20 X =(A*(B+C))1D  20 IF D=0 THEN 50  30; X  30 X=(A*(B+C))/D  40 GOTO 10  40; X : GOTO 10  50 END  50 ; "NULLÁVAL NEM LEHET OSZTANI!''60 GOTO 1070 END
   Az alábbi feladatok megoldását kockás papíron, névvel,  iskolával ellátva a következő címre lehet beküldeni:
   Appel György tanár
 FPI Oktatástechnika
 Budapest, Bródy Sándor u. 14. 1088.
   1. feladat. Milyen hibák fordulhatnak elő az alábbi  BASIC programban? Hogyan lehetne azokat kijavítani?
   10 INPUT A, B
 20 X+1=Y-3
 30 IF O<X-3<2 THEN 45
 40 Z=Y+2* SIN X
 45 PRINT EREDMÉNY, Z/X
 50 GOTO 75
 70 Z=(X+Y)(X-Y)
 80 GOTO 45
 90 END
   2. feladat. Írjunk BASIC programokat az alábbi  matematikai formulák értékének kiszámítására:
 |  | (A+B)*(1+SINX)-TG2YA+SINX;asinα2+bsinβ2+csinγ2cos2α+cos2β+cos2γ. | 
 
 |