A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.
SZÁMÍTÁSTECHNIKAI ROVAT
(Rovatvezető: Ada‐Winter Péter)
Az ABC/80 számítógép BASIC‐nyelvének ismertetése I.
(Karakterek, aritmetikai értékadás ) Az 1970-es évek elejétől a számítógépek gyártásában új irányzatot figyelhettünk meg. A mikroprocesszorok felhasználásával elkezdték az ún. perszonál számítógépek gyártását. Azokat a nagyobb teljesítményű számítógépeket nevezik így, melyek (viszonylag) alacsony beszerzési ára és kis fogyasztása lehetővé teszi, hogy ne csak intézmények, vállalatok, hanem magánszemélyek is megvásárolhassák, és személyes céljaikra használják őket. (Persona=latin eredetű szó, jelentése: személy, személyiség.) 1979-ben Magyarországon is megjelent a svéd‐magyar kooperációban készülő ABC/80 perszonál számítógép. A gép ára (jelenleg 80 EFt) csökkenő tendenciát mutat, ezért várhatóan egyre több lesz belőle és fokozatosan "iskola közelbe''kerül. Így a FORTRAN‐nyelv ismertetése mellett szükségesnek látszik az ABC/80 program nyelvének, a BASIC‐nyelvnek az ismertetése is. A Fővárosi Pedagógiai Intézet rendelkezik ilyen géppel, itt a kitűzött feladatok megoldásai futtathatók. A BASIC‐nyelv elsajátítható Löcs‐Sarkadi‐Nagy‐Szlankó: A BASIC programozási nyelv c. könyvből (Műszaki Könyvkiadó, Budapest, 1976.) Az ABC/80 3 egységből áll: vezérlőegységből, képernyőből (vagy a szokásos angol névvel: display-ből) és az adattároló egységből. A vezérlő egység tárolóterületének nagysága 16 Kbyte. Az egység tartalmazza a szabvány (írógépes) billentyűzetet, amin az angol abc betűin és írásjelein kívül ékezetes betűk és speciális karakterek is találhatók. A 30 cm átmérőjű képernyő 24 sort és soronként 40 karaktert képes ábrázolni. A képernyőn grafikus ábrák, görbék, diagramok is megjeleníthetők, a grafikus ábrákhoz 72 sort, ill. soronként 78 pozíciót használhatunk fel. Az adattároló egy normál kazettás magnetofon. A programok és adatok tárolására célszerű C60-as (Agfa, Sony stb.) kazettát alkalmazni. A gép a BASIC nyelvet ismeri. Ez egy általános programozási nyelv, független a gépektől, de egyes gépi megvalósítások néhány dologban eltérhetnek. A nyelv ismertetése során külön jelezzük az ABC/80-ra vonatkozó eltéréseket. A képernyőhöz tartozó klaviatúrán a következő billentyűk találhatók: A-tól Z-ig az angol ábécé kis- és nagybetűi, továbbá az Á, É, Ö és Ü betűk; 0-tól 9-ig a decimális számjegyek; ! '' ? , . () (aláhúzás) írásjelek; < > = (kisebb, nagyobb, egyenlő) relációjelek; * / + és ‐ aritmetikai műveleti jelek (operátorok, a prioritásuk sorrendjében); valamint a következő speciális billentyűk: RETURN ‐ a sor, illetve az adatok lezárására szolgál (egy logikai sor legfeljebb 120 karakterből állhat); SHIFT ‐ használatakor a felső sorba írt karakterekkel dolgozunk; ‐ állandó nagybetű írásakor használhatjuk; CTRL ‐ vezérlő (control) billentyű, használatakor egy másik karaktert is meg kell nyomni. (Pl. a CTRL és a C billentyűk együttes megnyomása a futó programot megállítja); : ‐ egy sorba írt több parancs vagy utasítás elválasztásához szükséges; ; ‐ a PRINT utasítás (nyomtassa ki) rövidítése; ∘ ‐ valuterjel, stringek (karaktersorozatok) változóinak jele, a $ jel helyett használják; # ‐ szám‐jel, az adattároló egységben egy file megadására szolgál; % ‐ a karaktert egész értékű változók jelölésére használhatjuk; ← ‐ hibásan megadott karakter törlése; → ‐ előre léptetés. Az aritmetikai értékadás a nyomtatás és a vezérlés utasításait a megjelölt irodalom 44‐80. oldalán találhatjuk meg, így azokat most nem részletezzük. Az ABC/80-ra vonatkozóan a fontosabb eltérések a következők: 1. Nem szükséges a LET utasítás kiírása, például 10 LET X=A+B helyett írhatjuk, hogy 10 X=A+B. 2. A PRINT utasítást helyettesítheti a ; karakter. 3. A hatványozás jele nem ↑, hanem **, így a 10 X=A+B**2 utasítás hatására (A+B)2 értéke kerül X-be. Mintafeladatként a következő programot ismertetjük: Olvassuk be az a, b, c és d értékét, és írjuk ki az aritmetikai kifejezés értékét. Egy lehetséges megoldást mutatunk a bal oldali oszlopban. Az első, 10 sorszámú utasításban beolvassuk az A, B, C, és D értékét, a másodikban az X kifejezés értékét számítjuk, a harmadikban nyomtatjuk. Nyilvánvalóan D=0 esetén a gép hibát jelez. Ennek elkerülése érdekében célszerű előbb megvizsgálni, vajon D értéke nulla-e. A program a következőképpen alakul: 10 INPUT A, B, C, D 10 INPUT A, B, C, D 20 X =(A*(B+C))1D 20 IF D=0 THEN 50 30; X 30 X=(A*(B+C))/D 40 GOTO 10 40; X : GOTO 10 50 END 50 ; "NULLÁVAL NEM LEHET OSZTANI!''60 GOTO 1070 END Az alábbi feladatok megoldását kockás papíron, névvel, iskolával ellátva a következő címre lehet beküldeni: Appel György tanár FPI Oktatástechnika Budapest, Bródy Sándor u. 14. 1088. 1. feladat. Milyen hibák fordulhatnak elő az alábbi BASIC programban? Hogyan lehetne azokat kijavítani? 10 INPUT A, B 20 X+1=Y-3 30 IF O<X-3<2 THEN 45 40 Z=Y+2* SIN X 45 PRINT EREDMÉNY, Z/X 50 GOTO 75 70 Z=(X+Y)(X-Y) 80 GOTO 45 90 END 2. feladat. Írjunk BASIC programokat az alábbi matematikai formulák értékének kiszámítására: | (A+B)*(1+SINX)-TG2YA+SINX;asinα2+bsinβ2+csinγ2cos2α+cos2β+cos2γ. |
|