Virtuális számológép-múzeum
Menü
C/CE
Számológépek
Logarlécek
Egyéb
Gyártók
Keresés
Switch to English

Mérföldkövek a számológépek történetében

Az AER számológépek története és programozása

 
Világújdonságként jelent meg 1979-ben a Sharp cég EL-5100 jelű számológépe, mely elsőként tartalmazott alfanumerikus karakterek megjelenítésre is alkalmas pontmátrix LCD kijelzőt, illetve az első volt, mely a ma már szokványosnak számító kifejezés-kiértékeléssel volt használható, azaz a begépelt algebrai kifejezést az = billentyű lenyomásakor értelmezte, majd a precedencia szabályainak figyelembe vételével kiszámította az eredményt. Ezen felül a gép programozható is volt, mivel az ilyenformán megírt kifejezéseket négy programban (területen) el tudta tárolni, és azokat új és új értékekkel újraszámítani. Az új rendszert a gyártó AER-nek, azaz algebrai kifejezés-tárolásnak (Algebraic Expression Reserve) nevezte el. A későbbiekben több gép is ezen rendszer szerint készült, de magát az AER-t is továbbfejlesztették: kiegészítették a komolyabb programozható gépeknél megszokott feltételes elágazási utasításokkal, illetve szubrutinkezeléssel is.

Az AER gépek jellegzetes képviselői: EL-5100 (1979), EL-5150 (1985), alsó sor: EL-5103 (1980), EL-512S (1988), EL-9000 (1986)
EL-5100
EL-5100S

Az AER-I 1. változata

Alapvetően algebrai kifejezések kiértékelésére készült, melyek hossza legfeljebb 80 lépés lehet. A gép adatregisztereit kétféleképpen tudjuk felhasználni: konstansként és változóként. A konstansokat a rendszer adottnak veszi, értékük mindig az adott regiszter kiértékeléskori értékével egyezik meg. A változók értékét a gépek minden egyes kiértékeléskor újra és újra bekérik. A matematikai függvények hagyományos jelölésrendszerét alapul véve, a változók azonosítóit az f( és )= jelek közé kell beírni. Ha nem használunk változókat, ez az utasítás elhagyható, és rögtön a kifejezéssel magával kezdhetjük a programot. A független memóriaregiszterbe való tárolás és hozzáadás, valamint a billentyűzeten nem szereplő kivonás AER programban szerepeltethető, de az RM utasítás nem, mivel az a memória mindenkori értékét írja be a kifejezésbe.

A program (korabeli megnevezéssel sor vagy terület) legfeljebb 9 kifejezésrészt tartalmazhat, melyeket vesszővel lehet egymástól elválasztani. Minden kifejezésrész külön számítás, kiértékelésnél az eredményük sorra megjelenik a kijelzőn, az ANS szöveggel és a kifejezésrész sorszámával együtt. A fenti változó-bekérési utasítás bármelyik kifejezésrészben szerepelhet.

A kifejezésrészekben alapvetően minden, az adott számológéppel elvégezhető művelet, funkció szerepeltethető, azokkal a számítások ugyanolyan módon végezhetők, mint kézi számítási üzemmódban. A használt szimbólumok megegyeznek a billentyűkre írt szimbólumokkal. Nem lehet kifejezésrészbe beírni a szögmértékegység-váltást (DRG), a kijelzési formátum előírásait (F↔E, ill. FSE, TAB) és a törlési utasításokat (CL, CA). Mivel a statisztikai számítások külön üzemmódban végezhetők, ugyancsak nem lehet használni a statisztikai műveleteket és változókat.

Az öt terület, melyen a kifejezések elhelyezhetők, nem használhatóak szabadon, csak egymásután tölthetők fel kifejezésekkel. Ha egy kisebb sorszámú területet törlünk, a rákövetkező sorszámú területek eggyel kisebb sorszámot vesznek fel. Beíráskor a következő kifejezésre úgy tudunk lépni, ha a kifejezés-vége szimbólumot (◺) beírjuk az adott kifejezés végére, melynek hatására a gép a következő kifejezést fogja kijelezni.

A kifejezések kiértékelése COMP üzemmódban történik, az adott terület azonosítójának megfelelő billentyűsorozat lenyomásával (2ndF 1;, 2;, 3;, 4; vagy 5;). A sorszámot a kifejezéstől elválasztó jel itt még pontosvessző.

Az egyes területek végrehajtásakor, a terület végének elérése után a COMP gomb hatására a végrehajtás újból elindul a kifejezés elejéről, így kézzel vezérelt ciklusok készíthetők.

EL-5101
EL-5102
EL-5103
EL-5103S
A kisebb memóriájú típusok (EL-5101, EL-5102, EL-5103, EL-5103S) egyetlen AER területet tudtak kezelni, melyben legfeljebb 48 lépéses kifejezés volt tárolható. Kézi számítási módban (COMP) viszont a 80 lépéses kifejezések is kiértékelhetőek maradtak. A használható változók száma ezeknél a gépeknél 6 volt (A..E és M).
EL-5150
EL-5050

Az AER-I 2. változata

A Sharp az 1980-as években két fő kategóriát fejlesztett a programozható számológépeket tekintve: az egyszerű, csak a billentyűsorozatokat ismételni tudó típusokat (EL-500-as sorozat programozható változatai), és a BASIC nyelven programozható zsebszámítógépeket (PC sorozat). A két kategórián felül a korábbiakban kifejlesztett, professzionális célú PC-1300 típusú programozható számológép idővel korszerűtlenné vált, az EL-5100-as sorozat pedig nem rendelkezett olyan programozási lehetőségekkel, mint például a feltételes elágazások kezelése. Az űrt 1985-ben töltötték be az EL-5050-es és EL-5150-es számológépekkel, melyek az AER rendszer jelentősen továbbfejlesztett változatát tartalmazták. Újdonságai:
  • 99, egyenként legfeljebb 160 lépésből álló terület, melyekhez a könnyű beazonosításukat célzó címkét (nevet) is fűzhetünk,
  • beszédes nevű változókat is használhatunk (betűkkel és számokkal), melyek értéke első előfordulásukkor automatikusan bekérésre kerül,
  • feltételes elágazásokat írhatunk a kifejezésekbe, melyek háromféle feltételt és az „igaz” és „hamis” ágnak megfelelő kifejezésrészeket tartalmazhatnak,
  • ciklusokat szervezhetünk, melyek akár egymásba is ágyazhatók,
  • területenként legfeljebb 10 szubrutint (alprogramot) használhatunk a többször visszatérő részek hatékony kezeléséhez,
  • a kifejezésrészek irreleváns eredményeinek kijelzését letilthatjuk.
