Professional Documents
Culture Documents
SZÁMÍTÁSTECHNIKAI
ALAPISMERETEK
ELŐSZÓ
A SZÁMÍTÁSTECHNIKAI ALAPISMERETEK tárgy tartalma a gyorsan fejlődő
gyakorlat miatt állandóan változik. Főiskolánkon több számítástechnikai szakember volt a
tárgy oktatója, ám ez nem jelentette az alapkoncepció változását: mindig a legaktuálisabb
tartalmakkal ismertettük meg a hallgatót és arra törekedtünk, hogy minél jobban felkészítsük e
tárgy kereteiben szerzett tudásának alkalmazására a további villamosmérnöki, gépészmérnöki,
vagy a műszaki-informatikai mérnöki képzése folyamán. Pillanatnyi szerencsés egybeesése a
szakmának, hogy a Diszkrét Matematika és a Számítástechnikai Alapismeretek elsajátíttatását
egy oktató végzi az önmaga megírt segédkönyvek felhasználásával. Természetes, hogy ez az
egybeesés lehet szerencsétlen is, mert az egyik tárgy oktatásában elkövetet esetleges hibák
halmozódhatnak a másik tárgy oktatása folyamán. Minden igyekezetünkkel azon dolgozunk,
hogy ilyen hiányosságok ne jelentkezzenek. A két tárgy korábban meglévő tartalmi átfedése
megszűnt azzal, hogy a számítástechnika logikai alapjait képező ismeretek elméleti részeivel
a Diszkrét matematika keretein belül foglalkozunk, míg a számítástechnikai tartalmakhoz
szorosabban kapcsolódó logikai ismeretek jelen tanfolyamhoz tartoznak. A jugoszláviai
magyar ajkú főiskolai hallgatók kezébe első alkalommal kerül a helyi tantervi előírásoknak
megfelelő sorrendben és terjedelemben megírt magyar nyelvű tankönyv. A gyakorlásra még
mindig nincs megfelelő magyar nyelvű feladatgyűjtemény, de jelen könyv kereteiben
nagyszámú példát és gyakorlásra szánt feladatot talál az olvasó. A tankönyv elektronikus
kiadás formájában kerül a nyilvánosság elé: a Főiskola honlapján megfelelő élőkapocs
található a tankönyvek irányába. A könyv bármilyen gondos, többszörös átolvasásával sem
fedeztem fel minden hibát, ezért kérem az olvasót, hogy észrevételét azonnal közölje, hogy a
következő változatban már a fellelhető hibák száma elenyésző legyen. Kérem az olvasókat,
hogy észrevételeiket az iboros@vts.su.ac.yu címre juttassák el.
1. ÁLTALÁNOS ALAPOK 1
1.1. BEVEZETÉS 1
1.2. INFORMATIKAI ALAPFOGALMAK 1
1.3. SZÁMÍTÁSTECHNIKAI ALAPFOGALMAK 5
1.4. SZÁMÍTÁSTECHNIKAI ESZKÖZÖK 8
1.4.1. OBJEKTUMOK ÉS MATEMATIKAI MODELLJEIK 8
1.4.2. SZÁMÍTÁSTECHNIKAI ESZKÖZÖK OSZTÁLYOZÁSA 9
2. HARDVER ALAPOK 17
2.1. A MIKROSZÁMÍTÓGÉP 18
2.2. A MIKROPROCESSZOR 24
2.3. A SZÁMÍTÓGÉP-HÁLÓZATOK 27
3. SZOFTVER ALAPOK 33
3.1. BEVEZETÉS 33
3.2. AZ OPERÁCIÓS RENDSZEREK 34
3.2.1. AZ OPERÁCIÓS RENDSZER FOGALMA 34
3.2.2. A DOS OPERÁCIÓS RENDSZERRŐL 35
3.2.3. A WINDOWS OPERÁCIÓS RENDSZERRŐL 39
3.3. ALKALMAZÓI SZOFTVEREK 42
3.3.1. AZ MS OFFICE KÖZÖS ESZKÖZEIRŐL 43
3.3.2. A MATLAB-RÓL 54
3.4. PROGRAMFEJLESZTŐI RENDSZEREK 62
3.4.1. A GÉPI NYELV 62
3.4.2. AZ ASSEMBLY PROGRAMOZÁSI NYELV 63
3.4.3. A MAGAS SZINTŰ PROGRAMNYELVEK 64
3.4.4. A VHLL ÉS A MESTERSÉGES INTELLIGENCIA NYELVE 66
3.5. AZ INTERNET ALAPVETŐ SZOLGÁLTATÁSAI 67
3.5.1. AZ E-MAIL 69
3.5.2. A „BÖNGÉSZŐ” PROGRAMOK 71
3.5.3. WEB LAP SZERKESZTŐ PROGRAMOK 73
4. MATEMATIKAI ÉS LOGIKAI ALAPOK 77
4.1. SZÁMRENDSZEREK 77
4.1.1. A NEM-HELYIÉRTÉKŰ SZÁMRENDSZEREK 77
4.1.2. A HELYI ÉRTÉKŰ SZÁMRENDSZEREK 79
4.2. KÓDOK ÉS KÓDRENDSZEREK 95
4.2.1. KÓDOLÁS, KÓDKÉSZLET 95
4.2.2. A BINÁRIS KÓDOLÁS 97
4.2.3. A GRAY FÉLE KÓDRENDSZER 100
4.2.4. SZIMBOLIKUS KÓDRENDSZEREK 102
4.3. ALGORITMUSOK 113
4.3.1. AZ ALGORITMUS FOGALMA ÉS STRUKTÚRÁI 113
4.3.2. NUMERIKUS ALGORITMUSOK 119
1.1. BEVEZETÉS
____________________________________________________________________________________
1
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Általános alapok
I = – log2 p = log2(1/p)
értesülünk arról hogy a "fej" oldalra esett, ismerve, hogy az esemény valószínűsége 1/2,
a kapott információ értéke I = –log2(1/2) = 1. Ha valamilyen váratlan körülmény miatt
az érme élére esik és úgy is marad, akkor ez rendkívül meglepő. Mivel az ilyen esemény
valószínűsége majdnem 0, az információértéke végtelen felé közelítő szám.
Az informatikai alapfogalmakról szóló bevezető mondatokban többször is leírtuk
az adat szót. Mit az adat? Valamik napilapban ezt olvassuk: "Az E-75-ös út jugoszláviai
szakaszának 75-ik kilométerénél lévő »fekete pontnak« nevezett kanyarban az elmúlt
évben 13%-kal csökkent a személyi sérüléseket okozó balesetek száma" Ez a közlemény
bizonyos információ értékkel rendelkezik mindenki számára. A 75-ös kilométerkő
közelében lakozók számára ez "jó" hír, a Tisza mentiek számára csak egy értesülés, de
így leírva, kinyomtatva vagy másképpen rögzítve: adat. Az adatok tehát olyan
információk, amelyek formája további feldolgozásra, értelmezésre, továbbításra
alkalmas. Nagyjából így határozza meg az adat fogalmát az IBM adatfeldolgozási
szótára is. Idézzük több számítástechnikai szótár és lexikon adat címszavának lényegét:
A RENDSZER ÉS
KÖRNYEZETÉNEK
KAPCSOLATAI
RENDSZER
KÖRNYEZET
KÖRNYEZET
A RENDSZER ELEMEI
KÖZÖTTI KAPCSOLATOK
A RENDSZER ELEMEI
1.2.1. ábra
____________________________________________________________________________________
3
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Általános alapok
INFORMÁCIÓS ADATFELDOLGOZÓ
RENDSZER RENDSZER
1.2.2. ábra
Álljon itt egy meghatározás, amely fedi ugyan a fogalom tartalmát, de szakmai
vita esetén pontosítani és némileg változtatni is lehetne. A következő fejezetben azonnal
szembeállítjuk az informatika fogalmát a számítástechnika fogalmával!
____________________________________________________________________________________
5
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Általános alapok
1850. körül Ch. Babbage (angol matematikus) megtervezett egy gépet, amely
egyes függvények értékeit számolta volna ki, a másik terv pedig bizonyos mérnöki
számítások végzésére lett volna alkalmas, az előre elkészített adatokon szintén előre
elkészített utasításlista végrehajtásával. A tervek azonban magasan túlszárnyalták a kor
műszaki lehetőségeit. Mai ismereteinkkel belátható, hogy az áthidalhatatlan akadály az
adatok tárolása és áramoltatása volt.
Most időben nagyot lépünk. A múlt század (XX.) negyvenes éveinek elején dúló
második világháború katonai vezetői külön szakember csoportokat szerveztek a roppant
nagymennyiségű számítások gyors elvégzésére szolgáló szerkezet megépítésére. Most
már a mechanikus és elektromechanikus eszközökön túl a kutatók rendelkezésére álltak
az elektroncsövek is.
____________________________________________________________________________________
6
Általános alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
____________________________________________________________________________________
7
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Általános alapok
z = x·y
U = R·I
y=3 x
.
r 3
= = 0.97720502380583984317276924567665.
H π
____________________________________________________________________________________
10
Általános alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
1
Mivel a kúp térfogata Vk = π r 2H , ha behelyettesítjük a sugár és a magasság
3
adott arányával, akkor a H = V k összefüggést nyerjük.
3
x=V y
1.4.2.1.a ábra
Vk:V=y3:H3.
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1.4.2.1.b. ábra
____________________________________________________________________________________
13
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Általános alapok
5 6 3 8 0 9 2 1 4
1.4.2.2. ábra
Ha az A szektor golyója a keret peremén van akkor "nem létezik" (értéke 0), ha
a választóléchez mozdítjuk, akkor értéke 5. A B rész golyóinak mindegyike 1-et jelent
ha a választóléchez csúsztatjuk. Ily módon mind a tíz általunk használatos számjegy
ábrázolható (mint ahogy azt megtettük az 1.4.2.2. ábrán is). A számtani műveletek az
abakuszon való végzésének külön "művészete" van. Érdekességként elmondjuk, hogy
az abakusz Kínában, Japánban, és más távol keleti országokban még ma is használatban
van (igaz, több helyen már csak érdekességként), és még versenyeket is szerveznek
annak a kérdésnek az eldöntésére: ki az ügyesebb és fürgébb abakusz-használó?
____________________________________________________________________________________
14
Általános alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
____________________________________________________________________________________
15
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Általános alapok
Ellenőrző kérdések:
2.1. A MIKROSZÁMÍTÓGÉP
MEMÓRIABUSZ
BEMENETI KIMENETI
OUTPUT
PROCESSZOR
INPUT
MEMÓRIA
MIKRO
CIMBUSZ
OUTPUT INPUT
2.1.1. ábra
I/O INTERFÉSZEK
BÕVITÕHELYEK
A PROCESSZOR
ALJZATA
SÍNRENDSZER
MEMÓRIAMODULOK
BIOS ALJZATAI
2.1.2. a. ábra
____________________________________________________________________________________
19
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Hardver alapok
2.1.2. b ábra
cellák (2.1.2. ábra). Általában nyolc cella egységét nevezzük egy rekesznek, ez azt
jelenti, hogy az egy rekeszben tárolható információ 1 bájt. A Neumann elvek egyike a
címezhetőség elve – nos a rekesz a memória legkisebb címezhető egysége, vagyis
minden rekesznek pontosan meghatározott címe van. (Más kérdés az, hogy a gép a
feldolgozás folyamán hány rekesz tartalmát – hány bájtot – kezel egy szónak. A szó
lehet egy, kettő, négy vagy akár nyolc bájt hosszúságú is. A nyolc bájt hosszúságú
szavakat 64 bit alkotja!)
CÍMEK REKESZEK
00000000 0 1 0 0 1 0 1 1
00000001
MEMÓRIA MODUL
1 1 0 1 0 1 0 0
00000010
1 0 0 0 1 1 1 0
11111110 0 1 0 1 0 1 1 0
11111111
1 0 0 0 0 0 0 0
2.1.3. ábra
MODULCÍM REKESZCÍM
1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1
____________________________________________________________________________________
22
Hardver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
4
2
3
F
5 E
6 G
C
A B
D
2.1.4. ábra
2.2. A MIKROPROCESSZOR
____________________________________________________________________________________
24
Hardver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
regiszterek ALU
CPU
vezérlõegység
2.2.1. ábra
• a bináris összeadás,
• a logikai műveletek,
• a komplementálás,
• a siftelés (a teljes bitsorozat léptetése bitenként jobbra/balra).
____________________________________________________________________________________
25
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Hardver alapok
____________________________________________________________________________________
26
Hardver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
2.3. A SZÁMÍTÓGÉP-HÁLÓZATOK
Az előző fejezet néhány utolsó sora utal arra a lehetőségre, hogy két számítógép
között esetleg valamilyen kommunikáció alakulhat ki: adatok áramolhatnak mindkét
irányba. Ha csak ezzel a gondolattal foglalkozunk egy kicsit elmélyültebben, máris
felmerül több számítógépnek összekötésének lehetősége – szinte észrevétlenül kialakul
a számítógép hálózat kiépítésének lehetősége (szükségessége).
____________________________________________________________________________________
27
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Hardver alapok
a) csillag topológia,
b) gyűrű topológia,
c) teljes gráf topológia,
d) szabálytalan topológia és
e) fa topológia.
____________________________________________________________________________________
29
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Hardver alapok
2.3.2.c. ábra
1. A hálózatok kiterjedése,
2. A hálózati topológiák,
3. Az adatátvitel jellemzői és csatornái (a soros szinkron és a soros aszinkron
adatátvitel, szimplex, félduplex és duplex csatornák - későbbi tanfolyamok),
4. Az adatátviteli közeg (vezetékes vagy vezeték nélküli),
5. Az adatátvitel vezérlése (véletlen, osztott vagy központosított),
6. A kapcsolási módok és eszközeik,
7. Protokollok.
Ellenőrző kérdések:
____________________________________________________________________________________
32
3. SZOFTVER ALAPOK
3.1. BEVEZETÉS
Operációs rendszerek,
Alkalmazói szoftverek,
Fejlesztő rendszerek.
o Tervező rendszerek: pl CAD (Computer Aided Design), MATLAB, és még sok más
rendszer. Mindössze ezt a két rendszert említettük, mert alapfokon ezekkel
foglalkozunk majd a későbbiek folyamán pedig alkalmazási szinten is. Ez a könyv
nem tér ki egyik szoftverre sem, de a hallgatók a gyakorlatokon megismerkednek a
CAD-del és a MATLAB-bal is.
számítógépen szeretnénk futtatni őket, hanem más gyártók által gyártott és más típusú
gépeken is, – a munkahelyen és otthon is. Nem a programhoz vásárolunk gépet, hanem
a meglévő gépet szereljük fel a számunkra szükséges programokkal (esetleg magunk
készítjük el a mi különleges igényeinket kielégítő szoftvert).
____________________________________________________________________________________
36
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
D:\BANDI\ADATOK\CX.DAT
A DOS mindig jelzi az úgynevezett aktuális könyvtárat Ezt úgy képzeljük el,
hogy mi is a többi állománnyal együtt abban a könyvtárban vagyunk, amelyet a prompt
mutat. Ha a prompt a már egyszer említett C:\>_ formájú, akkor az gyökérkatalógus-
ban vagyunk, ha a prompt pl. E:\PROGS\PAS\FIZET\>_ alakú, akkor az E:
meghajtó PROGS könyvtárában a PAS alkönyvtárának FIZET katalógusa az aktuális.
Lemezművelet Fájlművelet
formázás format futtatás név
visszaállítás unformat szövegfájl edit név
címkézés label keresés dir név /s
ellenőrzés chkdsk törlés del név
lemezmásolás diskcopy visszaállítás undelete
Könyvtárművelet másolás copy honnan/név hova
létrehozás md név mozgatás move honnan/név hova
törlés rd név tartalom kiírás type név
váltás cd név nyomtatás print név
szerkezet tree átnevezés ren réginév újnév
tartalom dir jellemző állítás attrib név jelzők
3.2.2. táblázat
Feladatok:
1. A laboratóriumi (számítógépes) gyakorlatokon DOS operációs rendszerrel működő
gépen (vagy Windows rendszer alatt az úgynevezett DOS-prompt behívása után)
gyakorolja a DOS parancsait, a help-rendszer (a súgó) felhasználásával hívja meg a
parancslistát, a parancsokat egyenként tanulmányozza, nyisson új katalógusokat,
nyisson új állományokat, végezze el azok átnevezését, mozgatását, egybekapcsolását,
törlését (vigyázat! ez veszélyes.) A szövegfájlok megalkotása, megnyitása, szerkesztése,
változtatása és törlése nem feltétlenül szükséges, mert az nem az operációs rendszer
lényeges tulajdonságait érinti. Fontos még egyszer megjegyezni, hogy a DOS
megismerése nem felhasználói szempontból fontos, hanem ez a számítástechnikai
ismeretek alapjait érintő mechanizmusok megismerését jelenti. Ma már a DOS a múlt,
de a DOS-ra támaszkodva fejlődtek, izmosodtak az alternatív operációs rendszerek,
elsősorban ugyanezen szoftverfejlesztő cég grafikus operációs rendszere a Windows.
3.2.3.2 ábra
3.2.3.3. ábra
A képernyő alján elhelyezkedő sort (a jobb helykihasználás végett ezt "levágtuk"
az ábráról) állapotsornak nevezzük (Status Bar). A 3.2.3.3. .ábrán az ablakot teljesen
"kitártuk" - illetve nincs telezsúfolva ikonokkal, emiatt nem jelenik meg sem a
vízszintes, sem a függőleges gördítő sáv a megfelelő csúszkával (Scroll Bar). Felhívjuk
a figyelmet arra is, hogy a menüsorban felfedezhető View menüpont felhasználásával az
aktuális tartalom másképpen is megjeleníthető: az ábrán látható nagy-ikonos láttatás
mellett létezik a kis-ikonos illetve listás megjelenítés is.
____________________________________________________________________________________
40
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
3.2.3.5. ábra
____________________________________________________________________________________
41
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
Feladatok:
____________________________________________________________________________________
42
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
3.3.a. ábra
3.3.b. ábra
____________________________________________________________________________________
43
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
A dokumentum nyomtatása az
Print installált nyomtatón
3.3.1. táblázat
____________________________________________________________________________________
44
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
3.3.1.1. A WINWORD
3.3.1.1. ábra
____________________________________________________________________________________
45
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
A vezérlő menü gombja jelen van (de éppen a jelenleg működő program jelét
viseli) A címsorban a címke az aktuális dokumentum nevét és a Microsoft Word
szavakat tartalmazza). A program állapotgombjain kívül a dokumentumnak is léteznek
állapotgombjai, amelyekkel a dokumentum minimalizálható, bezárható, visszaállítható,
anélkül, hogy maga a futó program ablakával történne ez. A menüsorban a WINDOWS
menüsoránál gazdagabb listát látunk – nyilvánvaló, hogy a program specifikus feladatait
ezekkel a menüpontokkal vagy alpontokkal lehet elvégezni.
Microsoft Graph Chart, vagy a közönséges kis ábrácskákat, vonalakat, nyilakat, stb.
rajzoló eszközökön kívül a Microsoft Word Picture rajzolóprogram is használható.
Feladatok:
____________________________________________________________________________________
47
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
Tétel (Heaviside):
Jelölje F(p) valamely f(t) függvény Laplace-transzformáltját
Az inverz Laplace transzformáció a HEAVISIDE-tétel alapján történik:
P( p)
Ha F ( p) = , ahol P(p) és R(p) polinomokat jelöl, és
R( p)
a) ha R(p) polinomnak csak a p1 , p 2 ,..., p n egyszeres gyökei léteznek, akkor:
n
P ( pk ) t ⋅ p k
L−1 [F ( p)] = ∑ e .
k =1 R ' ( pk )
3.3.1.2. AZ EXCEL
Ha adatainkat táblázatba foglaltuk, akkor célunkat még nem értük el: bizonyos,
hogy az adatok táblázatba rendezése fontos szakasza a feladatunk megoldásának, ám
ugyanilyen fontos ezeket az adatokat feldolgozni! Ez a feldolgozás azt jelenti, hogy az
adathalmazzal végzett gyakori számítási feladatokat a számítógépre bízhassuk, és ezeket
a számításokat többször, más-más értékekkel megismételhessük. Tehát számolótáblát
kell készítenünk, amelyet sokszor felhasználhatunk – csak az adatokat változtatjuk meg.
Ha jól használjuk a táblázatkezelő szolgáltatásait, akkor sok időt takaríthatunk meg és
temérdek fáradságtól kíméljük meg magunkat.
____________________________________________________________________________________
48
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
3.3.1.2. ábra
A 3.3.1.2. ábrán a K-val jelölt oszlop első sorában lévő K1-es cellától az R21-es
celláig látható a táblázat (egyébként a táblázat "kiterjedései" igen tiszteletreméltóak: a
kezelhető sorok száma 65536, az oszlopok pedig A,B, .., majd AA, AB, stb
jelölésűektől egészen az IA, IB, ..., IV-ig használhatók). A fenti ábra a Szabadkai
Műszaki Főiskola 2000/2001 tanévi vizsgarendjének egy részletét ábrázolja. (Az ábrán
ugyan nem látható, de a cellák amelyek dátumot mutatnak azok nem bekopogott, hanem
kiszámított értékek. A cellák tartalma tehát egy formula, amely a látható értékeket
valamely más cellákban elhelyezett értékekre való hivatkozással kiszámítja!
Feladatok:
1. Töltsük ki egy 10 oszlopos és 10 soros táblázat celláit találomra egész számokkal.
Végezzük el a következő formázási feladatokat:
a) Keretezzük be a cellákat 1/2 p stílusú folyamatos kék vonallal,
b) A páros oszlopok celláit töltsük ki világoskék alapozó színnel,
c) A 11-edik sorban alakítsuk ki az oszlopok összegeit,
d) A 11-edik oszlopban (K-adik oszlop) számítsuk ki a sorokban található
számok szorzatait.
____________________________________________________________________________________
50
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
____________________________________________________________________________________
51
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
3.3.1.3. AZ MSACCESS
3.3.1.3.a. ábra
____________________________________________________________________________________
52
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
3.3.1.3.b. ábra
____________________________________________________________________________________
53
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
3.3.2. A MATLAB-RÓL
____________________________________________________________________________________
54
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
A felsoroltakon kívül még valóban sok, egyéb nagyon szűk területre vonatkozó,
specializált eszköztár áll a felhasználó rendelkezésére. Az érdeklődők mindegyik modul
teljes kézikönyvének .pdf formátumú változatát is olvashatják, mivel a gyártó cég sok-
sok megabájt terjedelemben mellékeli ezt a dokumentációt is. Tisztán tájékoztatás
céljaira íme még néhány Toolbox neve:
Fuzzy Logic Toolbox
Wavelet Toolbox
Real-Time Workshop®
Partial Differential Equation Toolbox
Higher-Order Spectral Analysis Toolbox
... és így tovább, még sok más modul.
3.3.2. ábra
a) Aritmetikai műveletek
plus - számok vagy tömbök összeadása +
minus - számok vagy tömbök kivonása -
mtimes - mátrix szorzás *
times - tömb-szorzás .*
mpower - mátrix hatvány ^
power - tömb-hatvány .^
mldivide - baloldali mátrix osztás \
mrdivide - jobboldali mátrix osztás /
ldivide - baloldali tömb-osztás .\
rdivide - jobboldali tömb-osztás ./
____________________________________________________________________________________
56
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
d) Speciális jelek.
colon - kettőspont :
paren - zárójelek és index-zárójelek ( )
paren - mátrix zárójelek [ ]
paren - index-zárójelek { }
punct - decimális pont .
punct - vessző (szeparátor) ,
punct - pontosvessző ;
punct - operációs rendszer parancshívás !
punct - hozzárendelés =
transpose - transzponálás .'
horzcat - vízszintes konkatenació [,]
vertcat - függőleges konkatenáció [;]
subsasgn - indexes hozzárendelés ( ),{ },.
subsref - indexes hivatkozás ( ),{ },.
e) Halmazműveletek.
union - halmazok uniója.
intersect - halmazok metszete.
setdiff - halmazok különbsége.
setxor - halmazok szimmetrikus differenciája.
ismember - eleme-e a halmaznak?
a) Mátrix-számítások.
norm - mátrix vagy vektor norma.
rank - mátrix rang.
det - determináns.
trace - az átlós elemek összege.
inv - mátrix inverze.
eig - sajátértékek, sajátvektorok.
poly - karakterisztikus polinom.
____________________________________________________________________________________
57
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
b) Elemi mátrixok
zeros - zéró-mátrix vagy null-mátrix
ones - egyesek mátrixa (nem egységmátrix!).
eye - egységmátrix.
repmat - mátrix(vagy tömb) ismétlése.
rand - egyenletes eloszlású véletlen számok
randn - normál-eloszlású véletlen számok
linspace - lineáris növekményű vektor.
logspace - logaritmikus növekményű vektor.
: - mátrix index-határok elválasztójele.
d) Mátrix manipulációk.
diag - a mátrix átlójának kiválasztása.
blkdiag - tömbök diagonális konkatenációja.
tril - felső háromszögmátrix elkülönítése.
triu - alsó háromszögmátrix elkülönítése.
rot90 - a mátrix 90 fokban való elforgatása.
: - a mátrix index-határok elválasztása
find - kikeresi a nem nulla elemeket.
end - az utolsó index.
sub2ind - a többdimenziós tömb lineáris
átindexelése.
ind2sub - a lineáris index többdimenziós
megfeleltetése.
____________________________________________________________________________________
58
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
f) Speciális mátrixok.
compan - társmátrix.
gallery - Higham mátrix.
hadamard - Hadamard mátrix.
hankel - Hankel mátrix.
hilb - Hilbert mátrix.
invhilb - inverz Hilbert mátrix.
magic - "bűvös négyzet".
pascal - Pascal mátrix.
rosser - klasszikus szimmetrikus sajátérték
teszt mátrix.
toeplitz - Toeplitz mátrix.
vander - Vandermonde mátrix.
wilkinson - Wilkinson's sajátérték teszt mátrix.
d) Komplex számok.
abs - a komplex szám abszolút értéke.
angle - a komplex szám argumentuma.
complex - komplex szám alkotása adott valós és
imaginárius részből.
conj - a konjugált komplex szám.
imag - a komplex szám imaginárius része.
real - a komplex szám valós része.
isreal - igaz, ha a tömb elemei valós számok.
e) Kerekítés és maradék.
fix - egész számra kerekítés (a tizedes
jegyek egyszerű elhagyása).
floor - kerekítés lefelé.
ceil - kerekítés felfelé.
round - kerekítés legközelebbi egész számra.
mod - modulus (a maradék adott számmal
való osztás után).
rem - az osztás maradéka (nem ugyanaz mint
a mod!).
sign - Szignum.
t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y)
grid on
for i = 1:nargin
if isempty(varargin{i})
error ('Invalid Argument - Input matrix is empty');
end
end
____________________________________________________________________________________
61
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
____________________________________________________________________________________
62
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Általában a gépi nyelven írt utasítások sorozata mindig két részből áll: az első
rész a műveleti kód (mit kell csinálni?), a második rész pedig a címrész (hol
helyezkednek el azok az adatok, amelyekkel a kijelölt műveletet el kell végezni?).
____________________________________________________________________________________
63
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
SUM=VAS1+VAS2
FORTRAN
ALGOL
COBOL
BASIC
____________________________________________________________________________________
65
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
PASCAL
PL/1
CLIPPER
____________________________________________________________________________________
66
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
nyelvek pedig már a negyedik generációt alkotják. Mindezek után már felsejlik az
ötödik generáció is: a mesterséges intelligencia nyelve.
egyesek szerint a színvonal és minőség tekintetében azonos szinten, sőt egyes elemeiben
jobb is a Netscape csomag.
3.5. ábra
____________________________________________________________________________________
68
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
3.5.1. Az E-mail
egyeni_nev@domain_nev
tomika@vts.su.ac.yu
____________________________________________________________________________________
69
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
3.5.1.1. ábra
A Microsoft Outlook Express levelezőprogramjának ablaka.
3.5.1.2. ábra
A Netscape Messenger levelezőprogramjának ablaka
____________________________________________________________________________________
70
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
____________________________________________________________________________________
71
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
3.5.2.1. ábra
A Microsoft Internet Explorer böngésző program főablaka
a meghívott About („névjegykártya”) ablakkal
3.5.2.2. ábra
A Netscape Communicator böngésző program főablaka
a meghívott About („névjegykártya”) ablakkal
____________________________________________________________________________________
72
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
www.vts.su.ac.yu
http://www.vts.su.ac.yu
3.5.3.1. ábra
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body>
</body>
</html>
3.5.3.2. ábra
3.5.3.3. ábra
____________________________________________________________________________________
74
Szoftver alapok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote><b><i><u><font face="Arial,Helvetica"><font
color="#33CCFF"><font
size=+4>Szervusz!</font></font></font></u></i></b></blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>
3.5.3.4. ábra
Feladatok:
1. Szerkessze meg a saját honlapját! Alkalmazza a rendelkezésére álló HTML
szerkesztő programot.
2. Szerkessze meg az XYZ vállalat bemutatkozását szolgáló web-lapot. Legyen
a lapon fénykép és alkalmazzon hanghatásokat is!
Ellenőrző kérdések:
1. Mit nevezünk szoftvernek?
2. Milyen programtípusokkal találkozunk a személyi számítógépeken?
3. Osztályozza az alkalmazói szoftvereket!
4. Mi az operációs rendszer alapfeladata?
5. Melyek a DOS operációs rendszer jellemzői?
6. Mit értünk a DOS operációs rendszerben a fájl fogalma alatt?
7. Mit nevezünk katalógusnak a DOS operációs rendszerben?
8. Mit értünk a kötet (volume) fogalma alatt?
9. Melyek a legfontosabb lemezműveletek?
10. Melyek a legfontosabb könyvtárműveletek?
11. Melyek a legfontosabb fájlműveletek?
____________________________________________________________________________________
75
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Szoftver alapok
____________________________________________________________________________________
76
4. MATEMATIKAI ÉS LOGIKAI ALAPOK
4.1. SZÁMRENDSZEREK
* & ' E F
1 10 100 1000 10000
4.1.1.1. ábra
____________________________________________________________________________________
77
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
3467 = E E E ' ' ' ' & & & & & & * * * * * * *
1999 =E ' ' ' ' ' ' ' ' ' & & & & & & & & & * * * * * * * **
2001 = E E *
33333 = FFFE E E ' ' ' & & & * * *
4.1.1.2. ábra
I X C M
1 10 100 1000
4.1.1.3. ábra
V L D
5 50 500
4.1.1.4. ábra
1956 = MCMLVI
2001 = MMI
999 = CMXCIX és nem: IC
990 = CMXC és nem: XM
49 = XLIX és nem: IL
1234 = MCCXXXIV
4.1.1.5. ábra
A továbbiakban áttérünk a korszerű, helyi értékes számírások tárgyalására
elsősorban a számítástechnikai felhasználás szempontjait tartva szem előtt.
____________________________________________________________________________________
79
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
C(8) = {0, 1, 2, 3, 4, 5, 6, 7}
____________________________________________________________________________________
80
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Nem sok bizonygatás szükséges arra, hogy az olvasó meggyőződjön arról, hogy
a tízes számrendszernek semmilyen kiváltsága nincs! Bármelyik szám választható
alapszámként, és kizárólag a felhasználók megszokása tenné ezt a rendszert más
rendszerekkel szemben rokonszenvesebbé, vagy alkalmasabbá. Sőt, a civilizáció
fejlődése folyamán az emberek alkalmaztak más alapszámú számrendszereket is. Az
egyik ilyen korábban használatos számrendszernek még ma is vannak felismerhető
nyomai: ez a "tizenkettes" számrendszer. Nyilvánvaló, hogy nem alkalmazható az
alapszámra a "tizenkettő" elnevezés, mert az a tízes számrendszer alkotó eleme. Ezért
ennek a számrendszernek az alapszámát külön névvel kell illetni! Ez a név a "tucat".
Ismerős, úgy-e? De akkor tucat számú számjegy is kell, azokat meg is kellene nevezni!
C(T) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B}
ahol az A számjegy a tucatnál 2-vel kisebb, a B pedig a tucatnál 1-gyel kisebb számot
jelöli. A tízes számrendszerben ez a tíz illetve a tizenegy szám. Nyilvánvaló, hogy a
tucat írása a tucat rendszerben 10. Végezzük el a tucat alapszámú számrendszerben
felírt 34A,0B(T) szám konverzióját a decimális számrendszerbe. Mivel a tízes
számrendszer felé haladunk, ezért a tucat most már tizenkettőnek mondandó és 12-nek
írandó, az A tíz, a B pedig tizenegy.
C(H) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
C(5) = {0, 1, 2, 3, 4}
____________________________________________________________________________________
82
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Valóban: 34211(5) = 3 54 + 4 53 + 2 52 + 1 51 + 1 50 =
= 3 625 + 4 125 + 2 25 + 1 5 + 1 = 2431.
____________________________________________________________________________________
83
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
2431 = 97F(H)
0,2431 = 0,1101(4320)(5)
____________________________________________________________________________________
84
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
56404,126 ≈ DC54,204189...(H) .
____________________________________________________________________________________
85
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
1 3 2 0 3 1 1 2
01 11 10 00 11 01 01 10
Az olvasónak nem kell túlságosan nagy erőfeszítést kifejtenie ahhoz, hogy belássa :
13203112(4) = 01 11 10 00 11 01 01 10(2)
____________________________________________________________________________________
86
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Fordított esetre válasszunk egy bináris számot amelynek van tört része is:
Binárisból hexadecimálisba:
1111110101,11011(2) = 1111110101,11011(2) = 3F5,D8(H)
____________________________________________________________________________________
87
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
A hatos számrendszerben:
1,2,3,4,5,10,11,12,13,14,15,20,21,22, ... ,42,43,44,45,50,51,52,53,54,55,100,...
A decimális számrendszerben:
1,2,3,4,5, 6, 7, 8, 9,10,11,12,13,14, ... ,26,27,28,29,30,31,32,33,34,35, 36,...
Miért is lesz 12(6) = 8, vagy 26 = 42(6), vagy miért is igaz, hogy 36 = 100(6) ?
+(3) 0 1 2
+(2) 0 1
0 0 1 2
0 0 1
1 1 2 10
1 1 10
2 2 10 11
A bináris összeadó tábla A ternáris összeadó tábla
+(5) 0 1 2 3 4 ×(6) 1 2 3 4 5
0 0 1 2 3 4 1 1 2 3 4 5
1 1 2 3 4 10 2 2 4 10 12 14
2 2 3 4 10 11 3 3 10 13 20 23
3 3 4 10 11 12 4 4 12 20 24 32
4 4 10 11 12 13 5 5 14 23 32 41
____________________________________________________________________________________
88
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
SZ T E SZ T E
2 7 8 5 12 11
+ 3 5 3 6 3 2 1
1 1 – 3 5 3
6 13 11 5-3 12-5 11-3
6 3 1 2 7 8
Két nyomós okunk van arra hogy a kivonásra valamilyen más eljárást találjunk: az
egyik a nehézkesség (az összeadással még valahogy elbánunk, de a kivonással már
sokkal nehezebben boldogulunk), a másik ok (nagyon leegyszerűsítve) az, hogy a
számítógép "csak összeadni tud" (?!). Erre a látszólagos lehetetlenségre a későbbiek
folyamán (más tantárgy tanulmányozásakor) kap az olvasó kielégítő magyarázatot.
Próbáljuk meg hát mi is a kivonást valamilyen módon összeadással "helyettesíteni"!
____________________________________________________________________________________
89
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
Példák:
____________________________________________________________________________________
90
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Az eljárás leírása:
Az eljárás leírása:
a) előállítjuk a kivonandó komplementumát. FONTOS: A kisebbítendőnek és a
kivonandó komplementumának itt is azonos számú számjeggyel kell rendelkeznie!
Szükség esetén a megfelelő számjegypótlásokat el kell végezni és akkor végezni a
komplementálást.
b) Ha az összegben a NINCS TÚLCSORDULÁS akkor az eredmény NEGATÍV
SZÁM. A kilences komplementum alkalmazásakor előállítjuk a kapott összeg 9-es
komplementumát és befejeztük a munkát. A tízes komplementum alkalmazásakor az
eredmény tízes komplementumát kell előállítani és befejeztük a munkát! Az így nyert
szám az adott két szám KÜLÖNBSÉGE.
A 7-es A 8-as
Az oktális kivonás
komplementummal komplementummal
7654,130 7654,130 7654,130
–6666,555 +1111,222 +1111,223
765,353 10765,352 10765,353
+1
765,353
546,653 00546,653 00546,653
–65472,110 +12305,667 +12305,670
-64723,235 013054,542 013054,543
-64723,235 64723,234
+1
-64723,235
Az 1-es
Az bináris kivonás A 2-es komplementummal
komplementummal
11001100,10001 11001100,10001 11001100,10001
–10111111,11111 +01000000,00000 +01000000,00001
1100,10010 100001100,10001 100001100,10010
+1
1100,10010
1111,11111 000001111,11111 000001111,11111
–100000000,01101 +011111111,10010 +011111111,10011
-11110000,01110 0100001111,10001 0100001111,10010
-11110000,01110 011110000,01101
+1
-11110000,01110
____________________________________________________________________________________
92
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Feladatok:
Végezzük el a kijelölt műveleteket a megfelelő számrendszerben, az elvégzett
műveletek pontosságát a decimális számrendszerben ellenőrizzük!
a) 256,512(7) + 616,16(7) = b) 656,512(7) – 416,16(7) =
c) 256,512(9) + 616,16(9) = d) 656,512(9) – 416,16(9) =
e) 256,512(8) + 616,16(8) = f) 656,512(8) – 416,16(8) =
g) 2B6,512(T) + 616,16(T) = h) 656,512(T) – A16,16(T) =
i) 2EF,512(H) + 616,16(H) = j) 656,512(H) – EF6,16(H) =
A kivonást mindhárom módon: az adott számrendszerben, az ú. n. nem teljes
(alapszám–1) komplementum és a teljes komplementum alkalmazásával is végezzük el!
____________________________________________________________________________________
93
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
Ellenőrző kérdések.
____________________________________________________________________________________
94
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
• |A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z| nagybetűk
• |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z| kisbetűk
• |0|1|2|3|4|5|6|7|8|9| számjegyek
• |+|–|*|/|\|^|[|{|(|)|}|]|_|!|?|<|>|~|#|$|%|&|:|;|"|.| |,| egyéb jelek.
A ={ , { }.
Most egy nagyon fontos gyakorlati kérdésre válaszolunk majd: miért választotta
a számítástechnika a számítógépek működtetéséhez a kételemű ábécét? A két karaktert
jelölhetjük bárhogyan (úgy is ahogyan az előző példában tettük), de alkalmasabb a {0,1}
jelölés.
____________________________________________________________________________________
96
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Nyilvánvaló, hogy olyan jelkészlet, amelynek 2,71.. jele van, nem létezik.
Marad a legközelebbi természetes szám, a 3, vagy a valamivel kedvezőtlenebb 2. Végül
mégis a kétjelű készlet került be a számítógépek vérkeringésébe. Hogy miért? Mert ez a
rendszer (még a matematikai bizonyítás ellenére is) mégiscsak olcsóbb és racionálisabb.
____________________________________________________________________________________
97
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
A = {0,1}
T = A4 = {0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111,
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111}
____________________________________________________________________________________
98
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
4.2.2. táblázat
____________________________________________________________________________________
99
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
A 3321 jelzés például azt jelenti, hogy a balról jobbra az első helyen álló
számjegy súlya 3, a másodiké szintén 3, a harmadiké 2 és a jobb szélső szám súlya 1.
Ezért jelentkezik a látszólagos ellentét az 1 ponttal szemben, illetve: mintha a
hozzárendelés nem volna egyértelmű. Lássuk csak a 6-nak megfelelő három kódszavat:
0111=0⋅3+1⋅3+1⋅2+1⋅1=0+3+2+1=6
1011=1⋅3+0⋅3+1⋅2+1⋅1=3+0+2+1=6
1100=1⋅3+1⋅3+0⋅2+0⋅1=3+3+0+0=6
Jelölje gN, gN–1, ... , g2, g1 a Gray kód számjegyeit balról jobbra (N a
szó hossza, gi ∈{0,1}.
____________________________________________________________________________________
100
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Jelölje bN, bN–1, ... , b2, b1 az NBC kód számjegyeit szintén balról
jobbra, bi ∈{0,1}.
ahol ⊕ az exkluziv ⊕ 0 1
b ha k = N diszjunkciót , vagyis
gk = N , 0 0 1
b k +1 ⊕ b k ha k < N "XOR" műveletet
jelenti:
1 1 0
31 11111
4.2.3.1. táblázat
____________________________________________________________________________________
101
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
NBC 1 0 1 1 0 1 1 0 0 1 1 0
⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕
Gray 1 1 1 0 1 1 0 1 0 1 0 1
⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕
NBC 1 0 1 1 0 1 1 0 0 1 1 0
4.2.3.2. táblázat
ezek teljes neve, illetve a név alapján a funkciója is kiolvasható a mellékelt ASCII
Chart című táblázatból (4.2.4.4. táblázat).
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~
4.2.4.1. táblázat
Azonnal feltűnik, hogy ezek nem is hét hanem nyolcbites kódszavak. Az eleve
"feleslegesnek" tűnő nyolcadik bitnek egy nagyon fontos funkciót szántak: a kódszó
helyességét ellenőrző funkciót! Nevezzük ezt a bitet paritásbitnek. Ha a paritásbitnek
az 1 értéket adjuk amikor a kódszó többi hét bitje között páros számú 1-es van, illetve
0-ra állítjuk amikor a többi hét bit között az 1-esek száma páratlan, akkor a nyolc bit
között mindig páratlan számú 1-es van. Nyilvánvaló, hogy a paritásbit megfordított
alkalmazása is lehetséges (0 ha az egyesek száma a többi hét bit között páros, és 1 ha az
egyesek száma a többi hét bit között páratlan) úgy a nyolcbites kódszóban az 1-esek
száma mindig páros lesz. A kétfajta paritás alkalmazását a
4.2.4.2. táblázat
____________________________________________________________________________________
103
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
Név p q A e f
BB 3 11 33 3 7
CC 5 7 35 5 17
____________________________________________________________________________________
104
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
293 = 24389=739⋅33 + 02
293 = 24389=739⋅33 + 02.
11 21 20 25 01 02 02.
____________________________________________________________________________________
105
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
ASCII Chart
ASCII stands for "American Standard Code for Information Interchange".
─────────────────────────────────────────────────────────────────────────────────
Dec Hx Oct Char Dec Hx Oct Char Dec Hx Oct Char Dec Hx Oct Char
─────────────────────────────────────────────────────────────────────────────────
0 00 000 NUL (null) 32 20 040 SPACE 64 40 100 @ 96 60 140 `
1 01 001 SOH (start of heading) 33 21 041 ! 65 41 101 A 97 61 141 a
2 02 002 STX (start of text) 34 22 042 " 66 42 102 B 98 62 142 b
3 03 003 ETX (end of text) 35 23 043 # 67 43 103 C 99 63 143 c
4 04 004 EOT (end of transmission) 36 24 044 $ 68 44 104 D 100 64 144 d
5 05 005 ENQ (enquiry) 37 25 045 % 69 45 105 E 101 65 145 e
6 06 006 ACK (acknowledge) 38 26 046 & 70 46 106 F 102 66 146 f
7 07 007 BEL (bell) 39 27 047 ' 71 47 107 G 103 67 147 g
8 08 010 BS (backspace) 40 28 050 ( 72 48 110 H 104 68 150 h
9 09 011 TAB (horizontal tab) 41 29 051 ) 73 49 111 I 105 69 151 i
10 0A 012 LF (NL line feed,new ln) 42 2A 052 * 74 4A 112 J 106 6A 152 j
11 0B 013 VT (vertical tab) 43 2B 053 + 75 4B 113 K 107 6B 153 k
12 0C 014 FF (NP form feed,new pg) 44 2C 054 , 76 4C 114 L 108 6C 154 l
13 0D 015 CR (carriage return) 45 2D 055 - 77 4D 115 M 109 6D 155 m
14 0E 016 SO (shift out) 46 2E 056 . 78 4E 116 N 110 6E 156 n
15 0F 017 SI (shift in) 47 2F 057 / 79 4F 117 O 111 6F 157 o
16 10 020 DLE (data link escape) 48 30 060 0 80 50 120 P 112 70 160 p
17 11 021 DC1 (device control 1) 49 31 061 1 81 51 121 Q 113 71 161 q
18 12 022 DC2 (device control 2) 50 32 062 2 82 52 122 R 114 72 162 r
19 13 023 DC3 (device control 3) 51 33 063 3 83 53 123 S 115 73 163 s
20 14 024 DC4 (device control 4) 52 34 064 4 84 54 124 T 116 74 164 t
21 15 025 NAK (negative acknowledge)53 35 065 5 85 55 125 U 117 75 165 u
22 16 026 SYN (synchronous idle) 54 36 066 6 86 56 126 V 118 76 166 v
23 17 027 ETB (end of trans. block) 55 37 067 7 87 57 127 W 119 77 167 w
24 18 030 CAN (cancel) 56 38 070 8 88 58 130 X 120 78 170 x
25 19 031 EM (end of medium) 57 39 071 9 89 59 131 Y 121 79 171 y
26 1A 032 SUB (substitute) 58 3A 072 : 90 5A 132 Z 122 7A 172 z
27 1B 033 ESC (escape) 59 3B 073 ; 91 5B 133 [ 123 7B 173 {
28 1C 034 FS (file separator) 60 3C 074 < 92 5C 134 \ 124 7C 174 |
29 1D 035 GS (group separator) 61 3D 075 = 93 5D 135 ] 125 7D 175 }
30 1E 036 RS (record separator) 62 3E 076 > 94 5E 136 ^ 126 7E 176 ~
31 1F 037 US (unit separator) 63 3F 077 ? 95 5F 137 _ 127 7F 177 DEL
─────────────────────────────────────────────────────────────────────────────────
4.2.4.3. táblázat
____________________________________________________________________________________
106
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
4.2.4.4. táblázat
____________________________________________________________________________________
107
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
4.2.4.5. táblázat
____________________________________________________________________________________
108
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
EBCDIC Codes
Extended Binary-Coded Decimal Interchange Code .
4.2.4.6. táblázat
____________________________________________________________________________________
109
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
4.2.4.7. táblázat
Feladatok:
1. Alakítson ki egy kódrendszert, amely a ternáris (a 3-as alapszámú)
számrendszerre támaszkodik. Nevezze ezt a kódolást "NTC" rendszernek, amely az
NBC kódrendszer logikáját követve csak a decimális számjegyekre vonatkozik. Hány
betűsek ezek a kódszavak? Hány "szabad" kódszó marad a tíz számjegy kiosztása után?
____________________________________________________________________________________
110
Számrendszerek SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
____________________________________________________________________________________
111
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Számrendszerek
Ellenőrző kérdések:
____________________________________________________________________________________
112
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
4.3. ALGORITMUSOK
ax + by = c
dx + ey = f
____________________________________________________________________________________
113
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
A követelmények a következők:
A végesség azt jelenti, hogy véges számú lépésben véget kell érnie azzal, hogy
meghatározta a kiinduló feladat megoldását. Ez a lépésszám lehet nagyon nagy is, de
nem lehet "végtelen".
in out
1
a,b,c,d,e,f x, y ae-bd → D D=0
0
4.3.1.1. ábra
A szimbólumok jelentése:
START START
in in
a,b,c,d,e a,b,c,d,e
a+b → b a>b
1
0
b+c → c
1
a<b
c+d → d
0
out out
a,b,c,d,e a,b,c,d,e,r
STOP STOP
____________________________________________________________________________________
116
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
ha a < b, akkor r = c + d + e,
és végül,
ha a = b, akkor r = c*d*e.
0
S=An
Most szemléljünk az előző n-1→n
feladatokhoz hasonlóan egyszerű out
S
problémát. Adott az A valós szám és n A*S → S
xn+1=(xn+z/xn)/2, n=0,1,2,...
____________________________________________________________________________________
118
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
.......
0
.......
?
0
?
1
0
1
?
0
? 1
1
0 .......
?
0
?
1
0
?
9
1 1
0
4.3.1.8. ábra 4.3.1.9. ábra
?
9
szervezési formáit jelképezik. A 4.3.1.7. ábra az úgynevezett
soros szervezést mutatja, míg a 4.3.1.8. ábrán a koncentrikus
ciklusokat rajzoltuk meg. A 4.3.1.9. ábrán a leggyakoribb hibás
4.3.1.7. ábra ciklusszervezés látható. A ciklusok metszik egymást és ez
konfliktust okoz: az ilyen algoritmuson alapuló program vég-
telen hurokba "fullad".
4.3.2.1. POLINOMOK
START 0→i
in
n,m,j in
bi
0
n< m
1 0
i=m i+1 → i
m→ k n→k
1
0
j=1
0→i
1
1→s −1 → s
0 → ai
0 → bi 0→i
0
i=k i+1 → i
a i +s*b i → ci
1
0→i i=k 0
i+1 → i
1
in
ai 0→i
o ut
0 ci
i=n i+1 → i
1
0
i=k i+1 → i
1
1
STOP
4.3.2.1.a. ábra
START
in
n,m
0→i
in
ai
0→i
0
i=n i+1 → i 0→j
1
0→i a i *b j +ci +j → ci +j
0
in j=m j+1 → j
bi
1
0
0
i=m i+1 → i i=n i+1 → i
1 1
n+m → k 0→i
out
0→i ci
0 → ci i=k
0
i+1 → i
1
0
i=k i+1 → i STOP
1
4.3.2.1.b. ábra
____________________________________________________________________________________
121
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
MATRIXIN( a, n, m) MATRIXOUT( a, n, m)
in in
n,m n,m
i = 1,n i = 1,n
j = 1,m j = 1,m
in
o ut
ai j ai j
RET RET
Most már nem nagy probléma megrajzolni két n×m típusú mátrix összegének,
illetve egy n×m és egy m×k típusú mátrix szorzatának kiszámítását végző algoritmust.
START
MATRIXIN(A,N,M)
START
MATRIXIN(B,M,K)
MATRIXIN(A,N,M)
MATRIXIN(B,N,M) i = 1,N
j = 1,K
i = 1,N
0 → Ci j
j = 1,M
p = 1,M
MATRIXOUT(C,N,M)
STOP MATRIXOUT(C,N,K)
4.3.2.2.e. ábra
Feladatok:
1. Rajzolja meg az elemi mátrixtranszformációk részalgoritmusait:
a) Az adott n×m típusú mátrix adott k-adik sorának adott A≠0 számmal való osztása,
b) Az adott n×m típusú mátrix adott i-edik sorának a k-adik sorával való cseréje,
c) Az adott n×m típusú mátrix adott i-edik sorának hozzáadása a k-adik sorához
2. Rajzolja meg az adott n×n típusú négyzetes mátrix felső háromszög-mátrixra való
átalakítását az 1. feladat részalgoritmusainak beépítésével (GAUSS-algoritmus).
3. Rajzolja meg az adott n×m típusú mátrix oszlopait (sorait) összegző algoritmust.
A kimenet az oszlopösszegek sorvektora (sorösszegek oszlopvektora).
4. Rajzolja meg az adott n×n típusú négyzetes mátrix főátlóján ( aii , i=1,2,...,n)
elhelyezkedő elemeket összegző algoritmust. (A mellékátló elemei: ai,n+1-i)
6. Adott két n×n típusú négyzetes mátrix A=[aij]n,n és B=[bij]n,n. (n≤50). Rajzolja
meg a C=[ci]n sorozatot (sorvektort) előállító algoritmust, ha a sorozat elemei az A
mátrixnak a B mátrix transzponáltjával való szorzata után nyert mátrix oszlopainak
maximális elemei
____________________________________________________________________________________
123
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
(4.3.2.3.a. ábra).
0
i=N i+1 → i
1
START
1→i
a
in
?
a,b,c b c Ai → min
0 i +1 → j
b<a
1
1
a→m j>N
0
min → Ai
b→a 0
Aj < min
m→ b 1
Aj → r
0
c<b
min → Aj
1
c→m r → min
i +1 → i
b→c j +1 → j
0 1
m<a i<N
0
1
1→i
m→ b a→b
out
Ai
m→ a
0
out
i +1 → i i=N
a,b,c a≤b≤c 1
STOP
STOP
START
START
in
in
N N
1→i 1→i
in
in
Ai Ai
0
i=N
0
i+1 → i i=N i+1 → i
1
1
1→i 1→i
i→m 0 → sig
i +1 → j i +1 → j
1
1 j>N
j>N
0
0
Am → r sig > 0
1
0
0
Aj < Am Aj < Ai
0
Ai → Am 1
1
1→i
Aj → r
j→m r → Ai
out
Ai → Aj Ai
j +1 → j i +1 → i
r → Ai
0
1 i=N i +1 → i
i<N
sig +1 → sig 1
0
STOP
1→i
i +1 → i
o ut
Ai
0
4.3.2.3.d ábra
i +1 → i i=N
STOP
4.3.2.3.c ábra
____________________________________________________________________________________
125
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
n
START
0→E
0→E
0→D
0→D
1→i
0→n
in
in
ai
a
a*a + D → D
ai + E → E
n+1 → n a+E→ E
a i *a i + D → D
0
a=0
0
i=n i+1 → i 1
1 E/n → E
E/n → E
D/n + E2 → D
D/n + E2 → D
D1/2 → D
D1/2 → D ou t
E, D, n
ou t
E, D
STOP
STOP
____________________________________________________________________________________
126
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
n
E(a) = ā =( ∑ a i )/n
i =1
n
D(a) = σ =[( ∑ a i2 )/n – (ā)2] .
1/2
i =1
4.3.2.4. TRIGONOMETRIA ÉS A π
A az egyváltozós függvények analízisének tanulmányozása közben találkoztunk
a függvények TAYLOR illetve MACLAURIN sorával. Két sorbafejtéssel foglalkozunk,
természetesen az algoritmusok végességének követelménye alapján meghatározott ε>0
pontosságig számítjuk majd ki az összeadandókat.
x1 x 3 x 5 x 7
sin(x) ≈ – + – +... (– ∞ < x < ∞)
1! 3! 5! 7!
x1 x 3 x 5 x 7
arctg(x) ≈ – + – +... (–1 ≤ x ≤ 1).
1 3 5 7
____________________________________________________________________________________
127
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
ARCTG( X )
in
START
X, ε
ARCTG(1/8)
0 → atgx
24*atgx → A
X→ Z
ARCTG(1/57)
1→n
8*atgx → B
1
|Z|<ε ARCTG(1/239)
o ut
0
atgx 4*atgx → C
atgx + Z → atgx
A+B+C → pi
n+2→n
RET
out
pi π
Shanks & Wrench
(-1)*Z*X → B
2
B/n→Z
STOP
π
a) = 5 arctg(1/7) + 2 arctg(3/79) (Georg von Vega)
4
π
b) = arctg(1/2) + arctg(1/5) + arctg(1/8) (Zaharias Dahse)
4
π
c) = 4 arctg(1/5) – 2 arctg(1/239) (John Machin)
4
d) π = 24 arctg(1/8) + 8 arctg(1/57) +4 arctg(1/239).
képlettel és a 70695 tizedes jegy után hibát találtak. Gondolkodjon el az olvasó azon,
hogyan lehetne a tizedes jegyek valamilyen sorozatban való tárolásával eljutni mondjuk
a 200 000-dik tizedes jegyig.
____________________________________________________________________________________
128
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
B/D→Z
4.3.2.4.c. ábra
____________________________________________________________________________________
129
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
ennél nagyobb prímosztója nincs egyetlen számnak sem (kivéve ha a szám prímszám –
akkor pedig a felbontás triviális) Lásd: 4.3.2.5.a. ábra.
Q*i=m
0
Megkeressük a 2 legkiseb
hatványát, amely nagyobb
1 dj = 0
Q→m
az elemek N számánál.
0
1→k
befejeződik: vagy úgy hogy
0
i > N1/2 megtaláljuk azt a k indexet
out
d k, ck o ut
1
amelyre Ak = X, vagy Ak-1
N "prime" < X ≤ Ak vagy Ak ≤ X <
k+1→k k<j
0
Ak+1 . A bináris keresés
STOP algoritmusa a 4.3.2.5.b. ábrán
tanulmányozható.
4.3.2.5.a. ábra
____________________________________________________________________________________
130
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
START
in
1
A1 > X
1 X <A 1 | A N < X
AN < X
0 ou t
"error"
1→k
STOP
2k → k
1
k<N
k/2 → k
k→L
1
Ak < X
Ak > X 1
0 1
1
L=1 L=1
0
0
L/2 → L
L/2 → L
1 A k -1 < X ≤ A k
o ut
L/2 → L k
k-L → k
STOP
4.3.2.5.b. ábra
____________________________________________________________________________________
131
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
k+1 k+1
k k
2b 3a
k 3b ?
k
START k
in k+1
M k+1
k+1
2*M+1 → N
i=1,N
1
j>N
j=1,N
1→j 0
0→Ai j
1
Aij=0
k→1 1
j>N
0
1→i i+2→i
N→ i
m+1→ j j-1→j
k→ Ai j
k +1 → k
1
k > N2
i=1,N 0
i -1 → i
j=1,N
j +1 → j
o ut
Ai j
1
i=0
STOP
4.3.2.5.c. ábra
____________________________________________________________________________________
132
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
D. feladat: Most egy olyan probléma következik, amely nincs eldöntve: véges-e
ez az algoritmus minden bemenő adat esetén, esetleg van olyan szám, amelyre
"eltéved". Mindenesetre, az eddigi próbálkozások mindegyike még befejeződött.
Kísérletezzen az olvasó is! A feladat a következő: Számítsuk ki annak a sorozatnak az
elemeit, amelynek első tagja a bemenő adat. A további tagokat a következőképp
határozzuk meg: ha az i-edik tag páros szám, akkor az i+1-edik tag az előzőnek a fele.
Ha az i-edik tag páratlan szám, akkor a következő elemet úgy nyerjük, hogy az i-edik
tagot megszorozzuk hárommal és még hozzáadunk 1-et. A sorozat befejeződik, ha a
következő elem értéke 1. (4.3.2.5.d. ábra)
START
in
M
M→k
1→n
k → cn max(cn )=?
1→q
1
q+1 → q 2*q < k
1
2*q = k
3*k+1 → k q→k
0
n+1→n k=1
1→i
out
ci
?( n < ∞ )?
0
i+1→i i<n
STOP
4.3.2.5.d. ábra
____________________________________________________________________________________
133
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
START
in Fibonacci
N= 2
N, M A 1 = A 2 = b1 = b2 = 1
M = 3,4,5,...
1→i
in
Ai , b i
1
i<N i+1 → i
0
i<M
i+1 → i 1→i
ou t
0 → Ai Ai
1→j 1
i<M i+1 → i
0
Ai + bj * Ai-N+j → Ai
STOP
1
j=N
j+1 → j
4.3.2.5.e. ábra
____________________________________________________________________________________
134
Algoritmusok SZÁMÍTÁSTECHNIKAI ALAPISMERETEK
Feladatok:
Az alábbi feladatok sorszáma után a kerek () zárójelben lévő szám a [10] forrás-
munkában található feladatok sorszámaira utal. a {..} zárójelben található szám a [23]
könyvben található feladatot jelöli. Egyszerűség és rövidség kedvéért elhagytuk a
feladatokból a "Rajzolja meg az algoritmus folyamatábráját, amely ..." szövegrészt, és
csak a bemenő adatokat (ha léteznek) és a kimenő adatokat soroltuk fel , valamint a
megoldandó probléma lényegét, illetve a kiszámítandó formulát adtuk meg.
1. (7) Bemenet az N szám, kiszámítandó a Z=N(N+1)(N+2) szám, kimenet az N és
a Z szám.
2. (10) Bemenet a pont (x,y) koordinátái a Descartes féle koordináta rendszerben,
kimenet a pont polár koordinátái (ρ,ϕ), ahol ρ=(x2+y2)1/2, ϕ=arctg(y/x).
3. (15) Bemenet: négy szám, kimenet a négy szám, a számok négyzetei és a
négyzetek összege.
4. (19) Bement a k egész szám, ha k negatív szám akkor még bekéri az n számot is
és előállítja az m=n3–k3, a kimenet k, n és m. Ha k pozitív szám akkor csak
előállítja az m=k2+k+1 számot, kimenet a k és az m szám. Ha k=0 akkor nem
végez semmilyen számítást az algoritmus.
5. (23) Bemenet az A, B, C és D logikai változók, kimenet a Z=(A+B′ +C)⋅D.
6. (25) Bemenet nélkül előállítani a Z=(A+B⋅C) ⋅D′ logikai függvény táblázatát.
7. (43) Bemenet egy háromjegyű szám, kimenet a szám középső számjegye.
8. {1.4.5} Bemenet az X és az Y halmaz elemei: kimenet a két halmaz uniójának
valamint metszetének elemei: X={x1, x2, ..., xm} és Y={y1, y2, ..., yn}.
9. {1.4.6} A bemenet 1 ≤ N ≤ 3999 természetes szám, kimenet a szám római
számírással. Oldja meg a fordított feladatot is!
10. (67) Bemenet N1 és N2 természetes szám, kimenet a két szám közé eső páratlan
természetes számok összege S.
11. (72) Bemenet összesen 80 egyjegyű szám, kimenet: a 0-tól 9-ig terjedő
számjegyek megjelenésének gyakorisága a 80 szám között.
12. (79) Bemenet az n természetes szám, kimenet az első n 3-mal osztható szám
négyzeteinek összege: S=32 + 62 + 92 +122 +... + (3n)2 .
13. (88) Bemenet y, x1, x2 és x3. Előállítani az Z=f(x,y) függvény táblázatát x1-től
x2 -ig x3 nagyságú lépésekkel, ha x+y>0 ⇒ Z=x2+3y, x+y=0 ⇒ Z=x2–2y és
x+y<0 ⇒ Z=x2–y.
14. (112) Kísérletezéssel keressük meg mindazokat a derékszögű háromszögeket,
amelyek oldalainak mérőszáma 100-nál nem nagyobb egész szám. Kimenet a
megtalált számhármasok sorozata.
15. (128) Számítsa ki az ex szám értékét a következő sor alapján:
ex = 1 + x + (x2)/(2!) +(x3)/(3!) +(x4)/(4!) +(x5)/(5!) + ... A bemenő értékek az x
és a pontosság ε.
16. (141) A bemenő adat az X decimális szám, kimenet a szám bináris felírása. A
legnagyobb bináris szám nem haladhatja meg a 111111(2) számot.
17. {1.4.7} Bemenet az A n×n típusú négyzetes mátrix (n ≤ 20).
• adjuk meg az A mátrix főátlóján lévő elemek összegét,
• adjuk meg az A mátrix mellék átlóján lévő elemek összegét,
• adjuk meg az A mátrix főátlója feletti elemek összegét,
• adjuk meg az A mátrix mellékátlója alatti elemek összegét.
____________________________________________________________________________________
135
SZÁMÍTÁSTECHNIKAI ALAPISMERETEK Algoritmusok
Ellenőrző kérdések.
____________________________________________________________________________________
136
A FELHASZNÁLT IRODALOM