Sinclair Cambridge Programmable
A Cambridge alapmodellje könnyen kezelhető volt, a konstrukció változatlanul hagyásával készült Programmable típus azonban - a temérdek funkció 19 billentyűre történő, egyébként igen bravúros összezsúfolásának eredményeképp - már egy igen szokatlan, körülményesen használható miniszámológép lett. A brit összeszerelésű gép processzora és kijelzővezérlő áramköre, valamint kijelzője a National Semiconductor gyártmányai, ezeken felül mindössze egyetlen kondenzátort tartalmaz, áramforrásul pedig 9V-os elemet használ.
A Cambridge Programmable az USÁ-ban is forgalomba került - EC-4001 típusjelzéssel -, mint a Radio Shack üzletlánc sajátmárkás terméke.
Gyártó: | Sinclair Radionics Ltd. (Nagy-Britannia) |
Gyártási év: | 1977 |
Méret: | 5,1×11,2×2,3 cm |
Tömeg üzemkészen: | 96 g |
Jelleg: | programozható tudományos |
Kapacitás: | 8/5+2 számjegy (bevitel és kijelzés) 8+2 számjegy (belső pontosság) |
Működési mód: | algebrai |
CPU: | NSC MM5799N |
Regiszterek: | 2 általános (művelet-tárolással) 1 konstans (művelet-tárolással) 1 zárójel (művelet-tárolással) 1 memória (aritmetika nélkül) |
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 trigtrigonometrikus függvények (sin, cos, tg és ezek inverzei: arc sin, arc cos, arc tg) logexponenciális és logaritmusfüggvények (10-es és e-alapú) |
Kijelző: | 9 digites LED (NSC NSA0098) |
Tápellátás: | 9V elem vagy adapter |
Programozási mód: | billentyűkód-tárolású |
Programkapacitás: | 36 billentyűlenyomás |
Teszteredmények: | trigonometriai:az arcsin(arccos(arctg(tg(cos(sin(60°)))))) eredménye, referenciaérték: 60. 59.997798* exponenciális:a 0.999160000 eredménye, referenciaérték (első 14 jegye): 3.0068804206375×10-70 2.775943E-70* |
A számok bevitelekor a tizedespontot a ./EE/- billentyűvel írhatjuk be. Ugyanezen billentyű szolgál az exponenciális alakban megadott számok kitevőjének (karakterisztikájának) megadására is. Egész mantissza esetén a ./EE/- gombot kétszer kell lenyomnunk az exponens beírásához. A ./EE/- billentyű harmadik lenyomására az exponens előjelét negatívra állítja, minden további lenyomása pedig hatástalan. Fontos, hogy a +/- funkció (▲/▼ ▲/▼ +/-) mindig a mantissza előjelét váltja. Pl. a -2.3×10-17 beírása a következő: 2 ./EE/- 3 ▲/▼ ▲/▼ +/- ./EE/- 17 ./EE/-.
A konstanskezelés is szokatlan: az = lenyomására nem, csupán az alapműveleti billentyűk egymás utáni lenyomására végződik el a korábban előírt művelet a kijelzőregiszter tartalmával. Ezekre figyelmeztet a műveleti billentyűk alatt látható szürke felirat. Pl. a 2 + + ÷ = eredménye 0.125, értelmezése: 2 + (2 =) 2x 1/x. Az = billentyű - mint látjuk - ugyanazt végzi el, mint az adott műveleti billentyű ismételt lenyomással.
A tudományos számológépeknél megszokott egyéb függvények a szokott módon működnek, annyi kikötéssel, hogy a trigonometrikus függvények argumentumát mindig radiánban kell megadnunk. A fokokból radiánba és vissza történő átváltást a gép a ▲/▼ ▲/▼ D→R, ill. R→D billentyűzésre automatikusan elvégzi.
A gép egyszintű zárójelezést támogat, mind a nyitó, mind pedig a záró zárójel beírása a ▲/▼ () billentyűkkel történik.
A Cambridge Programmable-nek mindössze egyetlen memóriaregisztere van, beírás az ▲/▼ sto, kiolvasás az ▲/▼ rcl billentyűzéssel történik. A kijelző- és a memóriaregiszter cseréje a ▲/▼ ▲/▼ MEx lenyomásával végezhető el.
A gép programozása Learn üzemmódban történik, amelybe a ▲/▼ learn lenyomásával léphetünk be. A kijelzés elég szokatlan, de az áramkör végtelen egyszerűsítésének eredményeként az exponenciális kijelzés szabályainak felel meg: a karakterisztika az aktuális programlépés számát, a mantissza egészrésze pedig az ott tárolt billentyű azonosítóját mutatja. A tíz számbillentyű azonosítója az adott szám, a többi programozható billentyű azonosítója a billentyű alatt, kék színnel feliratozva látható: A - ▲/▼, F - -, E - +, - - =, . - ×, G - ÷. Programbeíráskor az éppen lenyomott billentyű kódja nem látható, mivel a gép automatikusan egy lépéssel előrébb lép. Maximum 36 lépésből álló programot írhatunk a gépbe. Programírási üzemmódból a C/CE billentyű lenyomásával léphetünk ki. Új program beírásához először a programszámlálót kell nullázni (▲/▼ ▲/▼ go to 00), hogy a 0. számú programlépésnél kezdhessük a programozást, majd a ▲/▼ learn billentyűkkel léphetünk be a Learn üzemmódba.
A program ellenőrzéséhez lépjünk ki a programozási üzemmódból (C/CE), nyomjuk le a ▲/▼ ▲/▼ go to 00 billentyűket, lépjünk vissza Learn üzemmódba (▲/▼ learn), majd a ▲/▼ step billentyűkkel lépésenként kijelezve a programot, végig tudjuk nézni a beírt billentyűkódokat.
A minél tömörebb programok előállíthatóságához nagymértékben hozzájárul, hogy programíráskor minden billentyű a fölé írt funkciónak megfelelően működik (a 7-es gomb lenyomására a sin funkció hajtódik végre futtatáskor), így ezek mindössze egyetlen programlépésnyi helyet foglalnak a programban. A billentyűk alá írt funkciók pedig a ./EE/- (▼) lenyomásával érhetők el, így ezek két programlépésnyi helyet foglalnak a tárban. Ha számok beírására van szükség, az ./EE/- ChN/# billentyűk lenyomása szükséges. A számbeírás végét az alapműveleti billentyűk, illetve az = billentyű jelzi. Ha nem nyomjuk le valamelyiket, nem tudjuk elérni sem a másodlagos, sem a harmadlagos funkciókat. Például a sin(0.8) programozása: ./EE/- ChN/# 0 ./EE/- 8 = sin.
A programban feltétlen és feltételes ugrások elhelyezésére is van lehetőség: egy adott számú lépésre a go to utasítással ugorhatunk: a ./EE/- go to lenyomása után két számbillentyűvel kell megadnunk az ugrási címet. Hasonlóan működik a go if neg utasítás is, annyi különbséggel, hogy végrehajtásakor a megadott címre történő ugrás csak akkor történik meg, ha a kijelzőregiszter tartalma (a kijelzett szám) negatív.
A program végét mindenképpen meg kell jelölnünk a stop utasítással, különben a végrehajtás végtelen ciklusban történik, ugyanis a gép a 36. (35. számú) utasítás végrehajtása után automatikusan újrakezdi a programot az 1. (00. számú) lépéssel.
A program indítása a RUN billentyűvel történik.
Mindezek illusztrálására álljon itt egy mintaprogram, mely a megadott sugarú kör területét számítja ki a T=r2π képlet alapján:
Lépés | Billentyű | Kijelzés ellenőrzéskor |
00 | × | ..0000 00 |
01 | = | -.0000 01 |
02 | × | ..0000 02 |
03 | ./EE/- | A.0000 03 |
04 | ChN/# | 3.0000 04 |
05 | 3 | 3.0000 05 |
06 | ./EE/- | A.0000 06 |
07 | 1 | 1.0000 07 |
08 | 1 | 4.0000 08 |
09 | 1 | 1.0000 09 |
10 | 1 | 5.0000 10 |
11 | 1 | 9.0000 11 |
12 | 1 | 2.0000 12 |
13 | = | -.0000 13 |
14 | stop (0) | 0.0000 14 |