Az immár 99 kifejezést is tárolni képes gépek minden kifejezéshez egy rövid azonosítót is tárolnak, mely alapján mintegy menürendszer-szerűen válogathatunk a programjaink között.

Főként kompatibilitási okokból megmaradt a korábbi változó-bekérési utasítás (f()=) is, melyhez viszont közvetlenül nem kapcsolhatunk feltételes elágazást. Ebben az esetben a záró )= utasításrész után egy elválasztójel (_) is írandó.

A kifejezésrészek korábbi vesszővel való tagolása mellett megjelent az elválasztójellel való tagolás is, mely az előtte szereplő kifejezésrész eredményét nem jelzi ki, de a kifejezés további kiértékelése tovább folyik. Így a felhasználói oldalról nem érdekes részeredmények kijelzését megtilthatjuk, ezáltal könnyebben használható, egyszerűbb programok írhatók.

A feltételes elágazások és ciklusok kezelése a megszokott címkére ugrás technikától eltérően valósult meg: egy adott feltétel kiértékelése után a feltétel igaz volta esetén az igaz-ágban, hamis volta esetén pedig a hamis-ágban megadott kifejezésrészek fognak lefutni, majd az utasítás lezárása után folytatódik a fő kifejezés kiértékelése. A gép billentyűzetéről beírható három feltétel (>, ≥, ≠) valójában öt, mivel a relációs jelek bal és jobb oldalára írt kifejezésrészek minden további nélkül felcserélhetők (tehát a szokványos C<6 mellett érvényes a 8>D is).

A kifejezés-vége utasítás (◺) használatát kiterjesztették az elágazási utasítások igaz- és hamis-ágaira is, így egy feltétel kiértékelésétől függően is leállíthatjuk a kifejezés további kiértékelését, azaz a program futását.

Ciklusok szervezésére is van mód, a ciklus eleje (↳) és ciklus vége (↰) utasítás közötti kifejezésrészeket a gép mindaddig ismétli, amíg feltételes elágazási utasítással, vagy szándékos hiba előidézésével a ciklusból ki nem lépünk. Amíg feltételes elágazások egymásba ágyazására nincs lehetőség, ciklusok egymáson belül is létrehozhatók.

Többször visszatérő rész-számítások alprogramként (szubrutinként) is megvalósíthatók (SUB:), így rövidebb és átláthatóbb programok írhatók. Egy területen legfeljebb 10 alprogram szervezhető, melyekre a számukkal hivatkozhatunk (2ndF és a számbillentyűk lenyomásával). Sajnos szubrutinokon belül nem használhatók sem a feltételes elágazási, sem a ciklusszervező utasítások.

Több adatregiszter lévén, az angol ábécé minden betűje használható konstansként vagy változóként, a korábbról ismert f()= utasítás használatával. Ezen felül lehetőség van kisbetűkből, speciális szimbólumokból és számokból álló változók használatára is, melyek értékét a gép területen belüli első előfordulásuk alkalmával kér be. Az ilyen változók azonosítói legfeljebb 7 karakter hosszúak lehetnek, és a STO utasítással nem használhatók.

Az EL-5050-es és EL-5150-es típusok már a Hitachi és a Sharp közös fejlesztését, az SC61720-as mikroprocesszort tartalmazzák, melyeket megtalálhatunk a korszak számos zsebszámítógépében, fordítógépében egyaránt.

EL-5030

Az EL-5030-as típus ugyanezen architektúra alapján készült, de az AER programjában néhány változtatást végeztek: a kisbetűs változók használatát kivették (VAR mód), helyette viszont a gép tömbök (mátrixok) kezelésére volt képes. A DIM utasítással megadott változótömböt a ciklusok segítségével könnyedén felhasználhattuk mátrixokkal való műveletvégzésre is.

Bár mindhárom típus jelentősen többet tudott az EL-5100-as elődöknél, de ezen funkciók többségét az AER módban nem használhattuk. Így a különböző számrendszerek közötti átváltások, a logikai műveletek, és az eredményt a kijelzett értékre való módosítását (MDF) nem használhattuk AER kifejezésben.

Ez a változat megtalálható az EL-9000 (EL-5200) típusú grafikus számológépben is, mint AER-I üzemmód, az EL-5030-as változattal megegyezően annyi megkötéssel, hogy a kisbetűs változónevek itt sem voltak használhatók.

EL-5010
EL-512S
EL-512 II
EL-512H

Az AER-I 3. változata

1987-ben az évek óta gyártott EL-512 típusú programozható számológép leváltására, az EL-5050/EL-5150-es számológépeknél egyszerűbben használható, de mégis hatékonyan programozható típust kezdett fejleszteni a Sharp cég, melyek az AER-I 2. változatán alapuló, de annak egyszerűsített változatát használták. Az EL-5010 (Európában EL-512S, az USÁ-ban EL-512 II) elődjéhez hasonlóan, négy kifejezést volt képes kezelni, ezek hossza 160 lépés lehetett.

Az egyszerűsített változat nem volt képes szubrutinok (SUB), tömbök (DIM) és kisbetűs változónevek (VAR) kezelésére, viszont a statisztikai üzemmódban használható változók és funkciók AER kifejezésekben is szerepeltethetők lettek, azaz egyszerűen lehetett statisztikai programokat írni.

