Casio fx-202P
A Casio első három modellje nagyjából azonosnak tekinthető: 127 lépéses programtárral, 1 független, 10 adattárolásra kijelölt, valamint az indirekt címzést lehetővé tevő memóriával rendelkeznek. A program a kijelzőről visszaellenőrizhető, az utasításkódok nem a megszokott gomb-elhelyezkedés alapján számozódnak: az egyes gombok kódjai a billentyűzetre vannak feliratozva. Az egyes gombok kettős funkciói miatt bizonyos billentyűk nem használhatók fel a programban: ilyen pl. a pi előhívására, vagy a reciprok-képzésre szolgáló gomb is. Az fx-201P a beírt programot kikapcsoláskor elfelejti, az fx-202P viszont két plusz gombelemnek hála a memóriájának tartalmát megőrzi, a Pro fx-1 pedig mágneskártyákra képes rögzíteni a programokat. A gépek jellegzetessége még, hogy - a japán tervezés ellenére - szokatlanul nagy méretűek, így inkább kéziszámológépeknek tekinthetők.
Gyártó: | CASIO Computer Co., Ltd. (Japán) |
Gyártási év: | 1977-78 |
Méret: | 10,2×17,1×3,2 cm |
Tömeg üzemkészen: | 379 g |
Jelleg: | programozható tudományos |
Kapacitás: | 10+2 számjegy (belső pontosság) |
Működési mód: | algebrai |
CPU: | Hitachi HD36136 + HD36106 + HD37603 |
Regiszterek: | 2 általános (művelet-tárolással) 1 konstans (művelet-tárolással) 11 memória (aritmetikával) |
Jellemzők: | +/-előjelváltás (negatív számok közvetlen beírása) Flebegőpontos számkijelzés Scitudományos (exponenciális) számkijelzés Sqrnégyzetgyökvonás pipi (3,1415..) értéke behívható 1/xreciprokszámítás trigtrigonometrikus függvények (sin, cos, tg és ezek inverzei: arc sin, arc cos, arc tg) DMS-DDdecimális és 60-as szögek/időpontok átváltása logexponenciális és logaritmusfüggvények (10-es és e-alapú) yxhatványozás |
Kijelző: | 14 digites VFD (Toshiba E6543) |
Tápellátás: | 4×AA elem + 2×LR44 gombelem AD-4145 adapter |
Programozási mód: | billentyűkód-tárolású |
Programkapacitás: | 127 billentyűlenyomás |
Teszteredmények: | trigonometriai:az arcsin(arccos(arctg(tg(cos(sin(60°)))))) eredménye, referenciaérték: 60. 59.991592 exponenciális:a 0.999160000 eredménye, referenciaérték (első 14 jegye): 3.0068804206375×10-70 3.0068804E-70 |
A gép használata
A számológép három üzemmódját az üzemmódválasztó tolókapcsolóval tudjuk váltogatni:- MANUAL: ebben az üzemmódban a gép mint tudományos számológép használható, a beírt program nem futtatható.
- PROGRAM COMP: a beírt program futtatására szolgáló üzemmód.
- PROGRAM WRITE: a program beírására, ellenőrzésére és módosítására szolgáló üzemmód.
PROGRAM WRITE üzemmódban a kijelzés megváltozik: a bal oldali szám az aktuális (kijelzett) programlépés sorszámát mutatja, a jobb oldali három szám pedig az ettől a helytől visszaszámolt 2., 1., illetve az aktuális programlépés utasításkódját jelentik. Azaz a kijelzett számú programlépés utasításkódja a jobb szélső szám. Az egyes utasításkódok itt nem a sor-oszlop szerinti kódolást követik, de a billentyűk elrendezését követik: az egyes gombcsoportoknak egy-egy speciális, a hétszegmenses kijelzőn megjeleníthető jele van, mely az első helyre kerül, a csoporton belüli helynek megfelelően pedig egy sorszámot is kapnak, ez kerül a második helyre. A számbillentyűk értéküknek megfelelő kódjaikkal szerepelnek. A könnyebb azonosíthatóság végett minden gomb alatt szerepel az adott gomb utasításkódja.
A programozási modell szokatlan, a számítógépek magasszintű nyelveinek bizonyos elemeit használja. Az alapelv a következő: a 10 adatregiszter valamelyikének tartalmának kiszámítását írhatjuk elő a megadott kifejezés szerint. Amire fontos ügyelni, hogy a számbillentyűk használata fordított: az egyes adatregiszterek egyszerűen a sorszámuknak megfelelő számbillentyűvel (0..9) érhetők el, a programba beírni kívánt állandók a K billentyű után adhatók meg. Pl.: a 1+3+K4 kifejezés az 1. és a 2. számú adatregisztert és a 4-es számot adják össze (újabb gépeken ez pont fordított: K 1 + K 3 + 4). Az = használata sem azonos a megszokottal: a programnyelvekben szokásos módon az értékadás jeleként a cél-adatregiszter száma és az algebrai kifejezés között áll: pl. a 3 = K 2 × K 30 sin a 3. adatregiszterbe tárolja el a 2sin(30°) kifejezés értékét, azaz 1-et. Fontos, hogy a futtatáskor a műveleti sorrendet a gép nem veszi figyelembe, az utasítássorok végrehajtása szigorúan balról jobbra értelmezve történik.
Az egyes adatregiszterek nemcsak számítások eredményeivel tölthetők fel, hanem a futtatás során a billentyűzetről is bevihetünk adatokat: erre az ENT billentyű
szolgál, mely után az adatregiszter számának megadása szükséges. A futtatás során ennél az utasításnál a bekérendő adatregiszter száma bal oldalt megjelenik
a kijelzőn, az ENT lámpa kigyulladásával egyidejűleg, majd a szám beadása után a programfuttatás az ENT billentyű lenyomásával folytatható.
Egyszerre több adatregiszterbe is kérhetünk adatokat, ilyenkor az egyes regiszterek azonosítói közé : billentyűzendő, pl. ENT 3 : 4 : IM a 3., a 4., majd pedig
az IM jelű regiszterbe tárolják a beírt számokat.
Hasonló módon az egyes adatregiszterek kijeleztethetők: az ANS billentyű után megadott számú adatregiszter futtatáskor megjelenik, a kijelző bal oldalán
az adatregiszter számával, és az ANS lámpa kigyulladása mellett. A programfuttatás az ANS billentyűvel folytatható.
Egy utasítássorban több adatregiszter is kijeleztethető, ilyenkor az egyes regiszterek azonosítói közé : írandó, pl. ANS 3 : 0 a 3., majd a 0. számú
adatregisztert jelzi ki.
Az egyes utasítássorok a : billentyűvel zárandók le, ez választja el egymástól az egyes utasítás-sorokat is.
A programba legfeljebb 10 címkét tehetünk: az ST# billentyű után megadott szám (0..9) lesz a címke azonosítója. A feltétel nélküli ugrást a GOTO billentyűvel és a címke azonosítójának megfelelően, az utána lenyomott számbillentyűvel programozhatjuk. Lehetőség van kézi címke megadására is: az MJ billentyűvel beírt címkére csak a program futtatása közben lenyomott MJ billentyűvel ugorhatunk.
A feltételes elágazás az IF billentyű segítségével adható meg: a megadott két szám (mely lehet adatregiszter, illetve bebillentyűzött állandó is) összehasonlítása után a megadott címkék közül a megfelelőnél folytatódik a program végrehajtása: ha az első szám kisebb a másodiknál: az első címkére; ha egyenlők, a második címkére; ha pedig az első szám nagyobb a másodiknál, a harmadiknak megadott címkére történik ugrás. Az utasítás formátuma: IF szám = szám : címke : címke : címke. A három címke megadása minden esetben kötelező.
Lehetőség van egyszintű alprogram-szervezésre is: az alprogramoknak a főprogram után kell szerepelniük, mivel az alprogramokból való visszatérés automatikusan történik. Az alprogramok kezdetének megjelölésére az ST# helyett a vele azonos formátumú SUB# billentyű használható. Az alprogramok elejét is címkeként kezeli a gép, azaz a alprogramra való ugrás a megszokott módon történik (GOTO, ill. IF segítségével). A program vége, illetve a következő alprogram kezdeteként elhelyezett SUB# utasítássor elérésekor tér vissza a végrehajtás a főprogramba.
Indirekt címzés az I és az IM regiszterek segítségével használható: az I regiszterben megadott számú adatregisztert az IM jelű adatregiszter segítségével érhetjük el, pl.: ha az I regiszter tartalma 3, az IM regiszter a 3. számú adatregiszterre mutat, azaz az ANS IM a 3. számú adatregiszter értékét jelzi ki. Az I regiszter tartalma a szokott módon (ENT I) kérhető be, ilyenkor az ENT lámpa kigyulladása mellett egy E jel látható a kijelző bal oldalán, mely az I regisztert azonosítja. Az I regiszter tartalmát az ANS utasítással nem jeleztethetjük ki.
A MAC billentyű a 10 adatregisztert és az I-regisztert törlik, célszerűen a programok első utasításaként használatosak.
Fontos, hogy mivel több billentyű is kettős rendeltetésű, bizonyos billentyűfunkciók nem programozhatók, csak MANUAL üzemmódban használhatók. Ilyenek a független memóriaregiszter billentyűi (MC, MR, M+), illetve az 1/x, π és a °" billentyűk.
A program WRITE üzemmódban ellenőrizhető, illetve szerkeszthető: a CHECK gomb lenyomására a programszámláló értéke 1-gyel növekszik, azaz a következő utasítás (pontosabban a következő és az azt megelőző kettő) kerül kijelzésre. A kijelzett programlépés a C billentyű lenyomásával törölhető, ilyenkor a programszámláló eggyel csökken, azaz az előző programlépés kerül kijelzésre. A törölt utasításkód helyére 00 kód kerül, ami az üres utasítás kódja. A programba való beszúrásra, illetve a program további részeinek előrébb való mozgatására nincs mód.
COMP üzemmódban a STA gomb lenyomására indíthatjuk el a programot az elejétől. Ha a végrehajtás megáll, az egyes lámpák kigyulladása mutatja a megállás okát: ha az ENT lámpa ég, a kijelző bal oldalán kijelzett számú adatregiszterbe kell adatot megadnunk; ha az ANS lámpa ég, a kijelzett számú adatregiszter került kiírásra; illetve ha egyik lámpa sem ég, a program véget ért. Adatbeadást az ENT billentyűvel fejezhetünk be, melynek hatására a programfutás folytatódik. Az adatkijelzés után hasonló módon az ANS billentyű lenyomására folytatódik a program végrehajtása.
Példaként álljon itt a faktoriális-számító program:
ENT 1 :
2 = K 1 :
3 = 2 :
ST# 1 :
IF 3 = 1 : 2 : 0 : 0 :
ST# 2 :
3 = 3 + K 1 :
2 = 2 × 3 :
GOTO 1 :
ST# 0 :
ANS 2 :
Lépésszám | Billentyűzés | Utasításkód |
001 | MAC | ┌1 |
002 | : | ┌5 |
003 | ENT | E2 |
004 | 1 | 1 |
005 | : | ┌5 |
006 | 2 | 2 |
007 | = | E0 |
008 | K | L2 |
009 | 1 | 1 |
010 | : | ┌5 |
011 | 3 | 3 |
012 | = | E0 |
013 | 2 | 2 |
014 | : | ┌5 |
015 | ST# | ┌4 |
016 | 1 | 1 |
017 | : | ┌5 |
018 | IF | L3 |
019 | 3 | 3 |
020 | = | E0 |
021 | 1 | 1 |
022 | : | ┌5 |
023 | 2 | 2 |
024 | : | ┌5 |
025 | 0 | 0 |
026 | : | ┌5 |
027 | 0 | 0 |
028 | : | ┌5 |
029 | ST# | ┌4 |
030 | 2 | 2 |
031 | : | ┌5 |
032 | 3 | 3 |
033 | = | E0 |
034 | 3 | 3 |
035 | + | E7 |
036 | K | L2 |
037 | 1 | 1 |
038 | : | ┌5 |
039 | 2 | 2 |
040 | = | E0 |
041 | 2 | 2 |
042 | × | E5 |
043 | 3 | 3 |
044 | : | ┌5 |
045 | GOTO | ┌2 |
046 | 1 | 1 |
047 | : | ┌5 |
048 | ST# | ┌4 |
049 | 0 | 0 |
050 | : | ┌5 |
051 | ANS | E3 |
052 | 2 | 2 |
053 | : | ┌5 |
Az ENT lámpa ég, a kijelző bal oldalán az 1-es szám látszik, meg kell adnunk az 1-es adatregiszterbe kerülő számot, azaz a 8-at: 8 ENT.
Az ANS lámpa ég, az eredmény leolvasható a kijelző jobb oldalán.