Sharp PC-1211
Gyártó: | Sharp Corporation (Japán) |
OEM: | https://www.swissukreplica.com/ (ismeretlen) |
OEM típus: | n.a. |
Gyártási év: | 1980 |
Méret: | 17,5×7×1,7 cm |
Tömeg üzemkészen: | n.a. |
CPU: | SC43177A + SC43178 |
RAM: | 1,875 kB SRAM |
ROM: | 11 kB, az alábbi programokkal: BASIC |
Programozói környezet: | PC-1210 BASIC |
Kijelző: | pontmátrix LCD (24×(5×7)) |
Billentyűzet: | QWERTY angol |
Áramellátás: | 4×LR44 elem |
A gép használata
A gép üzemmódjai között a MODE gombokkal válthatunk.RUN üzemmódban egyrészt közvetlenül használhatjuk a gépet különféle számítások elvégzésére, másrészt futtathatjuk a memóriájában lévő programokat.
PRO üzemmódban tudjuk megírni és szerkeszteni a programokat.
DEF üzemmódban a programban használt címkéknél tudjuk indítani a futtatást.
RESERVE módban pedig gyakran használt kifejezéseket, szövegrészeket, parancsokat stb. tudunk gyorsbillentyűkhöz rendelni.
RUN üzemmódban a közvetlen számításokhoz BASIC kifejezéseket használhatunk, ezeket vesszővel összekapcsolva egymás utáni kiszámítást is kérhetünk, amikoris csak az utolsó kifejezés eredménye lesz olvasható a kijelzőn. A szorzás jele a csillag (*), az osztásé a perjel (/), a hatványozásé a ^. Használható még a gyökjel (√) is. A kifejezés(ek) kiértékelése az ENTER lenyomására történik meg, a kihozott eredménnyel közvetlenül tovább is számolhatunk, ilyenkor ne használjuk a CL gombot, csak gépeljük tovább a kifejezést. A ← és → gombokkal visszakérhetjük a kifejezés-sort, és szabadon szerkeszthetjük azt.
A BASIC szokásos függvényei használhatók, úgymint trigonometrikus függvények (SIN, COS, TAN), ezek inverzei (ASN, ACS, ATN), logaritmikus függvények (LN, LOG), exponenciális függvény (EXP), decimális-hatvanas átváltás és fordítottja (DMS, DEG), valamint egészrész (INT), abszolútérték (ABS) és előjel-függvény (SGN). A függvények argumentumát nem szükséges zárójelbe tenni, csak ha a műveleti precedencia miatt az szükséges. Szögmértékegység váltásához a DEGREE (fokhoz), RADIAN (radiánhoz), ill. GRAD (újfokhoz, gonhoz) parancsot kell beadnunk.
A gép által biztosított 26 változóhoz az ábécé betűivel (A..Z), illetve tömbösítve, tulajdonképpen a betűk sorszámaival is hozzáférhetünk (az A változó megegyezik A(1)-gyel, B A(2)-vel stb.). Stringeket is tárolhatunk a változókban, a szokásos $ utótaggal jelölve, ezek ugyanúgy használhatók tömbként, mint a numerikus változók, és mivel ugyanazt a memóriarészt használják, az azonos nevű numerikus és string változókat nem használhatjuk egyszerre. Egy string-változóba maximum 7 karaktert tudunk tárolni. Az értékadáshoz nem szükséges kiírni a LET kulcsszót. A 26 alapváltozón felül továbbiakat is használhatunk, a programtár rovására, mégpedig 8 programlépés (bájt) felel meg egy változónak. Fontos, hogy a változók értékei nem törlődnek sem a programfuttatások között, sem pedig kikapcsoláskor.
A programsorok sorszámozandók (1 és 999 közötti számokkal), ezen felül idézőjelek közé zárt karakterekkel címkézhetők is, melyek DEF üzemmódban lehetővé teszik a gyors futtatást (pl. a DEF üzemmódban kiadott SHFT A billentyűsorozat a 100:"A"PRINT"SHARP" sorral kezdődő programot indítja el. Kettősponttal elválasztva egy sorba több utasítás is írható. A tárban lévő sorok egyrészt közvetlenül kijeleztethetők a LIST paranccsal (paramétereként sorszám megadható), másrészt egyenként lépegethetünk közöttük a ↓, ill. az ↑ gombok segítségével. Ilyenkor a szokott módon szerkeszthetők az egyes programsorok. A teljes sor törléséhez írjuk be a sorszámát, majd nyomjuk meg az ENTER billentyűt.
A könnyebb használat és gyorsabb programbevitel érdekében használhatunk rövidítéseket a BASIC kulcsszavak nagy részénél (pl. a PRINT P.-nek rövidíthető), illetve RESERVE üzemmódban megadhatunk gyorsbillentyűket, melyek hosszabb szövegrészeket hívnak be. Utóbbi esetben a SHFT és a RESERVABLE KEYS feliratú keretben lévő billentyűk valamelyikét lenyomva, az adott billentyűhöz rendelendő szöveget írhatjuk be, ENTER-rel lezárva. Ezután PRO és RUN üzemmódban a SHFT és az adott billentyű lenyomására a megadott szöveg kerül bevitelre.
A NEW parancs törli a programot, illetve RESERVE módban az összes definíciót.
A MEM parancs kijelzi a memória foglaltságát: a STEPS szó előtti szám a szabad programlépések számát (bájtban), a MEMORIES előtti a szabad változók számát jelenti. A két szám vagylagos viszonyban áll egymással, azaz vagy az adott számú programlépésnyi, vagy az adott számú változónyi tár szabad. Fontos, hogy a program minden egyes karaktere egy bájtot (programlépést) foglal el, minden sor végén egy sorvége-karakter van. A BASIC kulcsszavak mindegyike egyetlen bájtot foglal el.
RUN üzemmódban a program a RUN paranccsal indítható (sorszám is megadható paraméternek). Az éppen végrehajtás alatt lévő programsor kijeleztethető a ↑ gomb nyomva tartása mellett (PRINT, INPUT végrehajtásakor, illetve a program futásának megszakítása esetén). Utóbbi esetben a ↓ gombbal a következő programsor végrehajtása elindítható. Ugyanez a gomb hatásos belövési (DEBUG) üzemmódban, amit a DEBUG paranccsal kérhetünk: ilyenkor az egyes programsorok egyenként hajtódnak végre, mindegyik után megszakad a program végrehajtása. Paraméterezése megegyezik a RUN-éval.
A programokban a következő BASIC utasítások használhatók:
- INPUT: adatbekéréshez; vesszővel elválasztva felsorolhatók az egyes bekért változók nevei, ilyenkor futtatás esetén a bevitelt változónként ENTER-rel kell lezárni. Az alapértelmezett prompt egy kérdőjel, amit megváltoztathatunk, ha a bekérendő változónév előtt, attól vesszővel, vagy pontosvesszővel elválasztva, idézőjelben megadjuk a prompt szövegét (pl. INPUT "A=",A,"B=",B). Pontosvessző esetén a beíráskor a prompt szövege nem tűnik el a kijelzőről.
Fontos, hogy ha nem adunk meg értéket, csak ENTER-t ütünk, a teljes programsort átugorja, és a következő sornál folytatja a végrehajtást! - PRINT, PAUSE: konstansok és változók kijelzésére; vesszővel elválasztva maximum két szám jeleztethető ki (a 24 karakteres kijelző első, ill. második 12 pozíciójára), míg a pontosvessző esetén egymás mögötti kijelzést kérhetünk. Fontos, hogy kifejezés csak az első (vessző, ill. pontosvessző előtti) paraméter lehet, a továbbiak már nem. A PRINT a kijelzés után addig vár, amíg ENTER-t nem nyomunk, a PAUSE kb. 1 másodperc után automatikusan tovább folytatja a program végrehajtását.
- USING: a PRINT és a PAUSE utasítások által kijelzett számok formátumának megadására használatos. A formátumot stringként kell megadni, azaz idézőjelek között. Minden # karakter egy pozíciónak felel meg (az előjelnek is szükséges egy pozíciót megadunk), a . a tizedeselválasztó helyét adja meg, a ^ jel megadásával kérhetjük a normálalakos kijelzést. (Pl. USING "###.####" normál kijelzéssel két egész és négy tizedesre, az USING "####.##^" normálalakos kijelzéssel négy egész és két tizedesre kerekítve jeleníti meg a kijelzésre kerülő számokat.) Ha az USING kulccszót magában használjuk, a korábban megadott formátum érvénytelenné válik.
- PRINT USING, PAUSE USING: a két utasítás összevonható, ilyenkor az USING hatása csak az adott PRINT, vagy PAUSE utasításra korlátozódik. (Pl. PAUSE USING "###.##";A)
- GOTO, GOSUB: egy adott programsorra, vagy programcímkére ugorhatunk. Paraméterként nem csak konstanst, de változót, és kifejezést is megadhatunk: a numerikus változók és a kifejezések programsorra, a string-változók címkére vonatkoznak. (Pl. GOTO 30 a 30-as sorra, GOTO 2*A az A kétszeresének megfelelő sorszámú sorra, GOSUB A$ az A$-ben tárolt címkére adja a vezérlést).
- RETURN: az alprogram (szubrutin) végét jelöli, azaz a GOSUB-bal átadott vezérlést az alprogram (szubrutin) végén visszaadjuk a főprogramnak.
- IF: feltételvizsgálat; a szokásos összehasonlító operátorok használhatók (=, >, >=, <, <=, <>). Logikai igaznak veszi a 0-tól különböző értékeket. A THEN csak a GOTO helyett használható, a LET pedig mindenképpen kiírandó. (Pl. IF A=10 THEN 30 IF A<>B LET A=A-1).
- FOR, TO, STEP: ciklusszervezés; a megadott változó értékei rendre felveszik a megadott tartománybeli értékeket. Ha a növekmény 1, a STEP elhagyható. (Pl. FOR X=1 TO 3 1-től 3-ig növekszik egyesével, FOR Y=10 TO 0 STEP -2 10-től kettesével csökken 0-ig).
- NEXT: ciklusszervezés; a FOR után kezdődő ciklusmag lezárása, a FOR-nál megadott változó kötelezően megadandó. (Pl. NEXT X).
- STOP: megállítja a program futását, kijelzi az aktuális sor számát. A futás a CONT parancsra folytatódik.
- BEEP: megadott számú csipogást hallat. Ha nem adunk meg paramétert, egyet csippant. Kifejezés is megadható. (Pl. BEEP 2*A-1).
- CLEAR: törli az összes változó tartalmát.
- AREAD: speciális beolvasó utasítás, csak DEF módban hatásos, ha a címke után szerepel. A program indítása előtt beírt értéket tárolja el a megadott változóba. (Pl. "A":AREAD X a DEF üzemmódban beírt számot X-be tárolja el, ha a program indítása SHFT A-val történt).
- REM: megjegyzéseket fűzhetünk az egyes programsorokhoz.
- CLOAD: a megadott nevű programot, illetve RESERVE módban a definíciókat betölti a kazettáról.
- CSAVE: a megadott nevű programot, illetve RESERVE módban a definíciókat kimenti a kazettára.
- CLOAD?: az előzőleg kimentett program helyes kimentését ellenőrzi.
- CHAIN: a megadott nevű programot betölti és végrehajtja. A gép memóriakapacitását túllépő programok futtatására alkalmazható. Második paraméterként induló sorszám, vagy címke is megadható. (Pl. CHAIN "PROG",100 a PROG nevű programot betölti és a 100-as sornál kezdi a futtatását).
- PRINT#: a megadott nevű fájlba menti az összes változó tartalmát. Második paraméterként kezdő változónév is megadható, ekkor csak az adott változótól kezdve ment. (Pl. PRINT#"ADAT",A(20) az ADAT nevű fájlba menti az A(20),A(21),... változók tartalmát).
- INPUT#: a PRINT#-tel kiírt adatokat tölti vissza, paraméterezése azonos a PRINT#-nél megadottal.