A beírt kifejezések az = billentyű kétszeri lenyomásával azonnal kiértékelhetőek lettek, üzemmódváltás nélkül is. A felhasznált kétsoros kijelzők előnyét kihasználva, az alsó (hétszegmenses) sorban jelentek meg a beírt numerikus értékek, így elkerülhetőek lettek az ilyenfajta hibás billentyűzésből eredő szintaktikai hibák.

EL-566
EL-566E

Japánban oktatási célokra elkészült az EL-5010-es strapabíróbb változata EL-566 néven. Tudásuk, belső felépítésük teljesen azonos. A gépet éveken át gyártották, a 2007-es tanévre készült el újabb változata, az EL-566E, mely még mindig az AER programozási modelljét használta, minimális változtatásokkal: a vessző operátortól való elkülönítés miatt az AER kifejezésrész-elválasztó jelét kettőspontra cserélték, az AER programozási funkcióit pedig menürendszerből lehetett elérni. Kényelmi szempontból a feltételes elágazások igen- és nem-ágainak lezáró szögletes zárójele külön menüpontot kapott, ami utólagos javításoknál nagy előnyt jelent.

EL-9000
EL-5200

AER-II

A Sharp első grafikus számológépe nemcsak a függvényábrázolásban hozott újat, de programozási modellje is változott. Alapját az AER-I 2. változata adta, de a korábbi STO utasításon alapuló (pl. 3 STO B) értékadási utasítást a számítógépek programozási nyelveiben és a matematikában is megszokott formára cserélték (pl. B=3). Ugyanígy a változók értékeinek bekérésére egységesen az „=?” utasítás szolgált, ezzel egyidejűleg a korábbi „f()=” formát és a kisbetűs változóneveknél az első előforduláskori automatikus bekérést megszüntették. A változók és konstansok nevei szabadon megválaszthatók (8 karakteres hosszig), mindegyikbe lehet adatot tárolni (STO).

A gépek tudásának bővülésével, az AER programokban fel lehetett használni a gép grafikus (függvényábrázolási) képességeit is, viszont a statisztikai és számrendszerek közötti konverziós funkciók továbbra sem voltak programozhatók.

Sajnos a többsoros kijelző lehetőségeit nem használták ki teljesen, így a hosszabb, összetettebb AER kifejezések továbbra is nehezen átlátható teli sorokban jelentek meg.

PC sorozat

AER a zsebszámítógépekben

Egyes újabb zsebszámítógép-modelleket egyszerű kifejezések tárolására és kiértékelésére alkalmassá tettek, melyekkel így BASIC programok írása nélkül is lehetett egyszerűbb képletek eredményeit kiszámítani. Az AER terület mérete a zsebszámítógép RAM kapacitásától függött, 99 névvel ellátott AER kifejezés volt tárolható bennük, de ezek semmilyen elágazási, szubrutin-kezelési, ciklusszervezési utasítást nem tartalmazhattak, csupán a megszokott f()= formátumú változó-bekérési utasítást, az egybetűs változónevek használatát és a beépített függvények használatát. Szerepét könnyebben megérthetjük, ha tudjuk, hogy a konkurens Casio hasonló típusaiban alkalmazta a függvénymemóriát, mely hasonlóan az AER kifejezésekhez, egyszerű képletek tárolására és ismételt kiszámítására volt alkalmas.
 

Az AER-II rendszer már megindult az EL-5100-assal nagyjából egyidőben indult BASIC nyelvű zsebszámítógépekhez való idomulás útján, és ez a folyamat a későbbiekben is folytatódott. A Sharp következő generációs grafikus számológépei (EL-9200, EL-9300) már egy menürendszeren alapuló, könnyen érthető, a BASIC nyelv kulcsszavain alapuló, címkékre való ugrási utasításokkal rendelkező, a többsoros kijelzők előnyeit kihasználó új programozási modellt használtak. A kijelzőn megjelenő programok ezentúl tagoltak és könnyebben értelmezhetőek lettek.

 

Az AER funkcióbillentyűi

Billentyű AER változatok Működés
PB I-1, I-2 COMP módban az eredmény kijeleztetése után a kifejezést szerkesztésre megjeleníti a kijelzőn.

AER módban megjeleníti az előzőleg beírt kifejezést, a kurzor az utolsó pozícióra kerül. Ha a kifejezés egy kijelzőnyi területen nem fér el, a gomb lenyomásával lapozhatunk az egyes részek között.

I-2, II COMP módban, változó értékének bekérésekor megjeleníti a változó aktuális tartalmát.

AER módban megjeleníti az előzőleg beírt kifejezést, a kurzor az utolsó pozícióra kerül. Ha a kifejezés egy kijelzőnyi területen nem fér el, a gomb lenyomásával lapozhatunk az egyes részek között.

mind szerkesztési módban a kurzort balra lépteti.
mind szerkesztési módban a kurzort jobbra lépteti.
I-2, II AER módban, ha az AER listában vagyunk (TITLE), a kijelzett kifejezés címkéjét átírhatóvá teszi (szerkesztési mód). Az ezután lenyomott COMP billentyű a kifejezést kijelzi szerkesztésre.
COMP mind COMP módban a kijelzett kifejezést futtatja.

AER módban, ha nem vagyunk szerkesztési módban, új kifejezést nyit meg; ha szerkesztési módban vagyunk ( után) a kijelzett kifejezést kijelzi szerkesztésre.

STO vagy M⇒ I-1, I-2, I-3 COMP módban az utána lenyomott azonosítójú adatregiszterbe menti a számítás eredményét. Pl.: 2 × 3 STO C hatására a C regiszterbe 6 kerül.

AER módban a STO (⇒) utasítást írja be, aminek hatására a kifejezés eredménye az utána megadott adatregiszterbe kerül. Pl.: 2 × 3 STO C futtatásakor a C regiszterbe 6 kerül.

