R. Bradbeer, P. DeBono, P. Laurie
THE COMPUTER BOOK

© British Broadcasting Corporation - 1982
© Műszaki Könyvkiadó, Budapest   - 1984

Fordították:
Dr. Fodor Györgyné - okl. villamosmérnök,
Dr. Szentgyörgyi Zsuzsa - okl. villamosmérnök

Lektorálta:
Mazgon Sándor - okl.. villamosmérnök

Felelős szerkesztő:
Dr. Kemény Tamásné - okl. villamosmérnök


Tartalom

          Bevezetés
  1. Körüljárjuk a helyszínt
    Visszapillantás a számítástechnika történetére
    A nagy, a közepes és a kicsi...
    Mit csinál és hogyan?
    Miből áll a számítógép?
  2. Feladatok és számítógépek
  3. A hardver és szoftver
  4. Mi is az a programozás?
  5. A mikroszámítógépek és használóik
    Perifériális eszközök
    Mire használhatók a mikroszámítógépek?
  6. A növekedés határai
    Szakkifejezések gyűjteménye

Bevezetés

A mikroelektronika fejlődése, amely többek között a szilícium chipek gyártástechnikájának korszerűsödését és az olcsó mikroszámítógépek elterjedését eredményezte, egyúttal a fejlett ipari országok gazdaságának átalakítója is, egyre erőteljesebben hat az emberek munkalehetőségeire és életére. A számítástechnikai áru szinte az egyetlen olyan áruféleség, amelynek ára ma is évről évre csökken. Lassan olyannyira olcsóvá válik, hogy egyik megtestesülése - a személyi számítógép - rövidesen bekerülhet a legtöbb család otthonába. Sőt már ma is van olyan hely, ahol ott találjuk az üzletekben ifjabb testvéreivel - a zsebszámológépekkel és a digitális órákkal - együtt, amelyek egy évtizeddel ezelőtt még teljesen ismeretlenek voltak. Csakhogy a személyi számítógép többet jelent: egyrészt tevékenységre serkent, másrészt olyan új, gyakorlati eszköz a kezünkben, amellyel irányítani, vezérelni tudunk dolgokat és mindemellett még "bűvészkedhetünk" is az információval.
A számítástechnikai eszközök teljesítőképességéről elmondhatjuk, hogy amit ma még nagy számítógép hajt végre, azt holnap már a jóval kisebb számítógép is elvégzi. Azonban akár nagy, akár kicsi a számítógép, működésük lényegében azonos! De hát mire is képesek? Hogyan működnek? Hogyan használhatók feladatok megoldására? Merre visz bennünket ez a technika? És mik a korlátai? Ez a könyv (és a hozzá tartozó tévéfilmsorozat - ezt a Magyar Televízió is sugározza) éppen azt tűzte ki célul, hogy választ adjon ezekre a kérdésekre és egyúttal előmozdítója legyen egy új fajta "számítógépes műveltségnek".

Mi is az a "számítógépes műveltség"?
Mivel a mikroszámítógépnek és a többi számítástechnikai eszköznek más, korábbi műszaki újdonságokhoz hasonlóan bizonyos átalakító hatása van a társadalom arculatára, így érdekes lehet egy kis történelmi visszapillantás a műszaki tudományok fejlődésére. Utoljára ilyen drámai erővel talán csak az ipari forradalom idején hatoltak be a műszaki tudományok a mindennapi életbe. Akkor történt, hogy egy túlnyomórészt fiatal emberekből álló kis csoport - az új technika ismeretében - nagy erővel látott neki, hogy átalakítsa a világot. Gondoljunk csak Brunelre, aki 27 éves korában már a Great Western Railway (Nagy Nyugati Vasútvonal) főmérnökeként rakta le síneit egy olyan vidéken, ahol a birtokok felosztása óta nem változott semmi! Mit gondolhattak a kortársak ezekről a kissé arrogáns fiatalemberekről, új elképzeléseikről és elképesztő teljesítményeikről? Az idő tájt még a jól képzett embereknek sem volt olyan "műszaki műveltségük", amelyet ma mindnyájan magunkénak mondhatunk. Úgy vélték, hogy ha az ember 50 km/h-nál nagyobb sebességgel utazik, azt nem éli túl. Azt gondolták, hogy a gőz nyomása menthetetlenül szétveti a kazánt.
 


Az ipari forradalom örökösei
A részvényesek Londonban kipróbálják az első föld alatti vasút, a Metropolitan Vonal szerelvényét az 1863 január 10-i megnyitás előtt

 

 

Úgy "tudták", hogy az acélból készült hajók elsüllyednek. Másfelől nem tartották lehetetlennek, hogy ha egy ember elég keményen pedálozik, akkor fel tudja magát emelni a levegőbe.
Fogalmaik körvonal nélküliek voltak, mivel nem ismerték a fizika alaptörvényeit, pedig ezek elég egyszerűek ahhoz, hogy legtöbbünk nem is tudatosan szívja őket kultúránkból magába. Ugye azért legalább halvány elképzelése van a kedves Olvasónak arról, hogy hogyan működik pl. egy régimódi falióra? És van fogalma arról - még ha nem is gépész -, hogyan hajtják egymást a fogaskerekek, hogyan mozognak a rugók, az ide-oda lengő ingák stb.? Kevés embert képeszt el manapság egy gőzmozdony vagy egy benzinmotor látványa, még ha nem is ismeri működésük részleteit.
Mi mindnyájan ennek a közel 200 éves "műszaki műveltségnek" az örökösei vagyunk; meg tudjuk különböztetni a gyakorlatban megvalósíthatót a lehetetlentől; ismerjük az alapszabályokat, és ésszerűen alkalmazni tudjuk őket a bennünket körülvevő helyzetekre. A számítástechnikával is így lehetünk, azzal a különbséggel, hogy közülünk egyelőre csak néhányan fértek hozzá az alapvető titkokhoz. E technika fogadtatása pontosan olyan volt, mint korábban bármelyik más, új műszaki tudományé: hittünk a lehetetlenben, visszautasítottuk a kézenfekvőt, és a véleményünk teljesen bizonytalan volt. Az utóbbi időben azonban mindez nagyjából letisztult, és bebizonyosodott, hogy a számítástechnika sem más, mint a többi tudomány.
Ebben a könyvben éppen azt akarjuk megmutatni, hogy e tudomány alapjai egyáltalán nem olyan "nehezek", ahogyan azt sok ember 'gondolná. Nyilvánvaló, hogy egy ilyen rövid, bevezető könyvben aligha tudjuk Önöket megtanítani arra, hogyan építhetnek maguknak saját számítógépet. (De hát ezt közülünk igazán csak kevésnek kell tudnia, épp úgy, mint ahogy a legtöbb ember tökéletesen vezeti a kocsiját anélkül, hogy el tudna készíteni egyet - sőt, sok esetben anélkül is, hogy meg tudná a kocsit javítani!)
Reméljük, hogy sikerül megismertetni Önökkel néhány alapfogalmat, és ezek ismeretében a számítógépet egyszerűen olyan eszköznek tekintik majd, amellyel egyre gyakrabban kerülnek kapcsolatba. Olyan eszköznek, amelyet mindennapi teendőikben igen hasznosnak találnak - még hasznosabbnak, mint amilyen manapság az autó.
Néhány olvasónk valószínűleg közvetlenül is hozzá tud férni számítógépekhez - vagy, mert már van neki sajátja, vagy az iskolájában, egyetemén, munkahelyén talál számítógépet. Reméljük, hogy nekik is ad néhány új gondolatot ez a könyv. Egyáltalán nem fontos azonban számítógépet használni ahhoz, hogy az Olvasó követni tudja könyvünk ismereteit, de még azt sem fogjuk föltételezni, hogy van már valami előzetes ismerete a számítógépekről, az elektronikáról vagy akár a matematikáról.
Könyvünk nem egy adott számítógép gyakorlati kézikönyve. Nincs szándékunkban számítógépes programozási tanfolyamot sem adni (bár kicsit bepillantunk a programozás alapjaiba is). Bevezetőnek szánjuk a számítógépek megismeréséhez: elmondjuk, hogy mik azok, hogyan működnek, és őszintén reméljük, hogy ezzel elegendő önbizalmat adunk az olvasónak a továbbhaladáshoz, a továbbtanuláshoz. Ha azonban az Olvasó úgy döntene: elég a tanulásból, az itt olvasottak akkor is kellő áttekintést adnának számára erről a mai világunkat rohamosan átalakító, új technikáról.

 


A mikroelektronikai forradalom örökösei. A számítógép használatát tanulják egy általános iskolában

 

Hogyan használjuk ezt a könyvet?

Könyvünket nem kell az Olvasónak végigolvasnia az első laptól az utolsóig, fejezetről fejezetre haladva. (Természetesen annak is megvan a haszna, ha így olvassák.) Mégis azt reméljük, hogy inkább ismeretek, hivatkozások forrásaként fogják használni, és egy-egy szükséges magyarázatot keresve bele-belelapoznak a könyvbe. Ezt tartottuk szem előtt, amikor igen sok könyvön belüli utalást tettünk az anyagba.
A könyv végén található szakkifejezés-gyűjteményben a számítástechnikában leggyakrabban használt kifejezésekhez fűzünk magyarázatokat. Nem támaszkodtunk azonban teljesen ezekre: a szövegben első előfordulásukkor külön is megmagyarázzuk őket.
1
Körüljárjuk a helyszínt

A számítógépek - lényegüket tekintve - nem értelmesek. Csak azt csinálják, amit az emberek utasítások formájában "mondanak" nekik. Mindazonáltal mindaz, aminek az elvégzésére alkalmasak - és aminek elvégzését napjainkban elvárjuk tőlük -, igen sokrétű, és modern életvitelünk szempontjából rendkívül jelentős.

 

Az időjárás kiszámítása

Az esti televíziós időjárás jelentéskor űrbeli képeket láthatunk felhőkről, időjárási frontokról; meteorológiai térképeket mindenféle szimbólumokkal, amelyek esőt, havat, orkánt, ködöt jeleznek. És, bár a számítógép nem jelenik meg - nem köszönt bennünket -, mégis ő végzi a munka kényelmetlenül nagy rutinrészét, amelynek alapján végül is megkapjuk az előrejelzéseket.
Ez a folyamat az időjárásról szóló információk összegyűjtésével kezdődik. Meteorológiai állomások százai hálózzák be a világot - hajókon, repülőtereken, katonai támaszpontokon -, és küldik az információt rádión vagy telexen keresztül a nemzeti meteorológiai központokba. Műbolygók készítenek felvételeket a felhőmintázatokról, és - infravörös kamerákkal - az alattuk elterülő földfelszín hőmérsékletéről. Ezt az információt a műbolygóban levő kisszámítógép tárolja és rádión továbbítja a földi állomásoknak, amikor műhold elhalad fölöttük. Ezt azután az állomások személyzete rádión vagy telexen küldi be a meteorológiai központba.
A központban a napi időjárási térképet - a rendkívül sok adat feldolgozása miatt - egy igen nagy számítógép készíti el. Az adatgyűjtő állomások százaiból érkeznek a légnyomás-, a hőmérséklet-, a szélsebesség-, a szélirány- és a nedvességértékek. Ezeket beviszik a számítógépbe és egy nagy, átfogó domborzati képre kerülnek rá. Ezt követően rendkívül bonyolult számításokat kell végezni: a földfelület minden négyzetkilométere feletti levegő pillanatnyi állapotából kiindulva ki kell számítani - a fizika jól ismert törvényeinek felhasználásával -, milyen hatást fognak kifejteni az adott területre a szomszédos területek fölött elhelyezkedő légtömegek, és viszont. Ez viszont azt jelenti, hogy ezt az igen sok számítást igénylő feladatot a létező legnagyobb számítógépekkel kell elvégeztetni, ha azt akarjuk, hogy az eredmények gyorsabban készüljenek el, mint ahogy az időjárás maga megváltozik kinn a térben. Es még így sem olyan rendkívül pontos az előrejelzés - bár még mindig jobb, mint ha megnedvesített ujját feltartva a szélbe a meteorológus azt mondja: "Enyhe szél várható, zivatarok és napos szakaszok váltakoznak, a hőmérséklet melegebb lesz, mint tegnap volt".

A motort hűteni kell
A filmekben, ha a pilóta repülésre kész, felteszi sötét szemüvegét, beugrik a repülőgép vezetőfülkéjébe és máris szárnyal felfelé a kék égbe. A valóságban néhány egyéb "aprósággal" is törődnie kell. Az egyik ilyen "csekélység" a sugárhajtású motorok megfékezése, mert ezek ugyancsak szilaj "fenevadak." Miközben a repülőgép felgyorsul a kifutópályán, a befúvott levegő egyre nagyobb nyomással és egyre nagyobb mennyiségben jut be a motorba, mivel a gép előrehalad. Ugyanakkor a kilövellt sugár egyre könnyebben áramlik kifelé, és a gép mind nagyobb hajtóerőre tesz szert. Mindez azzal jár, hogy a belső hőmérséklet változik. Ha a motor belsejében az üzemanyag túl nagy hőmérsékleten ég el, a turbinák megolvadhatnak; ha viszont a hőmérséklet kicsi, a motor nem ad le elég hajtóerőt. Így ha a pilóta a felszállópályán irányítja a gépet, egyúttal az üzemanyag-áramlás szabályozásával is ügyeskednie kell, hogy a turbina hőmérsékletét pontosan a kívánt értéken tartsa.
Az élet sokkalta könnyebbé és biztonságosabbá válik a repülő pilótája és utasai számára egyaránt, ha egy számítógép átvállalja az egész feladatot. A robbanókamrában levő hőmérséklet-érzékelők csatlakoznak hozzá, továbbá mérőműszerek, amelyek a külső levegő hőmérsékletét és nyomását mérik (a sugárhajtású motor sokkal kisebb hajtóerőt fejt ki pl. a szudáni Khartoum forró, magas fekvésű repülőterén, mint a hideg, alacsonyan levő Benbeculában a Hebridákon). A számítógép kiszámítja a motor hajtóerejét az utolsó sugárcsőben uralkodó nyomásérték mérésével, méri az üzemanyag-áramlást, a légsebességet és a repülőgép súlyát. Ezeknek a számértékeknek az ismeretében pillanatról pillanatra kiszámítja azt a helyes üzemanyag-mennyiséget, ami a motorba kerülhet. Eközben pedig a pilóta arra koncentrálhat, hogy izgalom és baleset nélkül szállítsa el az utasokat az A helyről a B helyre.


Számítógépek segítik a levegőbe
A Concorde-ot nyolc fedélzeti számítógép segíti a navigációban, a távközlésben, a hajtóművek vezérlésében és a kabinon belüli viszonyok, mint pl. a nyomás ellenőrzésében.

 

A forgalom nyomonkövetése

Ha már egyszer a levegőben van, sólyomszemű barátunk 1000 km/h sebességgel száguld. Egy másik "madárembernek", aki szintén 1000 km/h-val repül - esetleg éppen az ellenkező irányból -, kevés esélye lenne arra, hogy időben megpillantsa őt, amint közeledik. És ha a sors úgy akarja, hogy pályáik keresztezzék egymást, a baleset csaknem elkerülhetetlen.
Az ilyen szerencsétlenségek elkerülésére az élénk repülőtéri forgalmi országoknak légiközlekedési irányítószolgálata van. E szolgálat radarhálózatának jelei egy vagy két központi munkahelyre érkeznek be, ahol gyors áttekintésű, jól képzett emberek követik minden egyes repülőgép pályáját, és elirányítják a többi - számára láthatatlan - repülőgép között, amelyekkel egyébként összeütközhetne. Ezek az emberek rendszerint eredményesen hajtják végre feladatukat; csak nagyon ritkán követnek el hibát.
Az utóbbi években kísérletek történtek a légiforgalom automatikus irányítására - legalábbis annak ütközést kizáró részére. Ebben a rendszerben számítógép figyeli a radarokat, kiszámítja minden egyes repülőgép helyzetét, méghozzá 5, 10, 15 percre előre, és figyelmezteti a légiirányítót, ha ütközés (vagy ahogy szaknyelven mondják, "konfliktus") várható. Ekkor az irányító különböző döntéseket próbálhat ki: pl. ha az A repülőgépnek azt az utasítást adja, hogy forduljon tíz fokkal a repülőtér irányába és emelkedjen fel 150 métert, mert csak így tudja elkerülni a B gépet, vajon összeütközik-e ekkor a K repülőgéppel?
Az a számítástechnikai munka, amellyel ez a feladat megoldható, egyáltalán nem könnyű. Először is, a képernyőn a radar körbeforgásakor megjelenő felvillanásokat egymással kapcsolatba kell hozni. Ezek el is térhetnek azoktól az egyenes vonalaktól, amelyekre számítani lehetett. Időnként teljesen el is tűnhet a jel; a számítógépnek ilyenkor is ki kell tudnia számítani, hogy a közbenső időben merre mehetett a repülőgép, és amikor a jelek újból előtűnnek, be kell csatlakoztatnia azokat a helyes pályába. Ha két pálya keresztezi egymást, a számítógépnek nem szabad arra gondolnia, hogy a két repülőgép egymás fölé repült és kitért egymás elől. Másrészt, ha éppen ez történt, a számítógépnek követnie kell tudni őket! Sok baj forrása lehetne, ha az irányító azt mondja BA323-nak, hogy forduljon balra, míg a radarjel, amit éppen figyel, KL96. Az ilyenfajta előrelátó (prediktív) számítástechnikához viszont igen nagy teljesítményű számítógépekre és jól megírt programokra van szükség.

Mr. Igazi felkutatása

A számítógépek legjobb képességeiket a nagy tömegű adatból álló, pontosan meghatározott feladatok elvégzésekor csillogtatják. A legjobb példa erre egy szám kikeresése a telefonkönyvből. Nyilvánvaló, hogy a számítógép számára minden adatot a számítógép elektronikus tárában kell tárolni és nem papíron, ha azonban az adat benne van a tárban, már tényleg nagyon gyorsan ki lehet keresni a kívánt számot. Arra is kérhetjük a számítógépet, hogy olyan számot keressen ki, amelyhez nem tudjuk egészen pontosan, betűről betűre a tulajdonos nevét. Hogyan is van? - Brzinski úr vagy inkább Breznski? Elég, ha a nevet csak annyira pontosan gépeljük be, amennyire éppen tudjuk, és még egy meglehetősen kis teljesítményű, korszerű számítógép is - amelyhez azonban megfelelően jó programot készítettek - néhány másodperc alatt meg fogja találni a számot, vagy kiírja a szóba jöhető változatok listáját. Ha ezek után ismeri a keresett személy irányítószámát vagy lakcímének egy részét, akkor a számítógép segítségével biztosan megtudja a keresett személy nevét, telefonszámával és lakcímével együtt.
Elképzelhető-e terjengősebb és költségesebb, nem jól kihasznált információforrás, mint egy nagyváros telefonkönyve? Londoné pl. 4000 oldalból áll, amelyeknek csak egy igen kis részét használja egy-egy előfizető, ráadásul tele olyan számokkal, amelyek már rég megváltoztak. Ezért nem meglepő a francia postának az a terve, hogy olyan kis elektronikus készülékkel látják el a telefontulajdonosokat, amellyel könnyen kikereshetik a telefonszámokat. Ez a berendezés egy kis képernyőből és egy billentyűzetből áll, amely a telefonkészülékkel összeépül és egy központi postai számítógéppel kommunikál. A francia posta szakemberei azt állítják, hogy a költségeket majdnem teljes egészében fedezik a ki nem nyomtatott telefonkönyvek révén elért költségmegtakarítások. Az elektronikus tudakozóval még más - általában rendkívül unalmas - keresést is el lehet végeztetni. Elég, ha az előfizető csak a kívánt címet ismeri, és elég könnyen megtudja a ház tulajdonosának nevét és telefonszámát. Ugyanígy ki lehet kerestetni pl. az egy városban élő összes Herceget, és ehhez fél percnél nincs többre szükség. Ezt a két utóbbi keresést rendszerint nem teszik meg a hagyományos telefonközpontban, etikai vagy egyszerűen gyakorlati okokból, mivel túl hosszú időt venne igénybe. Pedig valójában az információ ott van - nyilvánosan - mindenkinél: a telefonkönyvben. Ha ebben akarnánk ezeknek utánanézni, eltartana egy hétig is; míg a számítógép számára ez egyáltalán nem nagy feladat.

Vonalak a kozervsör dobozán

Észrevették már, hogy a konzervdobozok oldalán fekete vonalakból álló, egészen tetszetős kis mintázatok láthatók? Nos, nem valami titkos hadseregről vagy jelrendszerről, hanem egyszerűen arról van szó, hogy az árukat ezekkel a vonalkódokkal azonosítják. A vonalkódokat ui. a számítógépbe viszonylag könnyen be lehet olvastatni. De hogyan? Egyszerű optikai pálcát - az ún. leolvasóceruzát, amely leginkább vastag tollhoz hasonlít - csatlakoztatnak vezetékkel a számítógéphez. A leolvasóceruza belsejében fényforrás és lencse is van. A lencse fókuszálja a vonalak képét egy elektronikus érzékelőre. Amikor a pénztárosnő végigvezeti a leolvasóceruzáját a vonalak mentén, az érzékelőelem felfogja a vastagabb és a vékonyabb vonalak váltakozását. A vonalak eltérő vastagsága számkódot képez (gyakran rá is nyomtatják a mintázat egyik oldalára). Ez a szám az adott árutétel azonosítója a gép számára.
Miért van erre szükség? Nos, pl. ha az üzlet tulajdonosa változtatja az árait, akkor nem kell embereket alkalmaznia, akik körbefutkosnak és drága pénzért, sok munkával új címkéket ragasztanak a régi konzervdobozokra, hanem egyszerűen csak közli a számítógéppel, hogy a "5990000000115" vonalkód mostantól fogva 19 penny-t jelent 17 penny helyett. Amikor a pénztárosnő végighúzza az olvasópálcát az áru fölött és beolvassa ezt a kódot a gépbe, 19 penny fog megjelenni a pénztárgépen, és a vásárló teljes, nyomtatott leírást fog kapni a számláján arról, hogy mit vásárolt.
Ugyanez történik akkor is, ha a pénztárosnőt arra kérjük, üsse be a "5990000000115" számot a számítógépbe. Azonban gyakorlatban a tapasztalatok azt mutatják, ez már nem olyan biztos módszer, hiszen megvan a valószínűsége annak, hogy esetleg a "5990000001015" számot fogja beütni, ami viszont éppen talán egy pár 1 fontot érő nylonharisnya ára.
A vonalkódok azt is lehetővé teszik, hogy az üzletvezetőnek minden pillanatban pontos nyilvántartása legyen arról, mi van éppen a polcokon. Rögtön láthatja, milyen áruk kelendők, és milyenek nem. Csak azt kell raktáron tartania, amire éppen szüksége van; a magas kamatlábak korában ui. már abból is "pénzt csinálhat" egy üzlet, hogy nem az árait emeli, hanem a raktárkészletét csökkenti.

 

A röntgenfelvétel elemzése

Eléggé lehangoló a beteg számára, ha hallja, hogy néhány orvos az ő mellkasröntgen-felvételén vitatkozik.
Az egyik orvos a világosság felé tartja a foltos, homályos képet. "Nos, ami azt illeti, semmi esetre sem kell aggódnunk a tüdő miatt. Világos, mint az ablak!"
"No nem, kedves kollégám - mondja a második -, én itt mindenféle, eléggé kétes foltot látok. Nézze csak!" - és ujjával böködi a filmet.
"Én azért nem mennék ennyire messzire - mondja a harmadik -, azonban van itt egy aggasztó árnyék!"
"Az nem egy borda?" - kérdi az első. "Egyébként ki megy ma este Miciékhez? Nagy buli lesz."
És így folyik tovább a beszélgetés.

A röntgenfelvétel elemzése valóságos művészet. Kevés szakértőnek egyezik meg a véleménye abban, hogy mit is jelentenek pontosan az árnyékok. Az orvosi számítástechnikában ezért kerültek előtérbe azok a kísérletek, amelyek a számítógépek segítségével próbálnak magyarázatot találni ott, ahol ma még egyéni véleményre kell hagyatkozni. Hogyan segít ebben a számítógép?
Először is, be kell juttatni a számítógépbe a röntgenfelvételt. Ez nem túl nehéz feladat, tévékamerával vagy más elektronikus letapogatóeszközzel könnyen megoldható. A képet kis négyzetekre osztják, ezek olyan kicsik, hogy egyetlen, az orvosok által értelmezhető jellemző sem jelenik meg teljes egészében bennük. A négyzetekben a kép intenzitását számokká kódolják; a számítógépben ezeket az értékeket tárolják a négyzet pozíciójára vonatkozó információkkal együtt. Ez a meglehetősen egyszerű eljárás a kép "digitalizálása". A képelemeket alkotó négyzeteket "képsejteknek" vagy röviden "pixelnek" nevezik.
Az érdemi munka akkor kezdődik, amikor a kép már a számítógép tárában van. A számítógép végigszalad a képen, és megpróbálja a világos és sötét mezőket úgy összerakni, hogy abból a beteg testének körvonalai kialakuljanak. Ehhez anatómiai "ismeretekre" van szükség. Így pl., ha a röntgenkép valakinek a mellkasáról készült, keresni fogja a gerincoszlopot (függőleges világos vonal alakjában), a bordákat, a kulcscsontot, a- lapockákat. Azután a halványabb alakzatok, a tüdők és a szív felé fordul a figyelme. Csak ha már mindezeket azonosította a számítógép, akkor dönthet a rendellenes "árnyékok" létéről vagy nemlétéről. Elég nehéz feladatnak bizonyulna, ha a számítógépet erre akarnánk beprogramozni, mivel nincs két orvos, aki egyetértene egymással, mit is jelent egy "árnyék". A programkészítők azonban más oldalról közelíthetik meg a feladatot. Bevihetik a számítógépbe több olyan ember röntgenfelvételét, akiknek bizonyosan tuberkulózisuk volt, majd ezután a számítógépre bízzák, hogy - próbálkozások és tévedések sorozata után - saját maga dolgozza ki, mi az, ami a betegek képein megtalálható és nincs rajta az egészségesekén.
A probléma nyilvánvalóan ezekkel a "szakértői rendszerekkel" (sok másfajta is kidolgozás alatt van) az, hogy természetüknél fogva nem minden esetben fognak ugyanolyan válaszokat adni, mint az ehhez értő szakemberek. És ki tudja eldönteni, kinek van igaza: az embernek vagy a számítógépnek?

 

Csodák mosáskor

Ha egy régimódi mosógépet figyelünk működés közben, hallhatjuk, amint magában dünnyög és kattog, miközben körbecsapkodja a ruhát. A dünnyögő és kattogó alkatrész tulajdonképpen egy óra, amely bonyolult elrendezésű bütyköket forgat. Ezek a bütykök kapcsolják be és ki a különböző mosási és öblítési ciklusokat. Ha pedig elromlik a mosógép, majdnem biztos, hogy ez a szerkezete hibásodott meg. Abban reménykedünk, hogy a modern gépek ritkábban fognak tönkremenni, mivel mikroprocesszoros vezérlésűek.
Mit csinál a mikroprocesszoros vezérlő? Valójában semmivel sem többet, mint ez a mechanikus óra. Ebben is egy elektronikus óra és egy elektronikus számláló van, ez számlálja az "elektronikus ketyegéseket" - és ezzel méri az idő múlását. Tegyük fel, hogy egy adag színes ruhát akarunk kimosni. A gép tervezője úgy határozott, hogy ehhez a mosáshoz 5 percnyi előmosás szükséges, a fő mosás ideje 7 perc, miután a víz hőmérséklete elérte már a 80 °C-ot. Ezt két, egyenként 5 perces forró és két, ugyanilyen időtartamú hideg vizes öblítés, valamint egy 8 perces végső centrifugálás követ. Amikor a felhasználó a "színes mosás" gombot benyomja vagy elforgatja a megfelelő tárcsát, akkor ezt a sorozatot megszervező programot választja ki a mikroprocesszor tárából. Az első parancs bekapcsolja az előmosáshoz a vizet, és vár addig, amíg a vízszintérzékelő jelzést nem ad arról, hogy az üst megtelt. Ekkor elzárja a víz beömlését és megkezdődik a mosás. Egy számláló számolja az óraketyegéseket 5 perc elteltéig. Ekkor a program a centrifugáló rutinra ugrik. Amikor ez befejeződött, ismét beömlik a víz az üstbe, ha tele van, bekapcsol a fűtés, és bekapcsolva marad egészen addig, amíg a hőmérséklet el nem éri a 80 °C-ot. Ekkor újból mosási ciklus kezdődik, amely addig folytatódik, amíg a számláló 7 percnek megfelelő ketyegést le nem számlált, majd indul a következő fázis.
A sokoldalú elektronikus áramkör egy egész, bütykökkel és kapcsolókkal teli egységet helyettesít a mosógép belsejében. Az elektronikus mosógép tehát sokkal bonyolultabb dolgokat tud elvégezni, méghozzá olcsóbban és megbízhatóbban, mint elektromechanikus vezérlésű elődje.

A feldolgozott szöveg

Napjainkban igen sok helyen az emberek jelentős hányada ún. "információkezelő" (azaz információs) munkakörökben dolgozik, és közülük meglehetősen sokan gépelnek unalmas, ismétlődő szövegeket, esetleg az átírt szövegeket újragépelik. Miért ne segíthetne itt is a számítógép? Éppen ez az, amire a szövegfeldolgozó berendezés - a számítógép speciális megjelenési formája - alkalmas. Nem kell a szöveget előre papírra gépelni, és azután a hibákat radírozni vagy fehérre átfesteni, nem kell az oldalakat felvagdosni és azután a bekezdéseket a helyes sorrendbe átrakni, és esetleg féltucatszor újragépelni, ui. a szövegszerkesztő gépek mindezt egyszerűen megoldják. A bebillentyűzött szöveget először képernyőre írjuk ki - a hibákat is a képernyőn lehet kijavítani -, és csak akkor nyomtattatjuk ki, amikor már teljesen elégedettek vagyunk a szöveggel, és annyi példányban, ahányban akarjuk, és az eredetit tetszés szerinti időre elektronikusan tárolhatjuk. Pl. szabványos okmányokat tudunk készíteni - mondjuk jogilag előre megfogalmazott szerződést -, amelyben üres helyeket hagyunk a nevek számára. Ha szükséges, a neveket be lehet gépelni, és így minden alkalommal teljesen friss, személyre szóló szerződést nyomtatunk ki a számítógép segítségével. A szövegszerkesztéssel, ha helyesen használjuk, rendkívül sok munkaórát tudunk megtakarítani.
A tárolás lehetősége megkímél attól, hogy a szöveget újra és újra le kelljen gépelni, emellett a szövegszerkesztő berendezéseknek még egyéb előnyeik is vannak. Kipróbálhatunk másik sorszélességet. Üres helyeket alakíthatunk ki a szövegben fényképek és más ábrák részére. Számoszlopokat, táblázatokat tudunk automatikusan készíttetni, sőt egyes rendszerekben még a szükségessé vált számításokat is elvégeztethetjük. Egyesíthetünk két okmányt, ily módon egy harmadikat hozhatunk létre, vagy pedig az adattárból (adatállományból) lehívhatjuk a vásárlók nevét és címét és olyan formaleveleket nyomtattathatunk, amelyek mindegyike egyénileg van megcímezve.
Ha egy irodában többen használják a szövegszerkesztőket - vagy ennek olcsóbb megoldásait: a szövegszerkesztő programokat futtató mikroszámítógépeket -, akkor ezeket össze is lehet kapcsolni egymással. Így pl. valamelyik lap szerkesztőségében az egyik riporter megír egy cikket a szövegszerkesztő berendezésén és a központi adattárba helyezi. A szerkesztő ezt behívja a saját gépébe, amikor szüksége van rá, és esetleg néhány szót megváltoztat benne (már csak azért is, hogy megmutassa: ő a főnök). A segédszerkesztő azután szintén megnézi a cikket a saját szövegszerkesztőjén, és kijavítja a helyesírási és az írásjelekkel kapcsolatos hibákat. (Lehetséges, hogy a segédszerkesztő ehhez egy különleges számítógépes programot is használ, amely végigszalad a szövegen, és előre bejelöli számára a hibásnak vélt helyeket.) Amikor a cikket mindenki megelégedésére rendbe tették, telefonvonalon keresztül közvetlenül beolvassák a nyomda fényszedőgépébe. Így nincs többé szükség sem a szedésre, sem az esetleges ismétlődő újragépelésekre.
A legtöbb irodában alkalmazható szövegszerkesztő berendezés, és ha össze is kapcsolják őket, akkor létrejön a "papír nélküli iroda", amelyben az emberek elektronikusan kommunikálnak egymással. Arra azonban, hogy ez jobb vagy rosszabb, mint napjaink irodája, később visszatérünk.


A WORDSTAR szövegszerkesztő program
A képernyőn könynen szerkeszthető a szöveg, és egyszerűen ellenőrizhető

 

Mindezt akár haza is vihetjük

Amint láthattuk, a számítógép igen sok izgalmas és változatos feladat ellátására alkalmas. Talán meglepő, hogy e feladatok egyike sem új, az elmúlt 10 év során szinte minden "számítógép-szakértő" foglalkozott ezekkel valamilyen formában. Ezekhez képest az újdonság az, hogy ilyenfajta feladatokat jelenleg - legalábbis elvben - olyan berendezésekkel lehet megoldani, amelyek elég kicsik ahhoz, hogy elférjenek az íróasztalon vagy akár a zsebben is, és elég olcsók is. Valamikor a számítástechnika roppant drága, szinte elérhetetlen eszköznek számított, ma viszont a széles tömegeket látja el információkkal, éppen úgy, mint ahogy az autó közelebb hozta az emberekhez az utazást, a telefon és a távíró a távközlést, az írógép a nyomtatást. A mikroszámítógép - ellentétben a nagyszámítógépekkel - olcsó ára folytán bárkinek személyes tulajdona lehet, akkor és úgy használhatja, ahogy és amikor akarja: otthon vagy az irodában, vagy mindkét helyen. Haza vihető és ezzel elérhető lesz, hogy az emberek otthon vagy otthonuk közelében, családjuk és barátaik körében dolgozzanak, és ezek a helyek a műholdas távközlés segítségével lehetnek bárhol a világon.

Most pedig nézzük, hogy milyen sokoldalú is ez a számítógép és hogyan fejlődött ki! Ehhez azonban pillantsunk vissza a történelmi időkbe, hogy megláthassuk, mi is valójában a számítástechnika!

 

Visszapillantás a számítástechnika történetére


Wilhelm Schickard (1592 - 1635)
Német matematikus, hebraista, az első mechanikus számológép megalkotója.


Blaise Pascal (1623-1662)
Francia matematikus, fizikus, vallásfilozófus. A nyomás mértékegysége az ő munkásságának tiszteletére lett pascal.


Charles Babbage (1791-1871)
Angol matematikus és korai számítógép-tudós, az első személy, aki előállt a programozható számítógép ötletével. Olyan gépet akart szerkeszteni, amelyet mechanikusan lehet programozni bonyolult számítások elvégzéséhez.


Herman Hollerith (1860 - 1929) amerikai feltaláló
Az 1890-es népszámlálás idejére, Hollerith már feltalálta azt a gépet, amely a statisztikai adatokat lyukkártyák elektromos leolvasásával és rendszerezésével dolgozta fel.
A találmány szép sikert aratott az USA-ban is, de még nagyobbat Európában, ahol sokféle statisztikai célra használták fel. 1896-ban Hollerith megalapította a New York-i Tabulating Machine Company-t a gép gyártására.
Fúziók egész sora nyomán e vállalatból nőtt ki a hírneves IBM 1924-ben.


Konrad Zuse (1910 - 1995), német mérnök
Ő készítette el az első, jelfogókkal (jelfogó = relé = relay) működő számológépet. 3 gépet készített, az első a Z1 volt, ez még csak mechanikus gép volt. A Z2-be már relés elektromechanikus áramköröket is beépített, és a Z3 volt az első programvezérlésű, kettes számrendszerben dolgozó, elektromechanikus számológép.


Neumann János (1903 - 1957) magyar származású matematikus.
Az elektronikus számítógépek logikai tervezésében kiemelkedő érdemeket szerzett, 1945-ben kapcsolódott be az ENIAC építésébe. Munkásságának eredményeképpen elsőként foglalta össze a modern számítógép technikai és elvi követelményeit, valamint a tárolt program elvét a soros működésű, memória-szervezésű architektúra mellett. Mind a mai napig valamennyi számítógép Neumann-elvű!


A termoelektromos rádiócső
Napjainkban már csaknem teljesen kihalt


Tranzisztorok az ötvenes évekből
(germánium alapúak voltak)

 

"... A szavak a Föld leányai,
a dolgok a Mennyi fiai"

(Dr. Johnson)

A számolás tudományában a számok a Föld leányai. A számok azok a szerszámok, amelyekkel a találékony megragadja a dolgokat.
A számolástechnika történetének az első és messzemenően a legjelentősebb lépése a számok fogalmának megalkotása volt. Azóta van az embernek olyan szellemi eszköze, amellyel érzékeltetni tudja a mennyiség roppant absztrakt - egy birkanyájra, egy fürt szőlőre, vagy emberek egy csoportjára egyaránt jellemző - fogalmát. Enélkül nem lenne matematika és nem lenne számítástechnika.
Az emberek a történelem során már igen korán eszközöket kerestek, amelyek segítették őket a számok kezelésében. Amikor meg akarták tudni, hogy hány alma maradt meg egy tucatból, ha már ötöt megettek, a legegyszerűbb megoldás az volt, hogy gondolkodás nélkül a saját ujjaikon számlálták azt le, ha pedig egy továbbit is megettek, akkor ujjukon az egészet újra át kellett számlálniuk. Aztán valamilyen "isteni szikra" hatására feltalálták a "kivonás" eszközét, azaz olyan szabályok összességét, amelyeket bármilyen két számra alkalmazni lehet. A kivonás fogalma - lényegét tekintve - éppúgy szerszám, mint a fejsze vagy az eke: alkalmazásával megnövekszik használójának szellemi ereje.
Egy másik okos ember feltalálta a szimbólumokat, amelyekkel papíron megjeleníthetők és láthatóvá válnak a számok, és az ahogyan dolgozunk velük, miközben végrehajtjuk az aritmetikai műveletsorokat - ismét egy számolástechnikai eszköznek tekinthető. Nagyon is igaz, amit a matematikusok mondanak, hogy "a matematika nem más, mint egy jelölésrendszer". Ha már megtaláltuk a Menny egyik fiának a nevét és annak a módját, hogy hogyan írjuk le papírra, akkor már kezünkben is tartjuk őt, akkor már szerszámmá változtattuk.

Az abakusz feltalálója a papírt dinamikusabb eszközzel váltotta fel, míg a papíron a számolás minden egyes fázisának a rögzítésére mindig egy-egy újabb sort kellett leírni, addig az abakusznál elegendő, ha a golyókat tologatjuk odébb a huzalon. Ezek automatikusan "elvégzik" az összegzés unalmas részét, nekünk hagyva az érdekes részek végrehajtását.
Az abakusz ókori (valószínűleg mezopotámiai) eredetű egyszerű számolási segédeszköz. Rudakon, drótokon vagy hornyokban ide-oda mozgatható golyókat tartalmaz. Az egy-egy rúdon lévő golyók helyzete egy-egy számjegyet, a rudak egy-egy helyiértéket jelentenek. Így egy hatsoros (hat rudat tartalmazó) abakuszon a legnagyobb ábrázolható szám a 999 999. Az összeadás és a kivonás igen egyszerűen és gyorsan elvégezhető abakusszal, a szorzás és az osztás sokkal körülményesebb. Az abakusznak igen nagy előnye, hogy az analfabéták is tudtak vele számolni.

A németországi Herrenbergben született Wilhelm Schickard thübingeni csillagász professzor 1623-ban egy olyan számológépet tervezett, amelyben egymáshoz illeszkedő tíz- és egyfogú fogaskerekek vannak. Ezen, a mai fordulatszámlálókhoz hasonló elvű gépen elvégezhető volt mind a négy alapművelet. A gépezet magját az aritmetikai egység alkotta, amely az összeadást és a kivonást végezte. Hat pár kerékből állt, amelyek hat decimális pozíciónak feleltek meg. A számításokat mechanikus módon, rudak, fogaskerekek és egy automatikus átvitelképző mechanizmus kombinációjának használatával végezte el.
1642-44 között királyi adószedő apja számítási munkájának megkönnyítésére Blaise Pascal készített egy számológépet. A készüléket - a kor technikai szintjének megfelelően - órásmesterek által elkészített alkatrészekből építette meg.
A berendezés gyakorlatilag egy speciális fordulatszámláló, amely egy kerék egyszeri körbefordításával a következő kereket egy állással tovább lépteti. Ez a technikai megoldás - az automatikus átvitelképzés - a gép alapötlete. A kereken jól látható, hogy az akkoriban használt váltópénzeknek megfelelő számú osztásokat tartalmaznak, azaz nem tisztán tízes számrendszerben működik a berendezés. A gép csak az összeadást és a kivonást tudta elvégezni, a nem lineáris műveleteket: a szorzást és az osztást nem, így ténylegesen visszalépés volt Schickard készülékéhez képest.


A logarléc egy egyszerű kivitelű, mechanikus működésű analóg számítógép, amely lehetővé teszi különböző matematikai műveletek gyors, 3-4 számjegy pontosságú elvégzését. Szabványos logarlécek esetében az elvégezhető műveletek általában a következők: szorzás, osztás, négyzetre-, köbre emelés, négyzet-, illetve köbgyök vonása, logaritmus számítás, trigonometriai függvények kiszámítása.

A GEM Calculator (1890)
19 font 19 schilling és 11 3/4 penny értékig tudott összeadásokat végezni. (Ebben az időben még 12 penny volt egy schilling és 20 schilling volt egy fon, tehát 1 penny híján a gép bármely pénzösszeget kiszámolt 20 fontsterling értékig.
A hetvenes évek végének zsebszámológépe.
A Texas Instruments terméke 1978 nyarán jelent meg.

A 17. században, majd az iparosodás korszakában számtalan új eszköz született a matematika automatizálására. Közülük talán a legfigyelemreméltóbb az, amit Charles Babbage, a feltalálózseni hozott létre, akit a mai korszerű számítógépek atyjaként szoktunk emlegetni. Még nem is olyan régen a tanulók számára a számítási segédeszközt logaritmustáblázat vagy logarléc jelentette, ma pedig - alig tíz évvel a tömegesen gyártott elektronikus zsebszámológép megjelenése után - ezek már ugyancsak nehézkes, pontatlan és elavult eszközöknek tűnnek a szorzás, osztás, hatványozás, gyökvonás vagy a trigonometriai műveletek automatizálására.


Charles Babbage differenciálgépe
A gép készítését elkezdte, de soha nem fejezte be. Két dolog miatt: az egyik, hogy a belső súrlódás és áttétel nem állt megfelelő szinten abban az időben. A másik az volt, hogy az eredeti terveket megváltoztatta a gép készítése közben. A differencia mozdonyt egyszerűsített formában a svéd Georg Scheutz építette meg.

A II. Világháborúban igen sok embert kellett rövid idő alatt kiképezni arra, hogy gyorsan tanuljon meg repülőgépet navigálni az óceán átszeléséhez, vagy ki tudja számítani a ballisztikus lövedékpályákat. Hatalmas mennyiségű és új bonyolult táblázatot készítettek az ezekhez szükséges számítások automatizálására. A számításokat az első elektronikus számítógépek végezték: a Colossus az angliai Bletchley Parkban, az Eniac Amerikában és egy Ferranti gép Manchesterben. Ezek láthatatlan "ujjaikon" számításokat végző elektronikus eszközökből épültek fel (innen a nevük: "digitális", mivel latinul a digitus szó ujjat jelent). A számítógépek azonban más célt is szolgáltak: nemcsak számításokat végeztek, hanem velük dekódolták a német és japán katonai rejtjeleket, amelyeket egy Enigma nevű gép kódolt. Ez a gép minden betűt az ábécé egy másik betűjével helyettesített, és ezt a másik betűt rendkívül bonyolult módon választotta meg. Lehet, hogy az első alkalommal az a betűt q betűvé kódolták, legközelebb pedig b-vé, majd az újabb alkalommal z-vé, és azután esetleg éppen a-vá. A kódmintázatokat nagyon hosszú és előre nem jósolható időközönként ismételték, ezért minden jelcsoportot az összes többi jellel össze kellett hasonlítani, amelyek ugyanazokban a jelsorozatokban felléptek, annak reményében, hogy esetleg találnak egy olyan közös kifejezést, amit éppen a megfelelő ponton, azonos módon kódolva megismételtek. Ha a rejtjelmegfejtőknek sikerült ilyen összefüggést találniuk, akkor úgy dolgoztak tovább, hogy az egymástól eltérő szövegek rejtjeleit előre és hátra is összehasonlították. Mivel ismerték a német nyelvben az egyes betűk viszonylagos előfordulási gyakoriságát, így gyakran sikerült elég információt kicsikarni, hogy a saját Enigma gépüket (vagyis annak reprezentációját a számítógépben) ugyanarra a rejtjelre állítsák, mint amilyet éppen akkor a németek használtak.


A Colossus I. részlete
1973-ban kezdett működni. A berendezést rejtjele megfejtésére használták Bletchley Parkban. Figyeljük meg az elektroncsöveket tartalmazó hatalmas szekrény!


Az ENIAC számítógép
Szintén a II. Világháború szülötte, a Pennsylvaniai Egyetemen készült. A kép alapján fogalmat alkothatunk az első elektronikus számítógépek méreteiről

Az első gépek teremnagyságúak voltak, tele elektroncsövekkel, és számítási teljesítményük egy mai modern zsebszámológépével sem ért fel. A sok cső közül átlagosan néhány percenként egy-egy kiégett, és ez komolyan korlátozta a programok futásának idejét. Ezeket a gépeket a legnehézkesebb módon, ma a legalacsonyabbnak tekinthető szinten programozták, ezért nagyon bonyolult volt a használatuk. Nem meglepő tehát, hogy a háború utáni Angliában egy állami bizottság úgy döntött, hogy ebben az országban elég ezekből a gépekből három vagy négy.
Ha az elektroncső maradt volna a szokásos elektronikus alkatrész, a számítógép ma csak valamilyen titokzatos érdekesség lenne. Szerencsére a negyvenes évek végén felfedezték a tranzisztort, amelynek már akkor óriási előnyei voltak a számítógép-építésben az elektroncsővel szemben: sokkal kisebb helyet foglalt el, kis feszültségen működött és kevesebb energiát igényelt. Azóta állandóan fejlesztették és fejlesztik a tranzisztorok gyártásának módját.
Ezek a továbbfejlesztések vezettek el az első integrált áramkör létrehozásához, amelyben számos tranzisztort és más elektronikai eszközt az őket összekötő vezetékekkel együtt egyetlen darabban gyártottak le. Ennek a technológiának a továbbfejlesztése vezetett el az ún. szilícium chiphez. Manapság ezekből az elektronikus alkatelemekből hatalmas mennyiséget (néhány tízezer, sőt százezer áramkört) zsúfolnak egyetlen - mintegy 1,5 négyzetcentiméter méretű - csöppnyi szilícium lapkára: chipre.


Programozható számoló-, illetve számítógép 1983-ból

A háború óta eltelt időben a számítástechnikát két tényező segítette diadalútján. Először: ahogy a tranzisztor egyre kisebb lett és egyre többet lehetett belőle elhelyezni egyetlen lapkán, a számítógép-tervezők egyre többet és többet használtak belőlük, hogy mind nagyobb teljesítőképességű gépeket építsenek belőle. Másodszor: az előbb ismertetett irányzat hatására igyekeztek a gyártók az azonos teljesítőképességű számítógépet mindig az elődjénél kisebb méretben és olcsóbban előállítani. Ennek eredménye az utolsó évtizedben: a számítógépek adott teljesítőképességének a reálára évente a felére csökkent. Ma már annyira olcsó, hogy a számítástechnikát forradalmi technológiának tekinthetjük. A számítógép-termékskála széles, mégis ezek a számítógépek három csoportba besorolhatók: a nagyszámítógépek, a kisszámítógépek és a mikroszámítógépek csoportjába.



A nagy, a közepes és a kicsi...

A nagyszámítógép legalább néhányszor tízmillió forintba kerül. Külön erre a célra épített vagy erre a célra átalakított és légkondicionált helyiségben kell tartani, és nagy létszámú személyzet - gépkezelők, programozók, rendszerelemzők - látja el (Mint a szerzők is említik, a számítógépek ára - amelyeket a fordító itt forintban adott meg - rohamosan csökken. Ezért figyelembe kell venni, hogy az itt közölt árak az 1980-as évek elejére vonatkoznak). Eredetileg minden elektronikus számítógép ilyen volt, ma csak a számítógépek viszonylag kis része tartozik közéjük. A korszerű nagyszámítógép roppant hatásos gép, amellyel néhány nagyvállalatnál szükséges és igen nagy mennyiségű adatot feldolgozó munkát vagy nagyon összetett számításokat (ilyenek kellenek pl. a nemzeti jövedelem kiszámításához), vagy pedig az e fejezet elején már részletesen említett időjárás-előrejelzéseket lehet végeztetni.

A hatvanas években a nagyszámítógépek feldolgozási sebessége gyorsabb lett, mint egy-egy be- vagy kimeneti berendezés működési sebessége. Ennek feloldására vezették be az osztott időben való működést. Az időosztásos üzemmódú gépnek számos, egyes esetekben száznál is több terminálja (adatvégállomása) van. Az egyes terminálok mellett ülő felhasználók ciklikusan, időről-időre néhány ezredmásodpercig használhatják a központi számítógépet. A gép azonban annyira gyors és úgy tud válaszolni az egyes felhasználóknak, mintha mindegyik egyedül használná az egész számítógépet.
Az időosztásos üzemmód előnyeit nagymértékben rontja, hogy a felhasználónak rendszerint elég zajos telefonvonalon keresztül kell a központi számítógéppel kommunikálnia, ami igen lassúvá teszi a gép igénybevételét. Mégpedig annyira, hogy egy kis személyi számítógép felhasználója gyakorta könnyebben és gyorsabban jut el az általa kívánt eredményhez, mint a nagyszámítógéphez kapcsolt terminál felhasználója. Ráadásul, mivel a nagyszámítógépet hivatásos számítógép-szakemberek számára tervezték, a vele való munka eléggé bonyolult.

A kisszámítógép olyan kisebb számítógép, amelynek ára néhány százezer és néhány millió forint között van. Ezek is működhetnek időosztásos üzemmódban, de maga a számítógép kevésbé igényes, rendszerint nincs szüksége külön erre a célra épített helyiségre, és egy-két kiszolgáló szakember elegendő hozzá. Természetesen a teljesítőképessége és a kapacitása is kisebb, mint a nagyobb gépeké, teljesítménye azonban így is elegendő meglehetősen sokféle kereskedelmi és tudományos alkalmazáshoz.
A mikroszámítógép még kisebb és még olcsóbb - annyira olcsó, hogy ma már igen sok felhasználó megengedheti magának, hogy saját gépe legyen. Mivel e könyv további fejezeteinek nagy része a mikroszámítógépekről szól, itt nem beszélünk többet fizikai jellemzőiről, azonban úgy véljük, hogy érdemes néhány szót ejteni kulturális hatásáról.

Hogyan változtatja meg a mikroszámítógép a világot?

A személyi mikroszámítógép, amely lenyűgöző számítástechnikai teljesítményt "testesít meg" a felhasználó íróasztalán, kizárólag a felhasználó személyes ellenőrzése alatt áll, és igen nagy hatást gyakorol a számítástechnikai kultúrára.
A számítástechnika helyzete napjainkban nagyon hasonlít a könyvnyomtatás és -kiadás helyzetére azokban az időkben, amikor Gutenberg és Caxton először állították fel és üzemeltették nyomdájukat. Ő előttük valóban rendkívül nagy teljesítmény volt a könyvkészítés. A könyveket nagyon lassan, kézi munkával állították elő a kolostorokban, és mivel igen drágák voltak, csak hercegek és királyok engedhették meg maguknak, hogy könyvet készíttessenek. Mivel a hercegek és a királyok idejük nagy részét háborúskodással töltötték, legtöbbjüknek nem volt ideje és igénye arra, hogy megtanuljon olvasni. Így aztán, amikor megszerezték a Horáriumukat (órákra beosztott imádságoskönyv) vagy Szent Jeromos életét, nem jelentett számukra olyan élvezetet, mint számunkra jelent ma egy-egy könyv, le sem tudtak például heveredni velük a kandalló elé elalvás előtti jó kis olvasásra.
Természetesen nem is erre kellett nekik a könyv. Elsősorban azért szerezték meg, mert így azonos tudásúnak tekintették önmagukat az olvasni tudó emberekkel. Másodszor azért, mert mágikus erőt tulajdonítottak a könyvnek, kincseknek tekintették, amelyek az egyszerű írástudatlan emberek életét irányító törvényeket és előírásokat tartalmazták.
A figyelmes olvasó észreveheti, hogy szándékosan kerestük meg azokat a hasonlóságokat, amelyek a könyvek ilyenfajta leírása és napjaink nagy számítógépes programjai és alkalmazásaik között megtalálhatók. A könyveket tehát régen olyan emberek vásárolták, akik maguk nem tudtak olvasni, és ezeket a könyveket igen távoli kolostorokban állították elő, rendkívül drága áron. A számítógépes programokat szintén olyan vezetők vásárolják, akik nem értik meg azokat, a programokat is távoli irodákban (az IBM, az ICL vagy más hasonló vállalatoknál - hazánkban pl. a VIDEOTON - írják.
Ezt az analógiát folytathatnánk a nyomtatással, amely egyforma és olcsó szövegeket juttat el mindazok kezéhez, akik tudnak olvasni. Képzeljük el Caxtont - aki egy népszerű könyvet, a bibliát, meg néhány királyi kiáltványt és egy-két árapálytáblázatot már kinyomtatott -, amint a boltja ajtajában áll, malmozik az ujjaival, aggodalmaskodik a készpénzbevételén. Ekkor egyszer csak Mallory, az író sétál arra egyik lovagregényével a hóna alatt - jó kis csihi-puhi história, bádogba öltöztetett népséggel -, és Caxton egyből fejest ugrik egy teljesen új üzletágba: a könyvkiadásba.
Nagyon hasonlít ez is a számítástechnika-üzlethez. A mikroszámítógép egészen olyan, mint a nyomtatás, amely a számítógépes teljesítményt - hasonlatunkban az irodalmat - minden olvasni tudó ember kezéhez eljuttatja. A legnyilvánvalóbban a biblia volt az a könyv, amely alkalmas volt a nyomtatáshoz, mivel már korábban is nagy számban készült kézírásban. Piaca előre látható volt. Jó megfelelője a könyvelési, raktárkészlet-ellenőrzési és szövegfeldolgozási programcsomagoknak, amelyek elárasztják a mikroszámítógép-világot. Csakhogy eközben a mikroszámítógép-piac - átvitt értelemben - malmozik az ujjaival és olyasmit keres, ami ma még alig létezik: a regényével a hóna alatt sétáló Mallory megfelelőjét, hogy általa egy teljesen új iparágat indíthasson el. Valójában ez is keletkezőben van, és semmi kétség, hogy 50 év múlva a történészek rámutathatnak a mi adatfeldolgozási Shakespeare-ünkre, akinek jelentőségét csak az utókor ismerte fel.
Láthatjuk, hogyan is álltak a dolgok 1477-ben, amikor Caxton éppen csak elindult a könyvnyomtatás rögös útján. A kolostorokban a szerzetesek azt mondogatták, hogy a nép sohasem válik írástudóvá, a könyvek egyedi bánásmódot igényelnek, és megfontolatlan őrültség lenne, ha egy könyv - egy valóságos könyv! - kevesebbe kerülne százezer koronánál.
Nos, a nyomtatott szó és a tömeges írástudás széles körben elterjedt, és elég sok olyan változást hozott az akkori világban, amit nem lehetett előre látni - egyebek között a latin nyelv hanyatlását, a nemzeti nyelvek és a nemzeti írás előtérbe kerülését; később pedig a közvélemény átformálását, a tömegtermelés kialakulását, vagy akár a buszjegyek és még más egyéb dolgok, jelenségek megjelenését.
Vannak, akik úgy vélik, hogy a nagyszámítógépek - a velük kapcsolatos üzletemberekkel, számítógéptudósokkal, rendszerelemzőkkel és az alkalmazási programok kidolgozóinak "hordáival" együtt - épp úgy kihalásra vannak ítélve, mint azok a szerzetesek, akik a kolostorokban aranylevelekkel díszített betűket róttak rideg celláikban, s egy-egy falu áráért kötetenként adták el csatákban izmosodott "ügyfeleik" részére, akik az x jelet is alig tudták odavetni egy szerződés aljára. Érdekes lesz majd látnunk, hogy ez az utód: a számítógép milyen változásokat hoz majd modern világunkba!

 

Mit csinál és hogyan?


"kanomorfikus hardver, interaktív antropomorfikus szoftverrel"

Egyes embereknek valami fantasztikus "sci-fi" képzeteik vannak a számítógépről - azt képzelik, hogy ezeknek a gépeknek saját intelligenciájuk van, és ha nem vigyázunk, végül elhódítják tőlünk a világmindenséget. A valóságban ennek az ellenkezője igaz. A számítógép önmagában nagyon ostoba! Mindössze annyira képes, hogy végre tudja hajtani - mégpedig igen nagy pontossággal és sebességgel - a neki adott utasításokat. Nem tudja megkülönböztetni, hogy értelmes vagy bolond dolog-e, amit csinál - hacsak nincsenek további utasításai erre. Nincs az emberhez hasonló értelme; semmivel sincs több értelme, mint akár egy fűnyírógépnek.
A számítógép "intelligenciája" abban rejlik, amit csinál, azonban ezt az intelligenciát az utasítások adják neki, vagyis az az emberi lény, aki az utasításokat írta. A számítógép mindössze eszköz, amit az ember arra használ, hogy számítási tevékenységeket hajtson vele végre. Amint rövid kis történelmi áttekintésünkben láthattuk, a számítástechnikában semmi új sincsen, viszont maga az elektronikus számítógép, mint a számítás "eszköze" még sokak számára újdonság. Mire képes ez az eszköz? Ez attól függ, mit akarunk vele csinálni. Az alapokat tekintve azonban: összes funkcióját néhány egyszerű tevékenységből fel lehet építeni. A legfontosabb, hogy a következőket tudja:

  • két számot összead;
  • egy számot egy másikból kivon;

két számot vagy szimbólumot összehasonlít, hogy lássa, azonosak-e.
Mi haszna van mindennek?- kérdezhetik Önök. A valóságban igen sok. Attól, hogy a számítógép ezekből a roppant egyszerű műveletekből óriási mennyiséget tud rendkívül rövid idő alatt végrehajtani, alkalmazható ilyen széles körben. Amikor majd a számítógép részleteibe betekintünk, néhány példával érzékeltetjük sebességét.

 

Hogyan válunk "hozzáértőkké"?

Először nézzünk egy példát arra, hogy ezek az egyszerű műveletek - összeadás, kivonás, összehasonlítás - miként használhatók a valóságos élet számítógépes alkalmazásaihoz? Emlékeznek még arra, hogy hogyan kerestük ki Mr. Brzniski telefonszámát? A számítógép úgy találta meg a telefonszámát, hogy Brzniski úr nevét betűről betűre összehasonlította a telefonkönyvben lelhető összes nevekkel. Ha viszont betűkkel van dolgunk, hogy jönnek ide a számokkal végzett műveletek? - kérdezhetik Önök. A következőkben leírt egyszerű példa segíteni fog ennek megértésében.
A számítógépben minden betűt kódszámként tárolják. Tételezzük föl az egyszerűség kedvéért, hogy A helyett 1-et, B helyett 2-t stb. írtunk be a gépbe. Legyen mondjuk a telefonkönyvben az első név: AAA Minitaxi. A számítógépprogram azt mondja: vegyük a Brzniski nevet és hasonlítsuk össze első betűjének kódját (2) az első tétel első betűjének kódjával (1). Az utasítások előírják, hogy a gép vegye elő sorra az egyes neveket, és mindaddig hasonlítsa össze azok kódját, amíg az első két szám nem lesz azonos a keresettel (ekkor megtalálta a B-ket). A következő utasítás azt mondja, hogy hasonlítsa össze a második betűk kódszámait (R kódszáma 18), amíg azok megegyeznek egymással (ami lehet pl. BRAACHEN) - és így tovább, amíg az egész szó megegyezik. Csak ezután fogja kinyomtatni az eredményt. Mindez elég unalmasnak tűnik, de valójában ez az eljárás nagyon hasonlít ahhoz, ahogyan mi magunk is keresünk egy telefonszámot: kivéve azt, hogy nem bajlódunk kódszámokkal és lerövidítjük a keresési utakat úgy, hogy tudjuk: a B betű az ábécé elején, míg az R az utolsó kétharmadában van.
A szimbólum-összehasonlítási feladat az egyik leggyakoribb tevékenység, amit a számítógép végez, különösen, ha szöveget dolgoz föl. Nem szerencsés dolog, ha a számítógépeket a matematikával hozzuk kapcsolatba, mivel a való életben a számítógépek idejük nagyobb részét szórészek összehasonlításával töltik, hogy megbizonyosodjanak róla, azonosak-e egymással. Végül is, az agyunk is ezt teszi az ideje nagy részében. Ha valaki azt mondja: "Találkozzunk a Festival Hallban", össze kell hasonlítanunk a "találkozni" szót a fejünkben levő szótárral, amíg megtaláljuk a megfelelő szót és felfedezzük, hogy (egyik) jelentése: "... egy helyre kerül egy máshonnan jövő másikkal". Hasonló az eljárás a többi szóval is, különösen a "Festival Hall-lal", ami arra kényszerít, hogy akár a fejünkben, akár pedig papíron található térképen nézzünk utána, hol is van az.
Természetesen a matematikára is szükségünk van. Azonban a számítógép matematikai képességeit mindig ugyanazokból az egyszerű "trükkökből" kell felépíteni: az összeadásból, a kivonásból és az összehasonlításból. A későbbiekben látni fogjuk, hogy a számítógép hogyan házasítja össze - nagy sebességgel - ezeket a műveleteket úgy, hogy rendkívül összetett számításokat is el tudjon végezni.

 

Az elektronika és a számlálás

Most már feltehetően eltűnődik az Olvasó azon, hogy valójában hogyan is hajtja végre a számítógép ezeket a műveleteket? Miért kezeli a számokat és betűket úgy, mintha azok ugyanolyan dolgok lennének, amikor számunkra egészen mások? Ahhoz, hogy ezt megmagyarázhassuk, tudnunk kell, hogy az elektronika főként az elektromosság használatával foglalkozik. A számítógép elektronikus áramköreiben az információ villamos impulzusok sorozatának alakjában halad a vezetékeken, a tranzisztorokon és más eszközökön keresztül. Ezek a sorozatok másodpercenként százezerszer is megváltozhatnak, ahogy az áramok be- és kikapcsolódnak - és ez a számítógép gyors működésének a titka.
Valójában ezek a sorozatok alkotják a számítógép számrendszerének alapját. A sorozat elemi részeit "bitnek" nevezik. Emberi aritmetikánkban a műveletek nagyobb részét 10-es alapú számrendszerben végezzük - ennyi ui. ujjaink száma. Nullától kilencig számlálunk, és azután a tízedik számjegyet arra használjuk, hogy egy "átvitelt" tegyünk balra. A számítógép, az áramimpulzusokat használva, mindössze nullától egyig tud számolni! Ténylegesen két lehetőségből választhat: van-e villamos impulzus vagy nincsen. A számítógépnek ez 1 vagy 0 értékeket jelent. Láthatjuk, hogy a 0 ebben a rendszerben nagyon fontos értékké válik.

 

Ez bináris!

Decimális
szám
Bináris
megfelelője
0
1
3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0
1
01
11
100
101
110
111
1 000
1 001
1 010
1 011
1 100
1 101
1 110
1 111
10 000

 

Az 1-eken és 0-kon alapuló bináris - kettes - számrendszerben a következők szerint számlálnak. Úgy kezdjük el, mint a decimális - tízes - számrendszerben való számláláskor: 0, 1. Ezután "átvitelre" van szükségünk, hogy tovább számolhassunk, ezért a 2 decimális érték a bináris számrendszerben 10, a 3-as 11, a 4-es 100 lesz, stb. Próbáljuk meg kiszámítani, hogy mennyi a decimális értéke a bináris 10100 és 110011 száninak. A számítógép ugyanúgy kezeli ezeket a bináris számokat, ahogy mi szoktuk a decimálisakat, ugyanolyan módon adja össze és vonja ki őket. Az emberek számára azonban meglehetősen kemény dió bináris számrendszerben dolgozni. Ezt könnyen beláthatjuk, ha megpróbáljuk. Örülhetünk hát, hogy - néhány speciális eset kivételével - sohasem kell bináris számrendszert használnunk, ha a számítógéppel akarunk közölni valamit. A számítógép nemcsak a számoláshoz használ bináris számokat, hanem a többi karakter megjelenítésére a szabványos írógépszerű billentyűzeten is bináris kódokat alkalmaz.


Két bináris "bit"-sorozat a 162 és a 220 szám kódolásához.
A számítógépen belül az 1-et az jelenti, hogy 5 V tápfeszültség jelenik meg az áramkör egy bizonyos részén; a 0-t pedig az, hogy egyáltalán nincs ott feszültség.

 


Soros és párhuzamos: a kétféle mód, ahogy a bináris alakzatok létrejönnek a számítógépen belül.
A "soros" formában a sorozatok be és a ki állapotok egymásutánjaként jelennek meg, némileg hasonlóan ahhoz, ahogyan a felső változatban bemutatott villamos áramkörrel hozhatók létre az áramimpulzusok.
A "párhuzamos" alakban a nyolc érték egyidejűen létezik a nyolc párhuzamos áramkörben.

 

Karakter
Számok
Bináris kód

B
I
T
;
,

66
73
84
59
63
01000010
01001001
01010100
00111010
00111111

Néhány kód, amely betűket és karaktereket ábrázol a számítógépben.
Ezek bizonyos értelemben véletlenszerűek, de van egy nemzetközi megállapodás, melyet ASCII (American Standard Code for Information Interchange: amerikai szabványos kód az információ-technikában) néven ismernek

 

Miből áll a számítógép?

Minden számítógépnek - legyen az akár kicsi, akár nagy - ugyanolyan alapelemei vannak. Ezek:

  1. Bemeneti egység: ezeken át visszük be a számítógépbe az információt a külvilágból, valamilyen módon bináris kóddá alakítva azt azért, hogy a számítógép meg tudja "érteni". A bemeneti egység lehet pl. kapcsoló, billentyűzet, mikrofon vagy hőmérséklet-érzékelő; egy-egy számítógéphez egy vagy többféle is csatlakozhat belőlük.
  2. A tár, amely a kívülről jövő információt - ideértve a számítógépnek adott utasításokat is - tárolni tudja. Az utasítások sorozatát egyébként programnak nevezik.
  3. A központi feldolgozóegység (processzor), amely a számítógép "agya". Ez dolgozza fel az utasításokból álló programnak megfelelően az információt.
  4. Kimeneti egység: ezek a számítógéptől kapják az információt és pl. üzeneteket jelentetnek meg egy tévészerű képernyőn vagy kiírják azokat a nyomtatóberendezésen, vagy éppen motort, hangszórót vagy fűtőberendezést működtetnek (az utóbbira láttunk példát a mosógép esetében).

A tár
A tár - ahogyan a neve is mondja - az a hely, ahol a számítógépben az információt őrzik, ha a gép éppen nem dolgozik rajta. A tár rekeszekből áll, és ezt úgy képzelhetjük el, mint sok ezernyi "postaládát" vagy sokrekeszes "fiókos szekrényt". Az információt ezekben villamos töltések bitjeiként raktározzák. A tár adott helyén vagy van töltés, vagy nincsen. Így gondolkodik a számítógép binárisan a 0 azt jelenti, hogy nincsen töltés, az 1 pedig azt, hogy van (hasonlóan a morzekódhoz, azzal a különbséggel, hogy míg a morzejelek pontokból, vonalakból és szünetekből állnak, addig a bináris információhoz csak pontok és szünetek rendelhetők). Egyes bitmintázatok - ún. bitkombinációk - számokat, míg mások - ahogy láthattuk - más karaktereket jelentenek. A tár tárolhat számokat is, más karaktereket is, ezek a feldolgozáshoz mind a processzorba vándorolnak. Minden egyes "levélszekrénynek" külön-külön címe van, amely szintén szám. A processzor a tár egyes rekeszeiben őrzött információhoz úgy tud hozzáférni, hogy megadja - specifikálja - az adott rekesz címét.
A legtöbb mikroszámítógépben 65 536 tárhely van, 0-tól 65 535-ig terjedő címekkel. Miért éppen ezt a számot választották? Azért, mert a mikroszámítógépek legtöbbje nyolc bináris számból álló, vagy nyolc bit hosszúságú információcsoportokkal dolgozik. A nyolc bitet itt "byte-nak" (ejtsd: bájt) nevezik. Ez egyszerűen azért vált az információ szabványos egységévé, mert használata kényelmessé teszi a különféle alkalmazásokat. Így pl. ez az egyik oka annak, hogy a billentyűzet karaktereit olyan kényelmesen lehet a 255 különféle szimbólumot felhasználva kódolni; 255 éppen az a decimális szám, amely az 11111111 bináris számmal egyenlő, ez pedig a bináris számok közül a legnagyobb nyolcjegyű szám.
Két byte - ha együttesen használjuk a számítógép tárának címzésére - 2^8 * 2^8 = 2^16 = 65 536 különböző számot eredményez, és ez éppen annyi tárhelynek felel meg, amennyivel egy mai, közönséges mikroszámítógép meg tud birkózni. (A nyilvánvaló következő lépés az lenne, hogy három címbyte-ot használnának, ami 2^8 * 2^8 * 2^8 = 2^24= 16 777 216 tárhelyet jelentene.)
Képzeljük el, hogy az egyes tárhelyeken tárolt számokat postai levelezőlapokra írjuk. Ha ezeket a levelezőlapokat szorosan egymás mellé fektetjük, a sor hossza csaknem nyolc kilométert tenne ki.
A processzor a 65 536 "rekesz" bármelyikével össze tud kapcsolódni. Az itt található lapokra elektronikusan "írni" tud, vagy vissza tudja "olvasni" az utoljára beírt számot, mégpedig a másodperc milliomodrészének egynegyede alatt. Más szavakkal: a tár valamennyi címén található összes számot a másodperc hatodrésze alatt tudja kiolvasni. Ez a nagy sebesség teszi olyan hasznossá a számítógépet, miközben igen egyszerű dolgokat végez el az elemi műveletek szintjén; ezekből azonban "rettenetesen" sokat hajt végre egy szempillantásnyi idő alatt.
Az egyes mikroszámítógépes tárhelyek tárkapacitása az ún. byte-szervezésű gépek mintájára legtöbbször nyolc bit. Tehát egy tárhely összesen 256 féle számot tud tárolni. Ha azonban a számítógépnek ennél nagyobb számokat kell tárolnia vagy olyan más mennyiségeket, amelyek ebbe nem férnek bele, akkor több tárhelyet kell felhasználnia egy-egy szám megőrzéséhez.
Beszéltünk már arról, hogy a számítógép villamos áramimpulzusokat használ az 1-ek és 0-k ábrázolásához, és hogy ezt az információt a tárban úgy őrzi, hogy az információt parányi villamos töltések alakjában tartja fen. Azonban sajnálatos módon a rendszer csak akkor működik, amikor a számítógép "be van kapcsolva". Amikor kikapcsolják, az információ elvész, tehát olyan másik tárolóeszközökre is szükség van, amelyek a számítógép részére (vagyis a felhasználónak) az információt a program futásánál hosszabb időre is megőrzik. A különböző típusú tárakról később lesz szó.

A processzor
A processzor belsejében többféle egység, áramkör is van, mi azonban olyan "fekete doboznak" tekinthetjük, amely számokat és karaktereket vesz elő a tárból, és az ugyancsak tárból vett utasítások felhasználásával műveleteket: összeadást, kivonást vagy összehasonlítást hajt rajtuk végre. Ezután az eredményeket visszaküldi a tárba vagy más egységekbe.
A processzor és a tár közötti kapcsolat döntő eleme, hogy a tár bármely helyén tárolt számot akár adatként, akár utasításként fel tudja használni. Meglehetősen egyszerű közöttük a különbség: az utasítás azt mondja meg a számítógépnek, hogy mit kell csinálnia, míg az adat az, amivel valamit csinálni kell. Ez a programozónak rendkívül nagy szabadságot ad (különösen, ha közvetlenül a számítógép bináris kódjával dolgozik), így pl. lehetővé teszi a számára, hogy sokkal nagyobb programokat írjon, mint amekkorák egyszerre beférnek a központi tárba. Ezt úgy teheti meg, hogy ír egy kisebb programot, amely megmondja a processzornak, hogy a főprogram új részeit mikor kell behoznia a külső tárból és bevinnie a központi tárba. Amikor pedig már benne van a központi tárban, akkor már úgy lehet kezelni, mint a belső tár más részein elhelyezett adatokra vonatkozó utasításokat.


Az egyik legnagyobb darabszámban gyártott mikroprocesszor: a Z80A.
Az Intel sikeres 8 bites processzorának, az i8080-nak a Zilog cég által készített utódja volt. A két processzor belső felépítésben eltérő, de a Z80 felülről kompatibilis az i8080-nal.

 

Szilícium chipek
Eléggé sokat beszéltünk már a processzorról és a tárról - de hát mik is ezek valójában? Nem is túlzunk, ha azt mondjuk, hogy a modern számítógépben ezek egy vagy egynéhány szilícium chipen elférnek. A chip mintegy 1,5 négyzetcentiméter nagyságú szilícium lapka, amelyet igen finom fémösszekötések borítanak, és ezek tranzisztorok ezreit kapcsolják össze. Az egész hermetikusan lezárt műanyag tokba kerül, amelynek általában 40 fémlába van, úgyhogy leginkább valamilyen mechanikus százlábúhoz hasonlít. Napjaink mikroszámítógépeiben egy-egy tárolóchipen általában 16 384 bitet lehet rögzíteni, tehát egy teljes, 65 536 byte-os tárhoz 32 ilyen chipre van szükség. (E könyv megjelenése idején már kereskedelmi forgalomba kaphatók 65 536 bitet tartalmazó tárchipek is, amelyekből tehát egy ilyen tár kialakításához csak 8 darabot kell venni, sőt laboratóriumokban elkészültek már a teljes 65 536 byte-os tárolóchipek mintapéldányai is.)
Jegyezzük meg, mert fontos, hogy amikor a mikroszámítógépről beszélünk, nem egyetlen chipről, hanem egy egész halom chipről szólunk, és ezek rendszerint egy áramköri lapon helyezkednek el, mint szilícium chipek és különféle csatlakozó alkatrészek egész sora. Lesznek rajta egy vagy több perifériális berendezéstől jövő vagy annak szóló információt közlő beviteli-kiviteli eszközök is. Az egész mérete akkora, mint egyes villamos írógépeké, és az ára akár 4000 £ (300 000 Ft, bizományban vagy hazai gyártásban még több is) is lehet. A mikroprocesszor ebben az esetben nem több, mint maga a főchip. Ez esetleg csak 30 grammot nyom, és mintegy 5 £-ba (400 Ft) kerül. Mivel a mikroprocesszor a főchip egy mai tipikus mikroszámítógépben, nyilván az is elképzelhető, hogy az egész mikroszámítógépet egyetlen chipen készítsük el, amely így nemcsak magát a processzort, hanem a tárat, valamint a be- és a kimenetek elektronikus áramköreinek a jó részét is magában foglalja. Vannak olyan chipek is, amelyekbe kisprogramokat véglegesen "beégetnek", és így azok valamilyen adott célra különleges feladatokat tudnak ellátni (pl. modellvasutat vagy mosógépet vezérelnek). Nagyon valószínű, hogy az ilyen célra rendelt, vagyis "dedikált" mikroszámítógép-chip számos háztartási, ipari és kereskedelmi berendezésben széles körben el fog terjedni, a televíziós játékoktól kezdve egészen a jövő autóiba beépített számítógépekig.

Tömegtár

A mikroszámítógép egyik legfontosabb része a tömeg- vagy háttértár, amelynek a gép szervezetében ugyanolyan szerepe van, mint egy irodában az iratgyűjtő szekrénynek. A háttértárban ugyanúgy meg lehet őrizni programokat és adatokat, mint ahogy az okmányokat az iratgyűjtő szekrényekben. Amikor csak valamilyen adatra van szükségünk, odamehetünk a szekrényhez, és az okmányt kiemeljük az íróasztalra. Ugyanígy, ha tárolt információra van szükségünk, akkor a háttértárat úgy csatoljuk a számítógéphez, hogy az a gép belső tárának részeként szerepelhessen, készen arra, hogy a benne tárolt információval számításokat végezzenek.
A számítógép belső tárától eltérően a háttértárban őrzött információ akkor is megmarad, ha a tárolóközeg nincs a számítógéphez csatlakoztatva, vagy ha a számítógép ki van kapcsolva. Ez az egyik oka annak, hogy minden olyan számítógéphez, amelyet többre akarunk felhasználni, mint egy gyors programozható zsebszámológépet, szükség van valamilyen háttértárra. A másik ok az, hogy a számítógép belső tára nem elég nagy valamennyi olyan adat tárolására, amellyel a számítógépnek dolgoznia kell, ezért szüksége van külső tárra is.
Az olcsó mikroszámítógép háttértára is olcsó, és csaknem mindig kazettás mágnesszalag, szabványos kazettás magnóban. Nagy előnye az alacsony ára, hátránya viszont, hogy lassú. Ahhoz, hogy valamilyen adott programot vagy adatállományt megkeressünk, esetleg 15 percet is várni kell, amíg a szalag odaér, ami nemcsak unalmas, hanem felesleges is a profik számára, viszont igen megfelelő a kezdőknek, akik nem sietnek.
A "komoly" mikroszámítógépek "floppy disc"-eket használnak (a lágy diszket, vagyis a hajlékony mágneslemezt). Ezek leginkább a lemezjátszók gramofonlemezeihez hasonlítanak, és ugyanazzal a mágneses anyaggal vannak bevonva, mint a kazettás szalagok. A hajlékony lemezt a hajtómű keskeny résébe csúsztatják be, ahol percenként néhány száz fordulatot tesz, miközben az író-olvasó fej a szélétől a közepe felé halad. Ha a fej a megfelelő helyre kerül, az ezen a nyomvonalon rögzített adatok néhány ezred másodperc alatt kiolvashatók. A hajlékony lemez sokkal kézenfekvőbb adattárolási mód, mint a mágnesszalag, mivel a tetszőleges adatrészlet - típustól függően - mintegy egyötöd másodperc alatt visszakereshető. A "floppy-kat" két méretben készítik: a "mini", amely 80...500 ezer karakter kapacitású, míg a 8 hüvelyk átmérőjű, amely 250...500 ezer karaktert tud tárolni (jegyezzük meg: átlagosan hét karakterből áll egy-egy szó a magyar szövegekben).
 


A kazettás floppy
Kevesen tudják, hogy a később használatos 3,5"-os kazettás floppy ősét, a 3"-os kazettás hajlékony lemezeket itthon Magyarországon fejlesztette ki Jánosi Marcell. Jánosi Marcell a hetvenes években a Budapesti Rádiótechnikai Gyárban dolgozott "magnótechnikai főkonstruktőr" állásban. Ő vezette a Calypso márkanevű orsós magnó gyártását, illetve nevéhez fűződik a fröccsöntőgép feltalálása is.
Jánosinak az az ötlete támadt, hogy az alkalmazott lemezeket is el lehetne helyezni a magnószalagok kazettáihoz (Compact Cassette) hasonló merev kazettában. A szabadalom 1974-ben került bejegyzésre. (Akkoriban tárolóegységként elterjedt volt a 8"-os papírtasakos hajlékony lemez.) A találmány hírére a korszak legmeghatározóbb cégei és emberei jöttek tárgyalni, köztük a Toshiba, Gerd Weers a Triumph-tól és a világhírű Commodore cég mágusa Jack Tramiel. De a BRG megtiltott (!) mindenféle tárgyalást, mert a szocialista országok akkori egységes számítógépes rendszerében nem lehetett az imperialista világ rendelkezésére bocsátani ily szellemi terméket. A próbagyártás az óriási nemzetközi érdeklődést látva is csak jóval később, 1981-ben kezdődött MCD-1-es néven. A néhány ezer legyártott példányt Németországban szerelték be az akkor éppen megjelenő mikrogépekbe. Az MCD-1 ugyanakkora tárolási kapacitással rendelkezett, mint amerikai rokona, viszont a meghajtó helyigényében mintegy tizede (!) volt csak a tengerentúli modellnek. Az MCD-1-et a feltaláló kérése ellenére nem gyártották és nem is adták el egy érdeklődő és tőkeerős cégnek. A szabadalmi díjat nem fizették, így ettől kezdve Jánosi Marcell alkotását mindenki szabadon felhasználhatta. A japánok bevallottan "Mr. Jánosi" találmányát felhasználva vitték sikerre a floppy ügyét.


A legutóbbi fejlesztések eredménye a Winchester tár (vagyis a kemény diszk). Ebben a rendszerben a mágneses réteggel bevont lemez fixen be van építve a gépbe, és ez azt jelenti, hogy a mechanikus távolságok pl. a légrések kisebbek lehetnek. A fej közelebb kerülhet a lemezhez, és sokkal sűrűbben lehet így a mágnesjeleket a felületre felírni. A kemény lemez ("hard disc") tárolókapacitása oldalanként akár 8 millió karakter is lehet. Mivel a légrések igen kicsik, nagyon veszélyes lenne, ha oda por vagy pihe bekerülne, ezért a diszket hermetikusan le kell zárni. A kemény lemezes rendszer olyan kicsi, hogy egy íróasztal fiókjába is befér, és képes akár 140 millió karaktert is tárolni. Ez akkora szövegmennyiségnek felel meg, amit egy átlagos gépíró 11 év alatt napi nyolc órában szünet nélkül tudna csak legépelni.
1956. szeptember 13-án mutatták be az IBM kutatói minden merevlemez ősét, a RAMAC-ot. A közel 1 tonnás szörnyeteg mai szemmel nézve nevetséges 5 megabájtnyi adatot volt képes eltárolni a 15 darab, hatalmas 24 hüvelykes tányérján, melyek között egy függőleges tengelyen mozgatták az író-olvasófejet. Ezt a szó szoros értelmében is nehézkes adattárolót az IBM System 305 rendszeréhez szállították.
Az első "winchester" néven szólított merevlemez az 1973 júniusában megjelent IBM 3340 merevlemez volt. Ez a teljesen zárt, szigetelt kivitelben megjelenő adattároló már aerodinamika hatások figyelembevételével tervezett olvasó- és írófejjel rendelkezett. A zárt tér védte a mechanikát és a lemezeket a külső behatásoktól, ezért nagyban sikerült növelni az adatsűrűséget: 1,7 megabitet voltak képesek egy négyzethüvelyknyi területre zsúfolni. Az első winchester két darab 30 megabájtos tányért tartalmazott, ezért kapta nevét a 30-30 Winchester lőfegyverről.
 

Bemenet (input)
Az információ bevitele a számítógép-rendszerbe lényegében azt jelenti, hogy az információt olyan villamos jelek alakjába kell átalakítani, amit a számítógép is fel tud ismerni. Az információnak a számítógépbe való bevitelére a legnépszerűbb módszer a billentyűzet alkalmazása. Ez külsőleg hasonlít a normál írógép-billentyűzetre, azzal a különbséggel, hogy itt egy-egy billentyű lenyomásakor elektromos impulzusok olyan sorozata keletkezik, amelyet a számítógépbe be lehet adni. A billentyűzet lehet a számítógép házán belül, de lehet külön egység is, amely többnyire képernyős megjelenítőhöz vagy nyomtatóberendezéshez csatlakozik. Az első billentyűzetes egységek a mindenütt elterjedt távgépíró (teletype) készülékek alapján készültek, amelyek így vagy úgy a telexkapcsolatokat látják el az egész világon.
A billentyűzet elkészítésének legolcsóbb módja az, ha két műanyag réteg közé villamos vezető membránt helyeznek el. A legdrágább megoldások rendkívül bonyolult - esetenként pl. ultrahangos - elektronikus módszereket alkalmaznak.


Érintésre működő billentyűzet egy, már 1982-ben 100 £-nál olcsóbb mikroszámítógépben. Amikor lenyomják a billentyűt, villamos érintkezés jön létre: két - addig szétválasztott - vékony fémcsatlakozó összenyomásával.

A legtöbb billentyűzetnek a szokásos "QWERTY" elrendezése van, és mind a nagy, mind a kis betűk megtalálhatók rajta. (Az alfanumerikus billentyűzetek első betűsora a nemzetközi szabványoknak megfelelően QWERT betűkkel kezdődik és az angol gyakorlatnak megfelelően Y-nal folytatódik, míg a német szokások szerint az Y helyett Z van. A magyar írógépek az utóbbi rendszer szerintiek). Néhány kisebb billentyűzet olyan, mint a számológépek előlapja, és ezek rendszerint az utasításokat és az adatokat a számítógép bináris kódjában adják be.
Más módszerek is vannak arra, hogy információt a számítógépbe bevigyünk. A legkézenfekvobb az, ha egy villamos vagy mechanikus rendszer által keltett villamos impulzusokat adjuk be. Ily módon kapja a legtöbb ipari számítógép-rendszer az információt. A rendszer saját érzékelői átalakítják a mért környezeti adatokat - mint a hőmérséklet, az elmozdulás, a sebesség - villamos jelekké, hogy a számítógép kezelni tudja őket. Ilyenfajta működést több alkalmazásban is láthattunk e fejezet elején - pl. a lökhajtásos gép motorjában a hőmérsékletet és nyomást, vagy a mosógépben a vízszintet mérő érzékelők esetében. Megemlíthetünk még néhány más beviteli módszert is, amelyek korábbi példáinkban tűntek föl: az optikai leolvasóceruzát a vonalkódok olvasására, vagy a kamerát, amely a röntgenképeket tapogatja le stb.
Az információ bevitelének újabb módja a beszédfelismerés. Ezt és a beszédkimenetet a 6. fejezetben tekintjük át. Vannak már olyan beviteli berendezések, amelyek elfogadják a személyes kézírást is, vagy pedig előnyomott vagy nyomtatott oldalakat. Vannak "grafikus táblácskák" (tablet-ek), amelyekre elektronikus ceruzával lehet rajzolni. Léteznek ún. "fényceruzák", amelyekkel közvetlenül lehet "rajzolni" a televízió-képernyőre. Valószínűleg hallottak már a lyukkártyákról, lyukszalagokról, amelyeket korábban csak nagyszámítógépekhez használtak információbevitelre. Ezek azonban ma már elavultak, és egyre kevésbé használják őket.


Fényceruza használat közben


 

Kimenet (output)
A bevitelhez hasonlóan számos módszer létezik az információnak a számítógépből való kivitelére, többek között ide sorolhatók a különféle beavatkozószervek, amelyek segítségével a számítógép közvetlenül vezérelheti más gépek működését. A mikroszámítógép felhasználója részére a legfontosabb a képcsöves megjelenítőegység (elterjedt angol nevén display, ejtsd: diszpléj) és a nyomtatóberendezés.

A képcsöves megjelenítő
A legtöbb megjelenítő - angol rövidítése VDU (Video Display Unit) - a házi tévékészüléktől alig különbözik. Bonyolultsága viszont az "intelligens" terminálig terjedhet, amelynek belsejében akár több mikroprocesszor is lehet. A képernyő általában 25 sort és soronként 40 karaktert tud megjeleníteni, ami 1000 karakternyi információnak felel meg. Van tára is ezek tárolására. Az ún. tárleképezéses rendszerekben a képernyőn megjelenő minden egyes karakterpozíciónak egy-egy meghatározott tárrekesz felel meg a videotárban. A számítógép mindössze annyit tesz, hogy a tár tartalmát kijelzi a képernyőre. Minthogy minden egyes tárrekeszben egy 8 bites byte-ot lehet tárolni, ez azt jelenti, hogy 2^8, azaz 256 különböző karakter áll rendelkezésére. A tárban őrzött kódokat ténylegesen betűkké és grafikus szimbólumokká átalakító eszközt karaktergenerátornak nevezzük. Nem is kell mondanunk, hogy ezek a többletszolgáltatások viszont csökkentik a rendszerben a felhasználó rendelkezésére átló tár mennyiségét.
A képi információt keltő másik módszer az, amikor a képernyőt különálló pontokra, pl. 312x210 képpontra osztják. Itt a képernyőn minden pontnak egy-egy bit felel meg a tárban. Mivel nyolc pont egy byte tárhelyet igényel, a teljes kép 312x210 pontjához 8000 byte-ra van szükség. Ilyen nagy sűrűségű (vagyis erős felbontású) grafikusképesség sok számítógépben megtalálható. Igen hasznos az oktatásban, a videojátékoknál és a hobbieszközökben, de a legtöbb hivatali alkalmazásban - hacsak nem végeznek bonyolult grafikus elemzéseket - nem feltétlenül szükséges.

 


LA36 DECwriter II.
9 tűs mátrixnyomtató billentyűzettel.
Nyomtatási sebessége 30 karakter/sec.

Nyomtatók
A legkülönbözőbb fajta nyomtatót vásárolhatják meg a felhasználók. Ezek tartománya az egyszerű, alig néhány tízezer forintos nyomtatótól a szabványos szövegfeldolgozó rendszerek több százezer forintos nyomtatójáig terjed.
A jó minőségű nyomtatott szöveg előállításának egyik módja az átalakított villamos írógép alkalmazása, amelyben a nyomtatást külső jellel lehet vezérelni. Az ilyen rendszerekben néha azt is lehetővé teszik, hogy a billentyűzetet egyúttal információbevitelre használják.
A távgépíró olyan elektromechanikus konstrukció, amelynek billentyűzete van a bevitelhez és ütő (impact) nyomtatója (betűkosár vagy betűhenger) a papírra nyomtatáshoz. A papírt tekercsben tárolják a gép belsejében. A távgépírónak igen szerény a sebessége, rendszerint alig több másodpercenként 10 karakternél. További hátránya, hogy csak nagybetűket nyomtat, ezenkívül zajos. Viszont elég olcsó.
A karaktermegjelenítés másik módja, amikor 5X7 pontból álló mátrixokat pontonként nyomtatnak. Ezzel a módszerrel a legtöbb karakter és grafikus szimbólum is előállítható. A legegyszerűbb ilyen mátrixnyomtató hét, egymás fölött (függőleges vonalban) elhelyezett tűből áll, amelyek "rálőnek" a papírra, miközben az írófej balról jobbra mozog. Egy-egy karakter kialakításához öt ilyen "rálövés" szükséges. A készülék szokványos írógépszalaggal működik, és normál papírt használ. A mátrixnyomtatóval bonyolult karakterek is előállíthatók, hiszen az egyes tűket egyedenként lehet programozni. Ha pedig a számítógépnek grafikus lehetőségei is vannak, akkor ahhoz mátrixnyomtatót kell használni, mivel egyébként ezeket a karaktereket nem tudná kinyomtatni.


A mátrixnyomtatóval készített nyomatok minősége

Ha kiváló minőségű kinyomtatott adatokra van szükség, különleges nyomtatót kell használnunk. A "margarétakerekes" nyomtató az ütőnyomtatók olyan változata, amelyben a karakterek egy kör alakú műanyag tárcsán helyezkednek el. A kalapács ráüti a megfelelű karaktert a papírra, és így állítja elű a kívánt nyomtatott szimbólumot. Más nyomtatókkal összehasonlítva meglehetősen drága eljárás, viszont jó minőséget nyújt, nagy sebesség mellett. A nyomtatófej könnyen cserélhető a különböző betűtípusokhoz. A legtöbb margarétakerekes nyomtató programozható is, így arányos betűbeosztás, bal és jobb oldali sorkiegyenlítés (margó) érhető el vele. Ezeket elsősorban szövegfeldolgozó alkalmazásokra szánták.
Valamennyi eddig említett nyomtató ütőmódszert alkalmaz, és azon alapul, hogy ütéskor a festék az írógépszalagból kinyomódik, és így keletkezik a lenyomat a papíron. Léteznek azonban más módszerek is arra, hogy ábrákon nyomtassunk papírra. Néhány nyomtató speciális módszert használ.
Egy sereg kisnyomtatóban hőérzékeny papírt alkalmaznak. Ezek rendszerint 40 karaktert nyomtatnak egy sorban. Egy kis, pontmátrixos fűtőelem mozdul el a papír előtt, és ahol forró pontot keltenek, kék pont jelenik meg a lapon. Ezek a nyomtatók gyorsak és mivel nem ütnek a papírra, csendesek is. Viszont a felhasznált papír drága, és rendszerint csak kb. 5...8 cm széles tekercsekben kapható.
Az építészek, műszaki tervezők "plottereket" (rajzgépeket) használnak. Ezek olyan speciális kimeneti berendezések, amelyek segítségével a számítógép a műszaki szerkesztőkhöz, rajzolókhoz hasonló munkát tud végezni.
A kereskedelemben kapható berendezések csúcsát a "tintasugaras" ("ink-jet") nyomtatókészülékek jelentik. Ezek tintarészecskékből álló finom sugarat permeteznek az előttük elhaladó papírra. Az ilyen nyomtatók igen gyorsak és csendesek. Sokan úgy vélik, hogy a japánok rövidesen megjelennek az igen olcsó, tintasugaras változatokkal, amelyekkel fel lehet váltani az irodákban jelenleg használt, népszerűbb mechanikus nyomtatókészülékeket. (Jelenleg az ilyen nyomtatók ára ugyanis az írógépek árainak ma még sokszorosai.


A margarétakerekes nyomtató (balra), és a mátrixnyomtató (jobbra) működési elve


Milyen gyors a számítógép?

Az eddigiek során már többször hangsúlyoztuk, hogy bár a mikroprocesszor alapműveletei - az összeadás, a kivonás és az összehasonlítás - igen egyszerűek, éppen rendkívül gyors működésük miatt lesz a hatásuk annyira összetett. Mintegy nyolc másodpercig tart, ha két 16 jegyű számot ezerszer kell összeszoroznia. A tipikus, helyesírást ellenőrző program, amelynek a kérdéses szót a hajlékony lemezen tárolt 25 000 szavas szótárból kell kikeresnie, és jeleznie kell, hogy megtalálta-e benne vagy sem, mindössze a másodperc egyötöd részét veszi igénybe, ami sokszorta nagyobb sebességet jelent, mintha ember végezné ugyanezt a munkát. Tessék csak magukon kipróbálni! Másrészt viszont, egy ember aligha bajlódna azzal, hogy utána nézzen a szavak többségének, hiszen ránézésre is tudja, hogy jók-e helyesírási szempontból. A hanyag programozó könnyen elfecsérelheti a számítógépmunkát úgy, hogy programja jó hosszú időt fog felemészteni valamilyen nyilvánvalóan egyszerű dolog elvégzéséhez. Lassúsága abból ered, hogy a számítógép ideje nagy részét azzal fogja tölteni, hogy azt végezze, amit a programozó írt elő neki, ahelyett, hogy a tényleges munkán dolgozna. A személyi számítógépnek viszont nem kell nagyon gyorsan működnie: ideje nagyobb részében úgyis arra vár, hogy felhasználója beadjon neki valamit a billentyűzetén.
Egy gyakorlott gépíró percenként mintegy százszavas sebességgel tud dolgozni: ez kb. percenként 600, ill. másodpercenként 10 leütést jelent. Egyetlen karakter leütésének ideje alatt a processzor közel félmillió lépést tud végrehajtani. Az esetek nagy részében azonban nincs döntő jelentősége a mikroszámítógép sebességének. A nagyszámítógépek azonban olyan sokba kerülnek, hogy a feldolgozási idő - az "őrlési idő", ahogy a kereskedelemben mondják - ugyancsak fontos lehet. Mivel a mikroszámítógép viszonylag olcsó és rendszerint csak egyetlen felhasználója van, tervezői ilyen megfontolásokkal elég ritkán törődnek. A kérdés az: "Végezzem inkább kézzel a számítást?" - és a válasz rendszerint: "Nem".
Milyen feladatokat vagyunk képesek mi - a személyi számítógépek tényleges vagy jövőbeli használói megoldani számítógépeinken? Ez az a kérdés, amelyre a következő fejezetben rátérünk.
2

Feladatok és számítógépek

Az előző fejezetben leírt bármelyik számítógép-alkalmazás tulajdonképpen valamilyen feladat megoldását igényli pl.:

  1. Hogyan tehetjük biztossá, hogy a repülőgép sugárhajtóművei, amelyek a felszálláskor maximális teljesítménnyel működnek, ne hevüljenek túl?

  2. Hogyan fejleszthetünk ki olcsóbb, gyorsabb módot arra, hogy a felhasználók úgy kereshessék ki a szükséges telefonszámot, hogy ne kelljen minden háztartást egy-egy vaskos telefonkönyvvel ellátni?

  3. Miként lehetne összekötni az áruház forgalmát (eladásait) az áruház raktárkészletével úgy, hogy a készletek szintje a lehető legkisebb maradjon anélkül, hogy valaha is kifogyna az áru?

Ezek nyilván a légi közlekedés, a posta, az élelmiszerkereskedelmi vállalatok megoldásra váró feladatai és nem a miénk. Mi lenne, ha néhány egyszerűbb feladatot is megvizsgálnánk?

  1. Hogyan tudnánk gyermekeink szorzótábláit ellenőrizni akkor, ha megengedjük nekik, hogy mielőtt megadnák a helyes választ, néhány próbát tehessenek?

  2. Hogyan kellene felvázolni a helyi futballcsapatok találkozóinak fordulóit úgy, hogy (amennyire lehetséges) minden csapat találkoznék minden csapattal, egyszer otthon és egyszer idegenben, váltakozva, miközben egy-egy teljes forduló van minden héten?

  3. Hogyan lehet hangolni egy zongorát?

  4. Hogyan találhatjuk meg a legkedvezőbb útirányt London és Godminster között?

  5. Hogyan oldjuk meg egy melegház klímájának szabályozását?

Azzal, hogy a számítógép hogyan segít ezeknek a feladatoknak a megoldásában, később foglalkozunk. Kiinduláskor azonban általában egyáltalán nem a számítógépet kell tekintenünk, hanem magának a feladatnak a természetét és a feladatmegoldás ötleteit és módszereit. Azután majd meglátjuk, hogy a számítógép hogyan illik bele, és egy későbbi fejezetben jutunk majd el csak oda, hogy egy vagy két feladatot meg is oldjunk a számítógép segítségével.
Mi az, ami ezekben a közös, hogy itt mintafeladatként szerepeljenek? Nem túlságosan sok - gondolhatnánk. Azonban mindegyiknek van három alapeleme:

  1. Mindegyik feladatban van néhány alapvető tény, amely meghatározza, amely egyedivé teszi azt. Megértjük, legalábbis nagy vonalakban, mi is a feladat. Vegyük pl. az első feladatot! Azt már tudjuk, hogy a következőkről van szó: sugárhajtóművek,
    repülőgép-felszállás,
    a lehető legnagyobb energiakifejtés szükségessége,
    a biztonság szükségessége,
    a túlhevülés veszélye.

  2. Nem mindig található egyetlen tökéletes válasz, amely teljesen megoldja a feladatot.

  3. Van valami rés a feladat és a felelet között. Még nem tudjuk a választ, vagy a feladat maga talán nem is létezik. Néha - kétségkívül - olyan kicsi a rés, hogy nem is tekintjük a feladatot feladatnak. Valóban nehézséget okozhat az, hogy hogyan válasszuk meg a legjobb utat Godminsterig, nem nehéz azonban megválasztani az útirányt a legközelebbi szomszédunk meglátogatásához. Vagy mégis? Eljuthatunk hozzá a bejárati ajtónktól az ő bejárati ajtajáig, vagy a mi hátsó ajtónktól az ő hátsó ajtajáig, vagy akár átbújhatunk a kerítésen levő hasadékon keresztül is. Ha azt tervezzük, hogy kiraboljuk, úgy dönthetünk, hogy a konyhaablakán keresztül mászunk be hozzá. Lehet, hogy ez a feladat is egy picit több gondolkodást igényelt, mint ahogy első ránézésre látszott?

 

A feladat megoldása

Ennyit a feladatokról - problémákról -, de mi is a megoldás? A hétköznapi nyelvben a "megoldani" szót kétféle értelemben használjuk.

  1. Néha a kérdésre adott választ értjük alatta. Így a keresztrejtvény megoldása az a szó, amit beírunk a megfelelő helyre; egy aritmetikai feladat megoldása az a szám, amelyet a feladat kidolgozásának az eredményeként kaptunk meg.
  2. Gyakran viszont a válasz megtalálásának a módját értjük rajta. Ebben az értelemben már akkor megoldottuk a feladatot, amikor felfedeztük, hogy hogyan jutunk el a válaszhoz. A választ megkapni annyi, mint a megoldást átültetni a gyakorlatba; és ez már egy másik lépés.

Mivel nem akarunk zavart okozni, ezért a megoldás folyamatát és magát a megoldást a fenti két lehetőség közül a második értelemben használjuk. Mindezeket figyelembe véve nézzük, melyek a feladatmegoldás során megteendő lépések, és hogyan illik bele ezekbe a számítógép! Ezek a következők:

  1. Először is itt van maga a feladat (megfogalmazása). Esetenként úgy tűnik, hogy már tökéletesen megértettük a feladatot, pl. teljesen világos előttünk, hogy hogyan kell hangolni egy zongorát. Más feladatoknál esetleg még kiindulópontunk sincs; azt se tudjuk, hogy mihez kezdjünk hozzá!
  2. A következő lépés a feladat elemzése. Meg kell bizonyosodnunk arról, hogy tudjuk, miből is áll ez a feladat! Erről később részletesebben is szólunk.
  3. Ezután következik a feladat megoldása. Ki kell dolgozni azt, hogy hogyan jutunk el a válaszhoz!
  4. A következő fázis a megoldás végrehajtása. Elvégezzük a számításokat; megvizsgáljuk, hogy egy lehetséges válasz kielégíti-e a feladatot.
  5. Végezetül eljutunk a válaszhoz - amivel végérvényesen megoldottuk a feladatot.

 

Mire képes a számítógép?

Az első fázisból, a feladat megfogalmazásából rögtön kihagyhatjuk a számítógépet. Ha szerencsénk van, a számítógép úgy tud segíteni feladatunk megoldásában, hogy nem hoz létre egy újabbat! De vajon képes-e a számítógép egy feladat elemzésére? A válasz alapvetően: nem. Ezt a nagyon kemény munkát nekünk magunknak kell elvégeznünk!
Amellett a számítógép nem is tudja olyan értelemben megoldani a feladatot, ahogyan mi használjuk a "megoldás" szót. A feladatot nekünk magunknak kell megoldani, nekünk kell azt is kidolgozni, hogy hogyan kapjuk meg a választ. Azután az egészet közöljük - program alakjában - a számítógéppel; a számítógép pedig nem tesz mást, mint hogy végrehajtja a megoldást és közli velünk a választ. Hát ez nem túl lenyűgöző - gondolhatnánk. Bizonyos körülmények között azonban óriási segítséget nyújthat:

  • Ha rutinfeladatunk van, amelyet mindig egyforma módon, ismételten kell megoldanunk; más-más számértékekkel többször is végrehajtathatjuk ugyanazokat a számításokat (pl. ugyanazt az eljárást használhatjuk egy sor különböző telefonszám kikeresésére).
  • Abban az esetben, ha a megoldás egyszerű, végrehajtása azonban lassú vagy nehéz, pl. ismerjük egy matematikai feladat levezetését, azonban maguk a számok nehézkessé teszik a számításokat; ismerjük, hogy hogyan kell kikeresni egy telefonszámot, azonban a telefonkönyv mérete miatt a kikeresés igen hosszadalmas munkát igényel.
  • Ha a feladatot az ember egyáltalán nem képes elvégezni; túl gyorsan kellene megcsinálnia vagy veszélyes körülmények között, vagy pedig ha azok az elkerülhetetlen hibák, amelyeket az emberek időnként elkövethetnek, végzetes katasztrófához vezetnének. Gondoljunk pl. a reakcióidő problémájára valamilyen kémiai reakció folyamatában, vagy egy atomreaktor hűtőrendszerében bekövetkező változások esetén!

Tehát az ember az, aki megoldja a feladatokat - a számítógép mindössze eszköz, amely segít a megoldások végrehajtásában. Most három olyan szempontot nézünk, amikor a számítógép alkalmazása segíti az embert a feladatok megoldásában.
Vegyük először a feladat elemzését: annak eldöntését, miről is van szó! Majd ezt követően a megoldás kiválasztását vagy felfedezését! Másodszor, áttekintjük azokat a megoldási módokat, amelyeket a számítógépek végre tudnak hajtani. Majd a 4. fejezetben megvizsgáljuk a programozást, azaz, azt a módot, ahogyan az emberek közölni tudják a számítógéppel, hogy hogyan fogjon hozzá az adott megoldás végrehajtásához.

 

Nézzük magát a feladatot: elemezzük és oldjuk meg!
Miért csak az emberek tudnak feladatokat megoldani és a számítógépek nem? Egyszerűen azért, mert csak az emberek tudnak gondolkodni. A számítógépek, bármire használjuk is őket, nem képesek gondolkodásra. Márpedig a feladatmegoldás elmélyült gondolkodást igényel.
Kevés ember hiszi magáról, hogy jól tud feladatot megoldani. Kérdezzük csak meg őket, hogy hogyan találtak rá egy megoldásra! Ilyen válaszokat kapunk

"Hát ugye ez a józan észből következik, nem?"
"Oh, nekem van egy hatodik érzékem ezekhez a dolgokhoz!"

Valószínű, hogy nincs szükségünk különleges tréningre azoknak a feladatoknak a megoldásához, amelyekkel napról napra szembekerülünk: ezeket könnyedén megoldjuk, anélkül, hogy tudatosulna bennünk. Ahhoz azonban már igenis kell gyakorlat, tanulás, hogy a nehezebbeket is megoldjuk. Ezekhez egy kicsivel több gondolkodásra van szükség. Szeretnénk bemutatni néhány módszert ennek a gondolkodásnak a szervezésére és elmélyítésére.
Ezt célozza az elemzés: gondolkodás valamilyen feladaton, azonban strukturált módon gondolkodva. De mi az a struktúra? Nos, az egész attól függ, hogy "mi a feladat"! Mivel már elkezdtük a struktúrával, ezt fogjuk használni. A struktúra azt a három részt tartalmazza, amely - láthattuk - minden feladat sajátja: a tényeket, a választ és a rést.

Mik a tények?
Segítségünkre lehet, ha feljegyezzük az összes tényt, amellyel feladatunk kapcsán rendelkezünk. Miért? Mert ez jó módszer annak kiderítésére, elegendő tény van-e birtokunkban? Eleget tudunk-e minden egyes tényről? Vannak-e olyan életbevágóan fontos tények, amelyek egyáltalán nem állnak a rendelkezésünkre?

A mérkőzések fordulói
Mi az, amit már tudunk? Tudjuk, hogy futballbajnokságról beszélünk, de hány csapat van? Világos, hogy ezt tudnunk kell. Legyen 10 belőlük: ez minden csapatnál 18 találkozót jelent (egyet-egyet otthon és idegenben az összes többi csapattal).
Tudjuk, hogy egy szezon mérkőzéseiről beszélünk. Ez hány alkalmat jelent? Mondjuk, hogy ebben a bajnokságban vasárnap délutánonként játszanak. Ideális esetben a szezon 18 vasárnapból áll, de ha nem tudunk minden meccset beütemezni, kiterjeszthetjük az egészet, mondjuk még két vasárnappal. Így maximum 20 dátumunk lesz, amelyeken meccsek játszhatók.
Várható, hogy egyetlen helyes választ kapunk a mérkőzéslista-feladatunkra? Valószínűleg nem! Listák tucatjaihoz lehet eljutni a munka végeztével. Egyesek jobbak lesznek, mint mások. Gondolkodjunk egy kicsit azon, melyiket tartsuk meg. Nos, a legfontosabb, amit figyelembe kell vennünk, hogy minden csapatnak játszania kell minden csapattal, otthon is és idegenben is. Minden olyan választ elvetünk, amelyben nem ez történik. Amikor már több olyan lista van, amelyben ez a feltétel teljesült, mi az, amit meg szeretnénk tudni? Már említettünk két másik feltételt, amelyek ugyan nem lényegesek, de szintén szükség lehet rájuk: azt, hogy a csapatok otthon és idegenben váltakozó heteken játszanak, és hogy a csapatoknak minden héten legyen mérkőzésük. Ahhoz, hogy eldönthessük, melyik választ akarjuk, azt is el kell döntenünk, hogyan hasonlítsuk össze őket fontosság szempontjából.
Tételezzük fel, felkészültünk arra, hogy elmegyünk a húszdátumos korlátig a szezonban, így biztosítva, hogy az otthon és idegenben játszott meccsek jól el legyenek osztva. Még előnyösebb lenne azonban, ha egyenletesen tudnánk őket elosztani egy 18- vagy 19-hetes szezonban.
Van még olyan tényező, amelyet figyelembe kellene venni? Gondolhatunk pl. arra is, hogy milyen messze kell a csapatoknak utazniuk az idegenben játszott meccsekhez, vagy milyen sorrendben játszanak a múlt évi bajnoksági táblázat felső vagy alsó felének csapataival. Szükségünk van-e ebben a fázisban ezekre a tényekre vagy nem? Mindent egybevetve esetleg nem. Nézzük meg először, találunk-e olyan listát, amely megfelel a már megválasztott irányelveknek! Majd csak ha több ilyent találunk, gondolkodunk azon, érdemes-e bonyolultabbakat bevenni a megoldásunkba, hogy azután azok között választhassunk.

Útirány keresése
A példa, amit itt bemutatunk: hogyan juthatunk el Londonból Godminsterbe, képzeletbeli helységekkel útközben, mint pl. Camford vagy Little Wittering. A való életben hatalmas mennyiségű információt gyűjthetnénk adatbankba, amelynek a segítségével mondjuk egy utazási ügynökség tanácsot adhat a turistáknak annak eldöntésében, hogy hogyan jussanak el egyik helyről a másikra az országon keresztül utaztukban. Néhányan a turisták közül a leggyorsabb utat akarják, mások a legolcsóbbat, megint mások a leglátványosabbat, vagy pedig a leglátványosabbat, de csak akkor, ha nem túl drága, vagy a leggyorsabbat, feltéve, hogy nem kell repülni és így tovább. Mostani egyszerű példánkat arra készítettük, hogy - legalábbis elvben - bemutassuk, hogyan kell az ilyen útirány kereső-kijelölő segédlet készítése során felmerülő feladatok megoldását körüljárni.
Térjünk vissza annak megállapítására, mit is tudunk tulajdonképpeni feladatunkról, milyen lehetséges utak vannak! Milyen lehetséges szállítási formák vannak? Természetesen az általunk kiválasztott szállítási forma befolyásolja a rendelkezésre álló utakat is. Feltéve azonban, hogy csak három lehetőségünk van: repülőgép, vasút és autóbusz (vagy e három kombinációi), a következőkre juthatunk:

Útvonalszám
Útiköltség (Ft)
Idő (óra)
1. vonat Camfordon át
2. busz + vonat Camfordon át
3. vonat + busz Camfordon át
4. busz Camfordon át
5. repülőgép
6 busz Lillte Wittering
7 busz Lillte Wittering
80
120
110
200
1040
170
180
1.50
2.20
2.30
3.00
1.00
2.50
2.30

Íme néhány lehetséges utazás Godminsterig:

  1. vasúton Camfordig, majd vasúton Godminsterbe,
  2. buszon Camfordig, majd vasúton Godminsterbe,
  3. vasúton Camfordig, majd buszon Godminsterbe,
  4. buszon Camfordig, majd buszon Godminsterbe,
  5. repülőgépen Londonból Godminsterbe,
  6. buszon Londonból Little Witteringig a rövid, de unalmas autópályán, és onnan busszal Godminsterbe,
  7. buszon Littie Witteringen át Godminsterbe a lassú, de szép út vonalon.

A "legjobb" út attól függ, hogy mit keresünk. Számít-e az, hogy rövid vagy hosszú? Az a leginkább érdekes a számunkra, hogy olcsó vagy hogy gyors legyen az út? Van-e valami dolgunk útközben - pl. a normann templom megtekintése Little Wittering mellett?
Nyilván tudni akarjuk az út árát és azt is, hogy mennyi időt igényel. Az út hossza esetleg nem is olyan fontos.
Ezekre a feladatokra nincs egyetlen jó megoldás. Van azonban egy legjobb megoldás, attól függően, hogy mit is keresünk. Keressünk meg két "legjobb útirányt":

  1. A leggyorsabb utat, amely 200 Ft-ba vagy annál kevesebbe kerül.
  2. A legolcsóbb utat, amely nem igényel többet 2 és fél óránál.

Még hozzátehetjük, hogy ezek ugyan a legfontosabb dolgok; ha azonban két útvonal azonos értékű eredményt ad, akkor még előnyben részesítjük a vonattal utazást a busszal szemben, de legszívesebben repülőgéppel utaznánk.


A rés kitöltése
Eddig még csak eljutottunk; megvannak a tények és tudjuk, hogy milyen fajta választ keresünk. Most jön a következő lépés: ki kell tölteni a feladat és a válasz közötti rést!
Ne felejtsük el, még nem akarjuk bevonni a számítógépet! Még csak a feladatelemzés stádiumában vagyunk, és ki akarjuk találni, hogy mi is az. Ezután következik a feladat megoldása. Csak amikor már a megoldás végrehajtása következik, akkor gondolkodunk azon, hogy használunk-e egyáltalán számítógépet vagy sem. Most visszatérünk a felvetett két feladathoz, és megnézzük, mi van a résben!

A mérkőzések fordulói
Egyrészt megvannak a csapatok és a dátumok, másrészt azok a tulajdonságok, amelyekkel a mérkőzések fordulóit össze kívánjuk állítani.
Mi van a kettő között? Az a törekvés, hogy találjunk egy olyan fordulósorozatot, amely a lehető legjobban megfelel az általunk kitűzött irányelveknek. íme, itt a rés: a megoldás az az eljárás, ahogyan megtaláljuk a kívánt listát.

Útiránykeresés
Ennél a gyakorlatnál megvannak mind az útvonalak, mind az irányelveink ahhoz, hogy útirányt válasszunk. És mi van a kettő között? Az alternatívák ellenőrzésének feladata : meg kell néznünk, melyik illik a pénztárcánkhoz!

Bonyodalmak
Az említett módszereket alkalmazva elemeztük feladatainkat. Természetesen ezek meglehetősen egyszerű feladatok voltak, elemzésük sem volt túlságosan nehéz. A való életben sokkalta összetettebb feladatokat kell megoldanunk, nem csak olyanokat, amilyeneket a fejezet kezdetén a listánk élén találtunk (a sugárhajtómű ellenőrzése és hasonlók). De mi a helyzet, ha pl.

  • meg akarjuk jósolni egy új termék várható eladásait,
  • terveznünk kell egy kórházat,
  • meg kell oldani egy bűnüldözési feladatot?

Még az ilyen nehézségi fokon is sokat segíthet, ha azonos módon járunk el. A legcsüggesztőbb feladat is kezelhetővé válik, ha szisztematikusan vizsgáljuk a tényeket, a jellemzőket, amelyeket a választól is elvárunk, valamint a választ a kérdezőtől elválasztó nehézségeket. Ha úgy érezzük, hogy egyáltalán meg tudjuk ragadni a feladatot, sokat segíthet, ha részekre osztjuk, majd ezeket a részeket egyenként elemezzük. Később, a fejezet során még szólunk néhány olyan dologról, amelyekre az ilyen bonyolult elemzés elvégzéséhez szükségünk van.

A feladat megoldása
Be kell azonban látnunk, hogy a világ összes elemzése sem oldja meg ténylegesen magát a feladatot. El kell tehát jutnunk a következő stádiumhoz: meg kell találni a megoldást! Jusson eszünkbe, nem a válaszról beszélünk: csak a megoldásról, a válasz elérésének módjáról!

A logikai út és a mellékút

 

Mindenekelőtt különbséget kellene tennünk a feladatmegoldás két, teljesen eltérő módja között. Kezdjük a logikai megközelítéssel. Tudjuk, mit keresünk. Tudjuk, milyen változatok állnak rendelkezésünkre és a feladatot megoldhatjuk oly módon, hogy egymás után végignézzük ezeket, keresve, hogy hogyan felelnek meg céljainknak. Talán már el is döntöttük, hogy hogyan fogunk hozzá az irányító feladathoz. Kiszámítjuk, mennyi időt igényel egy-egy útvonal, mennyibe kerül, azután az egyes útvonalakat összevetjük egymással, hogy lássuk, melyik illik leginkább a pénztárcánkhoz.
Csak hét útvonalat adtunk meg, úgyhogy nem tarthat az egész túlságosan soká: nincs is értelme valami érdekesebb eljárással próbálkoznunk. Mi a helyzet azonban a mérkőzések fordulóinak listájával? Hány lehetséges mód van arra, hogy a csapatokat egyetlen mérkőzéslistába tömörítsük, és hogyan találjuk meg azt, amelyik megfelel az általunk felvázolt irányelveknek? Itt már változatok ezreivel találkozunk. Rögtön kiszűrhetünk néhányat, amelyek nyilvánvalóan nem engedelmeskednek szabályainknak - azokat pl., amelyek pontosan ugyanazokat a meccseket ütemezik hétről hétre. Hosszú időt tenne azonban ki, ha egymás után megvizsgálnánk minden lehetséges listát, miközben eldobnánk mindazokat, amelyek nem felelnek meg, és kilistáznánk a jókat.
Joggal kérdezheti az Olvasó, vajon nem éppen ez az, amire kitűnő a számítógép: egy halom információ átválogatására és azoknak a kihalászására, amire épp szükségünk van? Nos, igen, így van. Nézzük meg azonban, mennyi információt kell ebben az esetben átválogatni? Hányféleképpen lehetne a listát ténylegesen kialakítani úgy, hogy mondjuk minden héten minden csapatnak legyen egy meccse és minden csapat listázva legyen? Ez minden egyes héten 30 240 lehetőséggel járna.
Azután meg úgy kombinálhatnánk össze a heteket, hogy 18-, 19- vagy 20-hetes évadunk legyen. Ha csak egyedül a 18-hetes évadot vizsgáljuk (és lehet, hogy a megoldásunk nem is lesz ezek között), a lehetséges változatok millióit kapjuk. Ha most még figyelembe vesszük, hányféle módon kombinálhatjuk a heteket, hogy egy évadot tegyenek ki, a lehetőségek száma még tovább nő. Még a számítógépnek is nagyon hosszú idejébe kerülne, hogy egymás után valamennyi listát felvázolja és megvizsgálja, hogy lássa, közte van-e, amit keresünk; még akkor is, ha olyan óriási sebességekkel dolgozna, amilyenekről az előző fejezetben szóltunk.
Van talán egy könnyebb út is? Nos, már meg is találtuk; csináljunk csak néhány próbát, és rövidesen rájövünk, nem is olyan könnyű! A valóságban egyáltalán nem lesz teljes egészében logikus folyamat belőle. Kell, hogy valamilyen sejtésünk legyen a megfelelő módszerről, azután ellenőriznünk kell, hogy működik-e, és ha nem, akkor újból gondolkoznunk kell.
Más szavakkal visszatérünk a "hatodik érzékünkhöz", amit sokszor "laterális" (mellékutas) gondolkodásnak is nevezünk. Ez azt jelenti, hogy nem cammogunk végig logikai lépésről logikai lépésre, hanem ugrásokat teszünk, mintegy levágva a fordulókat. Ez korántsem valamiféle bűvös eljárás! Vannak nyomok, amelyek segítenek minket. Ebben az esetben valószínűleg mindnyájan ismerünk valamilyen egyszerű eljárást az információrendezésre, amivel nekivághatunk a munkának. Pl. úgy dönthetünk, hogy először az évad első felét vesszük, és egy meccset próbálunk ki és illesztünk minden csapatkombinációba az első tíz héten. Ezután a "tükörképet" használhatjuk az évad második felére. Ön pl. milyen más eljárásokat tudna kipróbálni?
Valójában a logikai és a mellékutas gondolkodás nem tér el teljesen egymástól; összefonódnak egymással. Ez a fajta példa - tehát, ahol néhány lehetséges változatot logikailag kezelünk, s közben egy másik módszert is keresünk, hogy nagy mennyiséggel tudjunk bánni - jól mutatja, hogyan lehet ezeket a módszereket egymáshoz illeszteni. Azt is megmutatja, hogy a számítógép nem válik feleslegessé a mellékutas gondolkodással. Sebessége és pontossága roppant hatékony eszközzé teszi a logikai gondolkodást, mégis, van azonban egy sor olyan helyzet, amelyben egyedül a logikai gondolkodás nem elegendő.

A mellékutas gondolkodásnak más módjai is léteznek, amelyek akkor válnak célszerűvé, amikor másfajta megoldandó feladatokkal találkozunk. Néhányat később még megvizsgálunk ebben a fejezetben.
Még megemlítünk néhány olyan módszert is, amelyben a számítógép csökkenti a kétféle gondolkodásmód együttes használatának szükségességét. Megoldhatjuk a mérkőzésfordulók összeállításának feladatát oly módon is, hogy "kölcsönvesszük" a megoldást - esetleg olyan számítógépprogram formájában, amelyet valaki más már megírt hasonló feladatok megoldására. Nem fontos, hogy az a futballfordulók feladata legyen; lehet egy teniszklub körmérkőzéses versenye, vagy menetrend egy tudományos eredmények rendezésének a módszere. Nem a futball jelenti a lényegi részt, amikor a feladatmegoldásra sor kerül, hanem a tartalom. Amire szükségünk van, az egy hasonló megoldás, még ha maga a kontextus, a belső összefüggésrendszer más is.
Ilyenre akkor fogunk lelni, ha hozzá vagyunk szokva, hogy szétválasszuk egymástól a tartalmat és a kontextust - vagyis a feladat általános típusát azoktól a belső részletektől, amelyek a feladatban speciálisak és azt egyedivé teszik. Esetünkben a feladat éppen azt igényli, hogy vessük fel és ellenőrizzük a lehetséges változatokat, mert ez ahhoz túl sok, hogy valamennyit kidolgozzuk és egyenként menjünk végig rajtuk. Ugyanezt a tartalmat fogjuk végigjárni ettől nagyon eltérő kontextusú feladatokban és megoldásokban.


A logika kialakítása

Mielőtt a megoldások nyitjával és trükkjeivel foglalkoznánk, amelyek a mellékutas gondolkodásban segítenek bennünk, először megvizsgáljuk, hogyan lehet a feladatokat logikai úton megoldani. Ehhez most bevezetjük a folyamatábrák fogalmát.
Néhányan úgy vélik, hogy a folyamatábra valami különleges, a számítástechnikához tartozó dolog. Pedig nem. Önmagában semmi köze sincs a folyamatábráknak a számítógépes programozáshoz, mivel ez egyszerűen egy olyan módszer, amellyel térképet készíthetünk a megoldás menetéről: logikusan, lépésről-lépésre kitervelve, hogy hogyan kellene azt végrehajtani. Sokféle konvenciót, megállapodásos jelölést használnak a folyamatábrák rajzolásához, azonban mi itt egy erősen leegyszerűsített változatot alkalmazunk. Íme:

  • a kezdőlépés (start) jelölése: fekvő ellipszis,
  • a következő végrehajtandó utasítás jelölése: téglalap,
  • az elágazás azt mutatja, hogy különböző irányokban mehetünk, attól függően, mit mutatnak az irányjelzők. Ezeket döntési pontoknak is tekinthetjük. A jelölésük: fekvő hatszög, vagy rombusz,
  • a befejezésnek (állj) ugyanaz a jelölése, mint a kezdésnek: fekvő ellipszis, vagy kör

Ezeket az ábraalakokat utak kötik össze, amelyeken nyilak mutatják, hogy milyen irányban kell rajtuk haladnunk. Néha még irányjelzők is találhatók rajtuk, amelyek többnyire "igen" vagy "nem" választ adnak kérdésekre. Az egész érthetőbbé válik, ha veszünk egy feladatot és felrajzoljuk megoldásának folyamatábráját. Az előbbiekben elemzett két feladat helyett vegyünk egy nagyon egyszerű példát: a zongora hangolását. Hogyan kell egy zongorát hangolni? Valahogy így:

Ez egészen egyszerű! De mégis, mielőtt továbbmennénk, nézzük meg alaposabban, és bizonyosodjunk meg róla, hogy megértettük az egészet. Bár a startnál kezdjük és álíjnál fejezzük be, láthatjuk, egyáltalán nem biztos, hogy minden utat végigjárunk csak azokon megyünk végig, amelyekre szükségünk van. De az is lehet, hogy némelyiken többször is végighaladunk. A közbeiktatott "hurkok" visszajuttathatnak, úgy, hogy a vizsgáló és beállító műveleteket szükség szerint többször is elvégezhetjük. A hurkok nagyon fontos elvet jelentenek mind a folyamatábrák rajzolásában, mind a számítógépek programozásában. Igen fontos, hogy megbizonyosodjunk róla, van-e kilépő út ezekből a hurkokból, nehogy vég nélkül bolyongjunk majd körbe-körbe valamelyik hurok mentén. Hogyan is lehet ebből kilépni?
Ezzel most megismerkedtünk a gondolattal, hogyan is járjunk el a Londonból Godminsterbe való utazás feladatában. Az Olvasó is kezdjen neki, vázolja fel az első "legjobb út" megkeresésének módját, amely esetünkben az a leggyorsabb út volt, amely 200 Ft-nál kevesebbe kerül. És ha már elkészült ez a folyamatábra, a kedves Olvasó végezze el fejben a műveleteket, hogy lássa, vajon működik-e az ábrája.
Mi is megrajzoltuk a saját változatunkat a következő oldalon. Egyáltalán nem szükséges, hogy az Ön ábrája pontosan megegyezzen a mienkével ahhoz, hogy helyes legyen. A feladat megoldásának több helyes módja is van - a legfontosabb, hogy megbizonyosodjék: működik-e egyáltalán. Nem hagyott-e ki valamit? Ki lehet-e lépni az összes, ön által használt hurokból? Ha már bizonyos benne, hogy minden rendben van, akkor elkezdhet azon gondolkodni, hogy nem járhatott volna-e el egyszerűbben vagy könnyebben. Hasonló módszert lehet használni sok hasonló feladathoz is, így pl. a legolcsóbb útnak a megtalálásához, amely esetünkben 2 és fél óránál is rövidebb.


A lehetőségek kimerítése

Joggal érezheti úgy az Olvasó, hogy a folyamatábra talán túlságosan is bonyolult egy ilyen egyszerű feladathoz képest, azonban semmit sem tettünk ahhoz hozzá, amit ne leltünk volna fel az eredeti feladatban, amikor elemeztük. Ez is mutatja, hogyha jól megrágjuk, rájövünk, hogy még a legegyszerűbb feladatban is sokkal több nehézség van, mint azt első látásra képzelnénk. Még akkor is, amikor egyszerűen nézzük a térképet és fejben vagy egy szeletke papíron számolgatunk anélkül, hogy tudatosulna bennünk, végigmentünk az említett lépéseken. Az 1. fejezetben már rámutattunk arra, hogy a számítógép milyen ostoba. Semmit sem tud magától elvégezni, és Önnek, a programozónak kell még a legegyszerűbb dologra is részletesen kitanítania. És ahhoz, hogy pontosan tanítsa be, valóban ennyire kimerítő részletességgel kell ezt megtennie! Elképzelhetjük, hogy milyen lehet egy valóban komplikált feladat folyamatábrája!
Mindamellett nem ez az egyetlen, amelyben kimerítően részletezőnek kell lenni a feladatmegoldásban. Csak akkor kapunk pontos választ, ha a helyes kérdést tesszük fel; még mielőtt nekiállnánk megrajzolni a folyamatábrát, meg kell bizonyosodnunk arról, hogy minden lehetséges megoldást figyelembe vettünk-e? A példa kedvéért hétre csökkentettük a lehetséges útirányok számát Londontól Godminsterig, de figyelembe vettük-e vajon, hogy esetleg egyikükre sem fogja futni a pénzünkből? A való életben nem lehet ennyire csökkenteni a lehetőségeket, amíg mindent fel nem tártunk. Mi van pl. akkor, ha a legvonzóbb utazás Godminsterig kishajóval tehető meg egy csatornán? Ezt a lehetőséget még figyelembe se vettük!
Most már láthattuk, mennyi munkát jelent még egy igen egyszerű feladat megoldása is, így már könnyebben érthető kell hogy legyen számunkra az, hogy mennyi munkát fecsérelnénk el, ha nem elemezzük elég alaposan a feladatot minden szempontból, még mielőtt a megoldásra gondolnánk.
Adatok és utasítások

Talán már feltűnt, hogy amikor megrajzoltuk az útkeresés folyamatábráját, magukról az utakról semmilyen részletet nem tettünk bele. Még azt sem mondtuk meg, hogy hét útról van szó. Ugyanazt a folyamatábrát használhatnánk akkor is, ha 100 vagy akár 1000 irányunk lenne. Ahhoz, hogy megérthessük, miért jártunk el így, nagyon fontos megkülönböztetést kell bevezetnünk: az utasítások és az adatok közötti különbséget. Mik ezek? Nagyjából a következőket mondhatjuk:

  • Az utasítások azok a tevékenységek, amelyeket magunk teszünk, vagy azt akarjuk, hogy a számítógép csinálja.
  • Az adatok azok, amelyeken az utasításokat (műveleteket) végzik.

Tehát ebben az esetben az utasítás a folyamatábra, az adatok pedig azok a tények, amelyeket az útvonalakkal kapcsolatosan találtunk ki. Lényegében ugyanez igaz a zongorahangolási példában is: itt az utasítások szintén a folyamatábrában vannak, míg az adatok a különböző hangmagasságok, amelyek jók vagy rosszak.
Sajnos az egész nem ilyen egyszerű, mert ami az egyik pillanatban utasítás, a másikban adat is lehet. Vegyünk egy közvetlen példát. Felvettünk egy költségkorlátot - "200 Ft vagy annál kevesebb" - a folyamatábránkba. Ugyanezt ehelyett az "adat" részbe is felvehettük volna. Ekkor utasításaink, ahelyett, hogy azt mondták: "a költség csak 200 Ft vagy kevesebb?", így szóltak volna: "keresd meg azt a maximumot, amit az utas hajlandó még fizetni. A költség ennél kevesebb?" Láthatjuk, hogy ez igen hasznos finomítást jelenthet ott, ahol a feladatot pl. egy utazási ügynök kell hogy megoldja, akinek egy csomó ügyfele van, és mindegyiknek mások a pénzügyi lehetőségei. Tehát folyamatábránkat úgy is módosíthatjuk, hogy lehetővé tegye ezt az új utasítást. Figyeljük meg az új ábraalakot, amely azt jelenti: "adj be adatot ezen a ponton". A módosítás természetesen hosszabbá tette a folyamatábrát. Mindez általánosságban igaz az utasításokra, akár folyamatábrák, számítógépes programok vagy bármi egyéb formában jelennek is meg. "Igazítsuk őket méretre" úgy, hogy pontosan illeszkedjenek a feladatba és akkor rövidek és egyszerűek lesznek. Ha "konfekcionáljuk" őket, akkor egy kicsit hosszabbak lesznek, azonban ez a többletút kifizetődik, ha ugyanaz a megoldás sokféle különböző feladatra alkalmazható. Meglehetősen hasonlít mindez a tartalom és kontextus korábban tett megkülönböztetéséhez: ahogyan egyre több "kontextust" emelünk ki a megoldásból, a megmaradó univerzális "tartalom" egyre több esetre felhasználható.

 

A gyerekek szorzótáblája

 

Nézzünk meg egy feladatot, és erre is vizsgáljuk meg az utasítások és adatok kérdését. Legyen a feladat az, hogyan ellenőrizzük a gyerekek szorzótábla-ismeretét. Valahol abba kell majd hagyjuk az ellenőrzést, ezért az 1 x 2 és a 12 x 12 közötti tartományt nézzük. Kérdéseket kell feltennünk ebből a tartományból, és válaszokat kell ellenőriznünk, hogy helyesek-e, miközben a gyereknek további lehetőséget adunk, ha hibázott.
Szükségünk van egy olyan módszerre, amely a kérdéseket elkészíti és a válaszokat ellenőrzi, majd felteszi az adott kérdést - mondjuk, mennyi 6 x 8? -,fogadja a gyerek feleletét és "helyes", vagy "rossz, próbáld újból" választ ad vissza. Három rossz találgatás után meg kell tudjuk adni a helyes választ, és azután legyen lehetőségünk a következő kérdés feltevésére is.

 

A megoldás

Meg tudjuk ezt logikai úton oldani? Igen. A lehetséges kérdések száma a szorzótáblában elég szerény (144, hogy pontosak legyünk), és mód kell hogy legyen a közvetlen logikai megoldás végrehajtására is. Tehát készítsük el a folyamatábrát! Melyek az utasítások? Egyszerűen azok, amelyeket a folyamatábrán feltüntettünk. De mik az egyes adatok? A gyerek által adott feleletek bizonyosan adatok. Vannak e mellett más adatok is? Mi a helyzet két másik információrésszel - a számokkal, amelyeket az induláskor megadunk és a helyes válaszokkal?
Való igaz, mindez nagymértékben függ attól, hogy hogyan hajtjuk végre a megoldást. Mit értünk ez alatt? Nos, tételezzük föl, hogy mindezt számítógép nélkül végezzük. Kockadobásokkal állítjuk elő a véletlenszerű számokat, és előre leírt szorzótáblán ellenőrizzük a feleleteket. Egyetértünk abban, hogy a számok a kockán és a táblázatban nem utasítások, hanem adatok?
Ha azonban a megoldást számítógépre programozzuk, egészen más módon kapjuk ezeket a számokat és ellenőrizhetjük a feleleteket. Egyes számítógépek tudnak véletlenszámokat előállítani, és egyszerűen utasíthatjuk az ilyen számítógépet, hogy vegyen elő két "véletlen" számot. Minden digitális számítógép tud szorozni, tehát, amikor a helyes felelet megtalálására kerül sor, egyszerűen utasítjuk a számítógépet, hogy szorozza össze egymással a két számot. Mik is-ezek a számok? Utasítások vagy adatok?
Nem olyan egyszerű a dolog, ahogy látszik. Általában számítógépprogram esetén utasításoknak nevezzük mindazt, ami ténylegesen be van írva a programba, és adatnak az információt, amelyet a számítógépnek a programon túlmenően kell megkapnia annak végrehajtása vagy lefuttatása során. Akkor, amikor a számítógép a helyes választ keresi, nem kap kívülről információt, tehát utasításokat hajt végre. Mi van akkor, amikor számokat állít elő? Ha a véletlen számokat maga kelti és ehhez programozott utasításai vannak (csak annyit kell mondanunk a számítógépnek "hozz létre egy tetszőleges számot 1 és 12 között"), akkor ez az utasítás egyúttal adat is. Ha viszont pl. egy számokból álló listát vinnénk a számítógépbe, és arra kérnénk, hogy szaladjon végig a listán és tegye fel egyik kérdést a másik után, akkor a számokat adatoknak tekintjük. A 4. fejezetben ezekkel még foglalkozunk (és rámutatunk egy fontos kivételre).

A megoldás kivitelezése
Bár már végigmentünk a feladatunkon, lépésről lépésre megoldva azt - az elemzéstől kezdve a megoldásig és még hátra van a megoldás végrehajtása -, jól láthatjuk, hogy mindez nem is olyan egyszerű! Mindig végig kell gondolnunk, hogy miből indultunk ki, és végül mit akarunk. pl.:

  1. Amikor már az összefüggéseket megtaláltuk, előre meg kell fontolnunk, hogy milyen fajta választ várunk.
  2. Amikor eldöntjük, hogy milyen fajta választ akarunk, ismernünk kell, hogy a feladat megoldása mennyire lesz nehéz.
  3. Amikor már tudjuk a feladatmegoldást, át kell gondolni, hogy hogyan fogjuk azt végrehajtani.

A legutóbbi folyamatábránk szerint a megoldás még nem teljes. Ez azért van, mert az adatforrások megfelelő helyen való beiktatása előtt el kell döntenünk, hogy számítógéppel vagy anélkül akarjuk-e elvégezni a megoldást. Vagyis még mielőtt listába tennénk az utasításokat a folyamatábrán, tudnunk kell, hogy hogyan hajtjuk végre a megoldást.
Miért? Nos, vegyük pl. a "hozz létre egy véletlenszámot" utasítást. Ha nekilátunk a megoldás kivitelezéséhez - az utasítások megírásához -, tudnunk kell, hogy a számítógépünknek van-e véletlenszám-előállító egysége? Ha nincs, akkor részletesebb utasításokat kell adnunk: pl. vagy pontosan megmondjuk a számítógépnek, hogyan kell véletlenszámot létrehozni, vagy egy számokból álló listát adunk be neki, hogy azon menjen végig, ahogy az előbbiekben javasoltuk.
A folyamatábrán való végighaladás menete szorosan összefügg a számítógépprogramon való mozgás menetével. A számítógép, éppúgy mint mi a folyamatábrán, "hurokban" vissza tud menni, ha a program utasításai olyanok, vagy egyik vagy másik útvonalon az adott eredménytől függően "el tud ágazni". Ha a számítógépünk olyan rendszerű, hogy ezen tulajdonságai nincsenek, akkor a folyamatábra elkészítésekor más módot kell kigondolnunk az utasítások megvalósításához.
Valójában azt, hogy milyen eszközt fogunk használni a megoldás kivitelezéséhez, inkább a megoldás, mint a kivitelezés alapján kell eldöntenünk.


A számítógép kiválasztása

Ebben a fejezetben a példáink eléggé egyszerűek, mert azt akartuk, hogy könnyen meg lehessen érteni őket. Emiatt viszont néhányuk olyan egyszerűre sikerült, hogy számítógép nélkül is megoldhatók. Minek bajlódnánk számítógép alkalmazásával a szorzótábla ellenőrzéséhez, amikor magunkban is feltehetjük a kérdéseket és ellenőrizhetjük a válaszokat? Én magam is könnyen megfelelek tesztelőként! - mondhatják sokan. A számítógép azonban automatikusan nyilvántartást tud vezetni, amit az emberek általában nem tesznek. Nézzük most példáinkat ilyen szempontból, mik az előnyei a számítógép használatának!

Útkeresés: rendezés és válogatás
Nem volt különösen nehéz kikeresni számítógép nélkül a legjobbat, ha utunkhoz csupán csak hét útvonalat adtunk meg és csak néhány egyszerű feltételt írtunk elő. De mi lenne, ha minden lehetséges útra vizsgálatot végeznénk (erre az életben sokszor szükség is lehet), és azt találnánk, hogy az egymással különböző módon összekapcsolódó és kombinálódó fajták - közút, vasút és légi út - kiválasztása. lehetőségek tucatjait adja? Mi van akkor, ha a különböző utakról még sok minden olyan ismeretünk is van, amelyek mind befolyásolhatják a választásunkat? Rögtön rendkívül nehéz a feladaton átrágni magunkat és kitalálni, hogy melyik út felelne meg legjobban nekünk. Mi van akkor, ha olyan kívánalmaink lennének, amilyen egyik útnak nincs meg? Pl. esetleg olyan utat kívánnánk, amely két óránál rövidebb ideig tart és kevesebbe kerül 50 Ft-nál. Le kellene ellenőriznünk az összes utat a listában, és megállapítanánk, hogy egyik út sem felel meg a kívánalmaknak. Ekkor azt kellene eldöntenünk, hogy 50 Ft-ért milyen gyorsan juthatnánk el oda? Vagy mennyibe kerülne, ha csak két óránk van az utazásra? Gondoljunk ki mindig valami újat, és a számítógép még mindig helytáll, udvariasan válaszolgat és sosem hibázik a fontos dolgokban (mert az ember már úgy kimerülne, hogy a válaszai sem lennének helyesek).
Mivel a számítógép nagy sebességgel dolgozik és rengeteg lehetőség közül választ, igen jó szakértő az információk osztályozásában, különböző kritériumoknak megfelelő példa vagy példák megtalálásában, itt pl. a következők kiválasztására gondolunk: utak, nevek, címek (mondjuk válogassa ki egy adott bizottság összes tagját valamilyen klub vagy testület címlistájából), hotelek, éttermek, kirándulások (Ibizára akarunk utazni - de Kréta is megfelelne). Igazán csak az a fontos, hogy 20000 Ft-nál többet nem engedhetünk meg magunknak, és két egyágyas szobára van szükségünk; szeretnénk könnyűbúvárkodni; gondolja, hogy mindezt esetleg olcsóbban megkaphatnánk Korzikán?; esetleg elhagyhatnánk a két egyágyas szobát, ha ezzel 1000 Ft-ot spórolhatnánk stb. Ha már megvan az információ, a számítógép gyorsan végigpróbálgatná a feltételeket, anélkül hogy egyszer is elvesztené a türelmét. Mindehhez azonban fel kell tételeznünk, hogy a számítógépet helyesen programozták.

A mérkőzések fordulóinak listája, avagy a nehézségek leküzdése
Ha már valaki is megpróbált Önök közül erre a feladatra folyamatábrát rajzolni anélkül, hogy szakértő matematikus lenne vagy logikával foglalkozna, valószínű, hogy félig bele is őrült az egészbe. Próbáljon csak, kedves Olvasó, egyedül felvázolni egy mérkőzéslistát, és az első öt óra után még mindig sehol sem tartana. Még akkor sem, ha nem törődne azzal, hogy a hazai és idegenben játszott mérkőzésekről van-e szó, hanem csak simán az összes mérkőzésről akarna listát készíteni.
Meg tudjuk-e ezt csinálni számítógépen? Igen, természetesen, persze nem azzal a programmal, amit feltehetően Ön e könyv tanulmányozása után fog megcsinálni, hanem egy erre a feladatra megírt programmal, amelyet szakemberek készítettek. Önnek ezt a programot csak meg kell vennie vagy esetleg módosíthat egyet.



A szorzótáblát játékos formában gyakoroltató program, otthoni használatra tervezett olcsó mikroszámítógépen

A szorzótábla, avagy a türelmes tanítás
Bizonyos, hogy magunk is órákig ülhetünk és kérdésekkel áraszthatunk el egy gyereket. Azonban ehhez természetesen személyesen ott kell lennünk. Állandóan koncentrálnunk kell és jaj nekünk, ha mi adunk rossz választ!
A számítógép sohasem fárad el, amellett mindig kéznél van és mindig pontos választ ad. Még akkor is udvarias, ha a válaszok elég buták. És amellett jó szórakozás használni... ! Egy darabig! Persze az itt leírt egyszerű program nem több egyszerű tesztnél. Valójában nem tud tanítani, nem tudja elemezni, miért kapott rossz választ, és nem tud rávezetni a helyes válaszra. Viszont ennél jóval bonyolultabb, "eszesebb" program már nagyobbrészt ezeket a feladatokat is el tudja látni.

Zongorahangolás, avagy a türelmes tanítás
Meglehetősen jó képzelőerő és csavaros észjárás kell ahhoz, hogy a számítógépet zongorahangolási eszközként képzeljük el. Ui. nagyon könnyen esünk abba a hibába, hogy eddigi ismereteink alapján csak egyetlen módon való megoldást lássunk, ezért igen komoly szemléletváltoztatásra van szükségünk ahhoz, hogy a dolgokat más módon lássuk, mint ahogy megszoktuk. Pl. ha kicsit utánagondolunk, rájövünk arra, hogy a számítógép akár zongorahangolásra is használható.
Ha elszakadunk a zongorahangolással kapcsolatos élményképeinktől és csak a művelet tartalmát tekintjük, a feladat megszűnik tisztán zenei feladat lenni. A feladat leegyszerűsíthető mérésre és beállításra. Az 1. fejezetben már említettük, hogy az érzékelők szerepelhetnek bemeneti egységként, a beavatkozók pedig tevékenykedhetnek kimeneti egységként, ily módon adva a számítógépnek egy olyan képességet, hogy mérjen és beavatkozzon, ha szükséges.

Az elektronikus zongorahangoló
Egy tanító, aki Bury St Edmundsban lakik, írt a BBC-nek, hogy látta a mikroelektronikáról szóló sorozatát, és mivel a feleségével együtt régóta kerestek zongorahangolót a környéken, az az ötlete támadt, hogy kellene egy elektronikus zongorahangolót csinálni, amely méretében, alakjában leginkább a villamos fúrógéphez hasonlítana. Ezt be lehetne illeszteni a zongorát hangoló peckek négyszögletes végébe. Mikrofonnal fel lehetne venni a húr pengetésével keletkező hangot, és a számítógép összehasonlítaná a felhangzó hangot a tárában feljegyzett frekvenciával. Ha a hang túl mély, utasítaná a motorját, hogy feszítse meg a húrt; ha viszont túl magas, akkor a hangolópecek ellenkező irányba forgatásával lazítsa ki.

Egy jelenleg futó tévé-sorozatban ("A mikrók kezelése") Bill Davies, a Brightoni Műszaki Főiskola tanára elkészítette egy ilyen rendszer makettjét, és be is mutatta, hogy az - legalábbis elvben - működőképes. Nyilvánvaló, hogy a gyakorlatban megvalósított zongorahangoló berendezésnek igen erősnek és rendkívül érzékenynek kell lennie. Emellett sok hangot kell benne tárolni, és saját billentyűzettel kell ellátni, amellyel a felhasználó beadhatja a hangolandó hangjegy nevét.
A profi zongorahangolók azt állítják, hogy ez a munka nagyon kényes feladat, és kétlik, vajon elég jó lehet-e egy ilyenfajta berendezés. De azért mégis érdekes eljátszani a gondolattal, hogy egy napon elég okos lesz ez a számítógép ahhoz, hogy legyőzze az embert!

 

Az X-faktor, azaz a helyes megoldás eltalálása
A zongorahangolási példa valószínűtlensége miatt ugyancsak "csavaros észjárást" igényel, és odafigyelést a nem nyilvánvaló megoldásmódokon. Kézenfekvő, hogy nemcsak a feladat megoldási módszerének kiválasztása, hanem eszközeinek megválogatása is fontos.
Vizsgáljuk meg röviden, hogy mi korlátozza gondolkodásmódunkat, és nézzünk meg néhány trükköt, amelyekkel ezeket a korlátozásokat feloldhatjuk és új lehetőségeket fedezhetünk fel.


A profi közelítésmód
Mindnyájunknak más és más a hozzáállása és az észjárása munka közben, ez az elmélet és a gyakorlat keverékeként jön létre. Képzeljük el, hogy megkérnénk egy matematikust, egy gépészmérnököt és egy háziasszonyt, hogy tervezzen egy ideális házat? Mennyire térnének el a megoldásaik?
Valószínűleg mindnyájan egyetértenek Önök közül abban, hogy e tervezők mindegyike túlhangsúlyozná a tervének valamelyik jellemzőjét és elhanyagolna másokat. A háziasszony a ház tervezése során főként azt venné figyelembe, hogy kellemes legyen benne lakni, azonban feltehetően nem sokat törődne a vízvezetékcsövek elhelyezésével. A matematikus viszont gondot fordítana a szobák arányaira, azonban talán észre sem venné, hogy a konyha és az ebédlő az épületnek éppen az ellentétes végeiben helyezkedik el. Lehet, hogy a gépészmérnök olyan házat tervezne, amely műszaki szempontból tökéletesen működne, az egész ház épületgépészeti szempontból jól megalapozott lenne, viszont nem lenne szép.
Természetesen teljes mértékben fel kell használnunk mindazt a tapasztalatot, amelyet a feladat megoldásban már megszereztünk. Ugyanakkor legyünk elővigyázatosak, nehogy túl nagy hangsúlyt adjunk az ismerős szempontoknak, közben szem elől tévesztve más, lényeges megfontolásokat. Ha pl. mondjuk, megkérdeznénk egy zenészt, hogy keressen egy új zongorahangolási módszert, vajon neki a számítógép alkalmazása jutna eszébe?

A kontextus kiküszöbölése
Már említettük a tartalom és a feladatkörnyezet (a kontextus) közötti különbséget és azt is, hogy a feladat környezete hogyan tudja leárnyékolni a tartalmát. Például amikor a mérkőzéslista-feladatot oldjuk meg, nem lesz segítségünkre, ha valamelyik futballcsapat irányítási feladatából akarunk kiindulni. Ehelyett valami egészen más feladattal kell összehasonlítanunk, amelyek adatoknak valamilyen különleges módon való rendezésével függnek össze.
A kezdéshez igen hasznos módszer lehet, ha újrafogalmazzuk a feladatot, vagy akár csak egyetlen szót benne. Mondjuk, tételezzük föl, feladatunk az, hová helyezzünk el egy kádat. Miért nem szabadulhatnánk meg mindörökre a "kád" szótól és helyettesítenénk azt a "tartály" szóval? Ez ugyan nem pontosan ugyanazt jelenti, de hát egy kád - más egyebek között - tartálynak is tekinthető. Az alternatív szó alkalmazásával gondolatainkat talán kevésbé nyilvánvaló utakra terelhetjük. Pl. vízen kívül akarunk-e mást is tenni a kádba (Szenet?, A szennyes ruhát?, A gyerekek gumikacsáját?, Növényeket?)? Honnan jön a víz, amely megtölti a kádat? Vagy próbálkozzunk a "mosdás" szóval - és gondoljuk meg, valóban kádra van-e szükségünk? Mi a helyzet a zuhannyal? Ülőkáddal? Hogyan illeszkedik a kád a többi mosdószerelvényhez? És folytathatnánk így tovább.

 


Valószínűtlen asszociációk
Egy másik trükk, amivel ebbe az irányba egy kissé messzebb juthatunk az, ha egy, az első pillantásra oda nem illő szót vetünk fel, és megnézzük, hogy alkalmas-e feladatunkhoz. Pl. vegyük egy áruház raktárkészletét és a "nap" szót. Nem éppen nyilvánvaló a kapcsolat közöttük, azonban ha jól elgondolkozunk rajta, eszünkbe juthat, hogy mondjuk milyen gyakran kell egy ilyen raktárban összeadni az eladásokat és újraszámítani a készletigényeket? Megfelelő időszakasz-e ehhez egy nap? Gyakrabban kell ezeket a feladatokat elvégezni, mint egy nap? Folytonosan végezhetjük-e ezt elektronikus eszközökkel? És egyszeriben a heti leltárvizsgálat aprólékos munkája egészen más megvilágításba kerül.
Ha a megoldásra kitaláltunk valamit, akkor már nagyon sokszor nehéz attól elszakadnunk feladatunk közelítésében. Bármilyen módon is vizsgáljuk a feladatot, még ha látjuk is, hogy ez az út sehová sem vezet, nehéz adott látószögünkön változtatni. Az asszociatív eljárásoknak éppen az a céljuk, hogy ezt az ördögi kört áttörjék. Ez olyan, mint mondjuk a munkába járás. Napról napra ugyanazt az utat járjuk be, minden gondolkodás nélkül. Aztán egyik reggel először el kell mennünk a fogorvoshoz, és ekkor már át kell gondolnunk, hogy hogyan jutunk el a fogorvos rendelőjéből a munkahelyünkre. És hirtelen rájövünk arra, hogy éveken át olyan úton mentünk, amelyiknél van rövidebb út is. Az alternatíva ott volt ugyan a szemünk előtt, azonban nem tudtuk magunk számára észrevehetővé tenni.

Mi a helyzet a számítógéppel?
Az asszociatív módszernél szinte kínálja magát a megállapítás, kiszúrja a szemünket: ez a számítógép. Ha most még nincsen számítógépünk, nehezen tudjuk talán elképzelni, pontosan mire is tudnánk használni. Nem mi készítjük a focibajnokság fordulóinak menetrendjét, gyerekeink már kinőtték a szorzótáblát, és nem is tudunk zongorázni. Nem mondhatjuk tehát, hogy olyan sokszor eszünkbe jutott volna: "De jó szolgálatot tenne most egy számítógép ennek a feladatnak a megoldásában."
Talán mégis fel tudunk idézni olyan eseteket, amikor olyan új eszközt vásároltunk - esetleg egy mélyhűtőt vagy villamos fúrót -, amit nem szoktunk túl gyakran használni. Azonban amikor már megvettük, egyszerre csak észrevettük, hogy milyen sok mindenre tudnánk használni őket. És minél gyakrabban használjuk őket, annál inkább úgy érezzük, igen nagy szükség van rájuk, sőt egy idő múlva már el sem tudnánk képzelni, hogyan voltunk meg nélkülük.
Ez egyáltalán nem meglepő - az asszociációnak ugyanaz a fajtája zajlott le bennünk. A készülék esetleg már ott járt az eszünkben, és amikor a napi élet feladataiba ütköztünk (Mit fogok főzni? Hová fogom akasztani ezt a képet?), a gondolat, hogy szükség van rá, a feladat megjelenésekor tudatosult.
A jövőben a tervezők, a mérnökök, a menedzserek és a háziasszonyok olyan sokoldalú eszköznek fogják tekinteni a számítógépet, amelyet egész sor feladathoz tudnak majd használni. A számítógépes forradalomnak még csak a kezdeti szakaszában vagyunk, és bár sok minden igen gyorsan változik, a kisszámítógépek alkalmazása még korlátozott a jó programok (szoftver), valamint a megfelelő fajta érzékelők és beavatkozók (hardver) hiánya miatt, amelyek a megkívánt feladatok végrehajtásához szükségesek. Végül, még egyszer meg akarjuk erősíteni azokat a szempontokat, amelyeket e fejezetben tettünk a feladatmegoldásról. Nézzük erre a következő feladatot!


Az üvegházzal kapcsolatos feladatok
Milyen feladatok lehetnek egy üvegházzal kapcsolatosan? Először is néhány dolgot ismernünk kell a növényházról: tudnunk kell, milyen növényeket termesztenek benne és azok milyen körülményeket kedvelnek, mekkora meleget igényelnek vagy mekkora hideget viselnek el, mennyi a vízigényük stb. A feladatunk annak a módszernek a megtalálása, hogy hogyan kell ezeknek a különböző tényezőknek az ellenőrzését elvégezni, amikor nem vagyunk a közelben és nem tudjuk magunk megtenni. Itt a rés a módszer megtalálása.
Koncentráltan kell gondolkodnunk ahhoz, hogy áthidalhassuk azt a rést, amely a feladat és a megoldás között van. Hogyan kezdjünk hozzá? Nos, visszaemlékezve, hogy mit mondtunk a tartalomról és a kontextusról, nyilván Önök is rájöttek arra, hogy a növényház vezérlési megoldása nem a "növényi", hanem számítástechnikai probléma. Arról, hogy figyelembe kell vennünk a növény számára optimális hőmérsékleti, páratartalmi, fényviszonyokat stb. és e tényezők közötti kapcsolatot áttekintve kell megoldani vezérlésüket.
Az előzőkből láttuk, hogy a számítógép képes arra, hogy bonyolult vezérlési tevékenységeket oldjon meg. Vajon most is segít?
Alapjában véve a válasz: igen. A számítógép ugyanis nem tudja eldönteni, hogy melyik hőmérséklet a legjobb a növénykultúrák számára, vagy mennyi tápanyagot igényelnek - azonban ügyes "üzeneteket" küld a részletekről, ha előzőleg a megfelelő adatokat már közöltük vele. Tehát ha előzőleg megmondjuk, hogy milyen hőmérsékletet és tápanyagot stb.-t akarunk, akkor a számítógép már bizonyosan el tudja végezni a feladatot, oly módon, hogy az általunk kiválasztott tartományban tartja őket.
Milyen be- és kimenő adatok szükségesek ehhez? Érzékelőket és beavatkozókat kell használni, hasonlókat, olyanokat, mint amilyenek a sugárhajtású gépek motorjait ellenőrzik és vezérlik? Az érzékelők mérik a hőmérsékletet, vizsgálják a talajviszonyokat és azután ezeket a mérési eredményeket beviszik a processzorba (l. később). A processzor összehasonlítja a méréseket a hőmérsékleti, talajsavassági és más megadott határértékekkel, és ha nem egyeznek, közli a beavatkozószervvel, hogy hozza működésbe azt a berendezést, amely a fűtőberendezést, a szellőzőket, a szivattyút stb. a kívánt állapotba hozza.
Nézzük, előnyösebb-e a számítógépet használni az üvegházi viszonyok szabályozásához, mint mondjuk a hagyományosabb termosztátot! Ehhez vizsgáljuk meg a fűtés bekapcsolását hajnalhasadtakor! Amint a nap felkel, a növényi fotoszintézis megindul, így ahhoz, hogy maximális fotoszintézist érjünk el, a hőmérsékletet emelni kell, mintegy elővetítve a napkeltét. A sötétség idején elegendő a hőmérsékletet akkora értéken tartani, hogy ne fagyjon meg a növény. Ezért az ideális szabályozó tudja, mikor kezd pitymallani az év egyes napjain, és a fűtést mintegy fél órával előtte bekapcsolja. Ez igen triviális feladat a számítógép-programozó számára, és csak egyike azoknak, amellyel jelentős energiafelhasználás esetén jobb termés érhető el. Természetesen ugyanannyira fontos, hogy meleg időben a hűtést biztosítsák, ezért ventillátorvezérlő motort kell használni és a rendszer többi részéhez hozzácsatolni.
Ebben a szakaszban kétségtelenül vissza kell mennünk és további információkat kell szereznünk: milyen érzékelők szerezhetők be, mennyibe kerülne a rendszer, és végül, tudunk-e vásárolni vagy készíteni olyan programot, amellyel a számítógép mindezt el tudja végezni? A 4. fejezetben megvizsgáljuk egy vagy két - e jelen fejezetben áttekintett - feladat programozását, és Önök is meggyőződhetnek majd róla, hogy a programozás valóban nem ördöngösség! Először azonban közelebbről is megnézzük, hogyan működik a számítógép!

 

3
A hardver és szoftver

Az eddigiekben felsoroltuk, hogy mi a számítógép, mit tud, és hogyan illeszthető a feladat megoldásba. Most itt az ideje, hogy működését is megvizsgáljuk. Vegyük az embert a feladatával, állítsuk vele szembe a számítógépet a processzorával, tárolójával stb. és vizsgáljuk meg, hogy hogyan tudjuk kitölteni kettejük között a rést.
Elneveztük a számítógépet a feladatmegoldás eszközének, most meg kell néznünk, hogy ez a különleges eszköz miben különbözik a többi eszközünktől - a kalapácstól, fúrógéptől, varrógéptől stb.

Az adaptív gép


Bármennyire is sokoldalú a számítógép, nagyot tévednénk, ha azt hinnénk, hogy ez volt az első programozható gép. Joseph Marie Jacquard (1752-1834) 1810-ben elkészítette első lyukkártya vezérlésű szövőgépét, amely már lehetővé tette a selyemszövetek különböző mintázatokkal történő automatikus gyártását.
A szövőgép a zongorakészítőket is megihlette, és hasonló berendezéseket fejlesztettek ki. Papírtekercsekre lyukasztották a zenét. A lyukakon váltakozva levegőt szívtak be, amint elhaladtak egy perforált fémlemez fölött; ez működteti a lejátszószerkezetet. Nem kisebb zeneszerzőket, mint pl. Rachmaninov készítettek "feljegyzéseket" ilyenfajta gépzongorákra.

 


Célszámítógép, coin-op (pénzbedobós) játékautomata. A gépet úgy programozták, hogy csak egyetlen (esetleg igen összetett) feladatot képes megoldani.

Hagyományos géptervezés során mindig az illető gép feladatát tartották szem előtt. Vegyünk egy egyszerű gépet, és abban egy fogaskerékpárt. A fogaskerekek tervezésekor alapvető meghatározó, hogy mit fog a gép csinálni - ebben az esetben meg fogja változtatni egy tengely forgásirányát és sebességét. Teljes egészében megjósolható, és éppen a hardver az, ami meg fogja határozni azt, ami történik.

Ha a gépet bármilyen módon meg akarjuk változtatni - mondjuk, módosítani akarjuk a fogaskerekek közötti sebességváltozást meghatározó áttételt -, a hardvert kell megváltoztatnunk. Ez azt jelenti, hogy át kell terveznünk magát a rendszert.

Amikor számítógépet alkalmazunk, egészen más alapelvekre van szükségünk. Egyáltalán nem nyilvánvaló, hogy mi megy végbe a számítógéprendszerben, mivel azt, ami történik, nem annyira a hardver, mint inkább ebbe a "fekete dobozba" kívülről beadott utasítások programja fogja megszabni. Ahhoz, hogy megváltoztassuk a számítógép működését, egyszerűen meg kell változtatni ezt a programot - vagy elterjedt nevén, a szoftvert. És ehhez egyáltalán nem kell a hardvert módosítani. A szoftver utasítások megváltoztatásával tesszük képessé a számítógépet arra, hogy különféle dolgokat tegyen.

A számítástechnika kulcsa tehát a rugalmasság. Ezt azzal érjük el, hogy utasítássorozatokkal vezéreljük a hardvert. Kifejlődött egy újfajta embercsoport, amely meg tud birkózni az eszközökkel. Nemegyszer hallunk olyan emberekről, akiket "szoftvermérnököknek", "programozóknak", "rendszerelemzőknek" neveznek. Többségük nem csavarhúzóval, forrasztópákával vagy más hardvereszközökkel, hanem papírral, ceruzával, írógépbillentyűzettel dolgozik, és így készít utasításokat a számítógép számára.


Az első ipari robot, az Ultimate 1961-ből

Láthattuk az 1. fejezetben, hogy a számítógép sokoldalúsága mindössze néhány alapvető dolgon nyugszik: két szám összeadása, kivonása, annak eldöntése, vajon az egyik nagyobb, kisebb vagy azonos-e a másikkal. Természetesen önmagában semmit sem tud csinálni a számítógép: nekünk kell megmondanunk neki, hogy végezze el a számításokat igénylő feladatokat, és nekünk kell olyan nyelvet használnunk, amit meg is ért. Ez azt jelenti, hogy programoznunk kell, és ez gyakorta billentyűzet használatával is jár. Néhány számítógépet ún. "magas szintű" nyelven programozhatunk, vagyis olyan nyelven, amely némileg hasonlít a természetes nyelvekre. Más alkalmakkor "alacsony szintű" nyelvet kell használnunk, pl. akkor, amikor az utasításokat egyszerűbb, de sokkalta kevésbé érthető nullák és egyesek kombinációiból álló "gépi kódban" visszük be. Ebben a fejezetben áttekintjük, hogy mi történik a "fekete dobozban" - a számítógép működése közben.
Különbséget kell tennünk egyfelől az "univerzális" számítógépek (amelyeket mi, a felhasználók magunk tudunk programozni), másfelől az olyan gépek között, amelyeket a gyártójuk valamilyen sajátságos cél érdekében előre programozott mikroprocesszorokkal lát el. Az utóbbiakat "dedikált" vagy "cél"-mikroszámítógépeknek nevezzük. Az egyes szórakozóhelyeken található tévéjátékok az utóbbiak közé tartoznak, de ilyenek a legújabb mosógépszabályozók is: a játékautomatával csak az Űrhódítókat vagy Pac-Mant játszhatjuk és semmi mást; a mosógép pedig sokféle program széles választékát - fehérnemű, színes ruha, finom ruhanemű stb. - kínálja. Kiválaszthatjuk közülük a legalkalmasabbat, és ha nem azt választottuk ki, amit ajánlottak, az a mi bajunk. Nem mondhatjuk a gépnek, hogy az általunk tervezett program szerint mossa a ruhákat - meg kell maradnunk a gyártó választékának határain belül. Ha a fehérnemű-program 70 C hőmérsékletet és három öblítést ír elő, akkor be kell ezzel érnünk, és a mi bajunk, ha 65 fokon akarunk mosni négy öblítéssel. A továbbiakban olyan számítógépekkel foglalkozunk, amelyeket a felhasználó tud programozni.

 

Programok és szoftver

A program utasítások sorozata. Itt nem az "utasítások" szón van a hangsúly, hanem a "sorozaton". A programozás jelentősége az, hogy nem kell megvárnunk, amíg a gép végrehajt egy utasítást, hanem egyszerre beadhatunk egy egész utasítássorozatot. Ugyanígy jár el az automata mosógép programja is. Megmondja, hogy hogyan és mikor kell leállnia egyik műveletnek, és mikor indul a következő, és így több mosási és öblítési szakaszon megy végig egyetlen ciklusban anélkül, hogy közben leállna és további utasítást várna a felhasználótól.
A számítógépes programnak van egy jeles vonása, amelyet néhányan "intelligencia tényezőnek" neveztek el. Ez pedig az a lehetőség, hogy a számítógépnek alternatívákat adhatunk a végrehajtásban, attól függően, hogy milyen az eredménye az előző utasításoknak. Vegyük például azt a döntési eljárást, hogy vegyünk-e magunkhoz esernyőt, mielőtt sétálni megyünk. Beprogramozhatnánk egy robotot arra, hogy döntse el az esernyőproblémát; ehhez a következő öt utasítást adjuk neki:

  1. Nyisd ki az ajtót!
  2. Nézz fel az égre!
  3. Felhős az ég vagy esik az eső?
  4. Ha igen, vedd elő az esernyőt!
  5. Menj ki!

Hasonló alternatívákat láthattunk az előző fejezetben rajzolt folyamatábrákon, és még többet látunk majd a 4. fejezetben és azt is, hogy hogyan kezeli őket a számítógép. Ez a döntéshozási képessége, valamint ennek eredményeképpen az a lehetőség, hogy a programban különböző utakra tud rátérni, teszi a számítógépet egyedülállóvá.

 

A szoftver

Elmondtuk már, hogy a program a számítógépes szoftver része. Az a fajta program, amelyről az előbb szóltunk - és az a fajta, amelyre folyamatábrákat rajzoltunk a 2. fejezetben - az ún. alkalmazói program. Ezt a programot kívülről adják be a számítógépbe, és ez mondja meg neki, hogy hogyan kell szolgálnia az alkalmazást. A számítógépnek azonban azt is tudnia kell, hogy miként értelmezze a programot.
Ha a programot a számítógép bináris kódjában írták és az pontosan megmondja neki, hogy az egyes fázisokban mit kell tennie, ez nem okoz nehézséget a számítógépnek. Sok alkalmazásban viszont előnyösebb magas szintű nyelven írni a programot, amelyet mi, emberek könnyebben megértünk, mint a bináris kódban írt utasításokat. Ehhez olyan programot használunk, amely már a számítógépben van, és az fogja utasításainkat a számítógép által érthető bináris kódra lefordítani. A "tolmács" - az "interpreter", amely valóban a nyelvi tolmácshoz hasonlít - maga is szoftver.
Csaknem valamennyi számítógép úgy készül, hogy a dekódoló utasítások már bele vannak építve. Ezeket nem a felhasználó adja be a számítógépbe, és nem is kell értenie a használatukhoz - ezeket a gyártó készítette el a gép részeként. Amikor az utasítások ilyen formában jelennek meg "firmware"-nek (ejtsd: förmver) is szokták őket nevezni. Ez rendszerint magában foglal mindent, amit a számítógépnek tudnia kell, mielőtt lefuttatja a kívülről beadott alkalmazói programokat.
Később még részletesebben is megvizsgáljuk a szoftver néhány típusát. Először azonban hosszabban el kell időznünk annál, hogy hogyan dolgozik a számítógépes hardver.

 

A számítógép belsejében

Egyszerű analógia felhasználásával magyarázzuk el, hogyan működik a számítógép. Tekintsünk egy szenes tehervagonokat kezelő vasúti rendszert! (Persze, mint minden hasonlatnak, ennek is megvannak a maga korlátai, tekintsük ezt abban a szellemben, amire ajánlottuk!)
Képzeljük el, hogy van egy fővágány, amelyen a vonatok érkeznek és egy másik fővágány, amelyen elmennek (ezek megfelelnek a számítógépben a BEMENETNEK és a KIMENETNEK, vagy ismert angol nevükön: ezek az INPUT-ok és az OUTPUT-ok). Minden érkező vonatnak az elején van, egy szám (egy CÍM), amely megmondja, hogy melyik helyre (TÁROLÓREKESZ) kell mennie, és van nyolc vagonja, amelyek közül egyesek szenet tartalmaznak, mások üresek (ezek az ADAT-ok). Amikor egy vonat beérkezik, el kell haladnia az irányító (a kontroller) előtt, aki a váltókat működteti, ezzel a vonatot abba a rekeszbe irányítja, amelynek a száma megegyezik a mozdony elején levő számmal. Képzeljük el, hogy, két vonat érkezik - az egyiknek a helyszáma 20. és öt tonna szenet tartalmaz, míg a másikat a 21. számú helyre irányítják és hét tonna szén van benne. A vezérlő is kap utasításokat (egy PROGRAM-ot), mondjuk telefonon, és ezeket az utasításokat felírja a bódéjának falán levő táblára. Az elhelyezések és a tábla együttesen tartalmazzák a számára szükséges információkat. Az irányító feladata, hogy egész nap itt üljön, és a vonatokat ki- és beirányítsa a helyükre és a rendező-pályaudvarra, ahol új, szénnel terhelt vonatokat állítanak össze az irányítóhoz beérkező utasítások szerint. Képzeljük el, hogy a következő utasításokat olvassa le:

  1. Vedd a 20. számú helyen levő vonat tartalmát és mozgasd a rendező-pályaudvarra!
  2. Vedd a 21. helyen levő vonat tartalmát és add hozzá az első vonat tartalmához!
  3. Tárold a 22. számú helyen az eredményt mindaddig, amíg a fővágány fel nem szabadul!
  4. Küldd ezt a saját útjára!

Az irányító működteti a váltókat, és tudja, hogy egyszerre csak egy vonat mozoghat, valamint azt is, hogy egyszerre csak egy vonat számára van hely a rendezőn. Neki is vannak minderről saját helyi szabályai. Az első vonatot a rendezőre (az AKKUMULÁTOR-ba) irányítja, az itt kiüríti az öt tonna szenét, és immár üresen visszamegy a helyére. Ezután a második vonatot irányítja a rendezőre, az ott kiüríti a hét tonna szenét, és ismét csak üresen visszafordul. A rendező most, átmenetileg tizenkét tonnát tárol. Megérkezik egy üres vonat, megtöltődik a tizenkét tonnával és elmegy, hogy a 22. számú helyen várakozzék mindaddig, amíg a kontroller érte nem küld, hogy elvezényelje a fővágányra (az OUTPUT-ra). Az irányító felel a vonatok irányításáért, a váltók állításáért, az utasítások fogadásáért és tekintetbevételéért, és azért, hogy mi megy végbe a rendezőn. Birodalmához tartozik az a processzorterület, amelyet ARITMETIKAI és LOGIKAI EGYSÉG-nek (ALU) neveznek. Működését egy óra vezérli, és neki magának is vannak saját helyi menetrendi szabályai. Természetesen, amint láttuk, ahogy a számítógép tud összeadni, kivonni vagy összehasonlítani két számot, ugyanúgy a mi képzeletbeli vasutunkon az irányító is kaphat utasításokat, amelyek azt mondják: "Ha a 20. helyen levő vonat tartalma ugyanaz, mint a 21. helyen levő vonaté, akkor küldd a vonatot a 21. helyről Bournemouth-ba. Ha nem, küldd vissza a 21. helyre." Kissé furcsa kísérlet lenne ez egy vasútnál, de mindenesetre szükség van rá, hogy kiegészítsük az analógiánkat.

A vasúti analógiát szem előtt tartva egy kissé könnyebb "besulykolni", hogy hogyan is működik a számítógép. A legtöbb mikroszámítógép 8 bit hosszúságú számokat kezel, és az egyes tárhelyekhez egy 16 bites szám tartozik, amely megadja a címüket. A bemenetről 8 bites számok alakjában érkező adatokat a központi processzor a címükkel meghatározott tárhelyekre irányítja. Az egyes számokat sorrendben kiveszik az adattárolóból, és a vezérlő által megadott utasítások szerint hozzáadódnak, kivonódnak, vagy összehasonlítják őket az előző eredményekkel. Létre kell hozni egy speciális tárhelyet, amely a megelőző eredményt hordozza - ez rendszerint a vezérlőterületen belül van és akkumulátornak nevezik (mivel ez az a hely, ahol az eredmények akkumulálódnak, miután az egyes utasítások végrehajtódtak). Ahhoz, hogy megbizonyosodjunk róla, hogy az adat helyes sorrendben és helyes időben érte el a feldolgozási területét, valamilyen formában órára és egy helyi megfigyelő (monitor) programra van szükség.
Tehát a bemenetről jövő információ a hozzárendelt címmel megadott tárhelyre kerül. Amikor a program - az utasítások listája - működik, az adat, az utasításoknak megfelelően, előjön a tárból és az aritmetikai-logikai egység (az ALU) műveleteket végez rajta. Amint az utasítást végrehajtották, az eredmény visszakerül a tárhelyre vagy pedig a kimenetre továbbítják.
Fenti példánkban az utasítások - számítógépes nyelven - valahogy így hangoznának:

  1. Töltsd meg az AKKUMULÁTOR-t a 20. tárhely tartalmával!
  2. Add hozzá a 21. tárhely tartalmát!
  3. Tárold az eredményt a 22. tárhelyen!

Kiderül, hogy a 20. tárhely tartalma 5, a 21. tárhelyé 7 és az eredmény 12. Tehát két szám összeadására kaptunk egy igen egyszerű programot.

 

Sokfajta tár van...

Csak olvasható tár
Nagyon sok számítógépben igen hasznosnak bizonyul, ha néhány utasítást, vagy a dedikált számítógépek esetében - amilyent a mosógépnél láttunk - teljes programokat állandóan a számítógépen belül tárolunk. Vannak olyan különleges fajtó chipek, amelyek lehetővé teszik, hogy a tár tartalma akkor se vesszen el, ha a gép ki van kapcsolva. Ezek az ún. ROM chipek, ahol a ROM betűszó a read-only-memory (csak olvasható tár) kezdőbetűiből alakult ki. A ROM leginkább utasításokból álló könyvre hasonlít - a vezérlő ki tud belőle keresni egyes dolgokat, de ettől a tartalom nem változik. Amint már az előzőekben említettük, a dekódolót - amely segíti a számítógépet a program olvasásában - rendszerint a gyártó teszi bele a számítógépbe. Mi ezt akkor "firmware"-nek neveztük. A ROM firmware. Gyakran használják a "nem illanó" jelzőt ennek a tártípusnak a jellemzéséje, ami azt jelenti, hogy a tartalma nem megy tönkre, "nem törölhető", ha kikapcsolják a tápenergia-forrást.


EPROM. A gép csak olvasható (ROM) tárchipek speciális fajtája, amelyet a felhasználó még programozhat is. A program biztonságosan tárolódik benne mindaddig, amíg a felhasználó nem akarja átprogramozni. Ekkor a régi programot ultraibolya sugárnyalábbal törlik. Innen származik a neve is: törölhető, programozható, csak olvasható tár, vagy angolul: Erasable-Programmable-Read-Only-Memory, ennek betűszava az EPROM.

Közvetlen hozzáférésű tár
A számítógép belsejében található másik fajta tárolótípust RAM-nak nevezik, ami a random-access memory rövidítése. (nem szó szerinti fordításban, de a működését jól tükrözve "közvetlen elérésű tárnak" hívjuk.) Van a RAM-nak egy másik neve is: "olvasható/írható tároló". A RAM chipek elvesztik a tartalmukat, ha kikapcsolják a tápenergiájukat, ezért ezt a fajta tárat "illékony" tárnak is hívják. Ha a csak olvasható tárat könyvhöz hasonlítottuk, akkor a közvetlen elérésű tár leginkább olyan, mint egy falitábla, amelyre feljegyzéseket firkálhatunk és kívánság szerint leolvashatjuk őket onnan, de le is törölhetjük, ha már nem kellenek. A számítógépben a RAM a munkatár. Az egyfeladatú számítógép programja állandóan a ROM-ban van, a programozható számítógépben viszont a programot kívülről adják be a RAM-ba.

Háttértár
A minket különösen érdeklő tárak közül a legfontosabb a háttértár. Ez a számítógép fő egységén kívül helyezkedik el, és olyan programokat helyeznek el benne, amelyeket később fognak használni, vagy adatokat tarthatnak benne arra az időre, amíg a számítógép nem használja őket. Kivitelüket tekintve lehetnek mágnesszalagos kazetták, mágneses lemezek (diszkek) vagy dobok, és a következő két okból van rájuk szükség:

  • A számítógép munkatárának véges a mérete, és esetleg nem képes a használatához szükséges összes adat tárolására.
  • A háttértár "nem illanó", azaz tartalma nem tűnik el, amikor a tápenergiát kikapcsolják; csak szándékosan törölhető a felhasználó állal.


Lyukkártya - drive 1964-ből. Mára - érthető okokból - teljesen kihaltak

Mit takar a "véletlen (közvetlen) hozzáférés" kifejezés? A megértéshez a legjobb, ha meggondoljuk, mi a különbség az otthoni mágnesszalagos készülék (a magnó) és a lemezjátszó között. Ha a magnón a szalag közepén akarunk kikeresni valamilyen zenei részletet, át kell tekernünk a szalagot, hogy megtaláljuk a kérdéses részletet, mielőtt lejátszhatnánk. A lemezjátszón odaállíthatjuk a tűt, ahová akarjuk, és közvetlenül megtalálhatjuk a sávot. A lemezjátszó "közvetlen elérést" tesz lehetővé; a kazettás magnó viszont nem. Tehát a háttértár "közvetlen" elérésű? Van, amelyik igen, és van, amelyik nem!
Ha az otthoni magnót adattárolásra használjuk, akkor egy adott adatrészletet csak úgy kaphatunk meg, ha a szalagot áttekerjük a kívánt pontig. Viszont a mágneslemez látszólag közvetlen elérést nyújt nekünk. A felvevő- vagy visszajátszófej igen gyorsan a lemez tetszőleges részéhez megy és beírja az információt, vagy az adott ponton közvetlenül kiolvassa a tárolt információt.


Hogyan mozoghat az író-olvasó fej a hajlékony mágneslemez mentén, ahhoz, hogy "közvetlen hozzáférése" legyen a tárolt információhoz.

Összegezve, a számítógép működését összefogó valamennyi utasítást - ilyen az utasítások fogadása a billentyűzetről, karakterek küldése a képernyőre, programok fogadása kazettáról vagy diszkről - ROM-ban kell tartani! A ROM-nak ezt a fajtáját rendszerint monitornak nevezik, mivel ez figyeli, hogy mi megy végbe a rendszerben. A legtöbb kisszámítógépben ugyancsak a ROM-ban tartják annak a részleteit, hogy hogyan kell értelmezni a programutasításokat. Bizonyos körülmények között alkalmazási programokat is tarthatnak ROM-ban. Viszont a program futtatása során a számítógép által használt (vagy létrehozott) összes utasítást és adatot RAM-ban tartják.

 

Adatmozgások a tár és processzor között

Meglehetősen bonyolult feladat az információk be- és kivitele a tárba és a tárból. Emlékezhetünk, hogy a közönséges mikroszámítógépek többsége potenciálisan 65 536 byte (ezek mindegyike 8 bitből áll) információt tud tárolni és minden byte külön tárhelyen helyezkedik el, amelyeknek egyenként saját címük vannak. Másik analógiát használva gondoljuk el, hogy az információt hasonló módon tároljuk, mint a levél tartalmát. A levél információt tartalmaz, és egyik címről a másikra kell küldeni. A levelet beteszik egy borítékba és arra a címre postázzák, ami a borítékon fel van tüntetve. Amikor a levél eléri a kívánt helyet, kiveszik a borítékból, és mindaddig az új címen tartják, amíg csak nem kell valami mást csinálni vele. Pontosan így kezeli a számítógép is az információt. Így valahányszor információt kell küldeni az egyik tárhelyről a másikra, az a forrás és az érkezési címek ismeretében megy végbe.

 

Bitek és alkatelemek

Ha felnyitunk egy számítógépet és belepillantunk, megláthatjuk, hogy egy csomó szilíciumchipet tartalmaz, amelyeket bonyolult vezetékhálózatra rögzítettek egy nyomtatott áramköri lapon. Az egyik nagyobb chip a központi feldolgozóegység (processzor), más chipek alkotják a tárat, közülük egyesek a csak olvasható tárchipek, míg mások a közvetlen elérésű tárchipek. Vannak itt még más chipek is, amelyek a be- és kimeneti készülékeket kapcsolják össze, és ugyancsak a számítógép teljes rendszerének részét képezik.


Pillantás a BBC mikroszámítógép belsejébe

A központi feldolgozóegység
A mikroprocesszor - központi egység - a legfontosabb elem. Számos funkciója van. Ezek a következők:

  • A számítógép különböző részeinek vezérlése.
  • A műveleteknek időbeli sorrendben való tartása.
  • Aritmetikai és logikai műveletek végrehajtása - ez az ALU feladata, az akkumulátor segítségével.
  • Adatok és utasítások átvitele a be- és kimenet, valamint a közvetlen elérésű tár között.

A sín (bus) bármely számítógépben ahhoz, hogy a vezérlő, az óra, az ALU és az akkumulátor, a ROM, a RAM és egy csomó más áramkör egymással és a külvilággal kommunikálni tudjon, összekötésekre van szükség. Ezt nevezzük sínnek. A sín tehát a számítógép különböző részei közötti kommunikációs utat alkotó sok-sok vezeték neve. A sín szerkezetileg a mikroprocesszor belsejébe csatlakozik és ott különböző részeket köt össze és kívülre is csatlakozik, ahol egy csomó más feladatot is ellát. A sín a számítógépen belül rendszerint a következő négy szekcióra oszlik:

  • A számítógép valamennyi részegységéhez tápenergiát eljuttató tápegységsín.
  • Az összes vezérlőjelet hordozó sín.
  • Adatokat és utasításokat a processzor és a tár között ide-oda küldő közvetítő kétirányú adatsín.
  • Az adatsínen levő adat címét közvetítő címsín.

A valódi levéltől eltérően, a számítógépben keringő információ címét a címek között utazó adatoktól vagy utasításoktól elkülönítve küldik el. A keveredés elkerülése érdekében erre a célra különböző síneket használnak. Lehet, hogy a mi számunkra zavaró a dolog, de a számítógép valóban ezt találja a kézenfekvőbb megoldásnak. A síneket rendszerint párhuzamos vezetékek sorozataként alakítják ki, ami jól látható a képen.

 

Kommunikáció a számítógéppel

Ennyit arról, hogy a számítógép különböző részei hogyan kommunikálnak egymással. Most pedig megpróbálunk bepillantani abba, hogy a számítógép hogyan kommunikál a külvilággal a különböző fajta be- és kimenetein keresztül.
Bármely számítógépes rendszernek a leglényegesebb tevékenysége az információfeldolgozás. Hangsúlyozzuk, hogy információt csak a számítógépbe bevitt programnak alapján tud feldolgozni. Maga a számítógép képtelen önállóan gondolkodni. A váratlan módon megjelenített információt nem fogja megfelelő módon kezelni és ha a gépet arra kérik, hogy olyan információt dolgozzon föl, amelyre nem programozták be, akkor vakon nekilát a folytatásnak mindaddig, amíg csikorogva le nem áll. Az információ sokféle formában érkezhet és mind a bemeneti, mind a kimeneti egységeknek képeseknek kell lenniük arra, hogy a számítógép által kezelhető formába "fordítsák" le a be-, ill. kimenő információt.

 

A való világgal való viszony

Sajnos, az az információ, amelyet a számítógépbe be akarunk adni, nem mindig áll rendelkezésre abban a formában, hogy azt a számítógép kezelni tudja. Igen sok számítógépet használnak arra, hogy különféle folyamatokat vezéreljenek velük. Az autógyártó-sorokon használt robotok a bonyolultabb alkalmazások közé tartoznak. A modern autókban a mikroprocesszorok valamilyen formában biztosan megtalálhatók. Napjainkban a pénztárgépek, központifűtés-vezérlő berendezések, tévéjátékok, órák, mikrohullámú sütők, tűzhelyek és más fogyasztói termékek is tartalmazhatnak mikroprocesszorokat.
Az ezekben a készülékekben felhasznált információ mindenféle formában előjöhet: a folyamatosan változó mennyiségektől kezdve (amilyen pl. a hőmérséklet) egészen az egyszerű be-ki kapcsolási információig (ilyen lehet pl. a villanykapcsoló). Az utóbbit nyilvánvalóan könnyű kezelni - ez már maga is olyan alakban van, amilyennel a számítógép dolgozik, 1-eseket és 0-kat használva a saját bináris aritmetikájában, ahol a Be=1 (ON) és a Ki=0 (OFF). Nincs akkor sem probléma, ha a számítógépnek decimális számokat kell kezelnie: láthattuk, hogy hogyan fordítja át őket a bináris számrendszerébe. Probléma akkor adódik, ha a folyamatosan változó információt - amelyet analóg adatnak nevezünk - kell különálló számokká, azaz digitális adatokká alakítani. (A tízes számrendszerű decimális és a kettes számrendszerű bináris számok egyaránt a digitális adatok különböző formái.) A legtöbb számítógép csak digitális adatokkal tud dolgozni és meg kell találni annak a módját, hogy az analóg információt úgy kezelje, mintha az digitális lenne. Fordítva, a számítógépből kijövő információ digitális, és ezt kell analóg alakra konvertálni, ha folyamatosan változó kimenetre van szükség.
Analóg információt szolgáltatnak a hőmérő, nyomásmérők és a mutatós villamos műszerek. Ahogy egyre mélyebben hatolunk a számítógépesített világba, egyre többször találkozunk olyan információval, amelyet hagyományosan analóg módon mérnek, de ma már digitális alakba konvertálnak. Nézzük pl. a digitális órát! Az olyan óra, amelyen mutatók jelzik a másodpercet, a percet és az órát, analóg készülék. Nem számok alakjában kapjuk meg az időt, hanem a tárban folytonosan változó alakzatokkal. Ezzel szemben a digitális óra közvetlenül számokban jelzi ki az időt.

Mindennapi életünkben nem látunk túl nagy különbözőséget az információ megjelenítésének e két fajtája között. A számítógép számára viszont alapvetően fontos ez a különbség, ezért valamilyen módon az analóg jelet digitálissá kell átalakítanunk.
Az analógból a digitálisba való átalakítás azt jelenti, hogy az analóg mennyiséget - pl. hőmérsékletet - szabályos időközönként kell megmérni és a mért értékeket ezeknek a méréseknek megfelelő impulzusokká kell átalakítani. Tegyük fel pl., hogy egy sütő hőmérséklete minden percben 10 °C-kal növekszik, ahogy az alábbi ábrán láthatjuk. Ha a hőmérsékletet minden percben megmérjük, számok sorozatát kapjuk - 10, 20, 30, 40, 50, 60 -, amelyek közül mindegyik az adott időpontban fellépő hőmérsékletnek felel meg: Lényegében a számítógép is így kezeli az analóg adatokat. Az átalakító szabályos időközönként méri a változásokat pl. egy villamos hőmérőtől érkező feszültségértékeket - mondjuk percenként egy vagy másodpercenként ezer lehet a mérési gyakoriság, a feladattól függően - és továbbítja a mért értékeket a számítógépbe. Ha a számítógép ismeri az egyes mérések közötti időt, ki tudja alakítani a végbement folyamat digitális változatát.


A két rajz tovább magyarázza az analóg-digitális elveket.
Felül: Jól láthatjuk, hogy az analóg hőmérő folytonosan növekvő hőmérsékletet mutat, amit egy lassan emelkedő görbe ábrázol. Alul: A villamos hőmérő analóg kimeneti feszültségét minden percben leolvassák, és az átalakító számmá alakítja át (digitalizálja). A számítógép a számnak megfelelő 1-ekből és 0-kból álló sorozatot kap. A számítógépnek úgy tűnik, mintha a hőmérséklet minden percben ugrana egyet és a közbenső időben állandó maradna. (Természetesen sűrűbben is lehetne mintákat venni a hőmérsékletből)

 

 

Ezek a valóságban végbemenő folyamatok nagyon leegyszerűsített példái. Tükrözi azonban azt a nagyon is fontos tényt, hogy a számítógép nemcsak "elfogadott" módon megjelenített információt tud kezelni, hanem bármilyen formájú információt, amennyiben van valamilyen módszerünk az információnak digitális alakba való átalakítására. Ez azt jelenti, hogy akár igen bonyolult alakzatú információ - pl. hanghullám - is analizáltatható számítógéppel. Hasonlóképpen, a számítógépből jövő kimenetnek gyakorlatilag tetszőleges, kívánt alakja lehet.

 

Másik példa a konverzióra
Nézzük meg a továbbiakban egy másik példán, hogy hogyan lehet az információt a számítógép számára bináris digitális alakba átalakítani, és hogyan végezhető el a kimeneten a fordítottja. Ehhez vizsgáljuk meg, hogy miként használja a számítógép a közönséges kazettás magnót (azt a fajtát, amelyet a zenefelvételre és lejátszásra szokás vásárolni) bináris digitális információjának a tárolására. A számítógép belső tárában őrzött információt alapjában véve elég lassan lehet csak kiolvasni vagy ráírni a szalagra. Ez nem megy közvetlenül, mivel a szalagok a hallható hangok frekvenciatartományában dolgoznak, a kazettás magnókat ugyanis erre tervezték. Az adatokat először módosítani kell és ennek egyik legkönnyebb módja az, hogy egy frekvencia 0-nak, míg egy másik az 1-nek felel meg. Amikor pedig a kazettát visszajátsszák a számítógépnek, akkor a fordított folyamat megy végbe.


Digitális - analóg átalakítás akkor megy végbe, amikor a programot mágnesszalagos kazettán tárolják. A 0 és 1 jeleket különböző frekvenciájú analóg hangokként rögzítik.

 

 

Az analóg és digitális átalakításnak ez a módja meglehetősen bonyolultnak tűnhet. A számítógép azonban sokkal könnyebben fogad be olyan folyamatot, amikor mondjuk egy hőmérőtől kap objektív információkat, mint ha az emberi beszédnek és nyelvnek ehhez képest sokkalta nehezebb folyamatát kellene megértenie! Ennek a könyvnek a hátralevő részében főként éppen arról lesz szó, hogy milyen módon sikerül a számítógépnek (de néhány irányban még ma sem mindig) megértenie tanítómesterét, és azt, hogy mit is kíván tőle. A jelen fejezetben ezeket a nehézségeket fogjuk megnézni, a számítógépes nyelveket vizsgálva, míg a 6. fejezetben a beszéd alapú bemeneteket és kimeneteket tárgyaljuk. Kezdjük egy, a számítógép számára viszonylag könnyű művelettel: egyetlen karakternek olyan kinyomtatásával, amely azt láthatóvá, olvashatóvá teszi.

 

A számítógép elkészíti a D betűt

Természetesen nagyon egyszerű módja is van annak, hogy hogyan lehet egy D betűt elővarázsolni. Csinálunk egy előregyártott betűformát, olyant, mint az írógépen a D betű, és azt mondjuk a számítógép nyomtatójának, hogy készítsen nyomatot róla, ütő (típusú) nyomtatással. Az eljárás kitűnő, eltekintve attól, hogy külön-külön fém vagy műanyag darabkára van szükség minden egyes betűhöz vagy más karakterhez, amit csak papírra akarunk felvinni. Egy idő után a valóságos gép egyszercsak kifogy a karakterekből. Általában valamennyi karaktert szabványos billentyűzeten, egyetlen betűtípusban fogja szolgáltatni, de mi van akkor, ha arab vagy kínai karaktereket akarunk előállítani vagy grafikai illusztrációkat akarunk készíteni?
A mikroszámítógép-tulajdonosok között népszerű egyik nyomtatófajta, az ún. mátrixnyomtató, ettől eltérő, de lényegesen sokoldalúbb módon működik. Ebben tűkből álló sor van - vagy egyes esetekben mindössze egyetlen tű -, amely ráüt a papírra és így pontokat hoz azon létre. A nyomtatóban levő processzor 1-esek és 0-k sorozatát bocsátja ki, és ezek úgy vezérlik a nyomtatót, hogy vagy nyomtasson egy pontot, vagy pedig hagyjon ki egyet. Az ilyen nyomtatók többnyire 7 pontot nyomtatnak - a finomabbak kilencet - egymáshoz közel, egy függőleges egyenes mentén. Azután a nyomtatófejet egy pontvastagsággal tovább mozdítják és egy másik, hétpontos választékot nyomtatnak ki. Egymás után többször végezve ezeket a műveleteket építik fel a betűt - és mindezeket többszörösen ismételve készül el a szöveg teljes sora.

 


A mátrixnyomtató működés közben. A tűk ráütnek a festékes szalagra, így nyomot hagynak a papíron. Ezután a nyomtatófej továbblép egyet és a folyamat ismétlődik.

 

Teljesen más, 1-esekből és 0-kból álló alakzat felhasználásával ugyanez a nyomtatófej bármilyen különleges karaktert ki tud nyomtatni, beleértve az arab és kínai jeleket is.

 

A programnyelvek

A beszélt nyelvekhez hasonlóan számítógépnyelv is igen-sok féle van. Fejlődésük hasonló a beszélt nyelvekéhez. Valószínű, hogy a régebbi történelmi korok emberének kicsi volt a szókészlete, és ezért csak korlátozott számú fogalmat tudott közölni. Az ember fejlődésével párhuzamosan fejlődött a beszélt nyelv is, és ahogy egyre kifinomultabbá vált, mind több, összetettebb fogalmat tudott használni beszélgetésében. Hasonló volt ez a fejlődés ahhoz, mint ahogy a kisgyerek beszélni tanul és csak néhány szót használva igyekszik körülírni mindent, de ahogy egyre többet tanul és egyre összetettebb dolgok közlésére van szüksége, nyelvezete is kifinomultabbá válik.
Pontosan ez történt a számítógépnyelvekkel is. A kezdeti időkben az emberek a számítógép-programozáshoz bináris kódot, ún. gépi kódot használtak. Amikor ennek használata nehézkessé vált, áttértek az emlékeztető rövidítések (ún. mnemonikok) használatára. Ezt assembly nyelvű programozásnak nevezik. Később pedig létrehozták a magas szintű nyelveket, mint pl. a BASIC-et, a FORTRAN-t és az ALGOL-t. Ezek a nyelvek igen hasonlatosak a mindennapi angol nyelvhez, és ezeket közvetve vagy közvetlenül lefordítják a számítógép gépi kódjára a számítógép firmware-jét használva. A BASIC programozási nyelv a kezdő programozók által leggyakrabban használt nyelv, amelyet a 4. fejezetben részletesebben tárgyalunk. Nagyon kevés mikroszámítógép tulajdonosa kényszerül arra, hogy alacsony szintű nyelven programokat írjon, de a teljesség kedvéért a következőkben mégis összefoglaljuk az elvét.

 

A gépi nyelv
Ez az a nyelv, amelyet a számítógép valójában megért. Amikor mi magas szintű nyelvet használunk, akkor a számítógép lefordítja utasításainkat gépi nyelvre. Néhány számítógép közvetlenül gépi kódban programozható. Ez igen unalmas és sok időt igénylő munka, mint ahogy a következő egyszerű példából is - amely 1-esekbol és 0-kból áll - látni fogjuk

10100101 00100000
01100101 00100001
10000101 00100010

Ez az utasítások olyan sorozata, amely a számítógépet arra készteti, hogy két számot adjon össze, és egyik ismert mikroprocesszor gépi kódján készült. Világos, hogy milyen nehéz lenne pl. egy ennél összetettebb feladatnak a programját megírni. Az egyszerűsítés egyik módja az, ha minden négy bináris számjegycsoportot egy sokkal tömörebb kóddal helyettesítünk. E kódnak a neve: hexadecimális.

Hexadecimális
A hexadecimális név arra utal, hogy az ilyen számrendszer alapszáma nem 10 és nem is 2, hanem 16. Tizenhat olyan szám van, amely egy négyelemű, zérusokból és egyesekből álló sorozattal írható ki, kezdve a 0000-nál és befejezve 1111-gyel. Az alábbi táblázatban összefoglaljuk őket a decimális és hexadecimális megfelelőjükkel együtt:

Decimális
Bináris
Hexadecimális
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F

Figyeljük meg a hexadecimális oszlop számjegyeit! Ha a 16 alapú számrendszerrel akarunk dolgozni a 10-es decimális vagy a 2-es bináris számrendszer helyett, akkor további hat szimbólumra lesz szükségünk. Erre a célra az A...F betűket használhatjuk.
A hexadecimális számokkal ugyanúgy lehet számolni, mint a bináris számokkal, és könnyen helyettesíthetjük velük a bináris számokat. Például az 1010 1110 a 8-bites bináris szám hexadecimális megfelelője: AE. A bináris számok minden négyes csoportja egy hexadecimális számjeggyel helyettesíthető és fordítva. A két számrendszer közötti átváltás táblázat segítségével igen egyszerű (ugyanez a decimális és a hexadecimális számrendszer között már sokkal nehezebb).
Ha ismét megnézzük az előbbi gépi kódú példánkat és a nyolc számjegyes csoportot behelyettesítjük hexadecimális számjegyekkel, akkor példánk a következő lesz:

A5 20
65 21
85 22

Ezt sokkal könnyebb olvasni, de épp olyan nehéz megérteni! Ha a bal oldali hexadecimális utasítások kódjait mnemonikokkal helyettesítjük, programunk a következő lesz:

LDA 20
ADC 21
STA 22

Vagy ugyanez szavakkal leírva:

  • Töltsd az akkumulátorba a 20-as című rekesz tartalmát!
  • Add hozzá a 2l-es című rekesz tartalmát az akkumulátorban levő számhoz!
  • Tárold az eredményt a 22-es című tárhelyen!

A programozó ebből tudja, hogy az első szám, amit használni szeretne, a 20-as című, a második szám a 21-es című és az eredmény a 22-es című tárhelyen van.

 

Assembly nyelv

Egy lépéssel továbbhaladva az előbbi példa két számát elnevezhetjük pl. EGY-nek és KETTŐ-nek, az eredményt pedig EREDMÉNY-nek. A programnak is adjunk nevet! Legyen ez ADD (add össze). Ekkor a program a következő lesz:

ADD LDA EGY
ADC KETTŐ
STA EREDMÉNY

Amint megtudja a számítógép, hogy hol kezdődik a program - az ADD címmel azonosítva - és milyen tárhelyeken vannak elhelyezve az EGY, a KETTŐ és az EREDMÉNY, a program működni fog. Ez egy nyilvánvalóan igen egyszerű kis példa, és a gyakorlati feladatok ennél sokkal összetettebbek. Az őket feldolgozó fordítóprogramokat assemblernek, alacsony szintű fordítóprogramnak nevezik. Az ilyen fordítóprogram az assembly nyelvet gépi kódra fordítja le, így az assembly nyelvű kódot egy teljesen szokásos billentyűzeten gépelhetjük be.

 

Magas szintű nyelvek

Igen sok magas szintű nyelv van, amelyek egyes alkalmazásokra vagy általános célra készültek. Pl. az ALGOL-t általános célokra, a COBOL-t kereskedelmi alkalmazásokhoz, a FORTRAN-t matematikai feladatokhoz, a BASIC-et pedig általános célú programozáshoz készítették, utóbbit kezdők számára. Ez használható a legjobban a kisszámítógépes rendszerekhez és következésképpen a legnépszerűbb is. Sajnos azonban ennek a nyelvnek többféle változata - dialektusa - van. Hogy az Ön számítógépe melyik változatot érti meg, az attól a szoftvertől függ, amely a BASIC programot gépi kóddá fordítja. A többféle változat nehézzé teszi a helyzetünket, amikor az egyik számítógépre írt BASIC programot egy másik gépen próbáljuk meg futtatni. A programot minden bizonnyal át kell írni egyik változatból a másikba.

 

Milyen programnyelvet használjunk?

A magas szintű nyelvek, mint pl. a BASIC is, az assembly nyelvnél hatékonyabbak a programozásra fordított idő szempontjából, és sokkal egyszerűbb a használatuk. Más programozók is megérthetik az ilyen nyelven írt programokat, és ez igen fontos, pl. ha programokat szeretnénk cserélni. Másrészt viszont annak, aki assembly nyelven vagy gépi kódban írja a programját, megvan a lehetősége arra, hogy a gép valamennyi lehetőségét ki tudja használni.
Általában a BASIC nyelv a legkényelmesebb az interaktív - párbeszédes alkalmazásokhoz, amikor a számítógép és a gép kezelője: az operátor "beszélgetni" akarnak egymással. Egyszerű számítások, játékok és más általános célú programok megírása - mint pl. a begyakorló programok - könnyebb ezen a szinten.
Másrészt az assembly nyelv alkalmasabb a perifériák vezérlésére és a be-, ill. kimeneti rutinok megismeréséhez, valamint a számítógépen belüli ún. rendszerprogramokhoz. Így érhető el a mikroszámítógép kis tárkapacitásának legjobb kihasználása.
A személyiszámítógép-tulajdonosok többségének rendszerint magas szintű nyelvek használata a legkönnyebb. Magas szintű nyelven - mint pl. a BASIC-ben - a programozás jóval gyorsabb, mint assembly nyelven. Gépi kódban megírni egy programot rendkívül időigényes, de az ilyen program általában sokkal gyorsabban fut, mint a magas szintű nyelven írt program.

 

Hogyan visszük be a szavakat a gépbe

Általában azt szoktuk mondani, hogy a számítógép karakterekkel - betűkkel, számokkal és jelekkel: mint pl. a * vagy a , vagy a / jel - dolgozik, kezeli őket, teljesen úgy, mintha aritmetikai műveleteket végezne velük. Mi most csak a bináris karakterekről beszélünk, mivel tudjuk, hogy a számítógép csak ezekkel tud aritmetikai műveleteket végrehajtani. Álljunk meg egy pillanatra, és nézzük meg, hogy teszi át a számítógép a karaktereket bináris 1-esekké és 0-ákká? Emlékezzünk vissza: a bináris aritmetika nem kód, hanem olyan számrendszer, amelynek alapszáma nem az általunk használatos 10-es, hanem a 2-es. Azonban amikor mi a karaktereket bináris számmá tesszük át, valójában kódként használjuk.
Mivel ugyanaz a 8-bites (1 byte) bináris jelsorozat jelenthet akár egy karaktert, akár egy számot, nekünk külön jeleznünk kell a számítógépnek, hogy melyikről van szó. Azért, hogy ne kelljen a lehetséges kódok egy részét ennek a megkülönböztetésnek a jelzésére fenntartanunk, ezt a megkülönböztetést annak a byte-nak a címébe tegyük, ahol a byte-ot tároljuk. Egyetlen byte-ben meg tudjuk adni pl. az általánosan ismert QWERTY billentyűzeten látható mindegyik karakter kódját (bőven! mondhatná bárki, hiszen közel tízszer annyi lehetőség van, mint amennyi szükséges).
Valóban szükségünk van ennyi karakterre? Nos, van 26 nagy és 26 kisbetű (ne felejtsük el, hogy a számítógép nem értelmes eszköz, tehát az "A" az ő számára teljesen más, mint az "a"). Van tíz szám (0...9) és 35 különleges karakter, mint pl. ", ', . , £ stb. A gép szintén használ karaktereket a "rejtett" szimbólumokhoz, mint pl. a "szóköz" (space) vagy a "sorvége" szimbólumok. Akárhogy nézzük, nem is olyan sok hiányzik a 128 karakterből, amelyet 7 bit használatával elő tudunk állítani (2^7=128).
Aha! - mondhatja az éber olvasó: én úgy emlékszem, hogy eddig 8 bitről beszéltünk, és 2^8=256. Így igaz! Csakhogy a nyolcból egy bitet tartalékolnak annak az esetnek a kiszűrésére, ha ezeket a karaktereket netalán zajos, recsegő telefonvonalakon küldenék át, és eközben azok eltorzulnának. A nyolcadik bitet úgy állítják be, hogy az 0 legyen, ha a karakter többi bitjében az egyesek száma páros, és 1 legyen, ha páratlan. A vonal túlsó végén levő számítógép figyeli ezt a bitet, és ennek alapján többnyire észreveszi, ha az átadott karakter eltorzult. Ebben az esetben az adás ismétlését kérheti. A nyolcadik bitet paritásbitnek hívják. Nem fogunk részletesen kitérni arra, hogy a számítógépek melyik karakterekhez melyik kódot rendelik, de fontos megjegyezni, hogy ezek a kódok többnyire jó közelítéssel a nem kódolt karakterek alfabetikus sorrendjének megfelelő bináris számok. Pl. A kisebb, mint B stb. Ez lehetővé teszi minden szó bizonyos fajta "megszámlálását" és egymással való összehasonlítását. Ezt a módszert használják akkor, amikor a szavakat az ábécé sorrendjébe rendezik, vagy ahogyan pl. az X-szel kezdődő szavakat kikeresik egy listából vagy a francia elektronikus telefonkönyv programjából, mint ahogy azt már az 1. fejezetben láttuk.

 

A hardver határai

A mikroelektronikában a méret, a chipek kis mérete az, amely a mai számítógép-generációt alapvetően meghatározza. Az elektronika is "mikró", a számítógép is "mikró"; minden "mikró" és egyre "mikróbb" lesz. Japánban már arról beszélnek a szakemberek, hogy egy IBM 370-es számítógép - amely még ma is egy egész nagy termet betölt - teljesítménye egyetlen, 2,5 négyzetcentiméternyi területő chipen megvalósítható. Hogyan lehetséges ez? Ön méltán csodálkozhat ezen! Valóban szükségünk lehet egy ilyen - akár zsebünkben is elférő - nagyteljesítményű - számítógépre? A kísérletekre való törekvés - amelynek a lehetőségét a fizika teremti meg - okát a gazdaságosság mélyén kell keresni. Ezeknek a megértéséhez nézzük meg közelebbről, hogy mi is az a chip és hogyan készül.

 

Lássuk a chipeket közelről

A chipek - amelyek mikroprocesszorokat vagy tárakat valósítanak meg - egyszerűen rendkívül nagy számú kapcsolókból állnak, amelyek egymást különböző módokon vezérlik. Ön is készíthetne - régen a postánál használt - jelfogókból olyan, ehhez hasonló berendezést, amelyik ugyanazt csinálná, mint egy mikroprocesszor, de jóval lassabban működne. Ehhez persze pénzre, türelemre és időre van szükség! A chipen minden kapcsoló egy mikroszkopikusan kicsi tranzisztor, ami hasonlít a rádió tranzisztoraihoz, csak annál jóval kisebb méretű. A tranzisztor szilárd halmazállapotú eszköz, amelynek nincs mozgó alkatrésze. Olyan anyagból készül, amely félvezetőként viselkedik, vagyis amelyen bizonyos feltételek között folyhat elektromos áram, bizonyos feltételek között nem. Ma a legtöbb chipet szilíciumból készítik, és a szilícium felületét idegen anyagokkal szennyezik, így félvezetővé válik. A chip működtetéséhez csak igen kis mennyiségű áramot kell felhasználni, ami lehetővé teszi, hogy igen közel lehet egymáshoz zsúfolni a benne levő tranzisztorokat a chip túlmelegedése nélkül.
A néhány 10 ezer tranzisztorból összeállított processzor vagy tár felhasználhatósága attól függ, hogy

  • hány elemet tartalmaz,
  • és milyen gyorsak ezek az elemek.

A processzor vagy tár műveleti sebességét két tényező határozza meg:

  • a tranzisztorok saját műveleti sebességét meghatározó idő, amire a bekapcsoláshoz vagy a kikapcsoláshoz szükség van;
  • a keletkező jelnek a következő tranzisztorhoz való elküldéséhez szükséges idő.

Minél kisebb a tranzisztor, annál gyorsabban működik, és minél rövidebbek és keskenyebbek a tranzisztorok közötti összekötő vonalak, annál gyorsabb lesz azok együttműködési sebessége.
A különböző chipformák szilíciumra való felvitelének folyamata hasonló a papírra való nyomtatáshoz. Nézzük ezt részletesebben! Azonban előbb megállapítjuk, hogy épp úgy, mint a nyomtatás esetében, ahol napi teljesítményben csak egy bizonyos mennyiségű papírfelületet lehet nyomtatni - és ezt a mennyiséget döntően a kiinduláskor befektetett gépészeti beruházások határozzák meg -, ugyanúgy a szilíciumchip-gyártók is csak egy bizonyos mennyiségű szilíciumfelületet tudnak naponként előállítani. A felületek nagyságát az ezek előállításához szükséges drága berendezések száma korlátozza. Kiderült, hogy a chip ára főként a felületének nagyságával arányos, és csak igen kevéssé függ attól, hogy a rákerülő elemek együttesen milyen bonyolultak. Más szavakkal: ugyanannyi költséget jelent egy 16 cm átmérőjű tárcsát egyetlen tranzisztorral kihozni, mintha ugyanezen 400 olyan egység lenne, amelynek mindegyike 100 ezer tranzisztort tartalmazna. (Az amerikai chipgyártók az általuk feldolgozható szilíciumfelület nagyságát ugyanúgy tartják számon, mint a földbirtokosok földjeik területét.)
Most már érthető, hogy az elektronikában miért is olyan fontos a kis méret! Mivel, mint láttuk a végső árban nem jelent nagy különbséget, hogy hány tranzisztor kerül fel a chipre, ezért minél több van rajta, annál olcsóbb lesz fajlagosan egy tranzisztor ára, vagy ugyanazért az árért több számítástechnikai teljesítményt lehet nyújtani. Ha csak ez lenne az egyetlen előnye, már akkor is érdemes lenne a kis méretre törekedni.
Van azonban két további előnye is: ahogy a tranzisztorok kisebbek és az őket összekötő vezetékek vékonyabbak lesznek, úgy lesznek a chipek még hatékonyabbak. Ugyanis egy olyan új eszköz, amelynek belső vezetékei fele olyan szélesek, mint a régié, de minden más azonos marad -, ugyanazért az áron nyolcszor annyi áramköri elemet tartalmazhat.
Természetesen annak is van határa, hogy mennyire kicsinyíthetjük le ezeket az eszközöket! A vékonyabb vezetékek előállítási nehézségein kívül a chip áramkörei is másképp viselkednek, ha nagyon lekicsinyítjük őket. Ennek ellenére várható, hogy a jövőben még bonyolultabb felépítésű és még nagyobb teljesítményű chipeket fognak gyártani, de úgy becsüljük, hogy a jelenleg kaphatókhoz képest legfeljebb 200 ezerszeres teljesítménnyel. 1960 óta az alkatrészsűrűség nagyjából évente megkétszereződött. Tehát 1990-re várható, hogy olyan zsebszámológépeket fognak gyártani, amelyek számítási teljesítménye a mai mikroszámítógépek 250 ezerszerese lesz.
A különböző chipformák szilíciumra való felvitelének folyamata hasonló a papírra való nyomtatáshoz. Nézzük ezt részletesebben! Azonban előbb megállapítjuk, hogy épp úgy, mint a nyomtatás esetében, ahol napi teljesítményben csak egy bizonyos mennyiségű papírfelületet lehet nyomtatni - és ezt a mennyiséget döntően a kiinduláskor befektetett gépészeti beruházások határozzák meg -, ugyanúgy a szilíciumchip-gyártók is csak egy bizonyos mennyiségű szilíciumfelületet tudnak naponként előállítani. A felületek nagyságát az ezek előállításához szükséges drága berendezések száma korlátozza. Kiderült, hogy a chip ára főként a felületének nagyságával arányos, és csak igen kevéssé függ attól, hogy a rákerülő elemek együttesen milyen bonyolultak. Más szavakkal: ugyanannyi költséget jelent egy 16 cm átmérőjű tárcsát egyetlen tranzisztorral kihozni, mintha ugyanezen 400 olyan egység lenne, amelynek mindegyike 100 ezer tranzisztort tartalmazna. (Az amerikai chipgyártók az általuk feldolgozható szilíciumfelület nagyságát ugyanúgy tartják számon, mint a földbirtokosok földjeik területét.)
Most már érthető, hogy az elektronikában miért is olyan fontos a kis méret! Mivel, mint láttuk a végső árban nem jelent nagy különbséget, hogy hány tranzisztor kerül fel a chipre, ezért minél több van rajta, annál olcsóbb lesz fajlagosan egy tranzisztor ára, vagy ugyanazért az árért több számítástechnikai teljesítményt lehet nyújtani. Ha csak ez lenne az egyetlen előnye, már akkor is érdemes lenne a kis méretre törekedni.
Van azonban két további előnye is: ahogy a tranzisztorok kisebbek és az őket összekötő vezetékek vékonyabbak lesznek, úgy lesznek a chipek még hatékonyabbak. Ugyanis egy olyan új eszköz, amelynek belső vezetékei fele olyan szélesek, mint a régié, de minden más azonos marad -, ugyanazért az áron nyolcszor annyi áramköri elemet tartalmazhat.
Természetesen annak is van határa, hogy mennyire kicsinyíthetjük le ezeket az eszközöket! A vékonyabb vezetékek előállítási nehézségein kívül a chip áramkörei is másképp viselkednek, ha nagyon lekicsinyítjük őket. Ennek ellenére várható, hogy a jövőben még bonyolultabb felépítésű és még nagyobb teljesítményű chipeket fognak gyártani, de úgy becsüljük, hogy a jelenleg kaphatókhoz képest legfeljebb 200 ezerszeres teljesítménnyel. 1960 óta az alkatrészsűrűség nagyjából évente megkétszereződött. Tehát 1990-re várható, hogy olyan zsebszámológépeket fognak gyártani, amelyek számítási teljesítménye a mai mikroszámítógépek 250 ezerszerese lesz.
Minél kisebbek a chipek, annál nagyobb problémát okoz a tökéletes gyártás, a "kihozatal", mert annál nagyobb a selejt aránya. Az előzetes számítások szerint, ha a vezetékek szélességét felére csökkentik (amely az eszközök teljesítményét megnyolcszorozza), a felhasználható chipek kihozatali aránya 30%-ról 1%-ra csökken. Ennek leküzdésére a chipgyártóknak valamit ki kell agyalniuk, és valami teljesen új módszert kell bevezetniük az áramköri elemek mintázatának chipre való leképezéséhez.
Jelenleg a chipeket fotolitográfiai eljárással gyártják. A vezetékeknek egymáshoz való közelítésével azonban a látható fény egyre megbízhatatlanabbá válik, mert annak hullámhossza megközelíti a vonalak méretét és ezért a vonalak szélei elmosódottakká válnak. Ennek kiküszöbölésére a következő lépés az lesz, hogy még rövidebb hullámhosszú röntgensugarakat vagy elektronsugarakat fognak alkalmazni.

 

A hardver és a szoftver jövője

Még hosszú út áll előttünk a miniatürizálás területén. Amikor a gyakorlati problémák nehezen megoldhatókká válnak, a hardvertervezők mindig valamilyen különleges ötletet találnak - pl. fényrészecskéket használnak elektronok helyett, vagy lehűtik az egész számítógépet az abszolút 0 C közelébe. De van-e igazán szükségünk nagyobb számítási teljesítményre?
Valószínűleg el fog jönni az az idű, amikor a mai nagyszámítógépek teljesítményét egyetlen chip is szolgáltatni tudja, nagy könyvtárak anyaga beírható lesz a ROM tárakba, és egy zsebszámológép méretű eszköz egy teljes lexikont vagy más hasonló ismerettár információit tartalmazni fogja.
Azonban, mint ahogy azt a fejezet elején vázoltuk, a nehézség nem is annyira az információtárolásnak a kis helyen való összesűrítése és a számítási teljesítmény növelése, mint inkább az, hogy hogyan használjuk ki ezt a számítási teljesítményt, ha az már a rendelkezésünkre áll. Ez pedig már a szoftver-előállító dolga! Sok számítástechnikai szakember azt vallja, hogy a szoftver fejlesztése, azaz annak a megtanulása, hogy hogyan vegyük használatba a már meglevő, különlegesen nagy teljesítményű számítógépeket, a következő 10-20 évben sokkal fontosabb lesz, mint a hardver továbbfejlesztése. Vagyis ez azt jelenti, hogy zseniális új módszereket kell kitalálni a számítógép programozásához. A számítástechnika következő 20 éve minden bizonnyal még sokkal érdekesebb és meglepőbb lesz, mint az eddig eltelt 20 év volt.
Könyvünkben most már eljutottunk oda, hogy végre áttekinthetjük: milyen feladatokra tudjuk a számítógépet programozni, és azt hogyan tegyük.

 

4

Mi is az a programozás?

Már az előbbiekben ejtettünk néhány szót a programozásról és a programnyelvekről. Ebben a fejezetben a programnyelvek közül a BASIC nyelvet mutatjuk be, megismerkedünk használatával, és megtudjuk, hogy hogyan is kell egy egyszerű programot megírni. Először beszéljünk egy kicsit magáról a BASIC nyelvről!

BASIC

A BASIC szó a Beginners All-purpose Symbolic Instruction Code (kezdők általános célú programozási rendszere) kezdőbetűiből tevődik össze. Az USA-ban levő Dartmouth College-ben fejlesztették ki, olyan magas szintű programozási nyelvként, amely könnyen tanítható és könnyűszerrel elsajátítható. Főként azok számára készült, akik semmit sem tudnak a számítógépről, de nagyon szeretnék használni. Létrehozása óta a BASIC-et továbbfejlesztették és az egész világon alkalmazzák.
A különböző számítógépprogramok százezreit írták meg BASIC nyelven, és ezek közül nagyon sok megtalálható könyvekben, folyóiratokban. Rendkívül széles körű elterjedését és népszerűségét annak köszönheti, hogy könnyen megtanulható, és a mikroszámítógépeken is használni lehet. A legtöbb mikroszámítógépnek, de sok nagyobb számítógépnek is van olyan szoftverje, amely lehetővé teszi a BASIC nyelvű programok futását.
Igen sokan vannak, akik a BASIC-et nem tartják a legjobb programozási nyelvnek, de mellette szól az, hogy a kezdők számára a legegyszerűbben megtanulható nyelv. Ezzel magyarázható, hogy a BBC a számítógépéhez a magas szintű nyelvek közül ezt választotta.
A BASIC egyik erénye, hogy különböző parancsait, utasításait könnyen megértik azok, akik ismerik az angol nyelvet, ui. nevei olyan angol szavak, amelyekből a funkciójukra is következtetni lehet. Így az angolul tudók a BASIC nyelvet is könnyebben használják. Megjegyezzük azonban, hogy ennek a sorozatnak nem az a célja, hogy a BASIC programnyelvet megtanítsa, ez külön tanfolyamokon történhet.
Ha azonban az Olvasó ezen a fejezeten "végigrágja" magát és megismer néhány BASIC utasítást, megvan a lehetősége arra, hogy saját maga is tudjon programot írni! A legtöbbet pedig azzal érheti el, hogy saját maga próbálja ki azt a számítógépen.
BASIC nyelven igen sokféle programot lehet írni. Bár a BASIC nem minden feladat megoldásához a legjobb nyelv - mint ahogy nem minden mikroszámítógép jó bármilyen alkalmazáshoz -, de legalább igen hajlékony. Az Olvasó a későbbiek során esetleg úgy érzi majd, hogy meg kellene tanulnia egy másik nyelvet is. A BASIC azonban igen jó alapot ad, még ahhoz is, ha időnként úgy érezzük magunkat vele, mint amikor angolságunkat egy franciával akarjuk megértetni.


Ez is BASIC, az is BASIC

A BASIC egyik problémája - hasonlóan pl. az angol nyelvhez -, hogy számos dialektusa, tájszólása van. Különböző BASIC tájszólásokban, változatokban más szavakat és szimbólumokat használnak ugyanarra a dologra; néha pedig ugyanazok a szavak különböző dolgok elvégzésére szólítanak fel minket. Sajnálatos módon - eltérően az angol nyelvtől, ahol a különböző tájszólásokban beszélők, ha nehezen is, de megértik egymást - a BASIC-kel dolgozó számítógépeken a program csak akkor hajlandó "futni", ha a számára megfelelő változatot, "tájszólást" használjuk. Szerencsére azonban a nyelv alapjait tekintve az utasítások és a szabályok nagy része azonos mindegyik változatban, és amit mi az utóbbiakban bemutatunk, a legtöbb kereskedelemben kapható mikroszámítógépre alkalmazható.
Nem győzzük azonban hangsúlyozni, hogy mi csak bemutatni és nem megtanítani kívánjuk a programozást. Ha az Olvasó programot szeretne írni a gépére, akkor ehhez az itt ismertetetteknél részletesebb információra van szüksége, például hogy mit tud a számítógépe és milyen BASIC változatot ért meg. Az általános ismereteket e fejezetben nagyrészt megtalálja, részletesebb útmutatáshoz pedig a gépéhez kapott kézikönyv tanulmányozása révén juthat, vagy egy olyan tanfolyamon való részvétellel, ahol kifejezetten gépének programozását tanítják.
Néhány érdekesebb dolog, mint pl. a grafikus adatmegjelenítés, vagy hangok létrehozása számítógép segítségével, szintén megoldható BASIC programokkal. Az ilyen célú, ill. bonyolultabb utasítások azonban rendszerint egy adott gépre vonatkoznak, vagyis - ahogy ezt a szakzsargonban mondják - "gépspecifikusak".
Az alapok

Minden programozási nyelvnek, így a BASIC-nek is ki kell tudnia fejezni négy alapvető tevékenységet - amelyekre csaknem minden programnak szüksége van.

  • Bizonyos dolgokat be kell vinni a számítógépbe és onnan ki kell hozni.
  • Bizonyos dolgokat össze kell hasonlítani.
  • Meg kell határozni, hogy valami igaz-e vagy nem, és ha igaz, valamit tenni kell vele, ha pedig nem igaz, valami mást kell vele tenni.
  • Valamit annyiszor kell elvégezni, amíg valamilyen feltétel nem teljesül.

Ennyi egy nyelv alapvető kifejezőkészsége. Az egyik abban különbözik a másiktól, hogy a fentieket az egyik nyelvben így, a másikban amúgy kell kifejezni.
Korábban említettük, hogy a processzor számokat tud összeadni, kivonni és összehasonlítani. Ha a program magas szintű nyelven, pl. BASIC nyelven fut, akkor a gépben levő szoftver a program minden egyes részletét automatikusan ezen három művelet sorozatain fordítja le, s ennek hatására a processzor már ezeket fogja elvégezni. Anélkül használhatjuk tehát a BASIC-et vagy más hasonló nyelvet, hogy tudnánk, mi is történik a "fekete doboz" belsejében.
Mivel a számítógép egyszerre csak egy utasítást tud végrehajtani, és mivel tudnia kell, hogy milyen sorrendben hajtsa végre a program utasításait, a BASIC minden változatában a program minden egyes sora számot kap.

 

Sorszámok

Figyelje meg, hogy a BASIC programokban minden egyes utasításnak vagy utasításcsoportnak saját száma van. A számítógép a program végrehajtását a legkisebb sorszámú utasítással kezdi, és a növekvő számok szerint "rágja át" magát rajta. Nem szükségszerű, hogy az utasításokat szigorú numerikus sorrendben hajtsa végre: megmondhatjuk neki, hogy hova ugorjon. Valójában a BASIC nyelven írt számítógépprogramok "létrák" és "kígyók" játékának tekinthetők. Az egyszerű programok úgy futnak le, hogy az elején kezdődnek és minden utasításuk sorban végrehajtódik, de a gyakorlatban előforduló programok többnyire nem ilyenek! Ehelyett a "létra" utasítások mondják a vezérlőegységnek, hogy egy későbbi sorszámra ugorjon, míg a "kígyó" utasítások visszakúsznak a program kezdetére.
Egyébként a BASIC-ben a program utasításait rendszerint 10-esével sorszámozzák. Ennek gyakorlati oka van: így lehetőségünk van arra, hogy később - ha szükségesnek találjuk - újabb sorokat szúrjunk be. Mindezt a továbbiak során meglátjuk, majd amikor arról lesz szó, hogy hogyan tehetjük a programjainkat érthetőbbé.

 

A "be"-k és a "ki"-k

Mindazt, amit közölni akarunk a számítógéppel, be kell vinnünk: és mindazt, amit a számítógép közöl velünk, ki kell adnia nekünk. Természetesen különböző módokon lehet információt beadni és kivinni, de tegyük fel, hogy mi a billentyűzetről adjuk be az információt és a számítógép a képernyőn válaszol. Két gyakorlati megjegyzés:

  1. A számítógép bekapcsolása után egy "prompt" jel (amely valamilyen szó vagy szimbólum lehet) jelenik meg a képernyőn, és azt jelzi, hogy a gép kész, és parancsot tud fogadni. A következőkben a promptoktól többnyire eltekintünk.
  2. Minden mikroszámítógépnek van egy ENTER vagy egy NEW LINE, vagy egy RETURN feliratú billentyűje. Ezt kell megnyomni, ha egy bebillentyűzött információadagot be akarunk küldeni a számítógépbe. A továbbiakban általában nem jelezzük, hogy mikor kell ezt a billentyűt megnyomni.

Ezután a számítógéppel utasítások formájában tudatjuk, hogy mit tegyen (hacsak az utasítások nincsenek már benne a számítógépben). Mondjuk pl., hogy a 3-hoz 4-et kell hozzáadni. Ekkor egy utasítást kell bebillentyűzni, valahogy így:

3+4

Ez azonban még egyáltalán nem elég! Sok minden van, amire gondolnunk kell! Ami a legfontosabb: nem tudjuk megkapni a választ! Lényegében soha nem azt mondjuk a számítógépnek, hogy adjon össze 3-at 4-gyel. Mindig meg kell mondanunk, hogy ha kész, mit tegyen a válasszal! Pl. így:

  • Adja ki nekünk!
  • Tárolja valahol egy másik helyen való felhasználáshoz!
  • Azonnal használja fel valamilyen művelethez!

Ha azt írjuk, hogy PRINT 3+4 és megnyomjuk a RETURN vagy ENTER billentyűt, akkor a számítógép azonnal válaszol: 7.
A PRINT mit végeztet el a számítógéppel? Nem mondja azt, hogy adjon 3-hoz 4-et, mert ezt a + jel teszi, amit mond, az csupán az, hogy a számítógép adja ki az eredményt. Ennek a nyelvnek az az egyik sajátossága, hogy a PRINT-et akkor használjuk, ha kimenő adatokat kérünk, függetlenül attól, hogy azt nyomtatott formában vagy a képernyőre írva akarjuk.
Tegyük fel, hogy valami bonyolultabb feladatot szeretnénk megoldani. Ehhez a PRINT 3+4 -hez hasonló utasítások egész sorozatát kapcsolhatjuk össze, ha a sorok elejére sorszámot teszünk, hogy jelöljük a feldolgozás sorrendjét, például:

10 PRINT 3+4
20 PRINT 5+6

Egy ilyen sorozatot programnak nevezünk. Ezt a gép nem hajtja végre azonnal, hanem előbb tárolja. A különböző előírásokat a programban utasításoknak nevezzük, az előttük álló számokat pedig sorszámoknak. A program végrehajtásához be kell írni a RUN parancsot. A RUN parancs hatására a számítógép vezérlése átkerül a számítógép kezelőjétől (pl. Öntől) a tárolt programhoz. A számítógép ezután már nem várja, hogy a kezelő mondja meg, mit tegyen; követi a saját tárolt programjában levő utasításokat.
A RUN azt közli a számítógéppel, hogy menjen a legkisebb sorszámú sorhoz a programban (jelen esetben a 10-es sorszámúhoz) és dolgozza fel a programot, amíg a végéhez nem ér. Ekkor kijelzi a READY szót, ami azt jelenti, hogy kész újabb futtatásra. (Megjegyzés: egyes BASIC változatokban a programnak mindig az END vagy STOP utasítással kell végződnie.)
Ha egy szó, mint pl. RUN, sorszám nélkül írunk, hogy azt a gép azonnal végrehajtsa, akkor parancsnak, ha viszont a szó a program része és sorszám van előtte, akkor utasításnak nevezzük. Így a BASIC-ben pl. a PRINT szót parancsként is és utasításként is lehet használni - attól függően, hogy a gép kezelője vagy a program végzi-e a vezérlést.
Az előbbi rövid programban két műveletünk volt: a PRINT és a +. Nem vettük be a programba a RUN parancsot, bár arra a program működtetéséhez szükségünk van. Az összes kulcsszót, mint pl. a PRINT szót, amit a számítógép felismer, nagybetűkkel szokás írni. Ennek oka kettős: egyrészt így megkülönböztetjük a programba írt más szavaktól, másrészt néhány számítógép csak nagybetűvel írt kulcsszavakat tud elfogadni.
Mit látunk a számítógép kijelzőjén, amikor a RUN paranccsal elindítjuk a programunkat? Ha van számítógépünk, próbáljuk meg! A kijelzőn a következő lesz látható:

RUN
7
11
READY

 

A párbeszéd kialakulása Nagyon jól alakulnak a dolgok, de nem tudjuk, hogy 7 micsodáról van szó! Jobban értenénk, ha a számítógép a következőt írná ki:

3+4=7
5+6=11

Módosítsuk a programunkat és írjuk a következőképpen:

10 PRINT "3+4=";3+4
20 PRINT "5+6=";5+6

Ezt a programot futtatva a kívánt eredményt kapjuk! De hogyan?
Figyeljük meg, hogy az alapvető különbség az első 3+4 és a második 3+4 között a kettős idézőjelek " " használatában van. A tisztánlátás érdekében meg kell különböztetnünk a számokat és karaktereket! Mi a különbség? Vegyük pl. a 123-at! Karakterként ez egy 1-es, egy 2-es és egy 3-as. Számként ez százhuszonhárom. Mindazt, ami az idézőjelek között áll, láncnak vagy szövegnek nevezzük. Ezt a számítógép úgy tekinti, mint karakterek sorozatát, minden különösebb értelmezés nélkül.
A betűk is karakterek, és az idézőjelek azt jelentik, hogy a számítógép megtartja azt, ami közöttük van - legyenek akár számok, akár betűk -, pontosan úgy, ahogy vannak. Az utasítás-kulcsszavakat az idézőjeleken belül ugyancsak karakterként kezeli, ezért a számítógép az elöl álló "+"-t nem tekinti utasításnak, hogy bármit is összeadjon.
Ez a szabály arra használható, hogy a számítógéppel bármit bármilyen elrendezésben ki lehessen íratni. A kiíróutasítások közötti pontosvessző és vessző használatával különböző módokon jeleníthetjük meg a szavakat a képernyőn. Az alábbiakban néhány példát mutatunk be. Bal oldalt a programok, jobb oldalt a kijelzett eredmény látható.

Programok Kijelzés
10 PRINT "BBC, LONDON"
BBC, LONDON
10 PRINT "BBC,"
20 PRINT "LONDON"
BBC,
LONDON
10 PRINT "BBC,      ";
20 PRINT "LONDON
BBC,      LONDON
10 PRINT "BBC","LONDON" BBC           LONDON
10 PRINT "BBC,";"LONDON" BBC,LONDON

Figyeljük meg, hogy az írásjeleket az idézőjeleken belül a számítógép nem tekinti utasításnak; ezek csupán a karakterlánc részei, így az 1. példában a BBC utáni vessző nem utasítás a számítógép részére. Ugyanez vonatkozik a 2. példára is, de itt, mivel két PRINT utasítás van, a számítógép külön sorokba írja ki őket. A 3. példában az idézőjelek után pontosvesszőt tettünk. Ez utasítja a számítógépet, hogy a következő szót a képernyőn az elsőtől jobbra, mellé írja ki. Így az idézőjeleken kívüli írásjelek utasítások a számítógép számára, az idézőjelen belüliek pedig nem.
A 4. példa vesszőt használ a pontosvessző helyett. Ez utasítja a számítógépet, hogy különítse el a kiíróutasításokat kb. a képernyő szélességének az egynegyedével (ez olyan, mint az írógép tabulátora).
Az 5. példa ugyanazt eredményezi, mint az első példa, de két kiírandó elemet tartalmaz, amelyeket pontosvessző választ el egymástól. A pontosvessző hatására, amint láttuk, egymás mellé nyomtatja a szövegeket. Figyeljük jól meg: azért, hogy a BBC,LONDON eredmény ne forduljon elő, egy üres helyet kell beszúrni a LONDON elé a második kiírandó elemben, vagy a "BBC" után az elsőben. Ezek a szabályok először kicsit furcsának tűnnek, de a használat során világossá válnak.

 

Válaszolás

Nagy élményt jelentene, ha számítógépünk üdvözölni tudna bennünket. Természetesen ez megvalósítható úgy, hogy beírjuk a nevünket a programba, de úgy is elérhető, ha a nevünket adatként írjuk be, amelyet a program futása közben felhasznál. Gondoljunk csak vissza a 2. fejezetre, amelyben szó volt arról, hogy hogyan különböztetjük meg az utasításokat az adatoktól, és hogy az adatok (néhány kivételtől eltekintve) futás közben kerülnek be a programba. Eddig azt vizsgáltuk, hogy hogyan kerül a program a számítógépbe. Most nézzük meg, hogyan adhatunk meg adatokat a program számára!
Egy külön utasítás - az INPUT utasítás - mondja meg a számítógépnek, hogy valamit be akarunk adni. Ez az utasítás két dolgot közöl a számítógéppel: várjon valamilyen adatbevitelre a programnak ezen a pontján, és jelezzen ki egy ? jelet a képernyőre, ebből tudjuk meg, hogy valamit be kell adnunk! Akárcsak a válaszokkal, a számítógépnek valamit tennie kell a bemenő adatokkal is: el kell őket helyeznie valahova. Mielőtt rátérnénk, hogy az INPUT utasítás hogyan működik, meg kell tehát vizsgálnunk a bevitt adatok elhelyezését!

 

Változók

Amint azt már korábban is említettük, a programnyelvnek és az ahhoz kapcsolódó szoftvernek fontos feladata, hogy mindazt az információt, ami pillanatnyilag nem szükséges a feldolgozáshoz, valahol tárolja el.
A BASIC-ban nem szükséges azonosítani tárolóhelyet, ahová az információt el kell helyezni, azaz nem kell megmondanunk, hogy "a 34789 ... 34850 rekeszek a tárban üresek: ezt a szót helyezze el ide". Közölnünk szükséges viszont a programmal, hogy keressen valahol helyet az információ tárolására; ehhez létrehozunk egy változót. Ez a változó lesz a neve a kijelölt helynek. A változó fogalma alapvető a számítástechnikában. A matematikusoknak ez semmiféle nehézséget nem okoz, de másoknak okozhat. Hogy jobban megértsük az eddigieket, képzeljünk el egy olyan kis dobozt vagy rekeszt, amelynek neve van. A név csak a rekeszt jelöli meg, de nem közli, hogy mi van benne. A rekesz tartalma változhat, neve azonban nem. A számítógépprogramban a rekesz a saját nevével együtt: a változó. A változóknak lehet különböző értéke, éppúgy, mint ahogy a rekesz belsejébe is különféle dolgokat tehetünk, de egyszerre csak egy értéke lehet.
Egy BASIC programban kétféle változó, azaz kétféle "rekesz" lehet. Az egyik a numerikus változó, amelynek értékét csak egy szám fejezheti ki. A változó nevének betűvel kell kezdődnie, amelyet szükség esetén egy szám vagy egy szó maradék része követ.
Egyes BASIC változatokban csak a szó első két betűjének van jelentősége (ez azt jelenti, hogy ha egy változót "kor"-nak nevezünk, akkor már egy másik változó nevét nem kezdhetjük "ko"-val, mert a számítógép ugyanannak értelmezi mind a kettőt).
A másik fajta változó a szövegváltozó (ezt szokták láncváltozónak is nevezni). A szövegváltozó értéke a numerikus változóéval szemben bármi lehet: betűkből vagy számokból, vagy mindkettőből álló karakterlánc. Az idézőjelek közé zárt számok és szimbólumok sorozatát a gép "szövegeknek" tekinti. Ezeket nem változtatja meg, és műveleteket sem végez velük. A szövegeket mindig idézőjelek közé kell tenni, a szövegváltozók nevének pedig a $ (dollár) jellel kell végződnie. Ez különbözteti meg őket a numerikus változók nevétől.
A következőkben néhány példa segítségével próbáljuk meg tisztázni a fentiekben keltett zűrzavart.

Numerikus változók
Név: Egy vagy több betűből állhat, vagy lehet egy szó is, pl.: K vagy KOR vagy egy betű, amelyet szám követ, pl.: a2
Érték: csak szám lehet, pl. 85 vagy 85.23

Szövegváltozók
Név: S jellel kell végződnie. Lehet szó, pl.: nev$ vagy betű, pl.: N$, vagy betű és szám, pl. n2$
Érték: bármi, idézőjelek között. Pl. "Télapó", "85 éves télapó", "85 éves"

Ha most visszatérünk a beviteli parancshoz és megmondjuk a számítógépnek, hogy vegye be a nevünket, ehhez egy szövegváltozóra van szükségünk, mivel nevünk nem számokból áll. Ezután, a már ismert parancsokat használhatjuk arra, hogy a számítógép üdvözöljön minket.

10 PRINT "MI A NEVED"
20 INPUT nev$
30 PRINT "HELLO, ";nev$

Néhány magyarázó megjegyzés:

  • 10-es sor: Amikor az INPUT utasítást használjuk, mindössze csak egy kérdőjel jelenik meg a képernyőn vagy a kijelzőn. Ha tudni akarjuk, hogy mit kell beírnunk, meg kell mondani a gépnek, hogy kérdezzen meg minket! Ezt teszi ez a sor.
  • 20-as sor: Amint látható, nem szükséges megmondani a gépnek, hogy tegyen félre egy helyet, amelyet nev$-nak neveznek. Amikor először használjuk a nev$ nevet, a számítógép automatikusan megteszi ezt. Mindössze azt kell közölnünk, hogy várja meg a beírt szöveget, amit azután a nev$ változóhoz helyez majd el.
  • 30-as sor: Gondosan figyeljük meg, hogy hova kerülnek az idézőjelek! Nincs szükség idézőjelre a nev$ változóhoz. Ha tennénk oda idézőjeleket, vajon mit írna ki a számítógép? Minden bizonnyal nem a rekesz tartalmát! Pl. nem PETER-t (vagyis a mi nevünket), hanem azt, hogy nevS. A pontosvessző arra utasítja a gépet, hogy a két szót egymás mellé írja. Ezért fontos, hogy a HELLO után egy üres helyet hagyjunk.

Most érkeztünk el ahhoz a ponthoz, amikor társaloghatunk a számítógéppel, bár előre közölnünk kell a géppel, hogy mit mondjon. Ha ismét elővesszük a fenti programot és aláhúzzuk a beszélgetés minket illető részét, a következőt láthatjuk a képernyőn.

RUN
MI A NEVED
?
EVA
HELLO, EVA
READY

Már elég messzire jutottunk, de mielőtt a következő szintig továbbmegyünk - amely már a számítógépes feladatmegoldás -, tekintsük át a programozás legfontosabb vonását: hogyan késztessük a számítógépet döntésekre!

 

Döntések és elágazások

Példaként most tekintsünk egy új feladatot; a jelszavak ellenőrzését!

Aki már használt új típusú - nagyobb bankoknál az utcáról hozzáférhető - pénzkiadó automatát, az tudja: ahhoz, hogy pénzt tudjon felvenni, előbb be kell adni a személyi kódját és a személyi kártyáját. Ha néhány próbálkozás után sem sikerül a megfelelő kódot beadnia, az automata elnyeli a kártyáját, helyes válasz esetén viszont hozzájuthat a pénzhez. Sok számítógép-rendszerben jelszavakból vagy jelszámokból álló biztonsági rendszert használnak, hogy csak az illetékes ügyfél férhessen hozzájuk. A rendszer működését folyamatábrán mutatjuk be. Ezt a biztonsági rendszert használhatják pl. nagyobb számítógépprogramnál, hogy csak azok az ügyfelek indíthassák el a programot, akik ismerik a jelszót. Az is fontos, hogy a programozó bármikor meg tudja változtatni a jelszót. A legtöbb rendszer az ügyfélnek több próbálkozási lehetőséget ad; ennek programját később tárgyaljuk. Most foglaljuk össze, miről is tudunk.
Tehát:

  1. van két olyan pont, ahol adatbevitel van
  2. van egy olyan pont, ahol a két karakterláncot össze kell hasonlítani, és
  3. van egy döntési pont, ahol a számítógépnek választania kell, hogy melyik úton haladjon tovább.

Hogyan kell ezt programozni? Először megadjuk a programot, és ami új benne, azt utána magyarázzuk meg:

10 PRINT "Kerem a napi jelszot!"
20 INPUT JELSZO$
30 CLS
40 PRINT "Kerem adja meg a jelszot!"
50 INPUT FELEL$
60 IF JELSZO$=FELEL$ THEN GOTO 90
70 PRINT "SEGITESEG! Hivjak a rendorseget!"
80 STOP
90 PRINT "Rendben. Folytassa!"

A 10-es és 20-as sorok érthetők. A 30-as sor egy új utasítást tartalmaz, amely néhány BASIC változatban megvan: CLS, (CLear the Screen), amely törli a képernyőt, jelen esetben nyilvánvaló okból. Mi történik a 60-as sorban? Itt három új kulcsszó van: az IF, a THEN és a GOTO, valamint egy másik utasítás is, az = szimbólum. Ezek pontosan azt jelentik, ami az angol nyelvű jelentésük.
Ha igaz az az állítás, ami az IF parancsot követi, akkor a számítógép egy meghatározott utasítást kap. Ha nem igaz, akkor a programot a következő sorban folytatja. Az IF sorában megadott utasítás arra készteti a gépet, hogy "ugorjon" és menjen a 90-es sorra. Esetünkben ettől a sortól a 90-es sorig nem hajtja végre a köztük levő utasításokat.
Megjegyzés: Néhány fejlettebb BASIC változatban az ELSE utasítás használatával egyszerűbben is meg lehet írni ezt a programot. Ekkor:

60 IF JELSZO$=FELEL$ THEN PRINT "Rendben. Folytassa!" ELSE PRINT "SEGITESEG! Hivjak a rendorseget!"

Valójában a 70-es és 80-as sorok a program jobb oldali elágazását, a 90-es sor a bal oldali elágazást képviseli. A 80-as sorba be kell írni a STOP vagy az END utasítást, különben a "SEGÍTSÉG! Hívják a rendőrséget!" - szöveg után azonnal a "Rendben. Folytassa!" szöveg következne. Csak két lehetőség van: a két tárhelyen levő adatok vagy azonosak, vagy nem. Ha azonban kettőnél több lehetőség is van, akkor egymás után több IF... THEN utasítás következhet. Ezt a későbbi programokban látni fogjuk.
Az IF utasítás után mindig meg kell adnunk valamilyen utasítást, hogy tudjuk, mi a teendő. Ez rendszerint vagy a THEN, vagy a GOTO, vagy mindkettő, mint pl. az előbbi programban. Egyes változatokban nincs is szükség a THEN-re a 60-as sorban, mert a GOTO megmondja, hogy mit kell tenni. Mivel azonban vannak olyan változatok is, amelyek minden alkalommal megkívánják a THEN használatát, ezért benne hagyjuk. Egyes változatok nem fogadják el a GOTO utasítást, és a helykihagyás miatt hibajelzést adnak.
Megjegyzés: Ha a számítógépnek nem tetszik valami a programban, akkor pl. az alábbiak egyikét vagy esetleg ezek kombinációját teszi:

  • Amikor megpróbáljuk lefuttatni a programot, kiírja a SYNTAX ERROR vagy MISTAKE szöveget.
  • Hosszabb hibaüzenetet ír ki, megadva, hogy hol a hiba, pl. melyik sorban.
  • Nem engedi a sort beadni a programba, amíg ki nem javítottuk a hibát.
  • Kiírja a hibaszámot (pl. ERROR 12), amelynek alapján meg lehet állapítani a hiba fajtáját.

A hurok hurkolása

Egy másik alapvető fontosságú dolog, amit a számítógéptől kérhetünk az, hogy ismételjen meg valamit annyiszor, ahányszor előírjuk, vagy amíg valamilyen feltétel nem teljesül. A jelszós programunkat pl. módosítsuk úgy, hogy adjon az ügyfélnek három lehetőséget a jelszó beírására a vészjelzés megszólaltatása előtt. Ez alkalommal ennek a programnak a sorszámait a folyamatábra megfelelő kockái elé írjuk.

10 PRINT "Kerem a napi jelszot!"
20 INPUT JELSZO$
30 CLS
40 LET HIBA=0
50 PRINT "Kerem irja be a jelszot!"
60 INPUT FELEL$
70 IF JELSZO$=FELEL$ THEN GOTO 120
80 LET HIBA=HIBA+l
90 IF HIBA<3 THEN GOTO 50
100 PRINT "SEGITSEG! Hivjak a rendorseget!"
110 STOP
120 PRINT "Rendben. Folytassa!"

Itt csupán egyetlen új kulcsszót, a LET-et vezettük be, de néhány teljesen új dolgot is csináltunk:

40-es sor
A LET ad módot arra, hogy egy új változót, ill. változónevet bevezessünk. Mintha csak kijelölnénk egy rekeszt, amelyet később arra használunk majd, hogy megszámoljuk a hibás változásokat. Mivel ez numerikus változó, ezért a HIBA mellé nem kell $ jelet írni. Kezdetben, amíg nem történt hibás próbálkozás, a HIBA értékét O-ra kellett állítani.

70-es sor
Ez alkalommal két IF utasításunk van, mivel a lehetőségek száma három: az ügyfél helyes jelszót írt be, hibás jelszót írt be, de van még javítási lehetősége vagy már háromszor írt be hibásat.

80-as sor
Így változtatjuk meg a változó értékét a LET utasítás használatával (az új érték a rekeszben a régi érték +1). Ez gyakran zavart okoz, mert a HIBA = HIBA 1 úgy tűnik, mint egy helytelen matematikai egyenlet. Ez azonban nem így van. Valójában ez azt jelenti, hogy az új érték legyen eggyel nagyobb, mint a régi.

90-es sor
Itt egy másik feltételt vezetünk be, és ha ez teljesül, a program visszatér az 50-es sorra. Ez a feltétel megkérdezi, hogy a hibarekeszben levő szám kisebb-e 3-nál. Ha kisebb, akkor az ügyfél ismét próbálkozhat. Ha egyenlő 3-mal, akkor a feltétel nem teljesül, és a program áttér a 100-as sorra. A < jel azt jelenti, hogy "kisebb, mint".

Megjegyzés. A < jel azt jelenti, hogy "kisebb, mint". Hasonlóan a > jel azt jelenti, hogy "nagyobb, mint", az = jel azt jelenti, hogy "egyenlő" és <> azt jelenti, hogy "nem egyenlő" - más szavakkal "vagy kisebb, vagy nagyobb, mint".
Ha az Olvasónk hozzáfér egy számítógéphez, próbálja ki ezeket a programokat, és írjon be különböző helyes és helytelen válaszokat! Számítógép nélkül is végig lehet próbálni a lehetőségeket, elképzelve, hogy a gép hogyan hajtaná végre a programot különféle válaszok esetén.

Dokumentálás

Elég messzire jutottunk abban, hogy a számítógép megmondja nekünk, hogy mit tesz és milyen bemenő információkat kíván. Azzal viszont még nem foglalkoztunk, hogy teljes magyarázatot kapjunk a program minden részletére. Talán úgy érezzük, hogy ilyen rövid programok esetén ez nem fontos, de ha már sok programot tároltunk egy kazettán, vagy egy hosszú és bonyolult programot írtunk, néhány magyarázat jó segítséget nyújthat. Ezeket a magyarázatokat dokumentálásnak nevezzük, és ezeknek a programba való beírásához egy új kulcsszót, a REM-et (remark : megjegyzés) vezetjük be.
A számítógép semmit sem tesz azzal a szöveggel, amit a REM utasításba írtunk. A program futása közben ezen átugrik, a megjegyzéseket ki sem nyomtatja. Ezeket csak úgy találjuk meg, ha egy másik parancsot: a LIST-et használjuk. A LIST beírása után a számítógép listát készít a programról. Itt többféle lehetőség van. Pl. azt mondjuk, hogy

LIST 50

akkor a számítógép csak az 50-es sort jeleníti meg.

LIST 50-80

hatására az 50-es és 80-as, és a köztük levő valamennyi sort írja ki. Ezt a parancsot pl. akkor használják, ha egy hibás részt át kell írni.
Mindezeket együtt a 2. fejezet egyik feladatára visszatérve, a szorzótábla ellenőrzésére alkalmazva mutatjuk be. Lássuk, hogyan kell ezt a programot megírnunk!

 

A gyerek matematikai tudásának ellenőrzése ("matekteszt")

Emlékezzünk vissza, hogy a 2. fejezetben erre egy nagyon egyszerű folyamatábrát készítettünk, majd ezt továbbfejlesztve kidolgoztunk egy bonyolultabbat, hogy a tesztet számítógép nélkül is el tudjuk végezni. Most egy olyan folyamatábrát készítünk, amelynek alapján a program a számítógépen futtatható lesz, és még két újabb tulajdonsággal bővítjük. A számítógép a gyereket név szerint fogja szólítani, és bármelyik kérdésre legfeljebb négy rossz választ fogad el.

1 REM szorzasellenorzo program
2 REM veletlenszeru kerdesek feltevese
3 REM 1 es 12 kozotti szamok hasznalataval
10 PRINT "Mi a neved"
20 INPUT NEV$
30 PRINT "HELLO ";NEV$;" - probaljuk meg ezt a kerdest!"
35 REM ket veletlenszam generalasa
36 RANDOMIZE
40 LET A=RND(12)
50 LET B=RND(12)
55 REM a hibaszamlalo nullara allitasa
60 LET HIBA=0
70 PRINT "Mennyi ";A;"*";B
80 INPUT FELEL
90 IF FELEL=A*B THEN GOTO 170
100 LET HIBA=HIBA+1
110 PRINT "ROSSZ"
115 REM ellenorzes, hogy van-e mar 4 hiba?
120 IF HIBA=4 THEN GOTO 150
125 REM ujabb probalkozas lehet, ha meg nincs 4
130 PRINT "Probald meg ujra. Mar ";HIBA;"-szer probaltad."
140 GOTO 70
150 PRINT "Negy lehetoseged volt. A helyes valasz: ";A*B
160 GOTO 180
165 REM dicseret ha a valasz helyes
170 PRINT "Jol van, ";NEV$
175 REM ujabb kerdes felajanlasa
180 PRINT "Akarsz meg egy kerdest"
190 INPUT JELEZZ$
200 IF JELEZZ$="i" OR JELEZZ$="I" THEN GOTO 40
210 PRINT "Ez minden!"

A 40-es és 50-es sor egy-egy. 1 és 12 közötti véletlen egész számot állít elő. Mintha csak elektronikusan feldobnánk egy kockát. Nem minden számítógép tud azonban tetszőleges véletlenszámot generálni a fenti módszerrel, ezek a gépek csak 0 és 1 közé eső tizedes számokat állítanak elő. Ebben az esetben az RND alkalmazása kicsit bonyolultabb:

40 LET A=INT (RND*12)+1
50 LET B=INT (RND*12)+1

Itt nem megyünk a részletekbe, de a véletlenszám-generátor hasznos segédeszköz.
A 90-es sorban a * (csillag) szimbólum a számítógép számára szorzást jelent. A 200-as sorban a számítógép megkérdezi a gyereket, hogy akar-e tovább játszani? A gyerek az 'I' vagy 'i' választ írhatja be, és a gép megvizsgálja, hogy ezek valamelyikét kapta-e? A számítógép csak akkor ismeri fel a választ, ha az pontos. A számítógép nem alkalmas arra, hogy a szándékot kitalálja, ezért az ezektől eltérő válaszok (pl. "OK", "AKAROK") a gépet a 210-es sorra ugratják. Figyeljük meg az OR kulcsszó használatát! Ennek a programnak a futtatása közben a válaszoktól függően sokféle társalgást folytathatunk a számítógéppel. Nézzünk pl. egyet! A válaszainkat feltüntetjük.

READY
RUN
Mi a neved
?
Gyuri
Hello Gyuri - probaljuk meg ezt a kerdest!
Mennyi 5*6
?
35
ROSSZ
Probald meg ujra. Mar 1-szer probaltad.
25
ROSSZ
Probald meg ujra. Mar 2-szer probaltad.
30
Jol van, Gyuri
Akarsz meg egy kerdest
?
N
Ez minden!
READY

Ez nem éppen "Oscar-díjas" párbeszéd, de mégis valódi beszélgetés, és a számítógép minden válasza azt mutatja, hogy tudomásul vette a legutóbbi dolgot, amit mondtunk neki. Ezt a programot sokféleképpen lehetne továbbfejleszteni! Megkérdezhetnénk a gyerektől, hogy a szorzótábla mekkora számokig terjedjen, megkérdezhetnénk, valamely kérdéscsoport sorszámát, esetleg megvizsgálhatnánk, hogy ugyanez a kérdés ne forduljon elő kétszer, összegezhetnénk a helyes és hibás válaszok számát, és a teszt végén értékelhetnénk az eredményt (pl. "REMEK, GYURI", "NEM ROSSZ, GYURI", "SAJNALOM MEGBUKTAL.") stb. Még számos további fejlesztés is lehetséges. Az eddig ismertetett programozási ismeretekkel jó néhányat ki lehetne próbálni.

 

Programhibák

Az Olvasó esetleg észrevette, hogy az előbbi programnak van egy kis hiányossága, sőt továbbiak is lehetnek benne. A program logikai menetében vagy a kódolásában elkövetett hibákat gyakran nem vesszük észre egy ideig, mert a program az idő nagy részében tökéletesen működik.
Itt a hiba magától értetődik. Amikor a program 130-as sora azt írja elő, hogy

130 PRINT "Probald meg ujra. Mar ";HIBA;"-szer probaltad."

ez rendben van, ha a próbálkozások száma egy vagy kettő. A harmadik próbálkozásnál azonban a program a következőt írja ki: ROSSZ. PRÓBÁLD MEG UJRA. MÁR 3-SZER PRÓBÁLTAD, ami a mi számunkra nyelvtanilag helytelen, de a gép számára nem. Ez a hiba könnyen kiküszöbölhető; ki tudja találni, hogyan?
Egy igen fontos megállapítás: roppant nehéz a programokat minden lehetséges eshetőségre kipróbálni! Minél hosszabb a program, ez annál nehezebb, és sok, kereskedelemben kapható vagy folyóiratokban közzétett program is tartalmaz hibákat (szokták az angol nyelvből átvéve "poloskának" (bug-nak) is nevezni). Ezek néha programozási hibák, pl. egy IF-THEN elágazásban formai hiba jelentkezik, ha valamilyen feltétel teljesül, és a program tökéletesen jól fut, ha nem teljesül.
Egyszerű példa egy olyan program, amely I (Igen) vagy N (Nem) választ vár a következő kérdésre: "AKARSZ MÉG EGY KÉRDÉST?" Tételezzük fel, hogy a számítógép kezelője azt írja be, hogy "IGAZAN NEM IS TUDOM". A számítógép esetleg az első I-t igennek fogja fel és aszerint cselekedhet.

További három módszer
A következő program "zsargongenerátor" - fellengzős mondatok létrehozásának szórakoztató módja, mint pl. "életképes, folyamatos szituáció" - annak céljából, hogy ezt levelezés során felhasználhassuk. Ehhez a példához nem adunk folyamatábrát, de megmagyarázzuk, hogy mit teszünk a programba.
A zsargonszavakból három különböző listát készítünk, mindegyikben 24 szóval. Az első két lista mellékneveket tartalmazzon, a harmadik főneveket. Ezeket beírjuk a számítógépbe. Ezután véletlenszerűen neveket emelünk ki mindegyik készletből, hogy zsargonmondatokat állítsunk össze, amelyekben mindhárom listából egy-egy szó szerepel (ehhez véletlenszám-generátort használunk), amelyet a szorzótáblapéldában már alkalmaztunk). A program három új gondolatot vezet be:
1. Adatok bevitele magába a programba
Eddig arról volt szó, hogy a programhoz szükséges összes adatot a program futása közben adjuk be. Gyakran azonban a feladathoz szükséges valamennyi adat rendelkezésre áll a program írásakor. Ha sok ilyen adat van, akkor kényelmesebb magába a programba beépíteni őket. Ez az a kivétel, amely a 2. fejezetben ismertetett általános szabályt erősíti, miszerint a program utasítások sorozata, és az adatok azok, amelyeken az utasítások dolgoznak. Jelen esetben a program az adatokat is tartalmazni fogja.
Két új kulcsszót vezetünk be: a DATA-t, amely megmondja a számítógépnek, hogy adatok következnek, és a READ-et, amely az adatokat azokba a változórekeszekbe helyezi, amelyeket kiválasztunk és megnevezünk.
A DATA és a READ parancsok különösen akkor hasznosak, ha valamilyen elemek sorozatát akarjuk a programba beépíteni.
2.Tömbök
A számítástechnikában tömbnek nevezzük azt, amit egyébként listának neveznénk. Ez változók egy listája, amelynek minden helye olyan, mintha egy külön rekesz (doboz) lenne. A változók - mint eddig is láttuk - numerikus vagy szövegváltozók lehetnek. Képzeljünk el egy postást, aki egy utca dobozszerű házgyári házaiba leveleket továbbít, és mindegyik háznak más száma van. A leveleken azonos utcanevek, de különböző házszámok lesznek.
Ehhez hasonlóan egy tömbünket a számítógépben A$(10)-nek nevezhetjük, ami azt jelenti, hogy az, A$ nevű listában 10 rekeszünk van, amelyek mindegyike mást tartalmazhat. (Megjegyzés: néha az első rekeszt A$(0)-nak nevezzük, és ekkor a rekeszek száma 11 lesz, csak azért, hogy az élet ne legyen túl egyszerű.) A következő programban helyet csinálunk a három szócsoportnak, oly módon, hogy három tömböt hozunk létre. Ehhez kell megmondani a számítógépnek, hogy foglaljon helyet a tömbök számára. Ezt a DIM (dimenzió) utasítás végzi el. Ezután egyenként beolvassuk az adatokat a megfelelő rekeszekbe a következőben ismertetendő harmadik módszerrel.
 

3. A FOR-NEXT hurok
Ez egy másik, hasznos módszer a hurok hurkolására, feltehetően a legnehezebben érthető is. (Ígérjük, ez lesz az utolsó, amit itt bevezetünk!) FOR-NEXT hurok működéséhez a következő utasításokat kell adnunk a számítógépnek: egy változónak 1-tol 24-ig terjedő értékével tegyen valamit, és azután eggyel változtassa meg a változó értékét. Ezt az eljárást folytassa addig, amíg a változó értéke 24 nem lesz, majd álljon meg. A mi adathalmazunk esetében azt mondjuk a "postásunknak":

  1. Itt van az adatok listája 24 tétellel.
  2. Az n valamennyi értékére 1-tól 24-ig.
  3. Olvassa be az n-edik adatot, és helyezze el azt az A$ nevű rekeszsor n-edik rekeszébe. Pl. tegye az ötödik adatot az A$(5) nevű rekeszbe.
  4. Ezután növelje meg n értékét 1-gyel, vagyis térjen át n következő értékére, amely a jelen esetben 6, és ezután vegye a 6. adatot és tegye az A$(6) nevű rekeszbe stb.

Zsargongenerátor-programunkban ezt az eljárást használjuk arra, hogy a három szócsoportot vigyük a számítógépbe. Ezután mindegyik csoportból egy-egy szót véletlenszerűen kiemelünk, és a három szót egymás után kiíratjuk, hogy egy zsargonmondatot alkossanak. Íme a program:

5 REM zsargonmondat-generator
6 RANDOMIZE
10 REM helyfoglalas a tomboknek
20 DIM A$(24)
30 DIM B$(24)
40 DIM C$(24)
50 DATA alapveto,divergens,programozott,hatasos
51 DATA gyerekcentrikus,tobbszoros,erzelmi,hatranyos,folyamatos
52 DATA kotetlen,mindenekfolotti,interdiszciplinaris,tudalekos
53 DATA osszefuggo,kulonleges,megujulo,eletkepes,tamogato,elenjaro
54 DATA mikro-,kreativ,fejlett,intenziv,dinamikus
60 REM az elso tomb feltoltese adatokkal
70 FOR X=1 TO 24
80 READ A$(X)
80 NEXT X
100 DATA ertelmes,eljarasi,kiemelkedo,demokratikus
101 DATA szociometrikus,konzultativ,empirikus,strukturalatlan
102 DATA implicit,jol felfogott,pszicholinguisztikus,koedukacios
103 DATA reakcios,motivalt,akademikus,koncepciozus
104 DATA tarsadalomgazdasagi,felteteles,ideologiai,elmeleti
105 data fejlettsegi,kompenzacios,diagnosztikus,kiserleti
110 REM a masodik tomb feltoltese adatokkal
120 FOR Y=1 TO 24
130 READ B$(Y)
140 NEXT Y
150 DATA helyzet,tultelitettseg,kiertekeles,komponensek
151 DATA diszfunkcio,modszertan,kvociensek,atszervezes
152 DATA esszerusites,tevekenysegek,kommunikacio,forrasok
153 DATA szintezis,ervenyesites,technika,egyetertes
154 DATA elallitas,szektor,kriterium,autonomia,analizis
155 DATA polarizacio,objektivitas,strategia
160 REM a harmadik tomb feltoltese adatokkal
170 FOR Z=1 TO 24
180 READ C$(Z)
190 NEXT Z
195 REM 12 zsargonmondat eloallitasa
200 FOR M=1 TO 12
205 REM harom veletlenszam eloallitasa
210 LET A=RND(24)
220 LET B=RND(24)
230 LET C=RND(24)
235 REM veletlenszeruen kivalasztott szavak kiirasa a tombokbol
240 PRINT A$(A);" ";B$(B);" ";C$(C)
250 NEXT M
360 END

20-as, 30-as és 40-es sorok
Itt nevezzük meg a három tömbünket. Mivel ezek szöveget fognak tartalmazni. a végükhöz kell írni a $ jelet. A DIM utasítás közli a számítógéppel, hogy ezek tömbök, és hogy mennyi helyet biztosítson részükre. Mindegyik tömb 24 rekeszből fog állni. Ezzel lényegében megneveztük a változókat is. Az általunk használt első változó A$(1), az utolsó C$(24) lesz.

50-54-es sorok
Az egyik adat végét és a másik kezdetét vesszőkkel választjuk el egymástól, a DATA utasítás természetesen azt közli a számítógéppel, hogy mindaz, ami utána következik, az adat.

70-es sor
Itt egy másik kis hurok kezdődik, ezt 24-szer kell ismételni.

80-as sor
A READ utasítás, amely megmondja, hogy hová tegyük az adatokat, rendszerint követi a DATA utasítást. Az A$ jelzi, hogy az adatot az A$ tömbbe kell beírni. A READ utasítás közli a számítógéppel, hogy kezdje az első adattal és fusson végig sorban az adatok listáján, hacsak más utasítást nem iktatunk be. Így minden egyes adatot a tömb minden egyes rekeszébe "postázunk" 24-szer, mert ezt írtuk elő X végső értékeként a 70-es sorban.

210-es 220-es, és 230-as sorok
Ezek az utasítások közlik a számítógéppel, hogy emeljen ki véletlenszerűen egy szót mindegyik tömbből. Ezeket a véletlenszerűen kiválasztott rekeszeket A, B és C-vel jelöljük. Így A az A$ tömbben egy rekesz, B a tömbben stb. (A, B és C véletlen egész számok 24-ig). Minden világos?
Lássuk, mi minden jöhet ki, ha lefuttatjuk a programot!

READY
RUN
kotetlen eljarasi modszertan
gyerekcentrikus liserleti strategia
alapveto koedukacios kriterium
megujulo demokratikus egyetertes
tudalekos akademikus szintezis
mindenekfolotti motivalt szektor
hatranyos tarsadalomgazdasagi tevekenysegek
programozott diagnosztikus technika
interdiszciplinaris pszicholinguisztikus kvociens
osszefuggo fejlettsegi polarizacio
eletkepes empirikus fottasok
erzelmi ideologiai tultelitettseg
READY

Ezzel a BASIC nyelv legtöbb alapvető szabályát és meghatározását megismertük. Ezek közül némelyik első nekifutásra nehéznek tűnik, de ha gyakoroljuk, világossá válik. A BASIC nyelvet oktató tanfolyamok az ismereteket általában kevésbé rohamosan vezetik be, mint mi, és az ismeretek megértését gyakorlatokkal és példákkal segítik. Mi egy utolsó példával fejezzük be az ismertetést.

Útvonal kiválasztás

A 2. fejezetben ismertetett útvonal-kiválasztó feladatot az előbbiekben ismertetett módszerrel, számokkal és karakterekkel lehet megoldani. Ebben a fejezetben a korábban ismertetett folyamatábra szerint dolgozzuk ki a megoldást.
Az Olvasónak úgy tűnhet, hogy a folyamatábra és a következő program rendkívül bonyolult módszert ad arra, hogy a hét lehetséges közül kiválasszuk az A-ból a B-be vezető utat. Ez azonban egy olyan program "magjának" tekinthető, amely különböző módokon bővíthető. Pl. kidolgozhatnánk arra az esetre, amikor sokféle helyet sok, különféle útvonalon kell elérni, vagy a program különböző pontjaiban, ahol adatokat (útiköltségek, időtartamok stb.) viszünk be, a jelenleginél több adatot adnánk meg. Ha a tömbök méretét megváltoztatnánk, lehetővé válna igen sok adat összehasonlítása, ami már gyakorlatilag is hasznos lenne. Mellesleg egy ilyenféle programot más célra is fel lehet használni: pl. a megfelelő hotel kiválasztására. Ekkor a változók a szoba fajtája szerint (kétágyas, egyágyas, fürdővel vagy anélkül) alakulnának, figyelembe véve az árakat, a hotel kategóriáját stb.

Ezúttal a programot magyarázatokkal fogjuk feldarabolni, amelyekbe leírjuk, hogy mit teszünk. Egy jól dokumentált programban ezeket a magyarázatokat tömören összefoglalhatnánk néhány REM utasításban is, amelyek azután a program részét alkotnák. (Meg kell azonban jegyeznünk, hogy a REM utasítások sok tárhelyet használnak fel a programhoz.)
Először helyet (dimenziót) biztosítunk a listáknak (tömböknek). A változók: az egyes utazások időtartamai, az utazási eszközök (pl. busz vagy vonat), a menetdíj és a legszívesebben használt utazási eszközök súlyozása. Példánkban hét különböző útvonal van, így mindegyik tömbben le kell foglalnunk - a DIM utasítás használatával - hét üres rekeszt.

10 DIM IDO(7)
20 DIM UTIKOLTSEG(7)
30 DIM MOD$(7)
40 DIM SULYOZAS(7)

Ezekbe a tömbökbe a következő adatokat kell beírni:

Útvonalszám
U
Idő
h
Útiköltség
Ft
Mód
Súlyozás
1
1.50 80 vonat
2
2
2.20 120 busz + vonat
3
3
2.30 110 busz + vonat
3
4
3.00 200 busz
4
5
1.00 1040 repülőgép
1
6
2.50 170 busz
4
7
2.30 180 busz
4

Az üres tömböket fel kell tölteni az adatokkal. Ehhez a DATA és a READ utasításokat használjuk:

50 DATA 1.5,2.2,2.3,3.0,1.0,2.5,2.3
60 FOR U=1 TO 7
70 READ IDO(U)
80 NEXT U
90 DATA 80,120,110,200,1040,170,180
100 FOR U=1 TO 7
110 READ UTIKOLTSEG(U)
120 NEXT U
130 DATA vonat,busz,busz + vonat,busz + vonat,busz
131 DATA repulogep,busz,busz
140 FOR U=1 TO 7
150 READ MOD$(U)
160 NEXT U
170 DATA 2,3,3,4,1,4,4
180 FOR U=1 TO 7
190 READ SULYOZAS(U)
200 NEXT U

Most néhány igen furcsa programsor következik. Később, a program futása során össze akarjuk majd hasonlítani az útiköltségeket, hogy lássuk, melyik útvonal a legolcsóbb az eddigi útiköltségek közül. Ezt a legalacsonyabb értéket ezután a LEGALACSONYABB-nak nevezett változóban tartjuk.
De mi történik, amikor az első útvonalat vizsgáljuk? A program ezt is össze akarja valamivel hasonlítani. Ebben a programban a változónak minden olyan értéket adhatunk, ami nagyobb, mint a következő, bármelyik útvonalban található érték. Ez bármilyen nagy érték is lehet, az, aki a programot írta, 9999-es adott neki. Amikor az első útiköltségérték keresztülfut a gépen, a gép összehasonlítja 9999-cel, és mivel alacsonyabbnak találja, ez lesz a LEGALACSONYABB.
Ugyanez vonatkozik az OPTIMUM-nak nevezett változóra is.

210 LET LEGALACSONYABB=9999
220 LET OPTIMUM=9999

Ezután meg kell kérdeznünk, hogy az utazót mi érdekli jobban, az útiköltség vagy az időtartam? Erre a kérdésre a válasz vagy UTIKOLTSEG vagy IDOTARTAM. Ha a válasz UTIKOLTSEG, akkor a program az egyik irányba ágazik el, ha IDOTARTAM, akkor a másik irányba, ha pedig a kérdésre ezektől eltérő választ adtunk, akkor a program újra felteszi a kérdést.

300 PRINT "Mi a fontosabb onnek-"
310 PRINT "az utikoltseg vagy az idotartam";
320 INPUT MELYIK$
330 IF MELYIK$="utikoltseg" THEN GOTO 350
340 IF MELYIK$="idotartam" THEN GOTO 350
345 GOTO 320
350 PRINT "Mi az ";MELYIK$;" hatara";
360 INPUT HATAR
370 IF MELYIK$="utikoltseg" THEN GOTO 500

A 350 és 360-as sorok megkérdezik az utazót, hogy milyen határértéket szab az útiköltségnek vagy az utazási időtartamnak. Ezután ezt az értéket a HATAR változó fogja tartalmazni. Ezt követően attól függően, hogy a korábbi választás az útiköltség vagy az időtartam volt, a program elágazik. A 370-es sor eldönti, hogy a program melyik úton menjen tovább. Ha a feltétel teljesül, a program az 500-as sorra ugrik, ha nem teljesül, akkor folytatódik. Ha a választás az IDOTARTAM volt, akkor a következő sorban folytatódik.
Figyeljük meg, hogy a 310-es sor végén levő pontosvessző a 320 INPUT utasítás hatására keletkező ? jelet a 300 és 310 sorokban feltett kérdés végére helyezi. Ez azt is jelenti, hogy a kérdésre adott válasz is ugyanebben a sorban jelenik meg.
A program következő szakasza az IDOTARTAM választásának esetére vonatkozik. Ez megvizsgálja mindegyik útvonalra, hogy az időtartam hosszabb vagy rövidebb-e, mint amit az utas határértékként megszabott. Ha rövidebb, akkor tovább vizsgálja és megkeresi a legolcsóbb útvonalat, ami ezt a követelményt kielégíti.

400 FOR U=1 TO 7
410 IF IDOTARTAM(U)>HATAR THEN GOTO 480
420 IF UTIKOLTSEG(U)>LEGALCSONYABB THEN GOTO 480
430 IF UTIKOLTSEG<LEGALACSONYABB THEN GOTO 450
440 IF SULYOZAS>OPTIMUM THEN GOTO 480
450 LET LEGALACSONYABB=UTIKOLTSEG(U)
460 LET LEGJOBB=U
470 OPTIMUM=SULYOZAS(U)
480 NEXT U
490 GOTO 600

Ebben a részben a 400 és 480-as sorok képviselik a FOR-NEXT hurkot, az U értéke az útvonal száma - 1-től 7-ig. A 410-es sor megkérdezi, hogy egy adott útvonalhoz szükséges adott időtartam hosszabb-e, mint az utas által megadott határérték. Ha hosszabb, akkor a programot a 480-as sorra ugratja, amely azt mondja, hogy "következő útvonalat kérem". A 420-as sor megkérdezi, hogy az útiköltség nagyobb-e, mint az eddig talált legalacsonyabb érték. Ha nagyobb, akkor ezt az útvonalat elveti és a következőt vizsgálja meg.
A 430-as sorban, ha az útiköltség kevesebb, mint a legalacsonyabb, akkor a program a 450-es sorra megy, és ennek az útvonalnak a költsége lesz a LEGALACSONYABB változó új értéke. A LEGJOBB útvonal U értékét erre az útra teszi át, és az az utazásra vonatkozó OPTIMUM ennek az útvonalnak a súlyozási száma, amely repülőgép esetén 1, vonat esetén 2 stb.
Végül elérkezünk a 440-es sorhoz. A program csak akkor ér ide, ha az útköltség se nem nagyobb, se nem kisebb, mint az addig talált legalacsonyabb érték (vagyis azzal egyenlő). A 2. fejezetben megállapodtunk abban, hogy ha két útvonal ugyanannyiba kerül, akkor a súlyozás alapján választjuk ki a kedvezőbbet. Ehhez a program megvizsgálja, hogy az adott útvonal súlyozása magasabb számértékű-e (azaz kevésbé kívánatos), mint az előzőleg talált legjobb útvonalé. Ha igen, az utat elveti. Ha alacsonyabb, akkor ez az útvonal lesz az eddigi legjobb. Ha az összes útvonalat megvizsgálta, a program a 490-es sorra megy, és ez átirányítja a 600-as sorra.
Ha korábban, a 370-es sorban az UTIKOLTSEG-et választjuk, akkor a program a 400...490-es sorokat nem veszi figyelembe és az 500-as sorra ugrik. Ez a rész ugyanazt teszi, mint az előző csak éppen először az útvonalak költségét, hasonlítja össze a határértékekkel és ezután keresi a leggyorsabb útvonalat.

500 FOR U=1 TO 7
510 IF UTIKOLTSEG(U)>HATAR THEN GOTO 580
520 IF IDO(U)>LEGALCSONYABB THEN GOTO 580
530 IF IDO <LEGALACSONYABB THEN GOTO 550
540 IF SULYOZAS>OPTIMUM THEN GOTO 580
550 LET LEGALACSONYABB=IDO(U)
560 LET LEGJOBB=U
570 OPTIMUM=SULYOZAS(U)
580 NEXT U

A program utolsó szakasza megvizsgálja ezeknek az összehasonlításoknak az eredményeit, kiírja a legjobb útvonalat. Ha egyetlen útvonal sem elégíti ki azt az alapkövetelményt, hogy olcsóbb vagy hosszabb, mint korábban, a 360-as sorban megadott határérték, akkor a legalacsonyabb érték az önkényesen megválasztott 9999, lesz, és ekkor ez a program kiírja, hogy "gondolja át újra, nincs megfelelő". Ha pedig minden rendben van, akkor felveszi a LEGJOBB elnevezésű változó értékét (azaz a legjobb útvonalszámot). A MOD$ értékét, amelynek értéke a legjobb útvonalszám és az ehhez tartozó időtartam és útiköltség:

600 IF LEGALACSONYABB<999 THE GOTO 630
610 PRINT "Gondolja at ujra, nincs megfelelo!"
620 GOTO 300
630 PRINT "Utazzon a ";LEGJOBB;" utvonalon"
640 PRINT MOD$(LEGJOBB);-on utazva."
650 PRINT "Az utazas ";IDO(LEGJOBB);" ora lesz es"
660 PRINT UTIKOLTSEG(LEGJOBB);"Ft-ba kerul"
670 END

Íme egy példa a program futtatási képére:

RUN
Mi a fontosabb onnek-
az utikoltseg vagy az idotartam? utikoltseg
Mi az utikoltseg hatara? 200
Utazzon a 3 utvonalon
busz + vonat-on utazva.
Az utazas 2.3 ora lesz es
110 Ft-ba kerul
READY

Ez a program még korántsem a legtökéletesebb. Viszonylag könnyen módosítani lehetne úgy, hogy kiírja magát az útvonalat is, pl. így "Londonból Godminsterbe Camfordon keresztül utazzon". Itt azt tartottuk a legfontosabbnak, hogy egy ilyen program felépítéséről fogalmat alkossunk, és nem az elérhető legelegánsabb program megírását tűztük ki célul.
Ezek alapján reméljük, hogy az Olvasó megismerte a BASIC programok írásának logikáját. Ha még nem is érzi magát képesnek ilyen bonyolultságú program megírására, az egyszerűbb programokkal való kísérletezés sok örömet okozhat. Mint bármilyen más nyelv esetén, itt is a gyakorlat teszi a mestert. A saját programírás mellett mások által írt programokat is meg lehet vásárolni, és a saját mikroszámítógépen futtatni.
A következű fejezet a saját gép beszerzésével, használatával foglalkozik.

 

5

A mikroszámítógépek és használóik

Vajon miért vásárolt eddig Angliában százezernél is több ember mikroszámítógépet, hiszen ára még mindig 50£ felett van? Igaz, hogy néhány felhasználónak már volt ekkor műszaki előképzettsége, de lényegesen több az olyan, aki szinte semmit sem tudott a számítógépről, amikor megvette. Így az orvosok, ügyvédek, leveles postások, háziasszonyok, tanárok, vendéglősök, gyógyszerészek - vagyis az élet legkülönfélébb területein tevékenykedő emberek (állandóan növekvő arányban) váltak számítógép-tulajdonosokká.
Közülük egyesek ténylegesen speciális alkalmazásokhoz vásároltak gépet - gyakran a munkakörükkel kapcsolatos feladatok megoldásához. Növekszik azonban azoknak a száma, akiket egyszerűen lenyűgözött ez az újfajta szellemi élmény, amit egy ilyen kis gép nyújtani tud.
Újabban az iskolák is vesznek mikroszámítógépeket, és rájöttek arra, hogy nemcsak a természettudományok és a matematika területén tudják hasznosítani őket, hanem pl. a földrajz, a történelem és a nyelvoktatás területén is. Sok helyütt az iskolás gyermekek kedvenc hobbija, hogy szabadidejükben programokat írnak, és lefuttatják. Így azután kézenfekvő, hogy ma már egyes országokban a számítástechnikát az általános képzés szerves részének tekintik.
Vannak persze olyanok is, akikben valamilyen bizonytalansági érzés alakult ki, féltik a munkájukat a láthatáron feltűnt új technológiától, s bár nem értik a gép működését, szükségét érzik, hogy mielőbb megismerjék, hogy megszerezzék a megismeréstől remélt biztonságot.
Megint mások - lelkes barkácsolók - abban lelik örömüket, hogy maguk szerelik össze számítógépüket - egyrészt, mert így olcsóbb, másrészt szórakoztatóbb.
A programozható mikroszámítógép számos területen hasznos, de semmiképpen sem csodaeszköz, amilyennek egyesek kikiáltották. A 100£-os számítógép nem arra való, hogy szabályozza az üvegház klímáját, vagy feljegyezze a háztartás összes kiadását és bevételét, esetleg, hogy feldolgozza és kinyomtassa a teljes magánlevelezést.
Számos egyszerű dolgot viszont elvégez, és ez sok örömet szerez. Ha azonban valaki professzionális célra, pl. munkájához akarja használni a számítógépet - az újságíró a szövegfeldolgozáshoz, az építész az optimális tervezési költség kiszámításához, az üzletember a könyveléshez -, akkor tudnia kell, hogy bár a számítógép alkalmas ilyen célokra, a legolcsóbb hardverrel ilyen feladatokat nem lehet megoldani. A szoftverrel is fennáll az a probléma, hogyha a számítógép alkalmas is valamely feladat elvégzésére, a megfelelő program nélkül nem tudja végrehajtani.
Mielőtt a sokféle olyan cél közül néhányat ismertetnénk, amelyre az olcsó mikroszámítógépek használhatók, nézzük meg, hogy a legegyszerűbb rendszerek mire alkalmasak és hogyan lehet némelyiküket esetleg még továbbépíteni!

 

A legegyszerűbb személyi számítógépek

 

Annyiféle mikroszámítógéppel kapcsolatos hirdetés jelenik meg, hogy érthető, ha a kevés ismerettel rendelkező, számítógépet vásárolni szándékozó olvasó nehezen igazodik el közöttük. Vásárláskor a vevő többé-kevésbé megkapja pénzének ellenértékét - hosszú távon viszont a mikroszámítógép értéke attól függ, hogy milyen szoftverhez lehet majd hozzájutni és hogy mennyire lehet az alapgépet továbbépíteni. De hát mit is kapunk a pénzünkért? Tegyük fel, hogy éppen most vettünk egy kis mikroszámítógépet. A csomagban rendszerint a következők vannak:

  • Használati utasítás, amely megmutatja, hogy hogyan kell a gépet üzembe helyezni, és hogyan kell egyszerű programokat írni.
  • Ezenkívül van benne egy kézikönyv is, amely az adott programnyelv - rendszerint BASIC - utasításainak felhasználási részleteit ismerteti.
  • Maga a gép, amelynek billentyűzete van, és különböző csatlakozói a hátlapján vagy az alján.
  • A hálózati tápegység csatlakozója, amely a gép működtetéséhez szükséges kisfeszültséget biztosítja vagy egy transzformátor segítségével a gép belsejében, vagy külön tápegységgel. Ez utóbbi kevésbé kényelmes, mert még egy külön dugaszolandó egységet jelent.
  • A számítógép és a tévéantenna csatlakozójának összekapcsolásához szükséges vezeték.
  • A számítógép és az otthoni magnetofonunk összekapcsolásához szükséges vezeték.
  • Néha egy kazettát is adnak a készülékekhez, amely néhány mintaprogramot tartalmaz.


A legegyszerűbb rendszerek összekapcsolása
A pirossal jelölt vezetékek összekötik a kazettás magnón lévő mikrofon, fülhallgató és (remote) motorvezérlő dugaszokat a mikroszámítógép hátlapján lévő kazetta csatlakozással; valamint összekötik a mikroszámítógép hátlapján levő UHF kimeneti dugaszt a házi tévékészülék antennacsatlakozójával.

Bekapcsolás és üzembe helyezés
A számítógépet a hálózatra kapcsolva és a tévé antennabemenetéhez csatlakoztatva, először is a számítógépre kell hangolni a tévét. A tévékhez illeszthető mikroszámítógépekbe egy kis tévéadó van beépítve, amely olyan kimenő jelet ad, amit a tévé úgy tud fogadni, mint pl. az első vagy a második program műsorát. A legtöbb tévének olyan hangológombja van, amely erre használható, és a számítógép frekvenciájára történt behangolás után ezt a csatornát erre a célra lehet fenntartani. A számítógépnek valamilyen üzenetet kell kiírnia a képernyőre, pl. a READY vagy a > szimbólumot, és erre lehet a finomhangolóval beállítani a legjobb olvashatóságot.
A betűk a tévé képernyőjén nem jelennek meg olyan tisztán, mint egy videomonitoron. A videomonitor olyanfajta eszköz, mint amilyent a vezetékes tévérendszerekben használnak, így nem kell a tévéadás frekvenciájára hangolni. A profi számítógép-használók inkább a monitort használják, mint a közönséges tévét, de ehhez az is szükséges, hogy a gépnek videokimeneti csatlakozója legyen. A drágább számítógép-rendszereknek egyébként saját monitoruk van. A fekete-fehér monitorok már meglehetősen olcsók, de a színes monitorok még sokkal drágábbak, mint a színes tévékészülék.
A billentyűzet

Aki ismeri az írógép billentyűit, annak a számítógép billentyűzete nem okoz sok meglepetést. Vannak azonban különleges billentyűi. Egy tipikus elrendezést az alábbi ábra mutat:


A BBC mikroszámítógép billentyűzete nagyjából azonos a szabványos írógép-elrendezéssel. Látható rajta néhány speciális billentyű is, amelyek legtöbbjének leírása könyvünk szövegében megtalálható. A felső (f0-f9) billentyűsort a felhasználó definiálhatja; míg a jobb oldalt, a nagy nyilakkal ellátott billentyűkkel a kurzor mozgatható.

A legfontosabb különleges billentyűk a következők:

  • A RETURN vagy ENTER billentyű, amelyet arra használunk, hogy egy programsort vagy parancsot "beadjunk a gépnek", miután már bebillentyűztük és megjelent a képernyőn.
  • A kurzorvezérlő - nyilakkal jelölt - billentyűk, ezeket arra használjuk, hogy a kurzort a képernyőn mozgassuk. A kurzor az a jel a képernyőn, amely megmutatja azt a helyet, ahol a következő billentyűzéskor a beírt karakter meg fog jelenni. Ha szerkeszteni akarunk a programban egy sort, a kurzort arra a pontra kell vezetnünk, ahol változtatni kívánunk.
  • A BREAK billentyű a futó programot szakítja meg, és akár az újraindítást, akár a folytatást lehetővé teszi.
  • A DELETE billentyűvel az éppen beírt karakter törölhető, ha hibát követtünk el.

A többi billentyűnek inkább csak olyan funkciói vannak, amelyeket a géppel vásárolt használati utasítás megmagyaráz. Közülük néhány lehet "felhasználó által definiálható" (szabadon választható) billentyű, ami azt jelenti, hogy a kezelő a megfelelő utasítás beírásával maga határozhatja meg, hogy adott billentyű lenyomásakor a gép mit tegyen. Tételezzük fel pl., hogy olyan programot írunk, amely a PRINT utasítást gyakran használja. Sok munkát lehet megtakarítani azzal, hogy a PRINT szó betűnkénti beírása helyett egy, a felhasználó által definiálható billentyűt erre programozhatunk be.

 

Program írása és futtatása
Az egyszerű program írása mindössze abból áll, hogy a programnyelv megfelelő változatának szabályait betartva billentyűzzük be a sorszámokat és az utasításokat a gépbe. Minden egyes programsor végén nyomjuk meg a RETURN billentyűt és ezután billentyűzzük be a következő sort.
A program megírása után adjuk be a RUN parancsot és nyomjuk meg a RETURN billentyűt, ekkor a program futni kezd. Ha hibát követtünk el, a program megáll és vagy hibaüzenet, vagy hibasorszám jelenik meg a képernyőn. A hibaüzenet vagy magától értetődő, vagy a használati utasításból kell kikeresni a jelentését.
A legtöbb számítógép-kézikönyvben vannak programlisták, amelyeket akárki beadhat. Nagyon fontos, hogy ezeket pontosan adjuk be! Akár egy rosszul elhelyezett szóköz, space (ejtsd szpész) is megakaszthatja a program futását.

 

A program kimentése kazettás mágnesszalagra


Kétfajta csatlakozó
Balra: két db "DIN" dugaszos csatlakozó
Jobbra: Egy db "DIN" és három "jack" dugaszos csatlakozó

Ha órákon keresztül rabszolgaként a billentyűkkel bíbelődtünk és végre összeállt egy működő program, a számítógép véletlen kikapcsolásával az egész veszendőbe mehet - a tár törlődik és a teljes munka kárba veszett. Ilyenkor a legegyszerűbb fajta háttértár is hasznos lehet. Az otthoni kazettás magnetofon is felhasználható a számítógépbe beírt programok tárolására és visszajátszására.
A legtöbb géphez magnetofon-csatlakozóvezetéket is adnak. (Ellenőrizzük, hogy a megfelelő dugaszt kaptuk-e!). Az ábrán a két legelterjedtebb változatot mutatjuk be. Ha rossz típust kaptunk, szaküzletben vegyünk egy átalakítót.
Feltételezve, hogy a magnetofont megfelelően csatlakoztattuk, a programokat a felvétel és lejátszás gombok egyidejű lenyomásával lehet rögzíteni, és azzal, hogy a számítógépnek a megfelelő parancsot bebillentyűzzük, amire az elküldi a programot. A magnetofon a számítógép kimenetét csipogó hangok sorozataként rögzíti. Egyes számítógépeknek "motorvezérlése" is van, amely bekapcsolja a magnetofon motorját, amikor a programot tárolni kell, és kikapcsolja a program végén. A motorvezérlés csaknem elengedhetetlen, ha később a magnetofont adatok és programok vezérlésére egyaránt használni kívánjuk.
Minden egyes szalagon rögzítendő programnak nevet kell adni, hogy azonosítható legyen és meg tudjuk különböztetni más programokból a visszajátszáskor. A programnak akkor kell nevet adni, amikor parancsot adunk a számítógépnek, hogy a program éppen a (4. fejezetbeli) tanuló szorzótáblája volt, akkor ezt pl. TABLA-nak nevezhetjük. Ekkor a bebillentyűzendő utasítást így kell írni:

SAVE "tabla"

Ezt követi a RETURN billentyű lenyomása. A számítógép ekkor átküldi a programot a mágnesszalagra, elétéve a TABLA elnevezésű címkét. Az átjátszás eltart egy ideig, a program végéig semmihez sem szabad nyúlni! Egyes gépek az átjátszás alatt hangot adnak, a program végét a hangok megszűnésével érzékelhetjük. A legtöbb rendszerben egy látható, figyelmeztető (promt-) jelzés mutatja a képernyőn az átjátszás befejeztét.

A program visszajátszásához a szalagot vissza kell csévélni, és a jelen esetre megfelelő

LOAD "tabla"

parancsot kell bebillentyűzni, majd a RETURN gombot lenyomni. A számítógép ekkor közli velünk, hogy játsszuk le a szalagot. Futás alatt á gép figyeli, majd ha megtalálja, átírja a TABLA címkéjű programot a szalagról a saját tárába. Ha ez a program nem az első a szalagon, a gép kijelzi a képernyőn az összes többi átfutó program nevét, amíg meg nem találja a TABLA címkéjűt. Amint megtalálta és betöltötte a programot, a promt-jel megjelenik. Ekkor nem kell mást tenni, mint a RUN-t beütni és a programnak működnie kell.

 

Itt kell megemlíteni, hogy bár a kazettás magnetofon olcsó és kellemes programtárolási mód, sok mikroszámítógép-tulajdonos számára jelentős hibaforrás is lehet. A szalagok néha nem működnek tökéletesen. A magnetofon hangerő-szabályozóját az átjátszás előtt nagyon pontosan a megfelelő szintre kell állítani, a szalag gyűrődései, a lejátszófejek elpiszkolódása hibát okozhatnak, és ha csak egyetlen bitnyi információ nem megfelelő, a program nem működik. Megfelelő gyakorlattal a szalag is jól működhet, és ez kétségtelenül olcsó a programok tárolására.
Jelentős zavaró tényező a szalagok lassú működése. Ha több programot rögzítettünk egyetlen szalagra, szinte lehetetlen füllel kiválasztani a megfelelőt a szalag egyszerű lehallgatásával. Az emberi fül számára a szalagon rögzített számítógépprogramok csipogó zajként igen egyformának hatnak, ezért a számítógépnek kell a megfelelőt kikeresnie, hacsak nem tudjuk, hogy a szalag melyik pontján van az adott program. Ekkor a szalagot gyors futtatással odajuttatjuk, ahol a program eleje van, majd innen indítjuk. Ennek ellenére a programok rögzítéséhez inkább a rövid C12 kazettákat használjuk, és ne essünk kísértésbe az olcsó C90 vagy C60 kazettákkal! Két dolog történhet ugyanis: egyrészt rendszeresen előfordulhatnak rögzítési vagy visszajátszási hibák, másrészt sok időt tölthetünk el a programok keresgélésével.

 

Hang, szín, grafika és mozgás
A 4. fejezetben áttekintettük a BASIC nyelvnek azokat a legegyszerűbb parancsait és utasításait, amelyeket a legtöbb BASIC változat megért. A most piacra kerülő legújabb gépek némelyike már hang, szín és grafikai lehetőségeket is biztosít. Ezen a három területen az egyes gépek csaknem biztosan eltérnek egymástól. A PLOT, COLOUR, DRAW és a BEEP utasítások révén vonalak rajzolhatók a képernyőre, különböző színek hozhatók létre, és különböző magasságú hangok adhatók (ha a számítógépnek van hangszórója).
Hogy hol használhatók ezek az utasítások? Nos, két példát adnak erre: Olyan játékoknál, amelyekben a mozgó tárgyak összeütközésekor hang hallható, és zenei programoknál, amikor a számítógép billentyűzete zeneszerzésre használható. Ez utóbbi esetben a hangjegyek grafikus kottán jelennek meg a képernyőn, és ez zeneként visszajátszható a számítógép hangszóróján.

 

Mások programjai

A századfordulón nagy izgalmat jelentett a gramofon megjelenése. Bár sok családban volt már zongora, amelyen az egyes családtagok tanulhattak vagy a saját szórakoztatásukra szívesen játszottak (akármilyen rosszul is tudtak), az igazi újdonság a gramofon volt! Sokan megvették a gramofonlemezeket, és neves művészek által előadott zenét hallgattak. Nagyon hasonlít ehhez a jelenlegi mikroszámítógép-helyzet: egyesek úgy érzik, azáltal, hogy egy kicsit önmaguk is programoznak, tulajdonképpen számítástechnikával foglalkoznak (akármilyen rosszul is tudnak), és ahogy egyesek zongoraművésszé váltak, ugyanúgy most ők jó programozóvá fejlődhetnek. Ugyanakkor mások által írt, kész (alkalmazási) programok vásárolhatók, amelyeket azután saját mikrogépünkön lefuttathatunk. Jelenleg - hasonlóan a korai gramofonlemezekhez - nincs valami sok program, és ezek nem is mindig a legjobbak. Ennek ellenére, hasonlóan a gramofonipar fejlődéséhez, a mikroszámítógép-programok is évről-évre fejlődnek, javulnak, mennyiségi és minőségi szempontból egyaránt.
Folytatva az analógiát: a hanglemez jelentőségét elhomályosította az 1920-as évek végén szárnyra kapó szenzációs hír: elkészült a rádió, amely új zeneforrást teremtett! A számítógépek világában is hasonló fejlődés várható. Könnyen lehet, hogy a BBC és IBA által Angliában kisugárzott teletext szolgálat "teleszoftvert" is sugároz majd, és hasonló módon telefonvonalról is le lehet majd hívni számítógépprogramokat az angol posta Prestel szolgálatán keresztül. Persze ez még a "jövő zenéje"!
(A Magyar televízió Képújságában már 1983 nyara "olvasható"szoftver olval is, és a Magyar Posta is készül a maga Prestelhez hasonló videotex szolgáltatásának beindítására.)

A legegyszerűbb kereskedelmi szoftver hangkazetták alakjában megvásárolható, és ugyanúgy betölthető a számítógépbe, mintha a programot magunk írnánk. Nehézségeket okoz, ha a szoftver olyan BASIC változatban íródott, amelyet gépünk nem ért meg. Ez a nehézség mindaddig fennáll, amíg nem sikerül végleg szabványosítani egy egyértelmű BASIC nyelvet. Az is előfordulhat, hogy a program túl hosszú, és nem fér be a RAM tárba. Ilyen esetben számba kell vennünk mikroszámítógép-rendszerünk továbbfejlesztésének lehetőségét! A legtöbb mikroszámítógépet ugyanis (talán a legolcsóbbakat kivéve) tovább lehet építeni, és számos különféle perifériát lehet hozzácsatlakoztatni. A legtöbb alkalmazási példa, amit később tárgyalunk ebben a fejezetben, ilyen kiépített rendszereket tételez fel és ezek az alkalmazástól függő konfigurációban vannak.

 

Tárbővítés
Az olyan számítógépprogramok, amelyek sok szöveget tartalmaznak, nagy tárkapacitást igényelnek. Így a tár kibővítésére lesz szükség az eredeti 1 K vagy 4 K vagy 16 K RAM kapacitásról nagyobbra. (A K itt kilót jelent, ami ezer, de csak körülbelül. 1 K tár ténylegesen 1024 byte a számítógépek világában, így 4 K 4096 byte, mert 1024=2^10 és 4096=2^12.) Egyes számítógépek tárkapacitása egyszerű módon bővíthető: külön tárchipek vásárolhatók és a megfelelő helyre dugaszolhatók. Mások esetében tárbővítő dobozt kell a géphez csatlakoztatni. Hogy elképzelésünk legyen arról, mekkora tárkapacitást igényel egy program, közöljük, hogy a 4. fejezetben ismertetett útkereső programoknak pl. mintegy 1,5 K RAM kapacitásra van szüksége.
A RAM bővítésen kívül egyes számítógépek lehetővé teszik a ROM tár bővítését is. Emlékezzünk vissza, hogy a gépnek az a képessége, hogy a BASIC utasításokat megértse, a BASIC interpreter-chipen múlik, amely ROM-ban van! Más nyelvek is alkalmazhatók új chip bedugaszolásával, így a felhasználó szabadon választhat. Gyakran használt alkalmazói programok is befagyaszthatók ROM chipekbe, és ezek is megvásárolhatók és bedugaszolhatók. Erre a szövegfeldolgozó program jó példa.

 

Perifériális eszközök
Ha van csatlakozási lehetőség, akkor a számítógéphez sokféle eszköz csatlakoztatható, és segítségükkel a legkülönfélébb feladatok elvégezhetők. Ezek közül egyesek még a számítógéphez viszonyítva is drágák, és ezeket csak üzleti vagy professzionális alkalmazásokban érdemes használni. Az alábbi ábra bemutatja a legfontosabbakat.
 

Hajlékony lemez (floppy disc)
A kazettás magnetofon hátrányai hajlékony lemezes tár (floppy disc) egységek használatával nagyrészt kiküszöbölhetők, amely sokkal több információ tárolását és gyors megtalálását teszi lehetővé. Ezek mágneses bevonatú vékony műanyag lemezek védőburkolatban. Ha meghajtóegységbe helyezzük őket, forogni kezdenek, és egy univerzális fej segítségével - amely a lemez sugara mentén mozog és annak bármely részére ráír vagy visszaolvas - információt lehet rögzíteni, ill. visszaolvasni.
Csaknem minden komolyabb alkalmazásban egy vagy két meghajtóegységre van szükség, és ezek ára az illesztőelektronikával együtt valószínűleg több, mint maga a mikrogépé, bár a tömeges értékesítés miatt az ár rohamosan csökken. Sokféle kereskedelmi szoftvert lehet kapni, de nagyon fontos, hogy ezeket "megbízható forrásból" szerezzük be.


8 inch-es (balra) és a korszerűbb 5.25 inch-es meghajtó.
A számítógép házába szerelhető meghajtók olyan keretekbe csúsztathatók, amelyekben még más tárakat vagy egyéb különleges funkciójú áramköri kártyákat csúsztathatunk be


Számítógép konfiguráció külön házban működő floppy meghajtóval

Nyomtatók
A nyomtatás minőségétől függően a nyomtatók igen olcsók, de nagyon drágák is lehetnek. Ha mindössze a számítógép programjának kiírt (kilistázott, ahogy a "szakik" mondják) másolatára van szükségünk, akkor egy hőnyomtató is megteszi. A hőnyomtatóhoz speciális hőérzékeny papírt alkalmaznak, amely a mozgó nyomtatófej érintésére a melegített pontokon megváltoztatja a színét.


Az olcsó hőnyomtató különleges hőérzékeny papírral működik

Minőségben és árban a következő fokozat a mátrixnyomtató. Az ilyen nyomtatók egészen elfogadható minőségű számlákat és adatlapokat tudnak kiadni. És ezekhez a közönséges papír is felhasználható.
A legjobb minőséget a karaktertárcsás vagy szokásos nevén "Margaréta-kerekes" nyomtatók nyújtják, amelyeket szövegfeldolgozásra is alkalmaznak. 1981-ben áruk alsó határa 1200£ volt. Ezek kiváló minőségű nyomtatványokat készítenek, és rendszerint a tárcsával együtt cserélhető karakterkészletük van. A kereskedelemben kapható nyomtatók többsége a mikroszámítógéphez szabványos interfész segítségével csatlakoztatható. Ennek ellenére a megfelelő összekapcsoláshoz és a nagysebességű üzemhez először műszaki segítségre lesz szükség; vegyük igénybe szolgáltatásaikat!

Botkormány
A játékok használatához botkormányos egységek is csatlakoztathatók a számítógépekhez. Sok játék ezek nélkül is vezérelhető a gép billentyűzetéről, így a botkormány nem feltétlenül szükséges a játékok használatához.


A "botkormányos" vezérlés. A rúd felső végének mozgatásával a szimbólumok a képernyőn hasonló pályán mozdulnak el.

Teletext és Prestel
Mind a kisugárzott teletext, mind az angol postai Prestel szolgálat a legkülönbözőbbféle információ forrása lehet, amelyet csak tévéképernyőn megjeleníthetünk. Ezeket a rendszereket együttesen "Viewdata"-nak vagy újabban videográfiának nevezik.
A teletext a kisugárzott tévéjel ez ideig ki nem használt részét hasznosítja, hogy digitálisan kódolt információt terítsen szét az űrbe. A Prestel a hasonló információt telefonvonalon juttatja el, amelyet egy speciális adapterrel lehet a tévéhez csatlakoztatni. A teletext ingyenes, de csak egyirányú információáramlást biztosít. A Prestel szolgáltatásainak igénybevétele a telefonhívás díjába kerül, meg a kért információtól függően némi többletköltségek felszámításával, de ezzel már a telefonvonalon mindkét irányban küldhető információ, így a kétirányú adatközlést is megvalósítja.
Az ilyen szolgálatok révén kapott digitális adatok dekódolóval beolvashatók a számítógépbe, ott futtathatók, és a gép tárában őrizhetők. Az adat lehet egyenes információ, pl. újsághír, időjárásjelentés, jelentés, tőzsdei árfolyam, de lehet párbeszédes számítógépprogram is, ekkor már teleszoftvernek nevezzük. A viewdata jelöli ki azt az utat, ahogyan a szoftvert a közeljövőben szét lehet teríteni, osztani. A teletext ingyenes szolgáltatás lesz, a Prestel szoftver pedig kereskedelmi árú, amelyet a telefonszámlával együtt kell majd megfizetni.

Analóg be- és kimeneti egységek
Mi a teendőnk akkor, ha arra kívánjuk felhasználni a mikroszámítógépet, hogy állítsa be egy üvegház klímaviszonyait, irányítsa egy játékvasút működését, vagy állapítsa meg a baromfiállomány súlyát? Ha ilyen elképzelésünk van, akkor olyan mikroszámítógépre lesz szükségünk, amelynek legalább egy be-, ill. kimeneti csatlakozója, szakzsargon szerint: portja van. Ez egy olyan különleges csatlakozást jelent, amelyen be- és kimeneti egységek csatlakoztathatók a géphez. Rajta keresztül információk küldhetők a géphez, ill. a géptől bináris alakban, és mivel a processzor használja, sokféle egység csatlakoztatható a számítógéphez.
Az olyan egyszerű készülékek, mint pl. a kapcsolók, kevés interfészt igényelnek, mert alapvetően bináris működésűek. Így pl. riasztóberendezések könnyen csatlakoztathatók a géphez. A másik irányban meglehetősen egyszerűen lehet be- és kikapcsolni a berendezéseket a géptől jövő, megfelelően felerősített jelek segítségével. Nyilvánvalóan előnyösek az olyan számítógép-rendszerek, amelyeknek belső időzítésük, azaz órájuk van.
Ha másfajta jeleket kell kezelni, akkor speciális interfészre, pl. analóg digitális átalakítóra van szükség. Ezeket az átalakítókat néha beépítik a mikroszámítógépbe. Már láttuk a 3. fejezetben, hogy hogyan alakítják át a feszültségeket olyan arányos digitális jellé, amilyent a számítógép megkíván. Így a számítógép hangokat tud szimulálni és feldolgozni.
A megfelelő analóg be- és kimeneti egységekkel rendelkező számítógépeket hőérzékelőkhöz vagy mérlegekhez lehet pl. csatlakoztatni. Így ezek a laboratóriumban intelligens vezérlőkké válnak. Mivel - különösen ma már - nagy súlyt fektetnek arra, hogy a számítógépeket irányításra használják, nagyon valószínű, hogy a következő években nagyszámú, változatos típusú, ilyen géphez csatlakoztatható érzékelőt és beavatkozószervet dobnak piacra.

 

Mire haszmálhatók a mikroszámítógépek?


Sakk számítógép 1980-ból
(Chess Partner 2000)

 

Általános alkalmazási területüket képviselik a játékok. Jól ismerjük a játéktermek játékautomatáit, mint pl. az űrháborút, de a hagyományosabb játékok, tehát a sakk, a bridzs már szintén számítógépre kerültek. A játékok egyre népszerűbbé válnak, mert a legújabb mikrogépek színes grafikával is rendelkeznek.
Sok olyan játék van, amelynek képernyőjén gyorsan mozgó tárgyak, alakok jelennek meg, vagy a játék során sok számítást kell végezni (pl. a sakk), az ezekhez szükséges programokat alacsony szintű gépi kódban vagy BASIC-ben írják. Ma már kaphatók BASIC játékprogramok, amelyek megkönnyítik a programok beírását.
A játékok nem csak szórakoztatást szolgálhatnak. Újabban elterjedt szokás, hogy a "számítógép-szakértők" ismételten lejátsszák a játszmákat a számítógépen. A mikrogép-tulajdonosok zöme úgy vélekedik, hogy a programtanulásnak az a legkönnyebb és legkellemesebb módja, ha a játékprogramot maguk próbálják elkészíteni. Sok hivatásos számítástechnikus csupán azért lép be egy számítógépklubba, mert a munkahelyi gépen nem lehet játszmákat lefuttatni. Lényeges tehát, hogy jövendő számítógépünkön, amelyet otthon használunk, játékok is futtathatók legyenek, vagyis botkormányt is hozzá lehessen kapcsolni, és akusztikus kimenetű legyen. A botkormánnyal grafikus szimbólumok mozgathatók a képernyőn, a mozgás és a hangok együttese pedig tökéletesebbé teszi az illúziót.
A számítógép és a játékok értelemfejlesztők is lehetnek. A legtöbb asztali rendszerrel ma már elfogadhatóan lehet sakkozni, bridzsezni vagy más stratégikus játékokat játszani. Sok számítógépfolyóirat közöl játékprogramokat, és így olcsón és könnyen szinten tarthatjuk programkönyvtárunkat.
Az igazi érték a mikroszámítógépnél az interaktív tulajdonság. A számítógép rendszerint méltó ellenfélnek bizonyul, akármilyen nehézségi szintben állapodtunk is meg.

Tanítsd magad!
Készen kaphatók számítógéppel támogatott tanítóprogramok (CAL) a matematika, a fizika, az idegen nyelvek tanulásához, sőt még a számítógép-programozáshoz is. Most, hogy a berendezések ára csökken, az iskolák is be tudják szerezni a számítógépet. Még ott is, ahol a költségvetést csökkentik, a számítógép előkelő helyen szerepel az iskolai felszerelések igénylistáján. Sajnos a gépek iskolai használatát korlátozza a jó szoftver és a képzett tanárok hiánya. Az olcsó számítógépeket maguk a diákok is megvehetik, és otthon használják. Sok szülő így találkozik először a számítógépekkel.
Azok, akik a mikroszámítógép-témában a kezdet óta - kb. 5 éve - "benne vannak", rendszerint összehasonlítják a mikroszámítógépek hatását és terjedési sebességét a zsebszámológépekével. Amióta csak az olcsó zsebszámológépek hozzáférhetőkké váltak mindenki számára, alapvető hatást gyakoroltak a matematika és a természettudományok oktatására. Hasonló tapasztalható a mikroszámítógépek területén is - hatásuk az oktatás minden területén óriási lesz talán.
Az oktatásban többféle programtípust használnak:

  • a gyakorlatot és besulykolást elősegítő programok,
  • oktatási programok,
  • szimuláló- és modellezőprogramok,
  • mindezek kombinációja (pl. játékprogramok).

A gyakorlatot és besulykolást támogató programok révén a tanuló ügyességre és gyakorlatra tegyen szert mindazon témában, amire megtanították. Az előzőkben láttunk egy egyszerű példát a szorzótábla ellenőrzésére (a 2. és a 4. fejezetben). Ennél sokkal nagyvonalúbban használják pl. Dallasban (Texas) a mikroszámítógépeket arra, hogy az alapvető matematikai ismereteket besulykolják. A tanulók belefáradnak az ilyen programokba, ha túl sokáig kell a számítógép mellett ülniük, a módszer azonban mégis hasznos, különösen akkor, ha felszabadítja a tanárt más dolgok elvégzésére. Dallasban minden gyereknek naponta 15 percnyi koncentrált tevékenységet kell folytatnia a számítógépen. A programokat a tanárok maguk írták, és számos technikát felhasználnak a képernyőn. A számítógépek minden gyereket a nevén szólítanak, és úgy programozhatók, hogy a válaszadás gyorsaságát és pontosságát is megvizsgálják, és figyeljék a gyermek fejlődését, amelyre a tanár később visszahivatkozhat.
Az oktatási programokkal bizonyos tárgyak oly módon taníthatók, hogy a gép információk és diagramok alapjait szolgáltatja, majd kérdésfeltevéssel ellenőrzi megértésüket. Ha a válasz helyes, a diákot egy megadott gondolati irányba terelik, ha pedig helytelen, akkor pl. az információt más módon is megismétlik. Ezek a programozott tanítási módszerek különleges tanulócsoportok részére csak korlátozottan értékesek, akik egészen meghatározott ismeretanyagot kívánnak megtanulni. Erre jó példa maga a számítógépprogramozás.
A szimuláló és modellezőprogramokkal valóságos eseménysorok utánozhatók a képernyőn. A felhasználónak tehát nem kell "fizikai" kapcsolat révén megfogalmaznia a problémát, a valódi világból gyűjtött adatok ugyanis beírhatók a programokba; a fő cél a döntőképesség és a feladatmegfogalmazás és -megértés kifejlesztése.
Jó példa erre, amikor kémiai kísérleteket szimulálunk, a diákok anélkül végezhetnek kémiai kísérleteket, jósolhatják meg bizonyos tevékenységek hatásait, hogy a készülékekhez hozzányúlnának. Más példa a természettudományok területéről: áramkörök rajzolhatók képernyőre, kérdések tehetők fel, hogy mi történne, ha egy
egy kapcsolót zárnánk, vagy megváltoztatnánk egy-egy áramköri elemet. Egy másik példában egyszerű szimulációval bemutatható, hogy hogyan mozognak a gázmolekulák egy doboz belsejében. A diák a billentyűk használatával megnézheti, hogy mi történik a molekulákkal, ha a dobozt fűtik vagy összenyomják, ill. ha az oldalán kilyukasztják.
Egy népszerű program kezdete a következő: "Milyen pályán repül az a tárgy, amelyet elég magas helyről és elég gyorsan dobsz el?" Ezután a program megkérdezi a magasságot és sebességet, majd kiszámolja, hogy mi is történik. Egy másik program bemutatja a bolygók mozgását, relatív helyzetét és méretét a naprendszerben. Ez a program szimulálni tudja a bolygók mozgását bármelyik két rég elmúlt vagy jövőbeli időpontok között.
A nyelvtanításról sem felejtkeztek meg, és a legáltalánosabb nyelveket már beprogramozták. Az orosz tanfolyamon egy program mutatja be a cirill ábécét, majd átvezet az egyszerű nyelvtani és szótári problémákon. A legtöbb nyelvi program szavakat és nyelvtant tanít, de a kiejtés oktatására még várni kell, amíg meg nem oldják a jó beszédszintézist és -felismerést. A tanárok segítségére speciális szerzői nyelveket fejlesztettek ki, amelyekkel sokkal könnyebben lehet megszerkeszteni a grafikákat és a szöveget tartalmazó oldalakat, mint a BASIC-kel. A döntési pontok úgy programozhatók, hogy a helyes és helytelen válaszok különböző "keretekhez" vezessenek. Teljes programokat lehet írni és rögzíteni ilyen nyelveken - a BASIC programokhoz hasonlóan - későbbi használatra. A szerzői nyelveket a magas szintű nyelvek hierarchiájában felsőbb fokozatnak tekintik.
A játékprogramok szórakoztatnak, és a tanító játékprogramok ügyesen fejlesztik a diákok gondolkodását. Bár már ezernyi ilyen program van, a szoftverfejlesztés nem tartott lépést a hardverével. A jelenleg hozzáférhető szoftver meglehetősen szegényes, kivéve a matematika és a természettudományok területére vonatkozó néhány jó programot. Nyilvánvaló, hogy csak idő kérdése a megfelelő szoftverválasztás kifejlesztése, hiszen egyre több tanár szerez gyakorlatot a számítógépek használatában.
A gazdasági játékok a vezetőképzésben népszerűek. Minden információt megadnak a hallgatónak a döntéshozatalhoz. "Véletlen" események, pl. tűz vagy hirtelen árváltozások, kamatlábváltozások beépíthetők a programba.
A gyerekek körében nagyon népszerű az ún. "akasztott ember" játék számítógépes változata. Rendszerint meg lehet választani a nehézségi fokozatot és a megengedett hibás válaszok számát, mielőtt az akasztófa és az emberke megjelenne a képernyőn. A jobb változatok lehetővé teszik, hogy a tanár megváltoztassa a szavak jegyzékét, így az osztály szintjéhez igazított szócsoportokat lehet használni.

 

Gazdasági alkalmazások
A gazdasági célokra alkalmazott mikroszámítógépek igen sokfélék, változatosak lehetnek. Még az "otthoni szinten" is léteznek pénzügyi programok, amelyekkel ellenőrizhető a bankegyenleg, amely kiszámítja az adó-visszatérítéseket, tárolja a cím- és telefonszámjegyzéket, a naptári eseményeket, és vezeti a könyvek és hanglemezek katalógusát.
Kereskedelmi viszonyok között egy néhányezer Fontos beruházás rendszerint egy év alatt megtérül. USA-beli tanulmányok kimutatták, hogy bármilyen cég, amelynek forgalma évi 100 000£ fölött van, pénzt veszít, ha nincs számítógépe. Ez persze nem azt jelenti, hogy a kisebb cégek nem nyernek azon, ha számítógépesítenek. A könyvelést pl. nagy- és középvállalatoknál számítógéppel végeztetik, a mikroszámítógépek viszont már egészen kis vállalatok részére is, akár egyszemélyes üzleti vállalkozásnál lehetővé teszik a könyvelés, a megrendelések, a bérszámfejtés, a számlázás, a raktárkészlet és pénztárellenőrzés stb. ésszerűsítését. Ma már Angliában az orvosok, tanácsadók, üzletemberek, vendéglősök és szállodavezetők elterjedten vásárolnak mikroszámítógépeket. A viszonylag túl egyszerű mikroszámítógép-rendszerek azonban nem sokat nyújtanak. A gazdasági alkalmazásokban a kiválasztást eldöntő fő szempont nem az, hogy a vállalat mit csinál most, hanem, hogy mit fog tenni 3 vagy 5 év múlva. Ezért nagyobb vásárlásnál a továbbépíthetőséget jól meg kell fontolni.

 


"Rózi, az elektronikus titkárnő" - így nevezte a nyolcvanas évek embere a Rolitron szövetkezet szövegszerkesztő automatáját, a Rosytextet. A Rózsahegyi László és Wahl Ferenc vezetésével fejlesztett és gyártott gépcsalád sok olyan vállalatvezető tetszését is elnyerte, aki a számítógépektől még idegenkedett, de az írógépeket már nem tartotta elég hatékonynak. Természetesen a Rosytext is számítógép volt (központi egysége egy Z80 mikroprocesszor, 64 kilobájt RAM-mal), de főleg azt a tulajdonságát hangsúlyozták, hogy gépelt írásmunkák írás közbeni módosítására, utólagos javítására, többszöri kinyomtatására alkalmas.

Szövegfeldolgozás
Ahhoz, hogy egy rendszer megfelelően működjön, sok tárolóhelyre (sok mikroszámítógép-rendszernek ez a behatároló tényezője) és jól megírt, könnyen módosítható szoftverre van szükség. A számlázáson kívül a szövegfeldolgozás és az információkezelés a két legáltalánosabb számítógép-alkalmazási terület; mindkettő forradalmasította a mikroszámítógép.
Egy levelet megírni nem túl bonyolult feladat, de mutatós hibátlan szöveget készíteni már nehéz, hacsak nem vagyunk jól képzett, kitűnő stílusérzékű gépírók. Az olcsó mikroszámítógép is kiegészíthető szövegfeldolgozó rendszerrel, így az egész eljárás egyszerűbbé válik. A szövegfeldolgozás alapjában véve azt jelenti, hogy a szöveget a számítógéphez csatlakozó billentyűzeten a szokásos módon beírjuk, és ezután számítógép segítségével kijavíthatjuk, megszerkeszthetjük, tehát olyan formára hozhatjuk, amilyenre akarjuk. A nyomtatóhoz kapcsolt számítógép ezután tökéletes kópiákat készít a szükséges számú másolattal, és a szöveget későbbi felhasználásra rendszerint lemezen, esetleg kazettán tárolja. A speciális szövegfeldolgozó szoftverrel megjeleníthető szöveg a képernyőn, kijavíthatók a sajtóhibák, mondatok, bekezdések törölhetők, szúrhatók be, ill. cserélhetők, és nyomtatott másolatok készíttethetők.
A tipikus szövegfeldolgozók automatikusan sorokra bontják a begépelt szöveget, nincs szükség a sor végén a RETURN billentyű megnyomására. A megelőző sort újra kijelzi, a bal és jobb oldali margóhoz illesztve. Sorokat egyetlen billentyű leütésével középre lehet állítani, vagy vastag betűkkel lehet szedni, esetleg alá lehet húzni. Szükség esetén más méretű margók közé is átrendezhető a szöveg. Lapfejrészeket és oldalszámokat könnyen be lehet írni, és tetszés szerint be lehet iktatni üres szakaszokat és egyéb fejrészeket is.
Nézzünk egy levelezési példát a szövegfeldolgozó rendszer felhasználására! Minden egyes levél piszkozatát be kell billentyűzni, át kell szerkeszteni a képernyőn, majd ki kell nyomtatni egy másolatot. Ha sok alapvetően azonos levélre van szükség, akkor beadható azoknak a személyeknek a címlistája, akiknek a levelet el szeretnénk küldeni. Ily módon mindegyik személyes levélnek tűnik majd, annak ellenére, hogy számítógép segítségével írtuk valamennyit. Ezenkívül sok szabványos frázis is tárolható, amelyek szükség szerint lehívhatók és összerakhatók (pl. egy szerződésben).
Sok levelet, amit manapság kapunk, számítógép címzett meg. Mikroszámítógéppel ugyanúgy előállíthatók levelek, mint a nagy ügyviteli számítógépekkel, továbbá nevek és címek is tárolhatók, felfrissíthetők és nyomtathatók. A lista lehet pl. tagok jegyzéke, vevők jegyzéke, vagy esetleg azok listája, akinek karácsonyi üdvözlőlapot akarunk küldeni.
Szövegfeldolgozó rendszereket használnak címlistákhoz is. A jó címlista-programok keresőrutinokat is tartalmaznak, amelyekkel pl. egy adott személyt meg lehet találni a regiszterben, vagy ki lehet írni azokat, akik egy adott földrajzi területen laknak, vagy ki lehet listázni ábécésorrendben.
A professzionális szövegfeldolgozó rendszerek ára 10 000£-ig terjed, vagy akár még több is lehet. A mikroszámítógép szövegfeldolgozó programmal elég sok mindenre alkalmas, lényegesen olcsóbban, bár a szolgáltatásai korlátozottak. A perifériák között kell legyen jó minőségű billentyűzet a szövegbeadáshoz, nyomdait megközelítő minőségű nyomtató, pl. margarétakerekes vagy hasonló típusú. A nyomtató elég sokba kerül, különösen ha tetszetős, jó minőségű gépírásos másolatot igényelünk.


Szövegfeldolgozó rendszer
Ez a mikroszámítógép könyvelőrendszer és szövegfeldolgozó egyszerre. Az előtérben egy jó minőségű nyomtatóberendezés levelet nyomtat

Raktárkészlet ellenőrzés
Nagyon sok kisvállalatnál mikroszámítógép követi nyomon a raktárkészlet alakulását. A számítógépes raktárkészlet-ellenőrzést gyakran összevonják a rendelésfelvétellel és a számlázással. Ezzel a módszerrel egyrészt minimálisra csökkenthetők a számlázási és a raktárkészlet-ellenőrzési hibák, másrészt pontosabban lehet a raktárkészlet változását is kézben tartani, ha a számlázást közvetlenül az áruk kiadása után végzik el. Ily módon a rendeléshez szükséges információk könnyen hozzáférhetők, és a rendszer arra is képes, hogy az előző tapasztalatok alapján megbecsülje a készlet kimerülésének esélyeit.
A raktárkészlet-ellenőrzés az egyik legfontosabb számítógépfunkció a kis- és nagyvállalatoknál. A felépített információbázis nemcsak előrejelzéseket készít a várható eseményekről, hanem "modellezni" is tudja a gazdasági tevékenységet a távlati tervezéshez. Összekapcsolva a bérszámfejtéssel, az eladások és vásárlások követésével hatásos rendszert lehet ebből kifejleszteni a hatékony üzleti tevékenységhez.

Elosztás
Sok vállalatnál ma már mikroszámítógép szervezi a leghatékonyabb termékelosztást. A program úthálózat-elemzést is tartalmaz, meghatározza az elosztóhálózat leggyorsabb útvonalait, valamint a lerakatok és raktárak célszerű elhelyezését. Az elszámolások csoportosításával ezek a programok beépíthetők egy teljes tervezőrendszerbe.
Teherautó-tulajdonosok egy csoportja elhatározza, hogy számítógépen alapuló információrendszert szervez. Hogyan is néz ki egy ilyen rendszer? Egy központi irodát összekötnek az ország különböző pontjain levő számítógéppel, hogy a szállítást megrendelő vevők telefonon, helyi hívással közölhessék a kívánságaikat. A helyi számítógépek kijelzik az arra a területre vonatkozó információkat, és az útirányokat az igények szerint tervezik meg; a választott útvonalon levő legolcsóbb töltőállomásokról is információt nyújtanak. Akárhol is tartózkodik a teherautó, vezetője könnyedén megtudhatja, hogy milyen faladatok vannak az adott helyen és a többi információt figyelembe véve a leghatékonyabban tudja járművét kihasználni.

Vezérlések
A számítógépeknek vezérlésre való felhasználása az egyik legérdekesebb és leggyorsabban fejlődő terület. Mi mindenre használható egy ilyen vezérlőrendszer? Nos, sokfélére, pl.: zongorahangolásra, laboratóriumi kísérletek megfigyelésére, szabályozására, csatornák vízszintjének és zsilipjeinek beállítására, a vonatok indítására és a váltók átállítására. (Egyetlen egyszerű áramkör 16 vonalat és 128 váltót, szemafort stb. tud vezérelni.) Az alkalmazások sora végtelen. A fő nehézséget azonban nem maga a számítógép vagy akár a feladat végrehajtásához szükséges program jelenti, hanem az, hogy a számítógéptől értelmes információt kapjunk, és hogy értelmes információt sikerüljön beadni neki. Nézzük, miről is van szó!
Vegyünk pl. egy elképzelt (de lehetséges) csatornazsilipelési programot! Ez néhány meglehetősen egyszerű BASIC vonatkozást tartalmaz, ilyen nyilvánvaló utasításokkal, mint: "ha a zsilip tele van, zárd be a felső kapuszárnyakat, és nyisd ki az alsókat." Ha megértettük a feladatmegoldás és programozás alapelveit, akkor meg kell tudni oldani ezt a feladatot.
A kihívás ott kezdődik, ha megpróbáljuk megmérni, hogy a zsilip tele van-e vagy nem, és ettől függően kinyittatni a zsilipkaput. Ehhez érzékelők és végrehajtó szervek kellenek, amelyek a számítógépet vezérlik, vagy attól utasításokat kapnak. Valójában ez a probléma nem túl nehéz: egy úszó működtethet egy kapcsolót, amikor a zsilip megtelt, és egy motor kinyithatja a zsilipkapukat. Mivel a kapcsoló vagy nyitott, vagy zárt állapotban van, és a motor vagy be vagy ki van kapcsolva, így a számítógép, amely csak l-eseket és 0-kat tud kezelni (be- és kikapcsolt állapotok), könnyen együtt tud működni mindkettővel, egyszerű áramkörök segítéségével. Így pl. a számítógép kisfeszültségű jelei vezérelhetik a nagyteljesítményű, kapunyitogató motorok áramköreit. Az érzékelők viszont közlik a számítógéppel a kapuk nyitott állapotát, amelynek hatására az a motort kikapcsolja.

Elektronikus zongorahangolás
A 2. fejezetben egy egyszerű módszert ismertettünk az elektronikus zongorahangolásra. Ennek az alapgondolata könnyen megérthető, a gyakorlatban azonban nem könnyű kivitelezni. A probléma abból származik, hogy a zongora hangját át kell alakítani a számítógép által elfogadható formára. A mikrofon érzékeli a hangot, villamos jelet ad ki, amelyet a (folyamatosan változó) analóg formából át kell alakítani digitálissá. A mikrofon és a számítógép közé analóg-digitális átalakítót kell iktatni. A számítógép mintákat vesz a bejövő hang hullámalakjából, és frekvenciáját összehasonlítja a tárában őrzött számmal. Az eredmény: túl nagy, túl kicsi vagy azonos frekvencia meghatározza a kimeneti egység viselkedését. Ez az egység pl. lehet képernyő, amely közli, hogy a frekvencia jó-e vagy nem, és ez lenne a legegyszerűbb kijelzés. A zongorahangoló személy ezután addig feszíti vagy lazítja a húrt, amíg a frekvencia a kívánt értékű nem lesz. Igényesebb kimeneti egység lenne egy olyan speciális motor, amely elfordítja a peckeket - ezt könnyű leírni, de nehezebb megvalósítani. Óriási csavarónyomatékra lenne szükség a súrlódás legyőzésére, amely a pecket a furatban tartja. Ennek ellenére a lehetőség adott. A következő években mind több vezérlési feladatot oldanak meg olyan mikroszámítógépek, amelyek megbízható perifériákkal egészülnek ki.

Hogyan segít a számítógép a testi fogyatékosoknak?
A testi fogyatékosok mozgási és kapcsolatteremtési lehetőségeinek kiszélesítésében - így életkörülményeik elviselhetőbbé tételében - a mikroszámítógépek is szerephez jutnak. Óriási előny, hogy a beszédfelismerésben elért fejlődésnek köszönhetően a billentyűzet használata lassanként kiküszöbölhetővé válik. Az, hogy rendkívül bonyolult berendezések a kezelő kis mozgásával használhatók, teljesen új munkaterületeket nyit meg.
Pl. mozgássérült és beszélni nem tudó személy egyetlen lábujjával képes kezelni egy olyan gépet, amely hallható hangokat ad ki. A vezérlőmechanizmusnak, amely botkormányszerű, nyolcvan különböző helyzete van. Ezek közül egyesek szavakat és számokat jelentenek. A legtöbb a hang és a szótag, így a felhasználó - a botkormányt különböző helyzetekbe elmozdítva - mondatokat tud összeállítani, amelyeket a számítógép azután "kimond".
A nagyobb testmozdulatokra is képes rokkant számára másféle rendszert dolgoztak ki. Ez a rendszer egy kis szótáblát tartalmaz amelyen kb. 950 általános használatú szó szerepel ábécésorrendben. A felhasználó megnyomja a megfelelő szavakat a billentyűzeten, ami rendszerint az ölében van, és a szavakból mondatokat állít össze, amelyek azután megjelennek a képernyőn. A szótábla és a processzor között infravörös (fény-) kapcsolat van, és így nincs szükség zavaró vezetékekre. A szótáblán egyedül álló betűk is vannak, amelyekből új szavakat is össze lehet állítani, valamint kódok, amelyek segítségével egyetlen billentyű megérintésével egész mondatokat lehet kiirtani.

Végül néhány szokatlan példa.

Méhészet
Nyugat-Írországban egy méhészet kisszámítógéppel "követi nyomon" a méheit. A program biztosítja, hogy minden kaptárról és annak környezetéről pontos megfigyelést végezzenek. Olyan információkat tárol, mint pl. a kaptár magassága a földtől, az anyaga, a környező vidék növényzete stb. Mivel mindezek a tényezők befolyásolják a méhek közérzetét és így a méztermelést, gondos megfigyelés szükséges. Maximum 100 változót lehet a rendszerbe beadni. A bemenet kiegészíthető olyan adatokkal is, mint a méhkirálynő biológiai adatai, táplálkozása és az adatokat aktualizálni lehet a szaporulat adataival. A számítógép kiírja a napi munkatervet (melyik kaptárt kell átvizsgálni, és milyen munkákat kell elvégezni). Mellesleg valamennyi be- és kimenő adat kelta nyelven van megadva.
A méheknél maradva - egy közép-angliai iskolai tudományos laboratórium mikroszámítógéphez kapcsolt elektronikus mérleggel méri a méhrajtömeget néhány másodpercenként, és rögzíti az adatokat. Ezzel a módszerrel a diákok a méhek életét tanulmányozzák, és keresik tevékenységük törvényszerűségeit.

Újságárusítás
Már sok újságárusító ügynökség használ számítógépet a lapkihordók fordulóinak megtervezésére. Az egyik cégnek 3500 vevője van, a kihordók minden reggel és este nyomtatott szállítási jegyzéket kapnak kézhez. Minden lista személyre szól, naprakész, és a megrendelt újságokat egyénenként sorolja fel. A rendszer előnyei: a megnövelt pontosság, a hivatali munka és a selejt csökkenése. A vevők az újságokat hamarább kapják meg, és az ügynök minden reggel egy kicsit tovább aludhat.

 

A rendszer megválasztása

 

Nehéz olyan tanácsot adni, ami a mikroszámítógép-rendszerek minden jövendő tulajdonosát kielégíti. Az összes előző példa különböző rendszerekre vonatkozik, különféle perifériákkal és különféle szoftver programokkal.
A legolcsóbb mikroszámítógépek arra valók, hogy egy kicsit belekóstoljunk a számítástechnikába, de nyilvánvalóan megvannak a korlátaik. Ha valamilyen komolyabb alkalmazásra gondolunk vagy úgy érezzük, hogy érdeklődésünk hosszabb távú, akkor inkább olyan rendszert vegyünk, amely bővíthető, és amelyiknek jó, stabil billentyűzete van.
A helyes választás érdekében kérjünk tanácsokat!

Tanácsok
Figyeljük a számítástechnikai sajtót! Ma már sok olyan folyóirat kapható, amely a személyi számítógépekkel foglalkozik, és ötleteket ad a kapható berendezésekről. Az is igaz viszont, hogy az e téren tapasztalatlan vásárlót elkápráztatják a hirdetések szóvirágai és a tájékoztató cikkek műszaki szaknyelvezete.
Számos nagy számítógépüzlet létezik, de a legtöbbjük egy-egy speciális számítógépgyártó céget képvisel, így tanácsuk nem pártatlan. Ennek ellenére ezek megmutatják a berendezéseket, és érdemes tájékozódni a szoftver beszerezhetőségéről is. Az igazi nehézség az, hogy a kezdő vásárló általában nem is tudja, hogy milyen kérdéseket tegyen fel, és a bemutatókkal könnyen leveszik a lábáról. Nem szabad félni bevallani, ha a műszaki eladó szövegelését nem értjük. Inkább a jól bevezetett helyi üzleteket ajánljuk, mint a főutcák fényes árukirakatait, ahol hozzáértő személyzet tájékoztat. Mikrorendszer-központok és más kis tanácsadó központok jelennek meg újabban - ezek közül egyeseket közhivatalok tartanak fenn, mint pl. az angliai National Computer Center, és ezek elfogulatlan szaktanácsot adnak pl. a kisvállalkozások részére. Ezenkívül léteznek számítástechnikai klubok is, és bár ezek tagjai a számítástechnika igazi rajongói és rendszerint a csak saját maguk által vásárolt rendszerre esküdnek, azért hasznos tanácsokat adhatnak. A legjobb tanácsot azoktól kaphatjuk, akik már vásároltak készüléket hasonló célra. Végül megemlítjük a helyi szakiskolát is, amelyben számítástechnikai oktatás van, mint tanácsadó forrást.

Néhány felteendő kérdés

  1. Könnyen használható-e a rendszer? Jó nevű-e a gyártó cég?
  2. Részletes-e a kézikönyv, van-e jó tárgymutatója?
  3. Kipróbálható-e otthon vételkényszer nélkül?
  4. Van-e a lakóhely közelében tanácsadó szerv szükség esetén? Milyen a szervizhelyzet?
  5. Van-e a rendszerhez elegendő alkalmazási program?
  6. Elég nagy-e a RAM kapacitása ; 4 K alatt hosszabb programot nem lehet használni; 16 K elég az alapvető alkalmazási programokhoz, de többre van szükség, ha sok szövegszerű adatot kell tárolni. Lehet-e további tárakat egyszerűen a gépbe dugaszolni, vagy külön dobozra van szükség?
  7. Tud-e a gép alacsony, közepes és/vagy nagy felbontású grafikát produkálni? Tud-e hangot adni vagy színeket vezérelni?
  8. Könnyen csatlakoztathatók-e a géphez a perifériák, így nyomtatók, mágneslemez-rendszerek vagy akár valamelyik videotex rendszer? Bedugaszolhatók-e a készülékbe külön ROM chipek speciális alkalmazói programokkal vagy nyelvekkel?
  9. Összekapcsolható-e a rendszer más számítógépekkel vagy egy második mikroprocesszorral, ha később szükség lesz rá?
  10. De mindenekelőtt saját magunknak kell a kérdést feltenni: mi a célunk a számítógéppel?

Célszerű, ha elsőként egy olcsó rendszert vásárolunk, és ha kimerítettük annak minden lehetőségét, eladjuk, és veszünk valami jobbat. Az is előfordulhat, hogy nem érdekel valakit a téma a továbbiakban, és akkor nem vesztett sok pénzt.
Végül (de nem utolsósorban): sok férj, ill. feleség felveti, hogy a számítástechnika káros szenvedéllyé válhat, a házastársa - a billentyűk bűvöletében töltve idejét - késő éjszakáig távolmarad.

Pénzkeresés
Van, aki azt gondolja, hogy egy alkalmas számítógép megvétele megnyitja az utat a gyors pénzszerzéshez. Mivel jelenleg kevés az igazán jó szoftver, meg kell vizsgálni, hogy van-e tehetségünk a programozáshoz. Ha igen, akkor érdemes valamilyen jól ismert és népszerű rendszert venni, ami valóban biztosíthatja jövőnket. Ma már egyesek abból élnek, hogy szoftvert írnak nagyobb szoftverházak részére. Mivel ezek a cégek százalékos részesedést adnak, egy 10£-os program 10%-a elég szép összegnek tűnik, hacsak hetenként tízet készítünk!
Úgy is rendezhetjük munkánkat, hogy keresünk egy, az igényhez hasonló programot, és azt átszabjuk vagy változtatgatjuk. Sok helyi üzletnek nincs megfelelő szoftverszakértő-gárdája, így azután ha pl. ön könyvelő és programozni tud, akkor a helyi kereskedő valószínűleg tárt karokkal üdvözli majd.
Hirdetni is lehet. A számítástechnikai újságokban rendszerint a magánvállalkozók is olcsón hirdethetnek. Érdemes felvenni a kapcsolatot a helyi számítógépklubokkal is, mert később esetleg tőlünk kérnek segítséget szoftver problémáik megoldásához.
Amint egyre több oktatási intézménynek van számítógépe, a programozási háttér javul. Hasonlóan, az ipar is egyre inkább a számítógépek felé fordul, és ha valakinek van érzéke az elektronikához vagy a programozáshoz (nem kell feltétlenül matematikusnak lennie), annak boldogulását a számítástechnika valamely területén kell keresnie, hiszen Angliában csak kb. fele annyi digitális elektronikával foglalkozó mérnököt képeznek, mint amennyire az iparnak szüksége van.

 

6

Mit nem tudnak még a számítógépek?


Találja ki, mi ez? Kb. 100 bitnyi információ van a képen (1 képpontnyi információt 1 bit képvisel)


Ugyanaz a kép, de kb 400 bittel


... 1600 bittel - a képen felismerhető egy arc. De kié?


Ugyanaz a kép, immár 6400 bittel, Most már majdnem felismerhető.

A növekedés határai

Mivel a számítógépekkel kapcsolatban már elég sok ismeretet megszereztünk, érdemes megnézni, mire is alkalmasak a számítógépek, és mire nem. Mit is várunk tőlük? Pl. azt, hogy a számunkra fárasztó és monoton tevékenységeket végezze el, így nekünk több időnk jutna az érdekes kreatív munkára.
Modern ipari államban élünk, ami egyre inkább azt jelenti, hogy íróasztalnál vagy pénztárgépnél ülünk, esztergapad mellett állunk, repülőgép irányítófülkéjében vagy autó kormánykerekénél ülünk. Napi munkáinkban mindenekelőtt azt várják el tőlünk, hogy megértsük azt, ami elénk kerül. Ehhez elsősorban látásra vagy hallásra van szükség. Ez a sajtcédula nem más, mint egy számla 342,96£-ról, amott egy útjelzőtábla "M1 észak felé", a magasságmérő 15 000 lábat mutat, a légiforgalom-irányítás utasít, hogy emelkedjünk a 27-es repülési szintre, csöng a telefon és egy hang közli, hogy "Kérem, hozza a Mutronics dossziét a tanácsterembe!". Megérkezik egy szállítókocsi, tele gépalkatrészekkel, amelyekbe 43 szegecslyukat kell fúrni 6 mm átmérővel, meghatározott helyekre stb.
Jelenleg már ilyen alaphelyzetekben is csalódnunk kell a számítógépben. Még nem tudjuk megtanítani arra, hogy úgy lásson, ahogy mi látunk, és úgy halljon vagy akár beszéljen, ahogy azt mi tesszük. De bár lehet, hogy buta, de nem lusta. Valamennyi számlánkat ugyanis a központi processzor egyetlen parancsunkra végigvizsgálja. Ahhoz, hogy ezt megértsük, meg kell vizsgálnunk, hogyan dolgozzuk fel mi magunk az információt ilyen egyszerű tevékenységek során.

Tanítsuk meg a számítógépet angolul...
Az ábécé 26 betűjének kombinációiból kb. 15 millió elfogadható angol szót lehet képezni, nem is beszélve a magyar, francia, spanyol, német, hottentotta stb. szóképzésről. Annak vizsgálata, hogy a szó valódi angol kifejezés-e, azt jelenti, hogy ki kell keresni egy ilyen 15 millió szóból álló szótárból.
A számítógép ezt meg is tudja tenni, de eddig mi csak arra törekedtünk, hogy ezt éppen, olyan logikai módszerrel végezze, ahogy pl. mi magunk keressük Brznski urat a telefonkönyvben (l. 1 fejezet). Vagyis azt mondjuk, hogy a keresett szó első betűjét hasonlítsa össze a szótár első szavának első betűjével. Ha összevág, vizsgálja meg a másodikat, ha nem egyezik, hasonlítsa össze az első betűt a második szó első betűjével stb. A számítások száma a nyelv lehetséges szavainak számával arányosan nő.
Még az olyan nagy sebességen is, amellyel a központi processzor működik, hihetetlen feladatot okoz akár egyetlen szó ellenőrzése is. (Gyakorlatban az ilyen programok sokkal korlátozottabb szókészletre vonatkoznak.) Sajnos azonban ez csak a feladat első része, mert amint ezekből a szavakból mondatokat állítunk össze, új, széles körű szimbólumcsaládot hozunk létre: a teljes mondatokat, pl. "Lenyűgöző ez a nagy tér!" és "Lenyűgöző ez a nagy bér!" két különböző mondatot jelent. Egyetlen betű megváltozása tökéletesen megváltoztathatja a mondat értelmét, félrevezetővé, komikussá vagy értelmetlenné teheti. Hogyan magyarázzuk meg azt a számítógépnek, hogy a második mondat miért értelmetlen? Mindkét szó, a "tér" is és a "bér" is főnév. Természetesen megtaníthatjuk a számítógépet arra, hogy a mondatokat logikailag is ellenőrizze úgy, hogy "szótárába" beírunk minden elfogadható értelmes mondatot, és előírjuk, hogy a kérdéses mondat azok között van-e. A mondatók száma azonban félelmetes. Ha pl. kiszámítjuk, hogy egy átlagember kb. 10 ezer szót használ olyan mondatokban, amelyek 30 szónál nem hosszabbak, akkor 10 000^30 mondatot kellene beírnunk. A mágneslemezek ugyan sok információt tudnak tárolni, de ez 10^115 (10 után 115 nullát kell írni) lemezt töltene meg.
Az az igazság, hogy logikai módszerekkel nem jutunk messzire. Be kell vallanunk, hogy annak ellenére, hogy a számítástechnikusok törik a fejüket, a megoldás még messze van.

... és hallgasson ránk
És még nehezebb a feladat, ha azt szeretnénk, hogy a számítógép ne csak olvasson, hanem kimondott szavainkat is megértse, vagyis meghallgassa. Mielőtt elkezdené azt a sziszifuszi munkát, hogy megállapítsa, egyáltalán értelmes-e az, amit mondunk, a számítógépnek előbb fel kellene fognia, hogy - az ördögbe is - mi az, amit mondtunk. És még azt sem tudjuk, hogy hogyan kellene megállapítani, hogy az "értelmesség" ez esetben mit jelent.
Kisebb-nagyobb mértékben mindannyian felületesen beszélünk, és kiejtésünk is néha félreérthető. Sok olyan szó van, amelynek kiejtése azonos, esetleg betűalakja is, de értelme különböző. Ennek ellenére a hétköznapi életben általában nem okoz nehézséget, hogy melyik szóról van szó és melyik jelentését használjuk az adott mondatban - a mondat egyéb részeiből, szerkezetéből erre következtetünk. Ez olyannyira így van, hogy ha a velünk beszélő személy egy szót eltéveszt, esetleg észre sem vesszük, mert mi azt halljuk, amit szeretnénk. Sajnos a számítógépnek nincsenek ilyen tulajdonságai.
Vegyünk egy másik példát! A frekvenciasáv szűkítése érdekében a telefonhálózat a beszélgetések során a 3000 Hz fölötti frekvenciákat levágja. Ennek következtében pl. a "szeles" és "hetes" szavak a hallgató számára közel egyformán hangzanak, mégis, a vonal másik végén ez nagyon ritkán okoz zavart, mivel már előre tudjuk, hogy a telefonáló számokat vagy más információkat akar-e velünk közölni, és a mi szellemi értelmező-berendezésünk már előre kiválasztja, hogy a bejövő információt milyen lehetőségekkel kell összehasonlítania.
A "papírmentes" elektronikus iroda talán már a közeljövőben megvalósul, még messze van azonban az az idő, amikor a közönséges számítógép megbízhatóan fel tudja ismerni az emberi beszédet.

Nagy ész - kis számítógép
Csavaros észjárásunktól függetlenül is tisztában vagyunk vele, hogy agyunknak sokkal nagyobb a teljesítőképessége, mint a számítógépeké, ha arról van szó, hogy bizonyos információt megtaláljunk és összehasonlítsunk. Fejünkben annyi bit információ van, hogy a legfejlettebb technológiával készült - és legkisebb helyet igénylő legmodernebb, mai technológiájú és mégis információt tároló számítógép mérete ma még az operaházéval egyezne meg. És ha tárolná is, nem tudna mit kezdeni vele a számítógép. Arról, hogy az ember a maga saját óriási "tárában", a maga nyomkövetési módszerével hogyan szerzi meg az információt, a számítógépnek fogalma sincs.
Ha pl. látunk egy ismerős arcot a tömegben, és felismerjük benne egy 30 évvel ezelőtti gyerekkori barátunkat, és ahogyan a megjelenéséből egész életmenetére következtetni tudunk, az olyan valami, amit a számítógép még el sem tud kezdeni utánozni. Tulajdonképpen nem is a számítógépek nem tudják elkezdeni, hanem mi nem tudtuk még kitalálni, hogyan is tanítsuk meg a számítógépeket mindezekre. Ahogyan a 2. fejezetben már mondtuk, a számítógépek önmaguktól nem oldják meg a faladatokat, csak az általunk előírt megoldásokat hajtják végre. És azt a feladatot, hogy a számítógép a beszélt és írt nyelvet megértse, még nem oldottuk meg.

Tanítsuk meg a számítógépet látni!
Egy másik feladat is van, amit még nem oldottunk meg: meg kell tanítanunk a számítógépet arra, hogy hozzánk hasonló módon értse meg, amit lát. Az, hogy a számítógép "lásson", megoldható, csak egy videokamerát kell csatlakoztatnunk az egyik bemenetére, de az, hogy értelmezze is azt, amit lát, sokkal nehezebb. Vegyük azt a feladatot, hogy fel kell ismerni Cary Grantet! Tételezzük fel, hogy 10 ezer más ember közül is felismernénk őt a tévéképernyőn, ha a képe legalább 5 másodpercig betöltené a képernyő negyed részét. Egy tévékép Angliában 600 sorból áll, mindegyik sorba kb. 600 színes ponttal, ez összesen 360 000 pont. Mindegyik pont a három szín egyike lehet, és különböző világossági fokozatai lehetnek. Ebből az adódik, hogy egy komplett televíziós kép kb. 6 millió bit, azaz kb. 1 millió byte információt tartalmaz. A képek másodpercenként 25-ször ismétlődnek.
Az a feladat még hátra van, hogy válasszuk ki Cary Grantet a többi 9999-ből, akiket a tévé megmutatott. Ha ezt az információt merev mágneslemezen tárolnánk, a mágnesfejnek egy órára lenne szüksége, hogy kiolvassa azokat az adatokat, amelyek a mi elképzelésünket tartalmazzák Cary Grant-ről, és ezután honnan fogja megtudni a számítógép annak a lényegét, hogy Cary Grant hogyan van elrejtve abban a byte tengerben, amivel mi őt azonosítani tudjuk.
Ezek a számok csak tájékoztató jellegűek, de segítenek megérteni, hogy a mai hardverrel és szoftverrel mit nem lehet még elvégezni.

 

Első lépések


Ezt a képet már 20800 bit alkotja. Néhányan most már felismerhetik ezt az arcot. Próbálja barátait megkérdezni! Segít az nekik, ha tudják, hogy a kép egy filmsztárt ábrázol?


A kép 82940 bittel

A mai számítógép-alkalmazások kutatásának egyik legfőbb területe, hogyan lehet a hangot és a képet bevinni és kihozni. Tekintsük át röviden azokat a módszereket, ahol a kitartó munkát már siker koronázta!

Azt már tárgyaltuk, hogy a számítógép hogyan kezeli a szavakat, még akkor is, ha nem érti jelentésüket. Ellenőrizni tudja a betűzést is, összevetve egy olyan szócsoporttal, amelyet korábban már beírtak a tárába. Bár az élő nyelv szókészlete igen nagy, legtöbbünk csak egy részét használja. A számítógép néhány ezer szóból álló szótárral jól tud dolgozni, ebbe a készletbe beleértjük az ebben a fejezetben előforduló általános szavakat és a műszaki szavak egy speciális választékát, amelyet az adott alkalmazási területen használnak, pl. orvosi kifejezéseket egy orvosi asszisztens programjában. Ugyancsak beadható a gyakran előforduló személyek listája, a betegek névsora, az azon a területen levő városok neve, ahol a programot használó intézmény működik stb. Ha a vizsgálandó szövegben levő szó nincs benne a szótárban, a program riasztja a gépkezelőt, akinek ellenőriznie kell, hogy érvényes szó-e az, ami nincs benne a gép szótárában, vagy csak hibás az adatbevitel.
A programozásról szóló fejezetben láttuk, hogy a számítógép hogyan használ bizonyos szavakat parancsként; megérti ezeket a szavakat és azok tartalma szerint cselekszik. A parancsok száma, amelyeket a számítógép felismer, sokkal kisebb, mint az előbb említett szótárban levő szavak száma, és az ilyen jellegű kis szóválaszték jónak bizonyul arra, hogy a számítógép tanulni kezdje a kiejtett szavak megértését.
A számítógépek úgy kezdtek "hallani", hogy ismételten analizálták egyetlen beszélő hangját, miközben az néhány parancsszót kimondott. A hangot először mikrofonnal villamos jelekké alakítják át, majd ezeket az analóg jeleket teszik át olyan bináris jelcsoportokká, amelyeket a számítógép már fel tud ismerni. Bizonyos számú ismétlés után a gép már meg tudja különböztetni pl. a RUN bináris alakját a LIST bináris képétől vagy a szótárban levő néhány más szóétól, és ezután a parancsot ugyanúgy hajtja végre, mintha billentyűzeten keresztül kapta volna.


Hanghullámok vizuális megjelenítése, ahogy az oszcilloszkóp képernyőjén megjelennek. Balra a "LIST", jobbra a "RUN" szó hanghullámai láthatók. A mintázatok élesen megkülönböztethetők egymástól és könnyen "digitalizálhatók". amikor ezt a fajta információt beadjuk a számítógépbe, a gépnek össze kell hasonlítania,"illesztenie" a kapott alakzatot igen sok, a tárban már tárolt alakzattal, hogy fel tudja ismerni az adott szót.

Az előzőekben már láttuk, hogy az ilyen jellegű fejlesztési eredményeknek különösen a rokkantak látják a hasznát. A folyamatos fejlesztés hatására a legkorszerűbb gépek már gyakorlatilag akármilyen beszélő személyt meg tudnak érteni, és a gépek szótára, ha lassan is, de növekszik.
Korántsem ilyen nehéz a számítógépet beszédre tanítani. Gyakorlatilag akármit ki tud mondani, ha a tára tartalmazza mondandónk megfelelő digitális alakját, és ha van olyan kimenete, amelyen keresztül beszélni tud. Egyes rendszerek arra összpontosítják a figyelmüket, hogy megtanítsák a számítógépet az egyes hangzókra, amelyeket azután szavakká kombinálhatnak. Ezek meglehetősen furcsa hangzást eredményeznek. Mások megtanítják a gépet a teljes szóra, esetleg csatolják az ember áltat bemondott és feljegyzett szóhoz.

Már megjelentek az első olyan (vissza-) beszélő szövegfeldolgozó rendszerek, amelyek visszamondják a gépírónak, amit begépelt (különösen hasznos a vak gépíróknak), és az első olyan helyesírásellenőrző gépek, amelyek kimondanak egy szót, s ezt a gyereknek kell helyesen beírni. Bár a számítógép még nem tudja felismerni Cary Grantet, egyszerű minták vagy tárgyak felismerésére már igenis képes. Ezt a fajta képfelismerő képességet elsőként akkor hasznosították, amikor "intelligens" számítógépekkel vagy robotokkal válogattattak szét egyszerű alkatrészeket. A számítógépnek meg kellett tanulnia, hogy pl. egy M12-es anyát megkülönböztessen egy M6-os csavartól, akármilyen szögben is látja a kamera őket. Még ez sem egyszerű, de ebben az irányban a kezdeti lépések már megtörténtek.
Ismét más alkalmazásokban a számítógép egy másik jellegzetes alkalmazására találunk példát. Vegyük az 1. fejezetben tárgyalt vonalkódokkal kapcsolatos példát! A számítógép kb. ugyanazt a feladatot végzi el, mint az üzleti kiszolgáló, aki felemel egy zöldbabkonzervet és a következőket gondolja végig: "Igen, a zöldbab ára a hét elején 1 pennyvel drágább lett". A számítógép a vonalkódot ismeri fel és nem a zöldbab képét a konzerven. A vonalkód a bináris információnak olyan megfelelő formája, amely ugyanúgy megmondja a gépnek, hogy a konzerv zöldbabot tartalmaz, mint, ahogy a látható kép az embert informálja.

 

Gyakorlati feladatok


Igen, ez ő - Cary Grant. Egy képponthoz 8 bit információ tartozik, így 256 különböző színt jeleníthetünk meg. Ez összesen 663520 bit információt jelent, vagyis majdnem 81 Kbyte-ot!

 

 


Mindennapi életünk számtalan olyan feladatot vet fel, amelynek megoldására a számítógép lenne a legalkalmasabb. Számítógépet viszont mégsem alkalmaznak. Vagyis mi ennek az oka? Részint talán még nem is gondoltunk arra, hogy éppen az illető területen számítógéppel dolgozzunk, részint talán nem találjuk elég gazdaságosnak ezt a megoldást. Tekintsünk át az okok közül néhányat, hogy választ kapjunk kérdéseinkre!

A rabszolgamunka átvétele - termesz a várában
Vissza kell térnünk az 1. fejezetben mondottakra, amikor először beszéltünk arról, hogy mire is alkalmas a mikroszámítógép. Azt mondtuk, hogy a számítógép igazi erőssége a rabszolgamunka átvétele: elvégzi az olyan unalmas, fárasztó, rutinjellegű feladatokat, amelyeket egyhangúságuk miatt az emberek nem szívesen és nem is igazán jól végeznek. És ez igaz is. Valójában azonban számos olyan tevékenység, amit mi rutinszerűnek vélünk, nem is olyan egyszerű.
Pl. egy jogi kiadó számítógépesítette tevékenységét: A kiadó egyik feladata az volt, hogy rendeletmódosításokat tartalmazó jogi kiadványokat küldött szét az előfizető jogászoknak. A számítógépnek minden egyes ügyvéd számára egy szállítólevelet kellett készítenie, címkét kellett nyomtatnia a címmel, és ki kellett számítania a postai díjat. Mindenkinél rendben ment minden, kivéve azt az előfizetőt, aki több száz km-re lakott a Volta folyó mentén, Közép-Afrikában. Az ő könyvei 2 hétig várakoztak a megfelelő hajóra egy folyóparti raktárban. Amíg a könyvek ott voltak, néhány "törvényszerető" termeszhangya figyelmét felkeltették.
Ha a jó öreg Winnie -- vagy akárki más - ott lett volna a csomagolóban a számítógép előtt, tudta volna, hogy ezt a szállítmányt másképpen kell becsomagolni, hogy az ne megrágott állapotban érkezzen meg. A postai díjat is ennek megfelelően megemelték volna. Így is történt ez mindaddig, amíg nem "jött" a számítógép, és akkor a vevő néhány doboz port kapott 200£-ért.
Azt gondolhatnánk, hogy egy hivatali takarítónő teljesen mechanikusan végezheti munkáját. Valójában azonban összetett ismeretanyag szükséges ahhoz, hogy meg tudja különböztetni a szemetet az értékestől. Pl. ha észrevesz egy zsebszámológépet a szemétkosárban, azt kihalássza és gondosan visszateszi az íróasztalra. A robot azonban minden további gondolkodás nélkül kidobná, és hétfő reggel a tulajdonost a guta ütné meg.
Másrészről a legizgalmasabb munkának is van olyan része, amely "rabszolga-tevékenység". Amikor néhány évvel ezelőtt a repülőgépiparban bevezették a számítógéppel segített tervezést, ennek első és váratlan következményeként a tervezők sztrájkba léptek egy angol tervezőirodában, ahol a berendezést egy új, amerikai katonai szállítórepülőgép szárnyának tervezésére használták. A panasz a következőképpen hangzott: a múltban kaptak egy feladatot - pl. a külső csűrőlap megtervezését. Ekkor nekiültek, egy darabig gondolkoztak, ide-oda járkáltak az irodában, beszélgettek barátaikkal, firkálgattak rajztáblájuk sarkában, néhányszor rendezték a gondolataikat, majd ismét mást gondoltak ki, és három hónap múlva úgy érezték, hogy a milliónyi rossz lehetőség közül sikerült a jót kiválasztaniuk. A számítógép ennek a kellemes módszernek véget vetett. Amint fölvázoltak egy lehetséges megoldást, a gép kiegyenesítette a vonalakat, berajzolta a szegecssorokat, áttért a törzsadatbázisra, felvette a terheléseket, amelyeket ennek a darabnak feltehetően viselnie kell, kiszámította a darab súlyát, elvégezte a feszültséganalízist, néhány ezred másodperc alatt, majd kinyilatkoztatta döntését. "Nem jó, próbálja meg újra". A nyomorult tervező, aki a három hónapos alkotási fázishoz szokott, képtelen volt ötóránként újabb és újabb tervet kiagyalni. Ezért sztrájkolni kezdtek. Nem tudták tehát elviselni a "rabszolgamunka" hiányát, ami tulajdonképpen az alkotó tevékenység rohamai között szükséges "eszmélési idő".


CAD (angol: Computer Aided Design = számítógéppel segített tervezés) rendszer alatt több, számítógépen alapuló eszközt értünk, mely a mérnököket és más tervezési szakembereket tervezési tevékenységükben segíti.
Az első kereskedelmi forgalomba került rendszereket a nagy cégek fejlesztették a gépkocsi, repülőgép és elektronikai iparban. Csak a legnagyobb cégek engedhették meg maguknak a számítások elvégzéséhez szükséges nagyteljesítményű számítógépek alkalmazását. Figyelemreméltó projekt volt a General Motors-nál (Dr. Patrick J. Hanratty) DAC-1 1964-ben, a Lockheed-ben a BELL GRAFIC 1 és a Renault-nál (Bezier) a UNISURF 1971 karosszéria és szerszámtervező program. Ahogy a számítógépek fokozatosan egyre olcsóbbak és könnyebben kezelhetők lettek, úgy terjedt el a CAD alkalmazása gyakorlatilag minden mérnöki tervezésre. Fontos lépés volt a személyi számítógépek megjelenése. Ugyancsak kulcsfontosságú volt a nagy számítástechnikai cégek bekapcsolódása a fejlesztésbe (United Computing, Intergraph, IBM) az 1960-as és 70-es években. 1981-ben megjelentek a szilárdtest modellező programok (például Romulus és Uni-Solid) valamint a Dassault felület-modellezője, a CATIA. Az Autodesk céget 1982-ben alapította John Walker, az ő programjuk a 2D rajzoló AutoCAD lett.

 

A számítógép beillesztése

A hivatalok és a gyárak igen bonyolult szervezetek, tevékenységük különféle folyamatok és eljárások összessége. Elméletileg a számítógép talán át tudja vállalni a teljes működtetést; ettől teljesen eltérő feladat, ha a számítógép a tevékenységnek csak egy kis részét veszi át, és azzal illeszkedik be a bele dolgozó emberek eljárásai közé.
Az irodai számítógépek jelenlegi generációjának tevékenysége nem keverhető jól a hagyományos papír alapú eljárásokkal. A számlák adatait ki kell másolni és be kell gépelni az elektronikus raktárkészlet-ellenőrző és könyvelőprogramokba; majd ismét vissza kell másolni a hitelezőknek írt elnézést kérő és tartozóknak írt figyelmeztető levelekbe.
Ahhoz, hogy az új technológiának értelmet adjunk, valamennyi bejövő levelet és dokumentumot elektronikus adatfeldolgozásra alkalmas adathordozón kellene tartani, így a számítógép azonnal használni tudná őket. Jelenleg ez nem valósítható meg, ehhez ugyanis mindent be kellene gépelni a számítógépbe, ami elég nevetséges módszernek tűnik. Létezik ugyan már a számítógéphez illeszthető szövegolvasó berendezés, de ennek ára még 50 000£ fölött van.
Ha egy vevő a következőt írja: "Kérem, küldjenek nekem 3 tucat Honolulu típusú sportnadrágot és egy téli katalógust, ha majd elkészült", a rendszernek automatikusan ki kellene írnia egy szállítólevelet levelet, egy számlát, ezek adatait bekönyvelni - majd 6 hónap múlva el kellene küldeni a katalógust. Szomorúan bevalljuk, hogy a legtöbb szoftver erre még alkalmatlan - egyelőre még hivatalnokoknak kell mindezt megcsinálniuk.
A gyárakban hasonló korlátozó tényezőkkel találkozunk. Az olyan üzemekben, amelyeket hagyományos gyártásra terveztek, a számítógép megjelenése csak kis változásokat hozott. Itt-ott megjelent egy-egy számítógép-vezérlésű szerszámgép vagy esetleg robot, valamelyik piszkos, nagy fizikai erőt kívánó munka elvégzésére, de a lehetőségek teljes kimerítéséről szó sincs. A világ egyes részein viszont - különösen Japánban-léteznek már automatizált gyárak (Angliában is volt egy ilyen, amíg a gazdasági visszaesés miatt he nem kellett zárni). Beérkeznek a nyersanyagok, a megfelelő helyekre kerülnek, megmunkálják és összeszerelik őket olyan sokoldalú gépeken, amelyeket a szomszédos számítógépekkel és a központi számítógéppel összekapcsolt saját számítógépek vezérelnek. A termékeket gyakran úgy kellett áttervezni, hogy az új technológiával legyenek könnyen előállíthatók.
Ilyen gyárakban a megrendelések, az egyes tételek gyártási helyzetének ellenőrzése, a raktározás, az áruk kiszállítása és a mindezt felügyelő papírmunka számítógépek hálózatára integrálódott. Ilyen gyárak könnyen tudják fogadni az új termékeket, mert a berendezés "szoftver vezérlésű". Könnyen beillesztik a gyártásba az új terméket, ha azt olyan számítógéppel segített tervezőberendezés tervezte, amely közvetlenül kapcsolódik a számítógéppel segített gyártófolyamathoz. Az ilyen technológia alkalmazása néhány előretekintő cégnél számos előnyt nyújt a versenytársakkal szemben: gyorsabban tudnak a megrendelésekre reagálni; a nehezen eladható termékeket viszonylag könnyen meg tudják szüntetni és mással helyettesíteni anélkül, hogy ki kellene selejtezni a "csak adott célra használható" gyártósorokat; egészében a minőség jobb lesz, az élőmunkahányad csökken és ezáltal a termék még olcsóbb lesz.
Az Angliában végrehajtott automatizálásra az egyik legjobb példa a söripar, főként azért, mert kb. tíz évvel ezelőtt a sörfőzdéket áttervezték, és átépítették a tömegtermelés érdekében. Eközben automatizálták őket. A sörfőzdékben nagy tartálynyi folyadékokat kevernek, fűtenek, hűtenek és átszivattyúznak, hogy végül is a sörözők a "habzó élvezeteit" megkapják. Alapjában a gépeknek csak a különböző tartályok folyadékszintjét és hőmérsékletét kell érzékelniük. Szelepeket kell nyitogatniuk és szivattyúkat kell be- és kikapcsolniuk. A feladat tulajdonképpen egyszerű, így egyes sörfőzdékben a mesternek csak annyit kell tennie, hogy bemegy a munkahelyére és begépeli a mikroszámítógép billentyűjén a következőket:

KÉSZÍTENDŐ 50 000 LITER LAGER SÖR

A kevésbé jól szervezett iparágakban a kisszámítógépesítés még nem tart itt.

A lényeg az, hogy amíg nem tudjuk az egészet jól átgondolni, a számítógépek iparban való használata - vagy akár a hivatalban - esetleges és rendellenesség forrásává válhat. A nagyon kevés korszerű gyár vagy teljesen elektronizált irodarendszer kivételével még az új technika "hajnalán" vagyunk. És ha meg is valósul, a bevezetésnek ára van - sok szakember és hivatalnok ezekben a teljesen automatizált iparágakban elveszítheti az állását. A megmaradó munkakörök között vannak magas képzettséget igénylők, ahol döntés vagy emberi kapcsolat szükséges (tervezők, technikusok, kereskedők), képzettséget nem igénylők (takarítók), és olyan feladatok, amelyeket túl nehéz vagy túl költséges robottal megoldani (pl. daruvezetők).

 

Számítógépek összekapcsolása
Röviden már áttekintettük az első fejezetben azt a történelmi utat, amelynek során a számítógépek megszűntek elszigetelt gépként légkondicionált templomaikban elzárva, adatfeldolgozó főpapoktól irányítva működni, és csatlakoztak a külvilágban élő felhasználókhoz.
Sok osztott időben dolgozó számítógéprendszer, amely a korai nagygépes rendszerből származott, több terminálnak egyetlen központi számítógéppel való összekapcsolásán alapul. A terminál ahhoz a tv-képernyőt és billentyűzetet tartalmazó egységhez hasonlít, amely sok mikroszámítógép mellett mint be- és kimeneti egység szerepel. Ez olyan gép, amely be- és kimeneti egységeket tartalmaz, esetleg mikroprocesszor is van benne, amely némi "intelligenciát" biztosít, de amely a számítástechnikai teljesítményét illetően a nagyobb processzortól függ. Nagy előnye, hogy a terminált a felhasználó akárhova elhelyezheti, miközben a főszámítógép sok km távolságra is lehet. Sok korszerű terminál hordozható is.
Mi köti össze a terminált a számítógéppel? Erre a célra vagy a telefonhálózatot, vagy ezzel azonos működésű saját vonalat alkalmaznak. Ez utóbbi a megbízhatóbb, de a telefonhálózat rugalmasabb: sok számítógépet föl lehet hívni bármely alkalmas telefonkészülékről, s a terminálhoz a telefonkagylót hozzá lehet csatlakoztatni az akusztikus csatolónak nevezett készülékkel, és - ha tudjuk a számítógép jelszavát - kezdhetjük a feldolgozást.

 

A nyilvános számítógép

A British Telecom cég (az Angol Postától különvált Távközlési Vállalat) nem elégedett meg azzal, hogy csak egyszerűen vezetékes összeköttetést teremtsen a számítógépek és terminálok között, hanem olyan kapcsolatot kívánt létrehozni, hogy kommunikálni tudjunk a számítógéppel. Ilyen rendszer a Prestel, amelynek alapja egy óriási tárkapacitású nagyszámítógép, amelynek tárhelyeit a cég "kézbe adja" azoknak az információszolgáltatóknak, akik saját információt kívánnak árusítani. Akinek van Prestel terminálja vagy Prestel-adapteres mikroszámítógépe, telefonon felhívhatja a központi számítógépet és hozzájuthat az abban tárolt információhoz.
Az ilyen információt tároló számítógépeket videotex-adatbázisnak, és azokat a rendszereket, amelyek az információkat telefonhálózat útján juttatják a felhasználóhoz, videotexnek (nálunk: teledata) nevezik. Működése hasonlít a kisugárzott teletext-rendszerhez, amely a tévén vehető információval dolgozik. Ilyen teletext szolgálat működik Angliában CEEFAX és ORACLE márkanéven.(A Prestel pedig a videotex-rendszer angol márkaneve.) Ezeket Angliában fejlesztették ki és a világon igen sok helyen ezt alkalmazzák. (A videotex és a teletex közös alapötletét, a gépben tárolt információnak lapokban, egyszerű tévé-vevőkészülékben való megjelenítését nevezik viewdata-nak.)
Nem kell hangsúlyozni, hogy a Prestel rendszerben az adatbázis számítógép ugyanolyan, mint amilyeneket eddig ismertettünk, és ugyanúgy kell őket is programozni, hogy megtaláljuk a táraikban a szükséges információt. Ezekhez az ún. étlapszerű megközelítéssel lehet hozzájutni. (Az ilyen étlap programválasztási lehetőségeket ír ki a képernyőre. A megfelelő billentyű lenyomása újabb választáshoz vezet, majd fokozatosan szűkítve a keresést végül megtaláljuk a kívánt információt.)

 

Mikroszámítőgépek és a viewdata
A mikroszámítógépek alkalmasak arra, hogy lekérdezzék és megjelenítsék az ilyen nyilvános videotex adatbázisokban tárolt információkat. Egyeseknek ehhez viewdata-áramköri kártyájuk van, amelyeket a be- és kimeneti csatlakozóik egyikébe be kell dugni. Az Európában tervezett mikroszámítógépeket ma már úgy készítik, hogy akár a Prestelhez, akár a teletexthez kapcsolódni tudjanak. Angliában is (mint sok más országban) bizonyos nehézséget okozhat, hogy a British Telecom-tól engedélyt kell szerezni, mielőtt bármilyen készüléket a telefonrendszerbe bekapcsolnának. Ez jelenleg korlátozza a Prestel használatát. Ugyanakkor a teletextadások vételéhez nem kell külön engedély, ezért egyes rendszereket csak teletext-modulokkal készítenek. Az ilyen készülékek, amelyek akár a BBC, akár az ITV televíziós és teletext-adásait tudják fogni, mind kit (tokozás nélküli) mind kész formában kaphatók. (A Magyar Televízió által sugárzott teletect-program márkaneve "Képújság" és hasonló az angliai adásokhoz.) Azonban a teletext vagy a Prestel szolgáltatásainak teljes kihasználásához több színes készülékre van szükségünk, és ez jelenleg sok amerikai és japán rendszer használatát korlátozza. (Az Orion által gyártott magyar viewdata-adapter is színes tévéhez készült. 1983-ban már szinte minden piaci készülék színes, az ugyancsak videotex, de francia rendszerű elektronikus telefonkönyvet kivéve.)
Ezen a területen izgalmas fejlesztési eredmény lesz a "teleszoftver", amellyel a számítógép a teletext vagy videotex útján programokat tud átvenni. Csak le kell hívni a megfelelő oldalt és a programot közvetlenül be lehet vinni a számítógépbe.

 

Mikroszámitógép hálózatok
Hasonlóan ahhoz, ahogyan az adatbázis-szolgáltatásokat igénybe veszik, sok mikroszámítógép-felhasználó szeretne más felhasználókkal is kapcsolatba lépni. Ilyen felhasználók pl. az azonos műszaki, üzleti vagy hobby érdeklődésű emberek. Erre a célra hasonló rendszereket lehet alkalmazni.
Amerikában már több magáncég is nyújt adathálózati szolgáltatásokat. Bárki, akinek megfelelő berendezése van, amellyel a számítógép a távközlő hálózathoz csatlakozni tud - pl. akusztikus csatolóval vagy valamilyen állandó összeköttetéssel -, bekapcsolódhat a hálózatba, éves bérlettel és ezután kb. óránként 1£ díj fejében használhatja a hálózatot. Így adatokat lehet cserélni más mikroszámítógép-felhasználókkal, le lehet kérdezni a központi adatbázisokat, vagy akár a központban tárolt programokat is igénybe lehet venni. A legtöbb népszerű számítógéprendszernek van ilyen szolgáltatása. Ezeknél a költségek között rendszerint a negyedéves telefonszámla a legnagyobb tétel!
Ha el akarjuk kerülni a túlzott telefonköltségeket, akkor magánvonalakat kell létesíteni. Ez arra az esetre megfelelő megoldás, ha csak néhány számítógéppel kívánunk rendszeresen és helyi kapcsolatot tartani. Már több ilyen hálózat létezik (ezeket a szakma Local AREA NETWORK, azaz helyi adathálózat néven emlegeti, ahol a "helyi" néhány km-es körzetet jelent), ezek közül az egyik legismertebb a "Cambridge Ring" (a Cambridge-gyűrű). Ezt a cambridge-i egyetem fejlesztette ki, hogy a városban mindenfelé működő számítógépei kapcsolatban legyenek egymással. Annak, hogy ezt kialakították, nagyon egyszerű oka van. Az egyik számítógépnek lehet olyan információja, amelyet egy másik hasznosnak tarthat. Ahelyett, hogy két helyen is ugyanolyan programot készítenének vagy az adatokat sérülékeny mágneslemezeken vagy mágnesszalagon ide-oda hordozgatnák, egyszerűbb volt a gépeket néhány vezetékkel összekötni. A Cambridge-gyűrűt eredetileg a kisszámítógépek és a nagygépek részére tervezték, de ma már mikroszámítógépek is bekapcsolódhatnak.

Legújabban kifejlesztettek olyan olcsó "gyűrű"-áramkört, amely gépenként mindössze kb. 50£-ba kerül. Bár ez jelenleg még csak egy-két mikroszámítógép-típushoz alkalmas, a tervezés során olyan rugalmas rendszer kialakítására törekedtek, hogy a legkülönfélébb gyártmányokat is össze lehessen kötni. Maximálisan 255 különálló számítógépet lehet összekötni, és így a költséges mágneslemezes egységeket és nyomtatókat is meg lehet ezek között osztani.
Ez a sok új lehetőséget ígérő fejlődési irányzat valószínűleg arra készteti majd az egy helyen lakó vagy együtt dolgozó embereket, hogy ily módon kössék össze számítógépeiket és létesítsenek helyi adathálózatokat. Ennek kiváló példái az iskolák.

 

Számítógép-hálózatok az üzleti életben

A hálózatok kialakítása különösen hasznos az üzleti életben, és nagymértékben a teljesen automatikus információkezelő rendszerek alapjait teremti meg. Nézzük, hogy is működik ez!
Vegyük példaként egy kis folyóirat szerkesztőségét. Itt a következők dolgoznak: a főszerkesztő, a lapszerkesztő, két riporter, a titkárnő, a hirdetési rovatvezető, két kereskedő és a hirdetési rovat titkárnője. Mindegyikük íróasztalán van egy mikroszámítógép, amely képernyőből, billentyűzetből, processzorból és egy olyan tárból áll, amelyet összekötöttek a központi merev mágneslemezes egységgel és a nagysebességű nyomtatóval. A szerkesztőségi és a hirdetési részlegek többnyire külön dolgoznak, de alkalmanként együtt kell működniük. Nézzük először a szerkesztőségi részleget!
A szerkesztő és a riporterek cikkeket írnak a saját számítógépükön, ezeket mágneslemezen tárolják. A külső szerzők által írt cikkeket vagy bebillentyűzik, vagy optikai jelolvasóval beírják a mágneslemezre. Ez utóbbi költséges berendezés, amely a papírra irt szöveget a számítógép által érthető jelsorozattá alakítja. Amikor egy folyóiratszámot megterveznek, a főszerkesztő kiválasztja a mágneslemezről a kívánt cikkek jegyzékét, és a lapszerkesztő ezeket átveszi a saját számítógépébe. A lapszerkesztés a helyesírás ellenőrzését is tartalmazza, ehhez speciális javítóprogramot használnak. Ebben benne van az írásjelek ellenőrzése is, erre megint külön program van. Ha a cikk már készen van, akkor kiválasztják a cím fokozatát és betűtípusát, és az egészet együtt telefonvonalon átküldik a nyomdába. A szerkesztőségi titkárnőnek eközben ki kell fizetni a szerzőknek a honoráriumot. Neki olyan programja van, amelyik számontartja az elkészült cikkeket, megszámolja a szavakat, utánanéz a szerző adatai között, hogy a főszerkesztő milyen honoráriumot ígért, és kiszámítja a tiszteletdíjat. Egyben kinyomtatja az aláírásra kész csekkeket. Folyamatosan felfrissíti az adatokat, így bármikor könnyen ki lehet keresni, hogy ki, mikor és mennyiért írt cikket.
A főszerkesztő idejének jó részét az olvasókkal és a cikkírókkal váltott levelezés rabolja el, ezért ő a mikroszámítógépét arra is felhasználja, hogy levéltervezeteket írjon, amelyeket a titkárnő fogalmaz meg véglegesen akár megszokott mondatokat, akár előregyártott leveleket felhasználva. A leveleket is elektronikusan tárolják a mágneslemezen.
A szerkesztőségi részleg arra használja számítógépeit, hogy nyomon kövesse ki, mit és melyik számban hirdetett. Megjegyzik a megállapodás szerinti engedményeket és a hónap végén egy program segítségével kiszámítják az egyes hirdetők díjait, majd kiküldik a számlákat. A számítógép folyamatosan követi az újságban hirdetés céljára igénybe vett helyeket, és a bevételekből származó összegeket.
Néha előfordul, hogy a hirdető azt is kéri, hogy hirdetése jelenjen meg minden olyan folyóiratszámban, amelyben a hirdetett terméket a folyóirat valamelyik cikke megemlít. A hirdetési részleg személyzete végigkeresi a mágneslemezen a cikkeket, és megnézi, hogy azok tartalmazzák-e a kérdéses termék nevét, és ha igen, az adatok között bejegyzik azt a megjegyzést, hogy amikor a cikket felhasználásra kijelölik, jelezzék a hirdetés szükségességét.
Ideális esetben ebben a hivatalban papírra egyáltalán nincs szükség, ehelyett rengeteg költséges hardverre van kilátás, de az időmegtakarítás és a hatékonyság ezt sokszorosan megtérítheti. A munkatársak a hivatalban is általános szoftvercsomagokat használnak a szövegfeldolgozáshoz és adatbázis-kezeléshez, a mágneslemez-állományok karbantartásához, de speciális programokat saját maguk is írhatnak.
A folyóiratok - bizonyos, értelemben - ideálisan alkalmasak a számítógépkorszakhoz. A személyzet a rengeteg szöveggel végzi a rutinszerű munkát. A végső lépés az lesz, hogy a nyomtatott lap, mint olyan teljesen eltűnik, és kétségtelen, hogy ez akár már néhány év múlva megeshet. A lap anyagát viszont vezetéken lehet majd eljuttatni az emberek otthonába, ahol azt a házi tévén megjelenítik vagy kinyomtatják az addigra már olcsó saját nyomtatókon, és ellenértéket a telefonnal közös számlában fizetik ki.
Sok más üzletág is ezen az úton fog járni. A fejlődés egyik hatása éppen az, hogy a kezelőszemélyzet csökken. Elvileg - de ez még sok időbe fog telni - egy ilyen szervezetnek nincs szüksége nagy létszámú bérszámfejtési osztályra. Nem kell majd a rengeteg gépírónő a számlák összeállításához és könyveléséhez. Az ott dolgozó emberek a ténylegesen kreatív tevékenységgel fognak foglalkozni, és az unalmasakat a számítógépre bízzák. Így a vezetőállásúak száma is csökkenni fog.
Több ilyen egységet össze lehet kapcsolni nagyobb számítógépek segítségével. 5 éven belül egy nagyvállalat több kisebb energikus profitközpontra fog oszlani, amelyek a saját ügyeiket helyi adathálózataik útján intézik, és közben a kiválasztott információt a cég központi miniszámítógépébe küldik. Az előbb említett folyóiratszerkesztőség pl. egy nagyobb szervezethez is tartozhat, és ezért havonta egyszer futtathat egy olyan programot, amely összegezi az eladott oldalak számát, a teljes beszedett pénzmennyiséget, és ezeket az adatokat beküldi az ügyvezető igazgató adatállományába, aki azt össze tudja hasonlítani a többi vállalkozás hasonló eredményeivel. Vajon mit fog látni egy látogató az ilyen irodában? Először is a billentyűzetet és a képernyőt minden íróasztalon.
Másodszor a munkahelyek ürességét; nagyon kevés papír fog itt-ott heverészni. Harmadszor mentesek lesznek a munkahelyek az irattartóktól és iratszekrényektől, mert a teljes anyagot mágnes lemezes egységek tárolják az íróasztalfiókokban. Negyedszer az iroda sarkában találnak egy idegösszeroppanásos főnököt, mert mindez túl komplikált lesz a számára...

A legfigyelemreméltóbb dolog az, hogy az egész iroda ott lesz, ahol egyáltalán nem várjuk. Mivel az információkezelés elektronikusan történik, ehhez sokkal kevésbé lesz szükség arra, hogy az emberek fizikailag egymás közelében legyenek. A folyóiratszerkesztőség személyzete valószínűleg együtt akar majd dolgozni, mert munkájuk során a tapasztalataikat ki kell cserélniük egymással, de arra nincs szükség, hogy ugyanabban az épületben legyenek, ahol a főnökeik avagy a vállalat többi folyóirat-szerkesztősége. Az egyik újság személyzete Chiswickhen szeretne otthon dolgozni, a másiké Wiltshire-ben.
A postázás helyett a személyzet inkább a telefonhálózat útján küld egymásnak információt. A cikkírókat arra bátorítják, hogy a cikkeket otthon, a saját mikroszámítógépükön írják és telefonvonalon küldjék be, vagy ha külföldön élnek, esetleg éppen műbolygó közvetítésével.
Ha valaki így akarna dolgozni, akkor a számára műszakilag már most lehetséges, vagy hamarosan az lesz. A változás sebessége nagyjából az embereknek a változással szembeni viszonyától függ. Vajon megengedhetjük-e magunknak, hogy így dolgozzunk?

 

Prestel alkalmazása az üzleti életben

Ahogyan a saját számítógépeket össze lehet kötni, az üzleti életben a dolgozók a Prestel számítógépét és más hasonló, már említett nyilvános hálózatokat is felhasználhatnak.
Hogy egy példát említsünk, a fentiekben ismertetett képzeletbeli folyóirat cikkírói a Prestelen keresztül is ajánlkozhatnak. Ők számítógépükkel a telefonvonalhoz kapcsolódhatnak, felhívják a Prestel számát, hozzáférnek a folyóirat üzenő oldalához, és beleírják cikktervezetüket. Később a folyóirat számítógépe ezt az üzenő oldalt rutinszerűen megnézi, és ha ott talál valamit, átveszi a saját adatállományába és megjegyzést ír be a főszerkesztő üzenetállományába.
A Prestel útján több lehetőség lesz információértékesítésre is. Ha pl. el akarunk utazni valahova, lehet a házi számítógépünkben olyan program, amellyel ellenőrizni lehet a vasúti menetrendet, és ki lehet belőle választani egy olyan útvonalat, amely aztán a menetdíj szempontjából optimális. Más szavakkal ez lehet a 4. fejezetben ismertetett útiránykereső program egyik változata. Az a valószínűbb, hogy ezt a programot nem is fogjuk magunk megírni, hanem inkább egy napra "kibéreljük" egy szoftverháztól valami minimális bérleti díjért, amelyet automatikusan hozzáadnak a telefonszámlához.
Az is előfordulhat, hogy valamit vásárolni vagy eladni szeretnénk, nézzük pl. a használt kocsi esetét. Az olyan üzletágak, amelyek manapság heti hirdetési listákat közölnek napilapokban, ezt áttehetik a számítógépükre. A hirdető személy arra használhatja a számítógépét, hogy közvetlenül felviszi a mágneslemezre, amit el akar adni. Hasonlóan a hirdetőtáblák céduláihoz, bizonyos szabályokat itt is meg kell tanulni. A program "étlapja" pl. így alakulhat:

ROVAT = AUTÓK
TÍPUS = FORD
MODELL = CONSUL
TÉRFOGAT = 2000 CCM
ÉVJÁRAT = 1977
KM-ÓRA ÁLLÁSA = 14 000
ÁR = 3000 FONT
TELEFONSZÁM: 221 5000

A hirdetés feladásáért díjat kell fizetni, és addig amíg meg nem szüntetjük, napidíjat is kell fizetni. Az érdeklődők ugyanígy használhatják a számítógépüket, pl. a következő üzenettel.

LÁSSUK A FORDOKAT
TÉRFOGAT < 3000 CCM
ÁR < 2000 FONT
KM-ÓRA ÁLLÁSA < 20 000

ennek hatására mindazon autók adatai megjelennek, amelyek a felsorolt követelményeket kielégítik.
Az ilyen hálózattá kiépített rendszernek az a nagy előnye, hogy a vásárlók és az eladók közvetlen kapcsolatba kerülhetnek - nemcsak úgy, hogy egy telefonszámot kapnak, hanem a rendszer útján üzeneteket is hagyhatnak. Az áru értékét ki is fizethetik a számítógép segítségével, megadva hitelkártyájuk számát.
Azontúl, hogy látjuk, mindez lehetséges, nagyon nehéz megjósolni, hogy ez mint üzletág, hogyan fog fejlődni. A fejlődés alakulását inkább a felhasználói divat irányzatai fogják megszabni. A rendszer hallatlan rugalmasságot nyújt, de a felhasználók fogják megválasztani a fejlődés útjait.

 

És a jövő?
A jövőben a változás sebességét nem annyira az új technika korlátai fogják szabályozni, mint a mi hozzáállásunk. Ha az emberek úgy akarnak élni és dolgozni, mint ahogy leírtuk, az akár ma, akár a közeli jövőben műszakilag lehetséges. Az automatikus gyár már létezik Japánban, az automatizált folyóirat-szerkesztőség ugyancsak létezik Amerikában. Ugyanakkor például az angol kísérleti automatikus gyárat nemrég bezárták, mert a recesszió idején más dolgok fontosabbnak tűntek. Ugyancsak elszomorító nézni az új technika bevezetésének a kísérleteit az angol nyomdai és kiadóhivatali tevékenységben - bár sok minden már számítógépesítve van.
Ezek ellenére várható az az idő, amikor mindez, a fáradságos munkától mentesítő világ elkövetkezik. És az állások? Mit fog az a sok ember csinálni, amikor a szakmunkásokra, a hivatalnokokra, a középvezetőkre nem lesz már szükség? Olyan társadalom jön-e létre, amelyben a munkát nem tekintjük az élet lényeges részének és nem az lesz az önbecsülés forrása? Tudunk-e új állásokat létesíteni jóléti tevékenységekhez: az egészségügyben, az oktatásban és a szociális ellátásban? Tudunk-e létrehozni újfajta - eddig meg sem álmodott - személyi szolgáltatásokat egy luxuskivitelű Szép új Világban? Vajon a munkanap és a munkahét rövidebb lesz-e? Vagy megosztjuk a társadalmat olyanok között, akiknek van munkájuk és akiknek nincs?
Lehet - és egyúttal kápráztató is - arról ábrándozni, hogy mit hoz a jövő! Valójában azonban nem tudjuk, bár egy dolog biztos, hogy lesz változás és lesznek feszültségek. Sok mindent meg kell változtatni, és az elhatározásokat legjobb a tudás birtokában megtenni. Ha az új technika alkalmas arra, hogy az életünket megváltoztassa, akkor legjobb, ha azt értjük alatta, hogy ahol jó, ott segítjük, és ahol rossz, ott harcolunk ellene. Reméljük, hogy ez a könyv - és a BBC teljes számítógép-műveltségi programja valamit azért hozzásegített ennek megértéséhez!

Szakkifejezések gyűjteménye

A/D
(l. átalakító)
Adat
Adat Tágabb értelemben olyan információt jelent, amelyet a számítógépprogram kezelni tud. Az adat számok vagy karakterek alakját öltheti fel.
Atatbázis
Ez a - kicsit nagyképűen hangzó - szó az információt (adatokat) tartalmazó állományok olyan szervezett együttesét jelenti, amelyet a számítógépek működésük során igénybe vesznek. Ha ezt különböző terminálokon (l. ott) keresztül többen is használják, akkor adatbanknak is nevezik.
Akkumulátor
A számítógépben az a hely (ezt a helyet regiszternek is nevezik), ahova ideiglenesen egy szám mint például egy műveletnek az eredménye vagy egy tárrekesz tartalma betölthető, áttölthető, és amelynek a tartalmához egy másik szám hozzáadható, abból kivonható vagy azzal összehasonlítható.
Akusztikus csatoló
Egy olyan eszköz, amely hallható - pl. a telefonból jövő - hangokat a számítógép számára érthető digitális jelekké képes átalakítani (és fordítva is).
Alacsony szintű programnyelv
(l. gépi kód és assembly nyelv)
Alfanumerikus
A karakterek olyan készlete, amely számokból, betűkből, különleges jelekből és szimbólumokból (mint pl. a $ vagy a # jel) és ezek kombinációiból áll. Az írógép vagy a számítógép billentyűzete tipikusan alfanumerikus (bár azon vannak különleges vezérlőbillentyűk is)
ALGOL
ALGOrithmic Language: algoritmikus nyelv. Egyike a legelterjedtebb magas szintű programozási nyelveknek (l. ott), főként matematikai feladatok megoldásához használják. Bár könyvünkben elkerültük ennek a szónak a használatát, fontossága miatt mégis bevesszük e fogalomgyűjteménybe.
Algoritmus
Az algoritmus egy-egy feladatnak azt a megoldását jelenti (itt a papíron, ember által végzett feladatmegoldásra gondolunk), amely a számítógépprogram utasításainak sorozatát képezi. Ezt a kifejezést nemcsak a számítástechnikában használják.
Alkalmazói program
(vagy alkalmazói szoftver)
Olyan számítógépprogram, amely valamilyen külső célra (pl. üzleti alkalmazás, játék, tanulás stb.) készült. Ennek ellentéte a programok egy másik nagy csoportja: a rendszerprogram (vagy rendszerszoftver), amely belső célokra készül. A felhasználói program kifejezést azonos értelemben használják.
Állomány
Adatok, ill. számítógépprogramok adott szempont szerinti szervezett gyűjteménye. Erre az angol file (ejtsd: fájl) szót még elterjedten használják.
Analóg
Bizonyos mennyiségek (mint pl. a hőmérséklet vagy az idő) folyamatosan változnak, szemben a digitálissal (l. ott). A legtöbb természetes folyamat analóg. Amikor a dolgokat mérjük és a mérés eredményéhez számértékeket rendelünk hozzá, akkor e mennyiségeket digitalizáljuk.
Analóg-digitális átalakító
(l. átalakító)
Aritmetikai és logikai egység
Arithmetic and Logic Unit: ALU. A számítógép központi egységének az a része, ahol az aritmetikai műveleteket (pl. összeadás) és a logikai műveleteket (pl. számok összehasonlítása) végrehajtják.
ASCII
Az American Standard Code for Information Interchange (Amerikai Szabványos Információcsere Kódrendszer) szavak kezdőbetűi. Nemzetközileg szabványosított kódrendszer amerikai nemzeti változata. A számokat, a betűket és egyéb szimbólumokat (l. ott), valamint a vezérlőkaraktereket egy-egy bitkombinációval (l. ott) ábrázolja, amelyet a számítógép kezelni tud.
Assembly nyelv
Alacsony szintű programnyelv, amely mnemoniknak nevezett (emlékeztető szótöredékeket vagy betűszakokat) használ, hogy az ember számára érthető, az előírt feladatra utaló szavakkal jelöljék a számítógép utasításait. Ezek a mnemonikok közvetlenül fordíthatók binárisba kódolt utasításokká, amelyet a számítógép "megért". Használata sokkal gazdaságosabb, mint a magas szintű programozási nyelveké, mivel ehhez jóval kevesebb tárhelyet kell a számítógépben felhasználni (nincs szükség fordítóprogramra), de ugyanakkor a kezdő programozók számára sokkal nehezebb és a program is jóval hosszabb lesz.
Átalakító (analóg-digitális
vagy digitális-analóg)
Az analóg-digitális (A/D) átalakító valamilyen villamos érzékelőből analóg információt hordozó, folyamatosan változó villamos jelet olyan digitális jellé alakítja át, amelyet a számítógép fogadni tud. Ennek a folyamatnak a fordítottja zajlik le a digitális-analóg (D/A) átalakítók esetében.
Azonos idejű
A számítógép-rendszer akkor működik azonos időben, ha az adat feldolgozása az adatbevitellel gyakorlatilag egyidejűleg megtörténik. Angolul real time (ejtsd: riel tájm); szokták még valós idejűnek is mondani.
Bájt
A byte (l. ott) kifejezés gyakran használt, a kiejtésnek megfelelő (és a magyar szabványban előírt egyik) írásmódja.
Bar kód
Jelentése vonalkód. Nyomtatott vonalak mintázata valamilyen tárgyon (pl. könyvön vagy a kereskedelemben egyre elterjedtebben az árucikkek dobozán, csomagolásán stb. látható jelek), annak azonosítása céljából. Az információt pl. beolvasóceruzával (l. ott) lehet a számítógépbe beolvasni.
BASIC
A BASIC (ejtsd: bézik) a legnépszerűbb magas szintű programnyelv, főként a mikroszámítógépek számára. Neve a Beginners All-purpose Symbolic Instruction Code (kezdők általános célú programozási rendszere) szavak kezdőbetűiből ered. A 4. fejezetben foglalkozunk a BASIC-kel részletesebben.
BASIC változatok
Az egyes számítógépektől függően a BASIC nyelvnek különböző változatai léteznek. Ezért, ha a BASIC nyelvről általánosan beszélünk, rendszerint mint BASIC rendszert említjük. Az adott számítógéptől függően tehát pl. van PET BASIC, BBC BASIC, RML BASIC stb. Ezek a BASIC változatok nagyon sok mindenben azonosak, bizonyos dolgokban viszont eltérőek.
Baud-sebesség
A Baud-sebesség (ejtsd: bód) - pongyolán szólva - azt mutatja, hogy másodpercenként hány bit (l. ott) kerül át a számítógép egyik részéből a másikba (pl. kazettás mágnesszalagos osztályozási rendszer esetén), ill. egyik számítógépből a másikig. (Helyesen bitsebességet kellene mondani, mert a szabványok szerint a baud mást jelent: az elemi jelek legrövidebb időtartamának reciprokát - A lektor)
Bemenet
(l. bevitel)
Bemenő adat
A bevitelhez használt információ.
Beszédfelismerés
A számítógépnek az a képessége, hogy mikrofonból érkező jelsorozatokat elektronikus tárolójában őrzött mintákkal összevetve azonosítani tud és így szavakat felismer.
Beszédszintézis
A számítógépnek az a képessége, hogy tárolójában őrzött hangminták felhasználásával szavakat állít össze, amelyek hangszórók segítségével sugározhatók.
Bevitel
Bemenetnek is szokták nevezni (angolul: input). A bevitel az az út, amelyen keresztül az adat a számítógépbe bejut, vagy amelyen át a gépkezelő (operátor) az adatokat beadja (pl. billentyűzeten) a számítógépbe.
Billentyűzet
Billentyűk jól rendezett együttese, a számítógép egyfajta adatbeviteli egysége. Rendszerint alfanumerikus (l. ott), de lehetnek speciális billentyűi is, amelyekkel valamilyen speciális számítógépfunkció váltható ki.
Bináris
A számolás egy olyan módja, amelyben két érték lehetséges 0 vagy 1; be vagy ki; igen vagy nem; fehér vagy fekete. A számítógépek többsége kizárólag csak binárisan megadott információval tud mit kezdeni: azt "érti meg", mást nem. Bináris az a számrendszer, amelynek alapszáma: 2.
Bit
Binary digit (bináris számjegy) szavakból adódik. Értéke: 0 vagy 1 (1, bináris).
Bitkombináció
A bitek meghatározott szerkezetű csoportja karakterek kifejezésére számítógépekben (l. ASCII).
Bogarászás
A program tesztelésének elvégzése és megváltoztatása azért, hogy a hibákat vagy az ún. "poloskákat" (l. ott) megtalálják, ill. kiküszöböljék.
Busz
(l. sín)
Byte
A byte (ejtsd: bájt) a by eight: nyolcasával szóra utal, és többnyire nyolcbites csoportokat jelent. Egy-egy ASCII karakter ábrázolásához egy-egy byte információ elegendő, de kifejezhet a 8 bites byte két számjegyet is.
CAD
A Computer Aided Design (számítógéppel segített tervezés) szavak kezdőbetűiből tevődik össze.
CAE
Computer Aided Eduention (számítógéppel segített oktatás) szavak kezdőbetűiből tevődik össze.
CAL
A Computer Aided Learning (számítógéppel segített tanulás) szavak kezdőbetűiből tevődik össze.
CEEFAX
A BBC képernyős információs szolgálata (hasonlóan a magyar képújsághoz), amely a televíziós sorjelek közötti visszafutás szünetidejének egy részét használja az adatközléshez. Az információt a szokásos tévé képernyőjén jeleníti meg. Kisugárzott videotexnek is nevezik. A viewdata (l. ott) egyik rokon fajtája.
Chip
A chip (ejtsd: csip) - ezt áramköri lapkának is szokták nevezni - olyan egység, amely egyetlen szilícium lapocskának a felületén számos tranzisztort és hasonló elemet tartalmaz. Összeállítva ("tokozva") úgy néz ki, mint egy százlábú bogár, mivel számos - a csatlakoztatáshoz szükséges - fémlába van.
Cím
A számítógépben a feldolgozás során a számok formájában kezelt ínformációnak egyik helyről a másik helyre állandóan mozognia kell. Minden helynek, ahova mozgása során elkerül, címe van. Ez a cím maga is egy szám, hasonlóan ahhoz, ahogy a házaknak egy utcában számuk van.
COBOL
Egyik legelterjedtebb magas szintű programnyelv, amely leginkább kereskedelmi adatfeldolgozási feladatok programozására alkalmas. Neve COmmon Business Oriented Language (általános kereskedelemre orientált nyelv) szavak kezdőbetűiből tevődik össze.
Compiler
A compiler (ejtsd: kompájler) egy olyan program a számítógépben, amely egy teljes, magas szintű programnyelven írt programot (pl. valamilyen felhasználói programot) a számítógép számára érthető gépi kódú programmá teszi át, "fordítja le". Fordítónak is szokták nevezni.
Computer
A computer (ejtsd: kámpjútör) a számítógép angol elnevezése.
CPU
(l. központi feldolgozóegység)
C$őd
Angolul crashnek (ejtsd: kress) nevezik, és akkor mondják, ha a számítógép az éppen futó programját sem befejezni, sem újraindítani nem tudja.
D/A átalakító

(l. átalakító)

Decimális
Decimális az a számrendszer, amelynek alapszáma: 10. Tízes szánrendszernek is nevezzük. A mindennapi életben ezzel számolunk.
Digitális
Számokkal, egész egységekkel való műveletvégzés. Ellentéte az analóg (l. ott).
Diszk
(l. mágneslemez)
Elágazás
A számítógépprogramnak egy olyan része, ahol választani kell a különböző, lehetséges útvonalak között. A lehetséges útvonalakból való választás "intelligenciatényező".
EPROM
Az Erasable and re-Programmable Read Oniy Memory (törölhető és újraprogramozható, csak olvasható tár) szavak kezdőbetűiből tevődik össze. Az EPROM olyan chip (áramköri lapka), amelybe program tárolható, és amely azt annak törléséig megtartja. Rendszerint a chip felületének ultraibolya fénnyel való megvilágításával törölhető és ezután újra beírható (l. PROM és ROM).
Értelmező
A számítógép saját belső programja, amely a magas szintű programnyelv kulcsszavait sorról sorra fordítja le, ha az tömörebb, mint amit a processzor fel tud dolgozni. Ezzel szemben a fordító (l. compiler) egyszerre fordítja le a programot.
Fájl
A file - állomány (l. ott) - kifejezés használatos, a kiejtésnek megfelelő írásmódja.
Fénykibocsátó dióda
LED-nek is nevezik, amely a Light Emitting Diode szavak kezdőbetűiből tevődik össze. Olyan félvezető alkatrész, amely villamos áram hatására fényt bocsát ki.
Firmware
A firmware (ejtsd: förmver) olyan program, amelyet a számítógép állandóan egy ROM-ban (I. ott) tárol. Rendszerint olyan programokra mondjuk, hogy a firmware részei, amelyek a számítógép belső műveleteit végzik. Alkalmazói programok firmware-ként ritkábban fordulnak elő, de erre is van példa.
Floppy disc
A floppy disc (ejtsd: flopi diszk) hajlékony mágneslemez, amelyen adatokat tárolnak.
Folyamatábra
Olyan diagram, amely az egymásra következő események folyamatát és azokat a választási lehetőségeket (l. elágazás) ábrázolja, amelyek egy feladat megoldásához szükségesek. Rendszerint - bár nem kizárólag - a számítógépprogram logikai menetét ábrázolja.
Folyékony kristályos kijelző
LCD-nek is nevezik, amely a Liquid Crystal Display szavak kezdőbetűiből tevődik össze. A legtöbb zsebszámológép és karóra kijelzője ilyen. A karakterek rendszerint világos háttér előtt sötéten jelennek meg. Működése kémiai jelenségen alapul, amelyhez nagyon kis villamos teljesítmény szükséges.
FORTRAN
Egyike a legelterjedtebb magas szintű programozási nyelveknek, inkább tudományos és matematikai alkalmazások számára használt.
Gépi kód
0-k és 1-ek sorozata. A legtöbb számítógép csakis ezzel tud dolgozni, ezt "érti meg". Ez a legalacsonyabb szintű programnyelv, és valamennyi magas szintű programnyelven megírt programot a futtatáshoz erre a nyelvre kell lefordítani. Gépi kódban programot írni nem a leghatékonyabb módszer, ha viszont a programot eredetileg is gépi kódban írták, akkor a program jóval gyorsabban fut le, mintha magas szintű programnyelven írták volna.
Grafika
Általános kifejezés, nem betűk és számok, hanem képek, ábrák vagy diagramok megjelenítésére a képernyőn. (Ettől eltérő értelmezés van a szabványos kódábécékben (l. ASCII-nél), ahol minden nyomtatási vagy rajzolatos módon megjelenő betű, szám, írásjel, ékezet vagy speciális szimbólum a "grafikák" közé tartozik, szemben a meg nem jelenített vezérlő és más nem grafikai karakterekkel. - A lektor.)
Hajlékony mágneslemez
(l. mágneslemez)
Hálózat
Olyan összefüggő és együttműködő rendszer, amelyhez több számítógép, terminál (l. ott) és egyéb egység (pl. nyomtató vagy mágneslemezes egység) elektronikusan csatlakozik, néha igen nagy távolságot is áthidalva.
Hard coppy
(l. nyomtatott másolat)
Hardver
Az angol hardware (kemény áru) kifejezés kiejtés szerinti alakja. Hardvernek nevezzük mindazt, ami a számítógépnek kézzel fogható, fizikai eleme és része. Ellentettje a szoftver.
Háttértár
Minden olyan külső tár (rendszerint mágnesszalag vagy mágneslemez), amely a számítógép belső, operatív tárához (l. ott) csatlakoztatható és kiegészíti azt. A háttértár kikapcsolásakor a benne tárolt információ nem vész el. A háttértár kapacitása többnyire jóval nagyobb, mint a belső, operatív táré.
Hexadecimális vagy HEX
A számolásnak egy olyan módja, amelyben az alapszám nem 2 (kettes, vagyis bináris) és nem 10 (tízes, vagyis decimális), hanem 16. Alacsony szintű programnyelven író programozók használják előszeretettel. Egy byte-ot (l. ott) két hexadecimális szimbólum határoz meg, ezért jelentős.
Hordozhatóság
Egy programot akkor nevezünk hordozhatónak (portábilisnak), ha különböző számítógép-rendszereken is futtatható.
IC
(l. integrált áramkör)
Információ
(l. adat)
Input
(l. bevitel)
Integrált áramkör
IC-nek is nevezik, amely az Integrated Circuit (integrált áramkör) szavak kezdőbetűiből tevődik össze. Egyetlen chip (szilícium lapka) felületén elhelyezett áramkörök kombinációja. Az IC-t-igen gyakran a chippel azonos értelemben használják.
Interaktív
A számítógép olyan használati módja, amelyben a gép kezelője közvetlen és folyamatos kétirányú kapcsolatban áll a géppel, pl. felel annak kérdéseire és a gép viszontválaszát megkapja. A párbeszédes üzemmódot az interaktívval azonos értelemben használják.
Interface
Az interface (ejtsd: interfész) egy számítógép két egysége közötti csatlakozás határelemeit jelenti. Ez a csatlakozás gyakran elektronikus áramkörökből áll, amelyeknek feladata az illesztés, vagyis az, hogy a számítógép egyik része jól együtt tudjon működni a másik részével. Illesztőegységnek vagy illesztőfelületnek is szokták nevezni.
Interfész
Az interface (l. ott) kifejezés gyakran használt, kiejtés szerinti alakja.
Iskola számítógép
Iskolai célra használatos számítógép.
Jel
(l. karakter)
(A műszaki gyakorlatban "jel" a "villamos jel", amely az információt, így a karaktert "hordozza". A szellemtudományokban, így a "jeltudományban", vagyis a szemiotikában az értelmes közlés hordozója, és átvitt értelemben eleme is - A lektor).
K
A kilo prefixum számítástechnikában használatos jelölése.
Kazettás mágnesszalag
A mikroszámítógépek programjainak és adatainak olcsó, jól kezelhető tárolási lehetősége, a mindennapi életben elterjedt magnetofon felhasználásával. Háttérként (l. ott) elterjedten használják.
Képernyős megjelenítő
VDU-nak is nevezik, amely a Visual Display Unit (képi kijelzőegység) szavak kezdőbetűiből tevődik össze. Tévészerű képernyős készülék. A számítógép kimenő adatai jeleníthetők meg rajta. A számítógép legelterjedtebb kimeneti perifériája (l. ott).
Kézfogás
Két számítógép vagy egy számítógép és a perifériája (pl. nyomtató) közötti párbeszédes eljárás, amelynek során mindkét fél meggyőződhet arról, hogy a közölt üzenet valóban átkerül az egyik egységből a másikba.
Kilo-
Ezret jelentő prefixum (előtét). Pl. a kilobyte ezer byte-ot jelent. Jele: k. Más értelemben viszont csak közelítően jelent ezret, mert a számítástechnikában, amikor kettes (bináris) számrendszerben dolgozunk, akkor k értéke éppen 2^10, azaz 1024, tehát nem pontosan ezer. Ilyenkor a kilo- jelölésére előfordul, hogy a k helyett K-t használunk.
Kimenet
(l. kivitel)
Kimenő adat
A kiíráskor létrejövő információ.
Kisszámítógép
A kisszámítógépnek, amelyet miniszámítógépnek is szoktak nevezni, közepes a mérete és főként közepes méretű vállalatok használják könyvelés, bérszámfejtés, készletnyilvántartás stb. céljára. Ezek a mikroszámítógépek és a nagyszámítógépek közötti gépek.
Kivitel
Kimenetnek is szokták nevezni. Angolul output (ejtsd: autput). Az a művelet, amelyet a számítógép képernyőre, nyomtatóra vagy háttértárra kiíráskor végez.
Kompatibilis
Két számítógépről akkor mondják, hogy egybevágóak, azaz kompatibilisek egymással, ha az egyikre írt program minden változtatás nélkül futtatható a másik számítógépen is.
Központi feldolgozóegység
CPU-nak is nevezik, amely a Central Processing Unit szavak kezdőbetűiből tevődik össze. A számítógép vezérlőrésze, amelyet kissé misztifikálva "számítógépagynak" is neveznek. Ez az az egység, amelyen át a számítógép valamennyi egysége összekapcsolódik, és amely az adatokkal kapcsolatos számításokat és műveleteket végzi.
Kulcsszavak
A magas szintű programnyelvek olyan szavai, amelyeknek a számítógép számára speciális jelentésük van.
Kurzor
Egy jel a képernyőn, amely megmutatja azt a helyet, ahol a következő bebillentyűzendő karakter meg fog jelenni. Angolul: cursor.
Lánc
Egymást követő karakterek olyan sorozata, amelyet a számítógép egységként kezel, feldolgoz. Felhívjuk a figyelmet arra, hogy az üres helyeket is karakternek kell tekinteni. A láncokat és a számokat rendszerint megkülönböztetik, a számítógép ui. csak számokkal tud aritmetikai műveleteket elvégezni, karakterekkel nem. Nézzük meg pl. a 4711-es számot, amelyet egyszerűen négy különálló karakternek is tekinthetünk, és pl. akár visszafelé is felírhatunk: 1174, vagy tekintjük a "négyszerhétszáztizenegy" számnak, amellyel műveletet végezhetünk (pl. oszthatjuk, szorozhatjuk stb.) Az utóbbi értelmezésben természetesen teljesen értelmetlen lenne, ha azt mondanánk, hogy a 4711 mint szám fordítva is felírható. Ezt igen gyakran szövegnek is nevezik, angol elnevezése: string.
Lapka
(l. chip)
LCD
(l. folyékonykristályos kijelző)
LED
(l. fénykibocsátó dióda)
Leolvasóceruza
Tollszerű eszköz optikai kóddal (pl. vonalkóddal) kialakított jelek leolvasásához. Fényceruzához hasonló.
Magas szintű programnyelv
E programnyelv használatakor a programozó olyan utasításokat ír le, amelynek megnevezése eléggé hasonlatos a beszélt angol nyelvhez, szemben azzal az esettel, amikor gépi kódban írja (l. ott). Annál magasabb szintűnek tekinthető egy nyelv, minél közelebb áll az angol nyelvhez és így azonnali ránézéssel könnyebben is érthető.
Mágneslemez, ill.
hajlékony mágneslemez
Egy olyan lapos, merev vagy hajlékony mágneslemez (néha tárcsának is nevezik), amelyen programok és adatok tárolhatók és amelyről azok gyorsan visszakaphatók. Sokkal gyorsabbak, mint a kazettás mágnesszalagok, de jóval drágábbak is. A merev mágneslemezt szokták az angol disc kifejezés kiejtésének megfelelően diszknek, a hajlékony mágneslemezt pedig a floppy disc kifejezés kiejtésének megfelelően floppi diszknek írni. (Angolban a disc jelenti a tárcsát, lemezt és ezt a köznapi nyelvben ritkán discnek is írják - A lektor).
Margarétakerekes nyomtató
Olyan nyomtató, amelyben egy műanyag tárcsa (kerék) széle mentén helyezkednek el a nyomtatási karakterek. A kerék forog, és amikor a kívánt karakter kerül a kalapács elé, akkor az a szalagon keresztül ráüt. A különböző karaktertípusú tárcsák könnyen cserélhetők.
Mátrixnyomtató
A mátrixnyomtatóban a villamos kalapácsok sora tűket mozgat és a kinyomtatott karaktereket pontokból álló minták alkotják.
Mesterséges intelligencia
A számítógépnek, ill. a számítógép-vezérlésű gépnek azt a képességét, hogy a feladatokat úgy hajtja végre, mintha egy ember végezné, intelligenciát igénylő tulajdonságnak szokták nevezni. Ez természetesen felveti azt a kérdést is, hogy tulajdonképpen mit is értünk intelligencián? Egy adott feladat megoldása közben a számítógép gyakran tanul a saját tapasztalataiból és továbbfejleszti képességeit.
Mikro
Kétféle jelentése lehet: (1) igen kicsi - pl. mikroszámítógép és (2) valaminek a milliomod része (prefixuma, amelynek számértéke 10^-6).
Mikroelektronika
Olyan villamos eszközök használata, amelyekben sok, különféle alkatrészt építenek össze (integrálnak) mikroszkopikusan kicsi áramkörökké egyetlen lapka (chip) felületén.
Mikroprocesszor
Néha a mikroszámítógép szóval azonos értelemben használják, de helyesen értelmezve a mikroprocesszor a központi feldolgozóegységet (CPU) tartalmazza csak.
Mikroszámítógép
Mikroprocesszor köré épített kicsi számítógép, amelynek minden olyan, a nagyszámítógépben is meglevő egysége megvan (perifériája és tára), amely a külvilággal való érintkezéshez és az adattároláshoz szükséges.
Miniszámítógép
(l. kisszámítógép)
Mnemonik
Emlékeztető rövidítések. Pl. REM: REMARK (megjegyzés)
Numerikus
Numerikus (l. számjegyes)
Nyelv
A számítógép nyelvét nehéz úgy értelmezni, mint pl. a magyar vagy az angol nyelvet, mert ez a nyelv a számítógéppel való kommunikáció (érintkezés) szervezett eszköze, és szemben a köznyelv elfogadott "pongyolaságaival" a gépi nyelv pontosan meghatározott utasítások használatát jelenti.
Nyomtatott áramköri lemez
PCB-nek is nevezik, amely a Printed Circuit Board (nyomtatott áramköri lemez) nevek kezdőbetűit tartalmazza. Műanyag lemez, amelyre a számítógép elektronikus alkatrészei rá vannak forrasztva. Ezeket vékony, nyomtatott huzalok kötik össze a lemez felületein.
Nyomtatott másolat
A nyomtatott másolat, amelyet hard copy-nak (ejtsd: hárd kápi) is szoktak nevezni. Ez a számítógép által kiadott kimenő adatok összessége, papírra nyomtatott formában, amelyeket így maradandóan megőrizhetünk.
Osztott idejű
Olyan programegyüttes, amely folyamatosan a számítógépben van és a felhasználói programok futását felügyeli, valamint a különböző be- és kimeneti egységek (pl. képernyős megjelenítő, billentyűzet) működését vezérli.
Operációs rendszerek
Nagyteljesítményű számítógépek szolgáltatásainak több felhasználó részére alkalmas kihasználási módja, akik ezeket a szolgáltatásokat termináljaikon egyidejűen veszik igénybe. Ebben az üzemmódban a szolgáltatást a felhasználónak az az érzése, hogy egyedül övé a számítógép. Angolul time sharing (ejtsd: tájm sering) üzemmódnak nevezik, szokták még időosztásos üzemmódnak is mondani.
Output
(l. kivitel)
Parancs
A számítógép számára adott közvetlen (belső) utasítás, amelyet az azonnal végrehajt.
Párbeszéd
(l. interaktív)
Párhuzamos
Ha egy számítógépben a biteket hordozó villamos jelek párhuzamosan több vezetéken egyidejűleg haladnak, akkor párhuzamos bitáramról beszélünk.
PASCAL
Magas szintű programnyelv, amelyet a személyi számítógép használói közül sokan szívesebben használnak általános programozáshoz, mint a BASIC nyelvet.
Pásztázás
Rendszerint a számítógép adatlistájának valamennyi elemét igen gyorsan végigvizsgáló tevékenység. Célja valamely feltétel teljesülésének megállapítása.
PCB
(l. nyomtatott áramköri lemez)
Perifériák
A számítógép részei és elemei, amelyek különböző módokon kapcsolódnak a központi feldolgozóegységgel és a tárral. Ezek a számítógépek be- és kimeneti egységei. A perifériák közé tartoznak pl. a nyomtatók, a mágneslemezes egységek, a botkormányos grafikus táblák, a fényceruzák stb.
Poloska
Egy hiba vagy egy tévesztés a programban. Angolul bug (ejtsd: bádzs).
Port
A kapu kifejezés angol megfelelője. A számítógép belsejében az a hely, ahol villamosan lehet rácsatlakozni a központi egységre. Csatlakozópontnak, vagy portának is nevezik.
Prestel
A British Telecom ezt a nevet adta az első, nyilvános videotex szolgálatának (l. ott), amely a nyilvános kapcsolt telefonhálózaton keresztül vehető igénybe.
Processzor
Magyarul feldolgozóegységet jelent (l. a központi egység)
Professzionális személyi számítógép
Bonyolultabb, nem személyi használatra készült mikroszámítógép.
PROM
Programable Read Only Memory (programozható, de csak olvasható tár) szavak kezdőbetűiből tevődik össze. Olyan chip, amelyet a felhasználó feladataihoz megfelelően előre beprogramozhat. Ha már beprogramozták (szokták azt is mondani, hogy beégették a programot, utalva a technikai megoldásra) a tartalma nem törlődik (l. ROM és EPROM).
Program
Utasítások sorozata, amelyeket a számítógép működése során végrehajt.
Programcsomag
Számítógépprogramok vagy programgyűjtemények, amelyeket sok ember tud használni (ezek ellentétét alkotják azok a programok, amelyeket egy adott vevő részére, speciális célokra írtak meg).
"Programmenü"
Programétlapnak is szokták nevezni. Olyan program, amely a kezelő számára képernyőn bemutatja az összes választási lehetőséget. A kezelő választása szerinti ágon fut azután a program tovább.
Programozás
Azoknak az utasításoknak a megírása, amelyeket a számítógépnek majd végre kell hajtania.
RAM
Random Access Memory (véletlen elérésű tár). Olyan tár, amelybe információt Lehet beírni és kiolvasni, mégpedig rögtön és attól függetlenül, hogy hol van elhelyezve a tárban. A számítógép munkatára (l. tár) olyan RAM, amelybe felhasználói programokat lehet kívülről bevinni és ezután lehet azokat futtatni. Néha olvasó-író tárnak is nevezik.
Rendszerelemző
Olyan személy, akit komplex fizikai vagy szervezési feladatok elemzésére képeztek ki, és aki nagy gyakorlatot szerzett megoldások kidolgozásában, beleértve a számítógép használatát és programozását is.
Robot
Számítógép által irányított eszköz, amely érzékelőkkel és végrehajtó mechanizmusokkal van ellátva. Az érzékelők környezetüktől információt vesznek fel, azt beadják a számítógépbe, és a gép programja segítségével eldönti, hogy mechanikai egységei miként válaszoljanak (pl. valamit felkapjanak, valamit elmozdítsanak stb.). Egyes robotok arra is programozhatók, hogy tapasztalataik alapján javítsák teljesítőképességüket: "ügyességüket" (l. mesterséges intelligencia).
ROM
A Read Only Memory (csak olvasható tár) szavak kezdőbetűiből tevődik össze. Olyan tárolóáramkör - egy chip -, amelybe a tárolt információt gyártáskor "beépítik", így azt a felhasználó ezután már nem tudja megváltoztatni. A ROM-ból az információ kiolvasható, olvasható, de újabb információ nem írható bele. Innen származik a csak olvasható tár elnevezés. Szokták ezt firmware-nek (l. ott) is nevezni, mivel ez olyan szoftvert jelent, amely fixen, tehát mindig a chipen van.
Sín
A számítógépen belül az elektromos vezetékek vagy a csatlakozók együttese. Busznak is szokták nevezni, az angol bus szó kiejtés szerinti alakja alapján.
Soros
Ha egy számítógépben a biteket hordozó villamos jelek egy vezetéken (vagy érpáron) egymás után, sorban haladnak, akkor azt mondjuk, hogy ez soros bitfolyam, szemben a párhuzamos bitfolyammal (l. ott).
Szalag
A mágnesszalagot vagy lyukszalagot egyaránt röviden szalagnak nevezik; mindkét adathordozó programok vagy adatok tárolásához használható. A szalagos adathordozójú tárak egyike sem olyan "gyors", mint pl. a mágneslemezegység, ha az információ elérési sebességéről van szó, de előnye, hogy olcsó.
Számítógép és
Számítástechnika
Az egész könyv ennek a két szónak az értelmezésével foglalkozik. Röviden: a számítógép olyan eszköz, amely az emberek által megadott utasításoknak megfelelően az információt feldolgozza és ezáltal hasznos - vagy akár szórakoztató feladatokat lát el. Számítástechnikának nevezzük azt a tudományt, amely a számítógépet "rábírja" arra, amit végeztetni akarunk vele.
Számjegyes
Számokkal dolgozó. Azonos értelemben használják a numerikus szóval.
Személyi számítógép
Személyi használatú mikroszámítógép.
"Szemét"
A számítógépből jövő, jelzés nélküli vagy nem kívánt adatok, amelyek keletkezésének számos oka lehet, elsősorban pl. az, hogy "szemetet" adunk be feldolgozásra. A számítástechnikában közismert mondás a "szemét be - szemét ki" és ennek az angol megfelelőjéből, Garbage In, Garbage Out (ejtsd: gárbidzs in, gárbidzs aut) eredő betűszó a: GIGO.
Szerzői nyelv
Egy igen magas szintű programnyelv, amely lehetővé teszi, hogy (pl. BASIC nyelven) alkalmazói program készítéséhez ne legyen szükség különösebb szakképzettségre, mivel ez a nyelv alig igényel többet, mint az utasítások leírását szokásos angol szavakkal.
Szilícium
A mikroelektronikát forradalmasító, egyre bonyolultabb felépítésű integrált áramkörök alapjaként használt anyag. Szilíciumot a homok is tartalmaz. (A homok szilícium-dioxid.) Különleges villamos tulajdonságai vannak. Attól függően, hogy milyen - igen kis mennyiségű - idegen anyagot kevernek a szilíciumhoz, villamos vezetőként, avagy pedig 'villamos szigetelőként viselkedik.
Szimbólum
Jelkép
Szó
A számítógép működés közben egyidejűleg bitsorozatokat kezel. A biteknek azt a legkisebb csoportját, amelyet a központi egység egyidejűleg kezelni tud, nevezzük szónak. A mikroszámítógépben a szó rendszerint nyolc bitből áll (de már van 16 és 32 bites is).
Szoftver
Az angol software (lágy áru) kifejezés kiejtés szerinti alakja. A számítógép hardverjén (l. ott) futtatható valamennyi számítógépi program gyűjtőneve. Ezen belül megkülönböztetjük a számítógép működéséért felelős programokat (a "belső háztartási" és operációs rendszereket) és a felhasználói programokat (l. ott).
Szöveg
(l. lánc)
Szövegfeldolgozás
Olyan elektronikus billentyűzetet, számítógépet és nyomtatót valamint megjelenítőt alkalmazó, nagyteljesítményű, új, irodai eljárás, amely írott szövegeket elektronikusan tárol, szerkeszt, javít, töröl, összevon, átír, stb. esetleg küld, vesz és közvetít is. A szöveget mágneses adathordozón tárolják és csak végül, a szerkesztés után nyomtatják ki.
Tár
Angolul memory (ejtsd: memori) vagy storage (ejtsd: sztoridzs), amelyet memóriának is szoktak nevezni. A számítógép tára olyan eszköz vagy eszközegyüttes, amely időlegesen vagy folyamatosan tárol adatokat bináris 1-esek és 0-k alakjában. A számítógép ezután kiolvassa az adatot a tárból, vagy egyes esetekben működés közben adatokat ír bele. Többféle tár van: (1) A belső, azaz operatív vagy munkatár (ezeket azonos értelmezésben használjuk); rendszerint szilícium chipekből áll, amelyek a számítógép belsejében vannak elhelyezve. Néhány ilyen tárolóchip olyan információt tartalmaz, amely folyamatosan benne van és amely csak olvasható és tartalmuk kikapcsoláskor nem törlődik (nem törlődő, csak olvasható tárak). Más chipek a számítógép olyan munkatárát alkotják, amelyekben a program futásakor időlegesen tárolnak információt és ez a számítógép kikapcsolásakor elvész (törlődő, véletlen hozzáférésű tár). A számítógép adatfeldolgozó kapacitása korlátozott. Ezért a számítógépen kívüli külső, háttértárra van szükség: (2) Külső vagy háttér- vagy tömegtár (azonos értelmezésben használjuk); rendszerint mágnesszalag vagy mágneslemez, amelyen bináris információ tárolható, és amelyről azt kívánság szerint a számítógép lehívhatja. Ez az információ a számítógép kikapcsolásakor nem vész el.
Tárhely
A számítógép tárának egy adott része, ahová az információt tárolják (l. cím).
Teledata
(l. Videotex)
Teleszoftver
Számítógépprogram telefonvonalon közvetítve a videotex jeleként vagy tévén sugározva, a képújság jelének a részeként, megfelelő dekódolóval vehető speciális információ. Vételkor közvetlenül egy számítógép tárába beadható és ott futtatható. Új fejlesztési eredmény.
Teletext
Olyan viewdata (l. ott) típusú információszolgáltatás, amelyet a tévéjel részeként sugároznak. Megfelelő dekódolóval ez az információ az otthoni tévékészüléken megjeleníthető. Az angol BBC ilyen szolgáltatását CEEFAX-nak nevezik, az ugyancsak angol IBA-ját ORACLE-nak, a Magyar Televízióét képújságnak.
Terminál
Rendszerint billentyűzetből és megjelenítőből (pl. képernyőből) álló periféria, amely számítógép-hálózathoz csatlakoztatható. A kapcsolattartás például telefonvonalon keresztül történik.
Tömb
Lényegében egy számokból vagy szavakból álló rendezett lista vagy táblázat, amelyben minden pozíció külön meg van jelölve és azokat a számítógép külön-külön vagy meghatározott sorrendben kezelni tudja.
Tömegtár
(l. háttértár)
Törlődő tár
Olyan tár, amelynek információtartalma a hálózat kikapcsolásakor elvész.
Tranzisztor
Kapcsolóként vagy erősítőként használható félvezető elektronikus alkatrész. Különálló tranzisztorokat ma még hordozható rádiókban és erősítőkben találhatunk. Ugyanakkor a tranzisztor egyben az integrált áramkörök építőeleme is a szilícium chipen. Egy-egy nagymértékben integrált chip ezernyi tranzisztort tartalmazhat.
Utasítás
A számítógépprogram utasítások sorozatából áll. Gyakran helytelenül összetévesztik a paranccsal (l. ott). Utasítás angolul instruction (ejtsd: insztráksön) vagy statment (ejtsd: sztéjtment).
Változó
Elektronikus "doboz" vagy "rekesz", amelybe adatokat lehet betenni és azt követően megváltoztatni. A változónak neve és értéke van. A neve nem változik csak az értéke. Lehet numerikus vagy szövegváltozó.
VDU
(l. képernyős megjelenítő)
Videotex
Az interaktív viewdata (ejtsd: vjudata) nemzetközi elnevezése (CCITT), szinonimája. Hazai szokásos elnevezése: TELEDATA. Digitális adatok távoli közlésmódja tévészerű megjelenítéssel. Az interaktív viewdata telefonvonalak, az egyirányú pedig televíziós jelek segítségével terjeszthető (l. Teletext, Prestel).
Viewdata
A viewdata rendszer minden központilag őrzött információt ún. oldalakba rendezve tárol és közvetít, eredeti rendszerében úgy, ahogyan az az 1982. november óta a magyar Képújságon látható. Fejlettebb változatai sokrétűbbek és az új európai (CEPT) szabvány majd a teljes szabatos magyar írást is lehetővé teszi, több színre, bonyolultabb ábrákra is lehetőséget nyújt.
Vonalkód
(l. Bar kód)
Winchester mágneslemez
A számítógép nagyteljesítményű háttértára merev mágneslemez, zárt tokban, amelyet egy olyan fej tapogat le, amely nem érintkezik a lemezzel és ezért azt nem koptatja.

Vissza