Cím: Az ABC/80 számítógép BASIC-nyelvének ismertetése I. (Karakterek, aritmetikai értékadás)
Szerző(k):  Appel György 
Füzet: 1981/március, 119 - 121. oldal  PDF  |  MathML 

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;
UPPERCAS ‐ á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
a(b+c)d
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γ.