(A 2. változattól jele ⇒)

RCL I-1, I-2, I-3 COMP módban kijelzi az utána lenyomott azonosítójú adatregiszter tartalmát. Pl. RCL J a J regiszter tartalmát jelzi ki.

AER módban az adott adatregiszter tartalmát írja be a kifejezésbe. Pl. ha A=10, B=4.5, az RCL A + RCL B = beírásakor a kifejezés 10+4.5= lesz.

A, B, illetve ALPHA A, ALPHA B stb. I-1, I-2, I-3 Adatregiszterek azonosítóit beíró billentyűk. COMP és AER módban önmagukban használva az adott azonosítót írják be a kifejezésbe. Pl. A B = futtatásakor az A és B regiszterek mindenkori szorzatát jelzi ki.
ALPHA A, ALPHA B stb. II Változónevek beírására szolgáló billentyűsorozatok. Pl. A B futtatásakor az AB változó értékét jelzi ki.
1;, 2: stb. I-1, I-3 COMP módban az adott azonosítójú kifejezést futtatják.

AER módban az adott azonosítójú kifejezést jelzik ki szerkesztésre.

CA I-1 COMP módban törli a kijelzést.

AER módban törli a teljes programtárat, mindegyik területet beleértve.

I-2, I-3, II COMP módban törli a kijelzést.

AER módban, a törlési szándék megerősítése után (ENT) törli az aktuálisan kijelzett kifejezést.

I-1 AER módban lezárja a területet és a következő területet kezdi szerkeszteni. Az utolsó területnél nem szabad használni.
I-2, I-3, II AER módban lezár egy kifejezésrészt (igen vagy nem ágat), ennek hiányában a területet.
, I-2, I-3, II Az előtte lévő kifejezésrész eredményét kijelzi, mielőtt a rákövetkező kifejezésrész feldolgozását elkezdené. Pl. AER-I-nél az A+2STOA,B-2 kifejezés előbb az A értékét kettővel megnöveli és ki is jelzi az eredményt, majd a COMP megnyomása után a B-2 érték kijelzése következik.
_ I-2, I-3, II Az előtte lévő kifejezésrész eredményét nem jelzi ki, és a rákövetkező kifejezésrész feldolgozását kezdi el. Pl. AER-I-nél az A+2STOA_B-2 kifejezés az A értékét kettővel megnöveli, de ezt az értéket nem jelzi ki, majd a B-2 érték kijelzése következik.
TITLE vagy PRO (TITLE) I-2, II Kijelzi a következő terület címkéjét.
2ndF TITLE vagy 2ndF PRO (TITLE) I-2, II Kijelzi az előző terület címkéjét.
I-2, II A következő szubrutinra, vagy ennek hiányában területre lép és kijelzi annak tartalmát.
2ndF I-2, II Az előző szubrutinra, főrutinra, vagy az előző területre lép és kijelzi annak tartalmát.
f()= I-1, I-2, I-3 Változók megadására szolgáló rész kezdése, illetve lezárása. A kezdő és lezáró szimbólum között felsorolt adatregisztereket a gép minden kiértékeléskor újra bekéri. Pl. f()=AHf()= kezdetű kifejezés futtatásakor az A és H adatregisztereket bekéri a billentyűzetről. Feltételes ugrási utasítás ebben a kifejezésrészben nem használható.
= II Értékadási utasítás. Tőle balra a változó neve, jobbra pedig a kiszámítandó kifejezés áll. Pl. atlo=3×8.
SUB: I-2, II AER módban új szubrutint ad az aktuális terület végéhez.
2ndF 1, 2 stb. I-2, II AER módban az adott számú szubrutin szimbólumát írja be a kifejezésbe, ami futtatáskor meghívja az adott szubrutint.
2ndF >, >=, I-2, I-3, II AER módban feltételes elágazási utasítást ír be a kifejezésbe, azaz az adott relációs jelet használja a kifejezésben a bal és a jobb oldalon szereplő kifejezésrészek kiértékeléséhez. Ld. még -Y→[], -N→[]
2ndF -Y→[] I-2, I-3, II AER módban az előtte lévő feltételes elágazási vizsgálat eredményétől függően, annak igaz volta esetén az ezután megadott kifejezésrészt hajtja végre. Lezárása ugyanezzel a billentyűvel történik. Ha nem ágat tartalmaz a kifejezés, az igen ág elhagyható.

Pl. X 2ndF >= 25 2ndF -Y→[] B 2ndF -Y→[] kifejezés esetén, ha az X értéke 25 vagy nagyobb, a B adatregisztert jelzi ki.

2ndF -N→[] I-2, I-3, II AER módban az előtte lévő feltételes elágazási vizsgálat eredményétől függően, annak hamis volta esetén az ezután megadott kifejezésrészt hajtja végre. Lezárása ugyanezzel a billentyűvel történik. Ha igen ágat tartalmaz a kifejezés, a nem ág elhagyható.

Pl. X 2ndF >= 25 2ndF -Y→[] B 2ndF -Y→[] 2ndF -N→[] C -N→[] kifejezés esetén, ha az X értéke 25 vagy nagyobb, a B adatregisztert; ha kisebb, a C adatregisztert jelzi ki.

2ndF I-2, I-3, II AER módban a ciklus kezdőpontját jelöli meg, ahová a 2ndF utasítás hatására a végrehajtás visszatér.
2ndF I-2, I-3, II AER módban olyan utasítást ír a kifejezésbe, ami arra utasítja a gépet, hogy visszatérjen a hozzá tartozó 2ndF szimbólummal megjelölt részhez.

Pl. 2ndF A × 2 STO A _ A 2ndF > 100 2ndF -Y→[] 2ndF 2ndF -Y→[] A kifejezés az A értékét addig szorozza 2-vel, amíg az eredmény 100-nál nagyobb nem lesz.

