Casio fx-201P
A Casio első három tudományos programozható számológépe nagyjából azonosnak tekinthető: 127 lépéses programtárral, 1 független, 10 adattárolásra használható, valamint az indirekt címzést lehetővé tevő memóriaregiszterrel rendelkeznek. A program a kijelzőről visszaellenőrizhető, az utasításkódok viszont nem a megszokott gomb-elhelyezkedés alapján számozódnak: az egyes gombok kódjai — melyek a számokon túl több, a hétszegmenses kijelzőkön előállítható szimbólumot is tartalmaznak — a billentyűzetre vannak feliratozva. Az egyes gombok kettős funkciói miatt bizonyos billentyűk nem használhatók fel 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 zseb- helyett inkább kéziszámológépnek tekinthetők.
Gyártó: | CASIO Computer Co., Ltd. (Japán) |
Gyártási év: | 1976-77 |
Méret: | 10,2×17,1×3,2 cm |
Tömeg üzemkészen: | n.a. |
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 vagy 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épek használata
A számológép három üzemmódban használható, melyet az üzemmódválasztó tolókapcsolóval tudunk beállítani:- 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 tudunk programot írni, illetve azt módosítani. Ilyenkor a kijelzés a következő: a bal oldali szám az aktuális (kijelzett) programlépés sorszámát mutatja, a jobb oldali három szám közül a jobb oldali az ezen a helyen lévő utasításkódot, a másik kettő pedig az ez előtti két programlépés utasításkódját jelentik. Az egyes utasításkódok itt nem a sor-oszlop szerinti kódolás szerintiek, 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 annak utasításkódja.
A programozási modell szokatlan, a számítógépek magasszintű nyelveinek bizonyos elemeit használja. A program utasításokból áll, amelyeket lezárni kettősponttal : kell.
Az utasítások a következők:
n = kifejezés Az értékadás nem a számológépeknél szokásos formában történik, hanem a programozási nyelvekhez hasonló: az egyenlőségjel bal oldalára kerül a cél-regiszter száma (0..9), jobb oldalára pedig a kifejezés, amit a gép kiszámít. Fontos, hogy a regiszterek csupán a sorszámukkal hivatkozhatók, konstans értékek előtt a K billentyű lenyomása kötelező! A 3+6 kifejezés ugyanis a 3-as és 6-os számú regiszterekben tárolt értékeket adja össze; a 3+6 összeadás ezeken a gépeken a K 3 + K 6 billentyűsorozattal írható elő. Fontos, hogy a gép a műveleti sorrendet nem veszi figyelembe, az utasítások végrehajtása szigorúan balról jobbra értelmezve történik. Pl. 3 = 6 × K 3.2 utasítás a 3. regiszterbe írja a 6. regiszter 3,2-szeresét.
ENT n Beviteli utasítás. Az utána megadott számú regiszterbe tárolja a futtatáskor bebillentyűzött értéket. A program futása ilyenkor megáll, a kijelzőn bal oldalt a bekérni kívánt regiszter száma jelenik meg és az ENT lámpa ég. A bebillentyűzés után a program az ENT billentyű lenyomásával folytatható. Egyszerre több regiszterbe is kérhetünk be adatot, ilyenkor a kettőspont után az ENT billentyű elhagyható. Pl.: ENT 3 : 4 : IM utasítás a 3., 4., majd végül az IM regiszterbe kér be adatot.
ANS n Kijelzési utasítás. A megadott számú regiszter tartalma kijelzésre kerül és a programfutás az ANS billentyű lenyomásáig szünetel. Hasonlóan az ENT utasításhoz, az ANS utasítással is kiirathatunk több regisztert a kettőspont segítségével. Pl. ANS 3 : 7 utasítás a 3., majd a 7. regiszter tartalmát jelzi ki.
ST# n Programrész kezdete (címke). A programba legfeljebb 10 címkét tehetünk (közösen a SUB utasítással): az ST# billentyű után megadott szám (0..9) lesz a címke azonosítója. A feltételes és feltétel nélküli ugrások ezekre a címkékre tudják átadni a vezérlést. Pl. az ST# 7 a 7-es számú címkét jelöli.
SUB# n Alprogram kezdete (címke). A programba legfeljebb 10 címkét tehetünk (közösen az ST utasítással): a SUB# billentyű után megadott szám (0..9) lesz az alprogram azonosítója. A feltételes és feltétel nélküli alprogram-hívások ezekre a címkékre tudják átadni a vezérlést. Alprogramok egymásba ágyazására nincs mód. Pl. a SUB# 8 a 8-as számú alprogram kezdetét jelöli meg.
GOTO n Feltétel nélküli ugrás. A program futtatásakor a GOTO billentyű után megadott számú címkére ugrik. Alprogram meghívása is ugyanígy történik, a főprogramba való visszatérés egy másik alprogram elejét jelző SUB utasítás, vagy a program végének elérésekor történik meg. Pl. GOTO 9 utasítás a 9-es címkére ugrik.
MJ Kézi ugrás. A programban elhelyezett MJ utasításhoz ugorhatunk, ha futtatáskor megnyomjuk az MJ billentyűt.
IF n = m : címke : címke : címke Feltételes elágazás (ugrás). A gép a megadott három regiszter összehasonlításának eredménye alapján folytatja a végrehajtást. Ha az első regiszter értéke kisebb a másodiknál (n < m), az elsőként megadott címkére (alprogramra); ha egyenlőek (n = m), a másodiknak megadott címkére (alprogramra); ha pedig az első regiszter értéke nagyobb a másodiknál (n > m), a harmadiknak megadott címkére (alprogramra) ugrik. A három címke megadása minden esetben kötelező.
I IM 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.
MAC A MAC billentyű a 10 adatregisztert és az I-regisztert törli, 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.
Program faktoriális-számításhoz
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.