8/a. Bemeneti perifériák I. (billentyűzet, egér) A input egységek (beviteli eszközök) segítségével visszük be a számítógépbe mindazokat az információkat, amelyekre a feldolgozáshoz szükség van, tehát a feldolgozandó adatokat és programokat. Billentyűzetek A billentyűzet (keyboard, klaviatúra) az elsődleges input eszköz. Egyéb utasítás hiányában a számítógép innen várja a bemenő információkat, adatokat, parancsokat. A billentyűzetnek a billentyű benyomást - felengedést kell érzékelni. Erre több megoldás is létezik. . mechanikus érintkezés (nem jó: elfárad, kopik az anyag) optikai (a billentyű lenyomás fénysugarat szakít meg, melyet optoelektronikai elemek érzékelnek); Hall effektuson alapuló (billentyűn pici állandó mágnes van. Lenyomáskor egy speciális kristályhoz közelít, ebben változik a mágneses tér, ez változó elektromos teret hoz létre: ez már érzékelhető); Reed-elemes (kis mágnes közelít tokba zárt elektódákhoz, melyek a mágneses tér hatására érintkeznek) billentyűzetek a gyakoriak. Az IBM-kompatibilis gépek billentyűzete három funkcionális részre tagolódik. A 84 nyomógombos XT-billentyűzet esetén bal oldalt helyezkednek a funkcióbillentyűk, középen az írógépbillentyűk, jobb szélen pedig alfanumerikus és vezérlőbillentyűk. Az AT-billentyűzetnél a vezérlőbillentyűket külön is kiemelték, és a 12 funkcióbillentyűt a legfelső sorba helyezték át. Az írógépbillentyű-területen adhatjuk be a betűket, számokat és egyéb karaktereket. Fontos megjegyezni, hogy a számítógépen nem használható az l (L karakter) az 1 (egyes) és az O betű a 0 (nulla) helyett. A karakterbillentyűk mellett speciális billentyűk is találhatók. Ezeknek a hatása szoftverfüggő. Néhány jellemző hozzárendelés: ENTER: ezzel jelezhetjük a gépnek, hogy a képernyőre felírt utasításainkat, adatainkat dolgozza fel. A billentyű lenyomására a gép a következő képernyősor elejére ugrik. Némely billentyűzeten az ENTER helyett a RETURN vagy a CR (Carrige Return = kocsi vissza) felirat, esetleg csak a balra mutató tört nyíl látható. Backspace (jobb felső sarokban található balra mutató nyíl): hatására a kurzor eggyel visszalép, és törli a visszalépés helyén lévő karaktert. Tabulátor (bal szélen található jobbra és balra mutató nyilacskák): ha lenyomjuk a kurzor előre beállított számú karaktert mozdul jobbra, shifttel együtt használva balra, miközben a képernyőn látható karakterek nem változnak meg. Shift: a betűbillentyűkkel együtt használva a nagybetűket jeleníti meg. A kettős feliratú billentyűknél a felső karaktert adja. (Kettő található belőle, a klaviatúra két oldalán.) Alt (ALTernate): a vele együtt lenyomott billentyű jelentését megváltoztatja. A karakterbillentyű jelentése a futó szoftvertől függő lesz. Speciális felhasználása a numerikus billentyűkkel együtt való használat. Ha nyomva tartjuk az gombot és a numerikus billentyűzeten leütünk egy 0 és 255 közötti számot, majd az billentyűt elengedjük, akkor a képernyőn megjelenik a kódnak megfelelő karakter. Így olyan jelet is megjeleníthetünk, melyet billentyűzetről nem tudunk beadni! Ctrl (ConTRoL): a vele együtt lenyomott karakterbillentyűvel speciális funkciót tudunk kiváltani. (Például a + a futó műveletet megszakítja.) A funkcióbillentyűk (F1 ... F12) nevüket onnan kapták, hogy leütésük valamilyen feladat végrehajtását, valamilyen programon belüli funkció meghívását váltja ki. Az, hogy az egyes funkcióbillentyűk vagy billentyűkombinációk milyen hatást váltanak ki, mindig az adott, az éppen futó programtól függ. (Gyakori, hogy az -gyel hívhatjuk a futó program HELP-jét.) Caps Lock: biztosítja a folyamatos nagybetű üzemmódot. A nagybetűs üzemmód esetében is csak a Shifttel együtt érhetők el a kettős feliratú billentyűk felső jelei. A nagybetű zárat oldani a Caps Lock újbóli lenyomásával lehet. A váltóbillentyű állását egy LED (világító dióda) jelzi. A numerikus- és vezérlőterület, nevéből láthatóan kétfunkciós. A két funkció között a Num Lock billentyűvel váltogathatunk. A váltó állapotát LED mutatja. Scroll Lock: teljes képernyős szerkesztést engedélyező programoknál a kurzor helyzetét rögzíti. A nyilak hatására nem a kurzor mozog le illetve fel, hanem a kurzor alatt mozognak el a sorok. Home: a kurzor a képernyő bal felső sarkába ugrik. End: az aktuális sor jobb szélére ugrik a kurzor. Ins (INSert = beszúrás): egyszeri lenyomása után a gép nem írja át a kurzortól jobbra eső karaktereket, hanem minden egyes újabbat beszúr a jobbra lévők elé, mialatt azokat eggyel jobbra mozgatja. A beszúró üzemmódot az Ins újbóli lenyomásával lehet feloldani. Del (DELete = törlés): jobbról balra mozgatja a kurzortól jobbra eső karaktereket, miközben azt, amelyik éppen a kurzor alá kerülne letörli. A PgUp és PgDn billentyűkkel lehet váltani a képernyőoldalak között, ha a futó program több képernyőt használ. Esc: speciális felhasználású, működését az alkalmazott program írja elő. Gyakran a programból vagy egy részéből való kilépést váltja ki. Sys: jelentése operációs rendszer és szoftverfüggő. PrtSc (PRinT SCreen = képernyőnyomtatás): a Shift gombbal együtt lenyomva kinyomtatja a képernyő tartalmát az 1-es számú nyomtatóra. A legtöbb billentyű ismétlésre képes, ami azt jelenti, hogy a lenyomás és folyamatos nyomvatartás után 1-2 másodperccel az adott billentyűre jellemző karakter kiíródik a képernyőre körülbelül 5 karakter/secundum sebességgel. Ez mindaddig tart, míg a billentyűt el nem engedjük. A billentyűegység számára az egyes billentyűknek nincs jelentésük (azaz például az billentyű nem hordozza az "A" jelentést). Ehelyett a billentyűegység minden billentyűt az azonosítási számán, a billentyűkódján ismer (SCANCODE). Két féle billentyűkód van: make és brake, vagyis a leütést és a felengedést is érzékeli. A billentyűkód a normál karaktereknél = az ASCII kóddal, a többinél 0-val kezdődik, tehát 510 különböző billentyűkód lehet. Valahányszor lenyomunk egy billentyűt, annak kódját a billentyűzet-pufferbe kerül (egy átmeneti memória), majd a megszakításvezérlő ellenőrzi, hogy az adott kódhoz rendeltek-e programot, és ha igen, akkor elindítja, ha nem, akkor a billentyűkód-tábla kódolja a billentyűkódot (két billentyűkód-tábla van: egy aktív, és egy passzív, ezek között váltogathatunk az adott programnak megfelelő billentyűkombinációval (pl. DOS-ban Ctrl+Alt+F1/Ctrl+Alt+F2)). Az értelmezésbe beletartozik a váltóbillentyűk helyzetének figyelése is, és az érkező billentyűkódok értelmezése annak figyelembe vételével történő elemzése, valamint különbségtétel a közönséges és a funkcióbillentyűk között. Ha olyan kombinációt ütünk be, amelynek lekezelésére a program nincs felkészítve, azt figyelmen kívül hagyja, mintha mi sem történt volna. Egér Hiányzik a bevezetés! Milyen eszköz az egér, hol alkalmazható, stb? Az egeret (mouse) a személyi számítógépek megjelenésével fejlesztették ki. A játékgépek mellett a professzionális személyi számítógépek kedvelt perifériája. Manapság szinte nem is készül olyan program, amelyet egérrel ne lehetne kezelni. Egyik típus a golyós: a golyó gördülését két tengely körüli forgásra bontják. A két tengelyen mérőtárcsák elfordulása adja a jeleket. Az eszköz lelke egy golyó, melynek egy sík felületen (például a számítógép-asztalon) történő mozgását érzékeli a gép. Az egér mozgásával különféle funkciókat vezérelhetünk. Például a menüpontokra rámutatva kiválaszthatjuk a végrehajtandó rutint, irányíthatjuk a programok futását, rajzolhatunk. Az egéren egy vagy több "tűzgomb" is található, melyek funkciója szintén a futó program által meghatározható. Az egérrel végtelen sok irányt meg lehet különböztetni, és a mozgatás gyorsaságát, dinamikáját is át lehet vinni. Az egér a digitalizáló táblával ellentétben relatív pozícionáló eszköz: a helyzete nem kitüntetett állapot, a mozgásvektorát érzékeli a számítógép. Másik típus?????????? 8/b. A lineáris keresés algoritmusa m ( Z : alsó határ n ( Z : felső határ T : Z -> L : tulajdonság függvény ef: m = m' ( n = n' uf: ef ( van = ( T tulajdonságú elem, & van => i=i', i(m..n & T(i) & ( j(m..i-1 (T(j). (azaz, ha van, akkor tudjuk, hogy melyik.) i:=m i<=n ( nem T( i ) i:=i+1 van:=(i<=n)