2ndF VAR I-2 Bekapcsolja, vagy kikapcsolja a változónév üzemmódot. Ebben az üzemmódban a betűk és a számok, illetve a billentyűk fölé írt görög betűk automatikusan mint változók szerepelnek, így minden futtatáskor értéküket a gép bekéri.
SHIFT 1, 2, ..
A .. Z
II Változónevek beírására szolgáló billentyűk. A változónévben szereplő számok kisebb méretben jelennek meg, mint a normál számjegyek.
M.CK I-2, I-3, II A szabad AER tárolóterület méretét, azaz a még felhasználható lépések számát jelzi ki.
DIM I-2, II Tömböt (vektort, mátrixot) definiálhatunk. Az utasítás formátuma n×m elemű mátrix definiálásához: DIM változónév[n,m]. A későbbiekben az egyes elemekre a változónév[sor,oszlop] alakban hivatkozhatunk ugyanúgy, mint bármilyen másik változóra. Pl. DIM A[2,3]
, I-2, II Tömb, ill. mátrix indexeinek beírása szögletes zárójelek között történik. Kétdimenziós tömb (mátrix) indexeit vesszővel kell elválasztani. Pl. A[2], vagy B[2,1]

Mintaprogram

Az AER egyes változatait érdemes összevetni a korszak zsebszámítógépeiben használt BASIC nyelvvel egy mintaprogram segítségével, mely egy iskolai osztályozó program. Adott egy dolgozat, melynek megadjuk a maximális pontszámát, és az elégséges (2-es) szint alsó határát. Ezek után a megadott számú diákok elért pontszámai alapján kiírja az érdemjegyet és az elért százalékot, majd az összes diák pontszámainak bevitele után kiszámítja az összes diák átlagát érdemjegyben és százalékban egyaránt.

A mintaadatok a következők:
Diák Pontszám Százalékos eredmény Érdemjegy
1. 134 89,33 4
2. 89 59,33 1
3. 109 72,67 2
4. 147 98,00 5
5. 136 90,67 4
6. 129 86,00 4
7. 117 78,00 3
8. 150 100,00 5
Az egyes AER programok leírása után egy részletezés következik, ahol minden egyes kifejezésrész külön-külön szerepel BASIC nyelvbe átírt, azonos funkcionalitású programsorral, az összehasonlítás és a könnyebb megértés céljából.

A gépek kis memóriakapacitása miatt a program nem írható meg az EL-5101, EL-5102, EL-5103 és EL-5103S típusú számológépekre. A több kifejezésrész összekapcsolhatóságának hiánya miatt a zsebszámítógépek AER üzemmódjában szintén nem írható meg a program.

BASIC (Sharp zsebszámítógépekre)

10 "A"GOSUB 200
20 F=M*Y/100
30 PRINT "ELEGS.";F;" PONTTOL"
40 H=(M-F)/4
50 FOR D=1 TO X
60 GOSUB 300
70 PRINT E
80 NEXT D
90 PRINT "ATLAG:";O/X
100 PRINT "ATLAG %:";N/X
110 END
200 REM ADATBEVITEL
210 INPUT "MAX. PONTSZAM?";M
220 INPUT "ELEGS. %?";Y
230 INPUT "DIAKOK?";X
240 O=0:N=0:D=0
250 RETURN
300 REM DIAK ADATAI
310 PRINT D;". DIAK"
320 INPUT "PONTSZAM?";P
330 S=100*P/M
340 PRINT "PONT %:";S
350 N=S+N
360 E=INT((P-F)/H+2)
370 IF E<5 THEN E=5
380 IF E>2 THEN E=1
390 O=O+E

AER-I 1. változata (EL-5100, EL-5100S)

AER programlisták:
1;f(AB)=AB÷100STOD,0STOC0STOI0STOJ(A-D)÷4STOE◺
2;f(F)=100F÷A,+CSTOC(F-D)÷E+2STOH,f(H)=I+HSTOIJ+1STOJJ+1◺
3;C÷J
Az AER programtár kis mérete miatt bizonyos egyszerűsítéseket és trükköket kellett alkalmazni ahhoz, hogy a program legfontosabb részei beférhessenek. Így a kapott program a következő:
1;f(AB)=AB÷100STOD,0STOCSTOISTOJA-D=÷4STOE◺
2;f(F)=100F÷A,+CSTOCF-D=÷E+2STOH,f(H)=I+HSTOIJ+1STOJ+1◺
3;C÷J
Mivel a program így 79 lépésnyi, mindössze egyetlen lépés marad szabadon. Nem lehetett beleírni az érdemjegy-átlag kiszámításának és kijelzésének lépéseit, ezt kézzel kell kiszámítani, ld. a futtatásnál leírtakat.
AER kifejezésrész BASIC megfelelője leírása
1;f(AB)= 10 "A"INPUT A:INPUT B max. pontszám és elégséges alsó százalékának bekérése
AB÷100STOD, 20 D=A*B/100:PRINT D elégséges alsó ponthatárának kiszámítása és kiírása
0STOCSTOISTOJ 30 C=0:I=0:J=0 változók törlése
A-D=÷4STOE◺ 40 E=(A-D)/4:PRINT E
50 END
pontsávok kiszámítása
2;f(F)= 60 "B"INPUT F pontszám bekérése
100F÷A, 70 X=F*100/A:PRINT X pontszázalék kiszámítása és kiírása
+CSTOC 80 C=X+C százalékösszeg képzése
F-D=÷E+2STOH, 90 H=(F-D)/E+2:PRINT H számított érdemjegy kijelzése
f(H)= 100 INPUT H valós érdemjegy beírása
I+HSTOI 110 I=I+H érdemjegy-összeg képzése
J+1STOJ 120 J=J+1 diák sorszámának növelése
+1◺ 130 PRINT J+1
140 END
következő diák sorszámának kijelzése
3;C÷J 150 "C"PRINT C/J százalékos átlag kijelzése

Változók:
A maximális pontszám
B elégséges alsó szintje %-ban megadva
C százalékösszeg
D elégséges alsó szintje pontszámban megadva
E érdemjegyek közötti sáv nagysága
F elért pontszám
G elért pontszám %-ban kifejezve
H elért érdemjegy
I érdemjegyek összege
J aktuális diák száma

A program futtatása:

Először célszerű a kijelzési formátumot 2 tizedesre átírni: TAB 2.

A program első része a 2ndF 1; billentyűkkel indítható el COMP módban. Be kell írni a maximális pontszámot és az elégséges alsó határának százalékban megadott értékét.

Ezután megjelenik az elégséges alsó szintjének pontban kifejezett értéke, majd az egyes érdemjegyek sávjainak nagysága, pontszámban kifejezve.

Következhet a 2. terület futtatása a 2ndF 2; billentyűzéssel.

Be kell írni az első tanuló által elért pontszámot. Kijelzésre kerül az elért százalékos eredmény, majd egy szám. Ha ez a szám 2-nél kisebb, az érdemjegy 1-es. Ha 6, akkor hibátlan a dolgozat. Egyébként az érdemjegy a szám egészrésze. Az így kapott érdemjegyet vissza kell billentyűzni a gépbe.

Kijelzésre kerül a következő diák sorszáma. Ezután meg kell adni a következő diák pontszámát, mint fent.

Ha már nincs több diák, futtassuk a 3. területet a 2ndF 3; billentyűkkel.

Kijelzésre kerül a százalékos átlag. Mivel a program 1 lépésnyi helyet hagy szabadon, így nem lehet beleírni az átlagos osztályzat kiszámítását, de ez könnyen kiszámítható a százalékos átlag kijelzése után: CL I ÷ J =.
Billentyűzés Kijelzés Magyarázat
2ndF 1; 1;A=?
150 COMP 1;B=? Maximális pontszám beírása
70 COMP 2-es szint százalékos értékének beírása
1;ANS 1= 105.00 2-es szint alsó határa: 105 pont
COMP 1;ANS 2= 11.25 Az egyes érdemjegyek közötti pontsáv nagysága
2ndF 2; 2;F=?
134 COMP 1. diák pontszámának beírása
2;ANS 1= 89.33 1. diák százalékos eredménye 89%
COMP 2;ANS 2= 4.58 1. diák érdemjegye 4-es
COMP 2;H=?
4 COMP Az érdemjegy beírása
2;ANS 3= 2.00 A 2. diák adatai következnek
COMP 2;F=?
89 COMP 2. diák pontszámának beírása
2;ANS 1= 59.33 2. diák százalékos eredménye 59%.
COMP 2;ANS 2= 0.58 2. diák érdemjegye 1-es
1 COMP Az érdemjegy beírása
2;ANS 3=3.00 A 3. diák adatai következnek
... Az utolsó diák eredményének kiírása után:
2ndF 3; 3;ANS 1= A százalékos átlag
CL I ÷ J = 3.50 Az átlagosztályzat

AER-I 2. változata (EL-5050, EL-5150)

Az AER ezen változata már lehetővé teszi a feltételes elágazások írását, így nem kell kézzel váltogatni az egyes területek futtatását, azt a program maga elvégzi. Mivel a rendelkezésre álló memóriaregiszterek száma is több, így célszerűbben megválaszthatók az egyes változók betűjelei is, valamint változók esetén alkalmazhatók a kisbetűs, beszédesebb nevek is. Ugyanígy megadhatók címkék az egyes programrészekhez, melyek a visszakeresést is megkönnyítik. Bár a szubrutinokban feltételes elágazások nem szerepeltethetők, így is célszerű volt ezekkel megoldani a program működését. A könnyebb olvashatóság miatt a kifejezésrészek között minden esetben szerepel szóköz, ott is, ahol ez nem lenne kötelező.

Az AER listák a következők:

01:OSZTALYOZAS: 1(max-F)÷4⇒H_↳2E>5-Y-[5⇒E]_2>E-Y-[1⇒E]_E,O+E⇒O_D+1⇒D_D>=diakok-N-[↰]_O÷diakok,N÷diakok◺
1: max×elegs÷100⇒F,diakok_0⇒O⇒N⇒D
2: f(P)=100P÷max⇒S,S+N⇒N_INT((P-F)÷H+2)⇒E
A P változó az f()= formában került bekérésre, mivel a kisbetűs változók csak az első futáskor (az első diák adatainak bekérésekor) kérik be értéküket, utána azt adottnak veszik, míg az f()= utasítás minden egyes alkalommal bekéri a változó értékét.

Az EL-5030-as gépnek nincs VAR üzemmódja, így az AER listák az alábbiak szerint alakulnak:

01:OSZTALYOZAS: 1(M-F)÷4⇒H_↳2E>5-Y-[5⇒E]_2>E-Y-[1⇒E]_E,O+E⇒O_D+1⇒D_D>=X-N-[↰]_O÷X,N÷X◺
1: f(MYX)=MY÷100⇒F,X_0⇒O⇒N⇒D
2: f(P)=100P÷M⇒S,S+N⇒N_INT((P-F)÷H+2)⇒E
AER kifejezésrész BASIC megfelelője leírása
1 10 "A"GOSUB 200 első szubrutin hívása
(max-F)÷4⇒H_ 20 H=(M-F)/4 pontsávok kiszámítása
ciklus elejét jelző utasítás
2 30 GOSUB 300 második szubrutin hívása
E>5-Y-[5⇒E]_ 40 IF E>5 THEN E=5 hibátlan eredmény is 5-ös
2>E-Y-[1⇒E]_ 50 IF E<2 THEN E=1 elégtelen beállítása 1-esnek
E, 60 PRINT E érdemjegy kiírása
O+E⇒O_ 70 O=O+E érdemjegy-összeg képzése
D+1⇒D_ 80 D=D+1 diák sorszámának növelése
D>=diakok-N-[↰]_ 90 IF D>=X THEN 110
100 GOTO 30
ha még nincs minden diák adata bekérve, jöhet a következő
O÷diakok, 110 PRINT O/X érdemjegy-átlag kiírása
N÷diakok◺ 120 PRINT N/X
130 END
százalékos átlag kiírása
1: max×elegs÷100⇒F, 200 INPUT M:INPUT Y
210 F=M*Y/100
220 PRINT F
a maximum pontszám és az elégséges alsó határának beírása
diakok_ 230 INPUT X diákok számának bekérése
0⇒O⇒N⇒D 240 O=0:N=0:D=0 változók törlése
250 RETURN szubrutin vége
2: f(P)= 300 INPUT P pontszám bekérése
100P÷max⇒S, 310 S=100*P/M:PRINT S pontszázalék kiszámítása és kiírása
S+N⇒N_ 320 N=S+N százalékösszeg képzése
INT((P-F)÷H+2)⇒E 330 E=INT((P-F)/H+2) érdemjegy kiszámítása
340 RETURN számított érdemjegy kijelzése

Változók:
max (M) maximális pontszám
elegs (Y) elégséges alsó szintje %-ban megadva
diakok (X) diákok száma
N százalékösszeg
O érdemjegyek összege
F elégséges alsó szintje pontszámban megadva
H érdemjegyek közötti sáv nagysága
P elért pontszám
S elért pontszám %-ban kifejezve
E elért érdemjegy
D aktuális diák száma

A program futtatása:
Billentyűzés Kijelzés Magyarázat
TAB 0
TITLE az OSZTALYOZAS kiírásáig 01:OSZTALYOZAS
COMP max=?
150 COMP elegs=? Maximális pontszám beírása
70 COMP 2-es szint százalékos értékének beírása
ANS 1= 105.00 2-es szint alsó határa: 105 pont
diakok=?
8 diákok számának beírása
COMP P=?
134 COMP 1. diák pontszámának beírása
ANS 2= 89. 1. diák százalékos eredménye 89%
COMP ANS 3= 4. 1. diák érdemjegye 4-es
COMP P=?
89 COMP 2. diák pontszámának beírása
ANS 4= 59. 2. diák százalékos eredménye 59%.
COMP ANS 5= 1. 2. diák érdemjegye 1-es
COMP
... Az utolsó diák eredményének kiírása után:
COMP ANS 18=4. Az átlagos osztályzat
TAB 2 ANS 18=3.50 Két tizedesre pontos érték
COMP ANS 19=84.25 Az átlagos százalékos eredmény

AER-I 3. változata (EL-5010, EL-512S, EL-512 II, EL-512H, EL-566, EL-566E)

Az AER mód egyszerűsítésének okán ezeknél a típusoknál nincs lehetőség szubrutinok alkalmazására, és VAR üzemmód használatára sem.

Az AER listák a következők:

1:f(ABC)=AB÷100⇒D,0⇒I⇒X⇒Y_(A-D)÷4⇒E_↳f(F)=100F÷A⇒G,G+X⇒X_INT((F-D)÷E+2)⇒H_H>5-Y-[5⇒H]_2>H-Y-[1⇒H]_H,I+H⇒I_Y+1⇒Y_Y>=C-N-[↰]_I÷C,X÷C◺
Az EL-566E típus a vessző (,) elválasztó helyett pontosvesszőt (;) használ:
1:f(ABC)=AB÷100⇒D;0⇒I⇒X⇒Y_(A-D)÷4⇒E_↳f(F)=100F÷A⇒G;G+X⇒X_INT((F-D)÷E+2)⇒H_H>5-Y-[5⇒H]_2>H-Y-[1⇒H]_H;I+H⇒I_Y+1⇒Y_Y>=C-N-[↰]_I÷C,X÷C◺
AER kifejezésrész BASIC megfelelője leírása
1:f(ABC)= 10 "A"INPUT A:INPUT B:INPUT C max. pontszám, elégséges alsó százalékának és a diákok számának bekérése
AB÷100⇒D, 20 D=A*B/100:PRINT D elégséges alsó ponthatárának kiszámítása és kiírása
0⇒I⇒X⇒Y 30 I=0:X=0:Y=0 változók törlése
A-D=÷4⇒E_ 40 E=(A-D)/4 pontsávok kiszámítása
ciklus elejét jelző utasítás
f(F)= 50 INPUT F pontszám bekérése
100F÷A⇒G, 60 G=F*100/A:PRINT G pontszázalék kiszámítása és kiírása
G+X⇒X 70 X=G+X százalékösszeg képzése
INT((F-D)÷E+2)⇒H_ 80 H=INT((F-D)/E+2) érdemjegy kiszámítása
H>5-Y-[5⇒H]_ 90 IF H>5 THEN H=5 hibátlan érdemjegy 5-ös
2>H-Y-[1⇒H]_ 100 IF H<2 THEN H=1 elégtelen érdemjegyek
H, 110 PRINT H érdemjegy kijelzése
I+H⇒I 120 I=I+H érdemjegy-összeg képzése
Y+1⇒Y 130 Y=Y+1 diák sorszámának növelése
Y>=C-N-[↰]_ 140 IF Y>=C THEN 160
150 GOTO 50
I÷C, 160 PRINT I/C érdemjegy-átlag kiírása
X÷C◺ 170 PRINT X/C
180 END
százalékos átlag kijelzése

Változók:
A maximális pontszám
B elégséges alsó szintje %-ban megadva
C diákok száma
X százalékösszeg
I érdemjegyek összege
D elégséges alsó szintje pontszámban megadva
E érdemjegyek közötti sáv nagysága
F elért pontszám
G elért pontszám %-ban kifejezve
H elért érdemjegy
Y aktuális diák száma

A program futtatása:

Érdemes FSE-vel FIX kijelzést választani és TAB 0-val beállítani a kijelzési formátumot.
Billentyűzés Kijelzés Magyarázat
2ndF 1:
COMP A=?
150 COMP B=? Maximális pontszám beírása
70 COMP C=? 2-es szint százalékos értékének beírása
8 COMP diákok számának beírása
ANS 1= 105. 2-es szint alsó határa: 105 pont
COMP F=?
134 COMP 1. diák pontszámának beírása
ANS 2= 89. 1. diák százalékos eredménye 89%
COMP ANS 3= 4. 1. diák érdemjegye 4-es
COMP F=?
89 COMP 2. diák pontszámának beírása
ANS 4= 59. 2. diák százalékos eredménye 59%.
COMP ANS 5= 1. 2. diák érdemjegye 1-es
COMP
... Az utolsó diák eredményének kiírása után:
COMP ANS 18=4. Az átlagos osztályzat
TAB 2 ANS 18=3.50 Két tizedesre pontos érték
COMP ANS 19=84.25 Az átlagos százalékos eredmény

AER-II (EL-9000, EL-5200)

Az AER-II változatában szabadon használhatók a kisbetűs változónevek, és az értékadás, valamint a billentyűzetről való bekérés is hasonló lett a matematikában szokásos jelölésekhez, így a BASIC programhoz is. Egyéb tekintetben a program felépítése megegyezik az AER-I 2. változatával.

AER lista:

01:OSZTALYOZAS:
1ponth=(max-elegszint)÷4_↳2eredm>5-Y-[eredm=5]_2>eredm-Y-[eredm=1]_eredm,eredmo=eredmo+eredm_diaksz=diaksz+1_diaksz>=diakok-N-[↰]_eredmo÷diakok,szazo÷diakok◺
1: max=?_elegs=?_diakok=?_elegszint=max×elegs÷100,eredmo=0_szazo=0_diaksz=0
2: pontsz=?_eredmsz=100pontsz÷max,szazo=szazo+eredmsz_eredm=INT((pontsz-elegszint)÷ponth+2)
AER kifejezésrész BASIC megfelelője leírása
1 10 "A"GOSUB 200 első szubrutin hívása
ponth=(max-elegszint)÷4_ 20 H=(M-F)/4 pontsávok kiszámítása
ciklus elejét jelző utasítás
2 30 GOSUB 300 második szubrutin hívása
eredm>5-Y-[eredm=5]_ 40 IF E>5 THEN E=5 hibátlan eredmény is 5-ös
2>eredm-Y-[eredm=1]_ 50 IF E<2 THEN E=1 elégtelen beállítása 1-esnek
eredm, 60 PRINT E érdemjegy kiírása
eredmo=eredmo+eredm_ 70 O=O+E érdemjegy-összeg képzése
diaksz=diaksz+1_ 80 D=D+1 diák sorszámának növelése
diaksz>=diakok-N-[↰]_ 90 IF D>=X THEN 110
100 GOTO 30
ha még nincs minden diák adata bekérve, jöhet a következő
eredmo÷diakok, 110 PRINT O/X érdemjegy-átlag kiírása
szazo÷diakok◺ 120 PRINT N/X
130 END
százalékos átlag kiírása
1: max=?_ 200 INPUT M maximum pontszám beírása
elegs=?_ 210 INPUT Y elégséges alsó határának bekérése
diakok=?_ 220 INPUT X diákok számának bekérése
elegszint=max×elegs÷100, 230 F=M*Y/100: PRINT F elégséges alsó ponthatárának kiírása
eredmo=0_ 240 O=0 változó törlése
szazo=0_ 250 N=0 változó törlése
diaksz=0_ 260 D=0 változó törlése
270 RETURN szubrutin vége
2: pontsz=?_ 300 INPUT P pontszám bekérése
eredmsz=100pontsz÷max, 310 S=100*P/M:PRINT S pontszázalék kiszámítása és kiírása
szazo=szazo+eredmsz_ 320 N=S+N százalékösszeg képzése
eredm=INT((pontsz-elegszint)÷ponth+2) 330 E=INT((P-F)/H+2) érdemjegy kiszámítása
340 RETURN számított érdemjegy kijelzése

Változók:
max maximális pontszám
elegs elégséges alsó szintje %-ban megadva
diakok diákok száma
szazo százalékösszeg
eredmo érdemjegyek összege
elegszint elégséges alsó szintje pontszámban megadva
ponth érdemjegyek közötti sáv nagysága
pontsz elért pontszám
eredmsz elért pontszám %-ban kifejezve
eredm elért érdemjegy
diaksz aktuális diák száma

A program futtatása:

Érdemes FSE-vel FIX kijelzést választani és TAB 0-val beállítani a kijelzési formátumot.
Billentyűzés Kijelzés Magyarázat
TITLE az OSZTALYOZAS kiírásáig 01:OSZTALYOZAS
COMP max=?
150 COMP elegs=? Maximális pontszám beírása
70 COMP diakok=? 2-es szint százalékos értékének beírása
8 COMP diákok számának beírása
elegszi= 105.00 2-es szint alsó határa: 105 pont
COMP pontsz=?
134 COMP 1. diák pontszámának beírása
eredmsz= 89. 1. diák százalékos eredménye 89%
COMP ANS 3= 4. 1. diák érdemjegye 4-es
COMP pontsz=?
89 COMP 2. diák pontszámának beírása
eredmsz= 59. 2. diák százalékos eredménye 59%.
COMP ANS 5= 1. 2. diák érdemjegye 1-es
COMP
... Az utolsó diák eredményének kiírása után:
COMP ANS 18=4. Az átlagos osztályzat
TAB 2 ANS 18=3.50 Két tizedesre pontos érték
COMP ANS 19=84.25 Az átlagos százalékos eredmény

Sharp
EL-5100
1979-83
Sharp
EL-5100S
1983-85
Sharp
EL-5050
1985-89
Sharp
EL-5150
1985-90
Sharp
EL-512S
1988
Design & HTML: Modulit Bt.
(C) www.arithmomuseum.com 2004-2017.