Távoktatás PROGRAMOZÁSI ALAPFOGALMAK ÉS ALGORITMUSOK
|
|
- Zsuzsanna Bognárné
- 8 évvel ezelőtt
- Látták:
Átírás
1 Budapesti Mszaki Fiskola Regionális Oktatási és Innovációs Központ Távoktatás PROGRAMOZÁSI ALAPFOGALMAK ÉS ALGORITMUSOK Segédlet Készítette: Burián Ágnes Villamosmérnök és mszaki menedzser szak 5. félév 1. kiadás Székesfehérvár
2 Programozási alapismeretek A programok végrehajtása A számítógépet a program mködteti. A processzor közvetlenül csak a gépi kódú programokat tudja értelmezni. A gépi kódú program egy utasítása a mvelet kódjából és a mvelet operandusaiból áll. Az utasítások ugyanúgy, mint az adatok 0-k és 1-ek sorozata. A végrehajtható utasítások az operatív tárban vannak. Ha a tár egy részének tartalmát kiírjuk, nem tudjuk eldönteni, hogy program vagy adat! Utasításkészlet: a processzor által értelmezhet+ utasítások összessége. A gépi kód a leg+sibb programozási nyelv. Ma már csak szimbolikus nyelvben írjuk a programokat, ezeket a programokat a fordító program teszi át gépi kódba. A memória (operatív tár) - csak olvasható memória (ROM): kikapcsoláskor nem veszti el tartalmát, ezért olyan programokat tárolnak benne, amelyre a számítógépnek mindig szüksége van. - közvetlen elérés memória (RAM): írható, olvasható. Kikapcsoláskor elveszti tartalmát. A RAM a programozó rendelkezésére álló tár. Itt helyezkednek el a felhasználó által írt programok és az operációs rendszer felhasználó által látható részei. A tár legkisebb címezhet+ egysége a bájt, minden bájtnak önálló címe van. Az adatok általában több bájt hosszúságúak, de ugyanúgy az utasítások is. A memória közvetlen elérés tároló, mert bármely tárrekesz tartalmát a processzor egyetlen lépésben megtalálja a címe segítségével. A vezérl+egység speciális tároló rekeszei a regiszterek. Adatok tárolása a számítógépben A számítógépen az adatokat nullák és egyesek, bitek kombinációjaként (binárisan) tároljuk, dolgozzuk fel és továbbítjuk. Információs rendszereinkben viszont az adatok betkb+l, számjegyekb+l és írásjelekb+l állnak. (karakterek) A karakterek ábrázolása számítógépen a kódjukkal történik (bináris szám)! Szabványos kódrendszerek (ASCII, EBCDIC) a számítástechnika alappillérei. A kódrendszerek lényege, hogy minden karakterhez kölcsönösen egyértelm megfeleltetéssel hozzá van rendelve egy 8 bites (bájtos) kódérték. A karaktereket a kódjukkal azonosítjuk. Gépi számábrázolás: fixpontos lebeg+pontos Fixpontos számábrázolás (egész) 2 vagy 4 bájton történik. Ha csak negatív számokat kellene ábrázolni: a 2 bájtos tartomány. A negatív számokat olyan formában célszer tárolni, hogy a gépi kivonás összeadással legyen helyettesíthet+, mert akkor a számítógépnek csak az összeadást kell tudnia elvégezni. Az el+jeles egész számok ábrázolására Neumann János dolgozta ki a kettes komplemens képzés (más néven nullára történ+ kiegészítés) módszerét. Komplemens képzés: a bináris szám minden jegyét átfordítjuk a másik jegyre. Például: (Ezt egyes komplemensnek is szokás nevezni.) Ha a komplemenshez még 1-et hozzáadunk kettes komplemens alak jön létre. Pl.: 89 = komplemens kettes komplemens 2
3 Vegyük észre, hogy ha a számot és kettes komplemensét összeadjuk, akkor az adott méretben (példánkban 8 biten) az eredmény 0 lesz! Vessük össze ezt azzal a matematikában megismert ténnyel, hogy bármely számhoz a negatívját hozzáadva az eredmény 0 lesz! Tehát 89 kettes komplemense lesz a -89. A számítógépek többnyire a kettes komplementerképzésen alapuló eljárással végzik a kivonást. Negatív számok tárolása: láttuk az el+bbiekben, hogy az x 0 esetben -x az x kettes komplemenseként állítható el+. Lássunk egy 16 bites példát (x=12 16 biten ábrázolva): komplemens kettes komplemens (-x=-12) Még van egy probléma: hogyan tudjuk eldönteni, hogy egy ilyen szám pozitív-e vagy pedig egy másik pozitív szám kettes komplemense? A felírásból sehogy! Ezért megegyeztünk abban, hogy a nem negatív számok csak az alsó 15 bitet foglalják el, ilyen módon ezek kettes komplemensének legfels+ bitje 1 lesz, azaz ezek lesznek a negatív számok. A kettes komplemense is 0. Az negatív szám kettes komplemense : Tehát a k 16 bites egész: k Lebegpontos számábrázolás (valós) A fixpontos számábrázolásnak 2 hátrányos tulajdonsága van: - kicsi az ábrázolható számtartomány - a pontosság er+sen korlátozott: ha a szám végére képzeljük a tizedespontot, az egészek közötti értékek a gép számára nem léteznek. Azaz : 1/3=0 vagy 5/3=1 stb. A lebeg+pontos számábrázolás a számok hatványkitev+s felírásán alapszik. Pl = = azaz Mp k A képletben k a számrendszer alapszáma (példánkban 10 ill. 2). Hogy egyértelm legyen a felírás M<1 és a tizedesponttól jobbra álló els+ jegy nem 0. A lebeg+pontos szám a számítógépen a bináris számok hatványkitev+s alakja. Ehhez a számot ún. kettes normál alakra kell hozni. Pl. /-12.25/ = = A szám kettes normál alakjának karakterisztikája 4 = így a szám kettes normál alakban: Az ábrázolás a következ+ módon történik: - els+ bit a szám el+jele, - 7 biten a karakterisztika torzítva, - végül 3 bájton a mantissza. A torzítás (a negatív kitev+k miatt kell) 2 6 =64(= ) hozzáadását jelenti a karakterisztikához, így nem lesz soha negatív kitev+! A gépi nulla fogalma Az ábrázolandó szám karakterisztikája olyan kicsiny, hogy a torzítással sem lesz pozitív. A nullává váló szám nagysága tehát a karakterisztika számára rendelkezésre álló bitek számától függ. A gépi nullát úgy ábrázoljuk, hogy a karakterisztikát és a mantisszát is nullának vesszük. A véges hosszú mantissza miatt nem tudjuk az összes valós számot ábrázolni! 3
4 A számítógép alkalmazása Az adatok önálló, emberi beavatkozás nélküli feldolgozása a számítógép alapfeladata. A feldolgozást irányító, a gép számára végrehajtható formában adott utasítássort nevezzük programnak. Minden program algoritmusokra épül, amelyek egy adott feladat teljes vagy részbeni megoldására szolgáló mveletsort jelentenek. Az algoritmussal szemben támasztott követelmények: - Legyen egyértelm és jól meghatározott, azaz ugyanazon bemen+ adatokra minden esetben ugyanazt az eredményt szolgáltassa! - Legyen id+ben és lépésszámban véges, azaz korlátozott hosszú és végrehajtási idej! - Legyen teljes, általános érvény, azaz különböz+ bemen+ adatokkal is oldja meg a feladatot, ne egy konkrét problémára, hanem probléma osztályra vonatkozzon! A programozás alapjai A programozás elméleti lépései el+tt ismerkedjünk meg a programozási nyelvekkel. Az összes programot így az operációs rendszert és az alkalmazásokat is programozók készítik, valamilyen programozási nyelven. Ezeket a nyelveket a számítógép processzorának nyelvéhez való közeliségük szerint szokás csoportosítani. Programozási nyelvek a) gépi nyelv: a számítástechnika +skorában egyedüli lehet+ség volt a gép bitsorozattal való programozása. b) alacsony szint (assembly) nyelv: a gépi nyelv 0 és 1 jelekb+l álló bitsorai helyett a programozó mnemonikokat (emlékeztet+ rövídítéseket, azaz azonosítókat) ír, amelyek már áttekinthet+bbé, olvashatóbbá teszik a programot. Itt már elegend+ a programozónak a számítógép fontosabb egységeit és paramétereit ismernie. Így a gép lehet+ségeit majdnem teljesen kihasználó programokat írhatunk, és bizonyos mértékben hordozhatóvá is válik a programunk. Cserében a kódsort le kell fordítani gépi nyelvre, amelyet egy assemblernek nevezett program végez el, amit az adott géptípushoz egyedi módon kapcsolódva készítenek el. c) közép szint nyelv: nagy hatékonyságú, de géptípustól függetlenebb programozási nyelvek tartoznak ide. Fordítója az ún. compiler, amely közvetlen módon állítja el+ a gépi kódot. A programozó alkalmazhatja a korszer programozási módszereket, mint a strukturáltság és az objektumorientáltság, de ismernie kell továbbra is a gép legtöbb hardver paraméterét. Ilyen nyelv például a C, amelyen Európában a programok 85%-a íródik, de ilyen a FORTH, SNOBOL és a FAST nyelv is. Az utóbbi kett+ inkább a Távol-Keleten terjedt el. d) magas szint nyelv: a programozó a legkorszerbb programozási módszereket alkalmazva készíthet segítségükkel gépfüggetlen programokat, amelyek ugyan kevésbé hatékonyak, de szabadon hordozhatóak. Vagy teljes fordítást végz+ compilert, vagy soronként értelmez+ interpretert kell használni a gépi nyelvre való lefordításhoz. El+bbi készült a PASCAL és az ADA, utóbbi a BASIC és a LOGO nyelvhez. 4
5 Algoritmusok Bármilyen programozási módszert alkalmazunk és bármilyen nyelven írjuk is meg a programot, el+ször meg kell terveznünk a probléma megoldására szolgáló elemi lépések sorozatát, azaz az algoritmust! Algoritmusok tervezésére, leírására, szemléltetésére többféle eszköz létezik, közülük a két legismertebb, a: - mondatszer leírás (mondatnyelv) - folyamatábra (blokkdiagram) A következ+kben ezeket az algoritmus-leírási módokat ismertetjük: a mondatszer leírást és a rajzos megadás jelöléseit. Mindkét esetben a legfontosabb algoritmus-leírási szerkezetek jelöléseit adjuk meg: 1, adat be- és kivitel; 2, értékadás; 3, utasítássorozat (szekvencia); 4, feltételes elágazás (szelekció); 5, ismétlési szerkezet (iteráció); 6, eljárás vagy függvény megadása (deklaráció); Mondatszer leírás Az anyanyelvi megfogalmazáshoz hasonló, de annál tömörebb leírási mód. Az él+nyelv pontatlanságait próbáljuk vele kizárni, de még egyszeren értelmezhet+ marad. 1, Adat be- és kivitel: BE: változók [az adatokkal szemben állított követelmények] KI: kifejezések [a kiírás formájára vonatkozó követelmények] 2, Értékadás: változó:=kifejezés Az utasítás hatására a változó felveszi a kifejezés aktuális értékét. 3, Utasítás sorozat: Egymás alá írással adjuk meg az egymás után végrehajtandó utasításokat. 4, Feltételes elágazások: a) Egyágú HA feltétel AKKOR utasítás Ha a feltétel teljesül, akkor az utasítás végrehajtásra kerül, ha nem teljesül, akkor az után folytatódik a program. Az utasítás helyén több utasítás is állhat. b) Kétágú Ha feltétel AKKOR utasítás 1 KÜLÖNBEN utasítás 2 Ha a feltétel teljesül, akkor az utasítás 1 kerül végrehajtásra, ha nem akkor az utasítás 2. Mindkét esetben az után folytatódik a program. 5
6 c) Többágú ELÁGAZÁS feltétel 1 ESETÉN utasítás 1 feltétel 2 ESETÉN utasítás 2... feltétel n ESETÉN utasítás n EGYÉB ESETBEN utasítás Ha az i-edik, feltétel i teljesül, akkor az utasítás i kerül végrehajtásra, ha egyik feltétel sem teljesül, akkor az utasítás. Bármely esetben az után folytatódik a program. (A feltételeknek egymást kizárónak kell lennie, azaz legfeljebb egy teljesülhet közülük.) 5, Ismétlési szerkezetek: a) Elöltesztel CIKLUS AMÍG feltétel ciklusmag Amíg a feltétel teljesül, addig a ciklusmag végrehajtásra kerül, ha már nem teljesül, akkor a után folytatódik a program. b) Hátultesztel CIKLUS ciklusmag AMÍG feltétel A ciklusmag mindaddig végrehajtásra kerül, amíg a feltétel teljesül. Ha már nem teljesül, akkor a után folytatódik a program. (Egyszer a ciklusmag mindenféleképpen végrehajtódik!) 6, Eljárás vagy függvény megadás: ELJÁRÁS_neve (paraméterek) utasítások Az eljárás vagy függvény hívása nevének és paramétereinek leírásával történik meg. A program egy kitüntetett szerep eljárás (vagy függvény), neve meghatározott: PROGRAM utasítás sorozat PROGRAM VÉGE Megjegyzés: A C programokban ennek a kitüntetett szerep eljárásnak a main() függvény felel meg, amely a belépési pont. 6
7 Folyamatábra (blokkdiagram) Az egyik legkorábban kialakult megadási mód. Alapjeleit maga NEUMANN dolgozta ki. Az egyes szerkezeti elemek között nyilakkal jelöljük a végrehajtási sorrendet. Ennek köszönhet+en igen vadul ugráló programok is születhetnek, minden átgondolt szerkezet nélkül. Az értékadó utasítás illetve valamilyen eljárás téglalapba, az egy vagy többágú kiválasztás rombuszba vagy lapos hatszögbe, az adatáramlás paralelogrammába, a vezérl+ utasítások körbe kerülnek. Az ismétlési szerkezeteket elrejtve tartalmazza az ábra. Csak nagy odafigyeléssel és következetességgel érhetjük el a strukturáltságot. 1. Adat be- és kivitel: BE: változó KI: kifejezés 2. Mveletvégzés: változó := kifejezés Lehet értékadó, de másfajta utasítás is. Példánkban utasításként az értékadás szerepel: a változó felveszi a kifejezés aktuális értékét. 3. Utasítás sorozat: A nyilak által meghatározott irányban haladva kell végrehajtanunk az utasításokat. 4. Feltételes elágazás: I utasítás1 feltétel H utasítás2 Ha a feltétel teljesül, akk Ha a feltétel teljesül, akkor az utasítás 1 kerül végrehajtásra, ha nem, akkor az utasítás 2. Mindkét esetben folytatódik a program. Megfelel a kétágú feltételnek. Egyágú esetén nincs utasítás a hamis ágban. A többágú elágazás is összeépíthet+ ebb+l. 7
8 5. Ismétlési szerkezet: A ciklusok a feltételes elágazás segítségével készíthet+k. Például a hátul tesztel+ ciklus a következ+képpen építhet+ fel: ciklusmag feltétel I H A ciklusmag mindaddig végrehajtásra kerül, amíg a feltétel teljesül. Ha nem teljesül, akkor folytatódik a program. (Egyszer a ciklusmag mindenféleképpen végrehajtódik!) 6. Eljárás megadás: eljárásnév utasítások Külön blokkdiagramot készítünk számára. Az eljárás hívása az eljárásnév ovális dobozba írásával történik. A program egy kitüntetett szerep eljárás, kezd+pontja a START, végpontja(i) a VÉGE: 8
9 START eljárásnév utasítások VÉGE Összehasonlító példák Összefoglalásként megmutatjuk mindkét leíró eszköz segítségével, hogyan lehet megfogalmazni egy ismert feladat megoldását. Keressük meg 10 egymás után beírt valós szám közül a legnagyobbat! A feladatot írjuk le tömörített anyanyelvi formában: 1. olvassuk be az els+ számot, ez lesz egyben eddig a legnagyobb is, amit jelöljön m, i legyen 2, azaz i:=2; 2. olvassuk be a következ+ számot a k-ba; 3. ha a k nagyobb m-nél legyen m értéke k; 4. növeljük meg az i értékét eggyel; 5. ha kell még beolvasni, azaz i<=10, akkor vissza a 2. ponthoz; 6. írjuk ki az m értékét; 7. vége. Mondatszer leírással megadva: PROGRAM BE: m [valós szám] CIKLUS i:=2-tll 10-IG BE: k Ha k>m AKKOR m:=k KI: m "a legnagyobb szám a beírtak közül" PROGRAM VÉGE 9
10 Folyamatábrával megadva: START BE: m i:=2 BE: k i:=i+1 I k>m H m:=k i<10 I H KI: m a legnagyobb" VÉGE Figyelem: Ezen összehasonlító példákban és a kés+bbi algoritmusoknál is az elemeket sorszámukkal azonosítjuk. Ez pedig nem ugyanaz, mint a tömbindex a C programokban: ott az els+ elem indexe nulla! 10
11 Adjuk össze 1-t(l 100-ig a számokat! Folyamatábra: START eljárásnév I:=1 N:=100 Összeg:=0 nem I<=N igen I:=I+1 Ki: Összeg Összeg:= Összeg+I VÉGE Mondatszer leírás: PROGRAM I:=1 N:=100 ÖSSZEG:=0 CIKLUS amíg I N ÖSSZEG:= ÖSSZEG+I I:= I+1 Ki: ÖSSZEG PROGRAM VÉGE 11
12 Adatszerkezetek Minden algoritmus-leírásnak tartalmaznia kell el+írást arra is, hogy milyen tulajdonságú adatokon végzi a mveleteket. Meg kell tehát adnunk, hogy mi az adat értékkészlete, milyen mveleteket végezhetünk a lehetséges értékekkel, valamint azokat milyen módon ábrázolva tároljuk: azaz megadjuk az adattípust. Az adatokat típusuk szerint két csoportba bonthatjuk: elemi adat, tovább nem bontható, azaz nem rendelkezik a felhasználó által kezelhet+ kisebb részekkel, bels+ szerkezettel; összetett adat, az egyes alkotó elemekkel külön is végezhetünk mveleteket, elemi adattípusokból felépül+ szerkezettel rendelkezik. Az elemi és az összetett adattípusokat együtt adatszerkezeteknek szokás nevezni. Az algoritmusok megadásánál megköveteltük az általánosságot a minél nagyobb problémaosztálynak való megfelelést. E cél érdekében az absztrakt adattípusok használatával az algoritmust kiterjeszthetjük, általánosabban értelmezhet+vé tehetjük. Minden konkrét algoritmushoz kialakíthatunk egy neki megfelel+ adattípust. Az elkövetkez+ekben azokat az általánosan használt adattípusokat ismertetjük a rajtuk értelmezett mveletekkel együtt, amelyek a napi munkában leggyakrabban el+fordulnak. Elemi adattípusok Egy adattípus besorolása nagyban függ attól, hogy milyen programozási nyelvvel dolgozunk. A 4 byte méret egész a magas szint nyelvekben elemi adattípus, míg a gépi kódban összetett típusként kell kezelnünk. Hasonló probléma az, hogy míg 2 byte méret egész számok szinte minden nyelvben léteznek, a magas szint nyelvekben értelmezett rajtuk az összeadás, a kivonás, a szorzás, az osztás és a maradékképzés is, addig a gépi kódban az utóbbi mvelet nem. A következ+kben ezért nem biztos, hogy az éppen általunk használt nyelvre is igaz lesz a következ+ csoportosítás. Egész szám Az egész (fixpontos) számokat kettes számrendszerben, a legtöbb számítógépen 2 bájton tárolva ábrázoljuk. Az értékkészlet és közötti egész számokból áll. E korlátozás számos hiba forrása lehet; s+t bizonyos nyelvek esetében meglep+ dolgokat tapasztalhatunk: eredményeként helyett at kapunk! Valós szám A valós számokat lebeg+pontos módban ábrázoljuk. A valós számok értékkészletére két korlátozás érvényes: az egyik a nagyságrendi korlát, a másik a pontossági korlát. A tárolás a legtöbb nyelvben 4 bájton történik, a kettes normálalakra hozás után. A szám nagyságrendjét a 12
13 karakterisztika adja, míg pontosságát a mantissza. Ennek véges jegyszáma miatt valójában nem is valós számokat ábrázolunk, hanem minden valós érték helyett egy azt jól közelít+ racionális számot. Az alábbi programkészlet igen szemléletesen mutatja be ennek következményeit: PROGRAM n:=3 [n egész szám] x:=1/n [x valós szám] CIKLUS i:=1-tll 20-IG x:=(1+n)*x-1 KI: x PROGRAM VÉGE A program látszólag egyszer dolgot csinál: hússzor kiírja az egyharmad értéket. Az n jelöli a 3 egész számot, x a reciprokát, majd hússzor vesszük az n+1 x-szeresét és ezt 1-gyel csökkentjük, ez lesz az új értéke az x-nek. A mindenkori x értéket kiírjuk, azaz húsz darab egyharmad értéket kellene látnunk. A programot lefuttatva bármely konkrét nyelvre átkódolva, meglep+dve tapasztaljuk, hogy korántsem a várt eredményt kapjuk! (A jelenség oka az, hogy 1/n az egészek körében nulla!) Karakter Egy darab karakter tárolását lehet+vé tev+ adattípus, mérete 1 bájt. A karakterek ábrázolására ma már legtöbbször az ASCII kódrendszert használjuk, ami 8 bites, így az értékkészlet A karakterek összehasonlítása, megel+z+ vagy rákövetkez+ karakter meghatározása, mint mveletek is e kód alapján valósulnak meg. Összetett adattípusok Az összetettebb programokban az elemi adattípusok helyett inkább az összetett adattípusokat alkalmazzák. A következ+kben megismerkedünk a leginkább használt típusokkal és néhány absztrakt szerkezettel is. Az összetett adattípusokkal végezhet+ mveletek megegyeznek az elemein végezhet+ mveletekkel. A konkrét elemtípusok helyett az ELEMTÍPUS megnevezést fogjuk használni. Tömb A legismertebb összetett típus. Gyakorlatilag mindig ezt használjuk, ha azonos típusú adatok sorozatát akarjuk kezelni. Rögzített elemszámú, bármely elemére annak sorszámával, az indexével hivatkozunk, amelynek feladata egyértelmen megadni, hogy tömbön belül az elem pontosan hol helyezkedik el. Az egyindex tömböket szokás vektornak, a kétindex tömböket mátrixnak nevezni. Az azonosításhoz szükséges indexek számát dimenziónak is nevezik. Füzér (string) A füzér vagy sztring típus egy speciális tömb típus, amelynek elemei karakterek, s hossza nem el+re meghatározott. A füzér egyes elemeire sorszámukkal lehet hivatkozni. Általában tényleges tárbeli hossza 1 bájttal nagyobb, mint a füzér karaktereinek a száma, ez a byte vagy a füzér hosszát, vagy egy speciális füzérlezáró karaktert tartalmaz. Tipikus mvelete egy részének kiemelése, illetve két füzér egyesítése. 13
14 Elemi algoritmusok A számítógépes feladatmegoldás során az algoritmus megtervezésekor bizonyos elemi tevékenységek gyakran felmerülnek megoldandó feladatként. Az ezeket megoldó elemi algoritmusokat (programozási tételeket) mutatjuk meg a következ+kben. Az algoritmusokat mondatszer leírással adjuk meg. Algoritmusok, amelyek egy sorozatból egy adatot állítanak el: Elemek összegzése Adott egy N elem tartalmazza. ELJÁRÁS ÖSSZEGZÉS (A[],N,S) S= 0 I=0 CIKLUS AMÍG I< N S= S +A[I] I=I+1 Lineáris keresés A számsorozat. Határozzuk meg az elemek összegét! A végeredményt az S Adott egy N elem A sorozat, és egy, az elemein értelmezett, T tulajdonság. Döntsük el, hogy van-e olyan eleme a sorozatnak, amely rendelkezik a T tulajdonsággal, és ha van, akkor hányadik! (Ha nincs ilyen tulajdonságú elem, akkor a sorszám értéke legyen -1!) ELJÁRÁS Lineáris_ keresés (A[],N,T,SORSZAM) SORSZAM=-1 I=0 CIKLUS AMÍG I < N ÉS A[I] NEM T tulajdonságú I= I+1 Ha I < N akkor SORSZAM=I Maximum kiválasztása Az el+bbi feladat egy speciális eseteként, egy adott sorozat legnagyobb (vagy esetleg legkisebb) elemének megkeresése is gyakran el+fordul. Adott N elem A számsorozatból keressük ki a legnagyobb elemet! ELJÁRÁS MAXIMUM (A[],N,MAX) MAX= A[0] I=1 CIKLUS AMÍG I < N HA MAX< A[I] AKKOR MAX=A[I] I=I+1 14
15 Megszámlálás A tulajdonság el+fordulása mellett az is kérdés lehet, hogy hány elem rendelkezik ezzel az adott tulajdonsággal. Legyen adott egy N elem A sorozat és egy, az elemein értelmezett, T tulajdonság. Határozzuk meg a T tulajdonsággal rendelkez+ elemek számát! ELJÁRÁS MEGSZÁMLÁLÁS(A[],N,DB) DB= 0 I=0 CIKLUS AMÍG I < N Ha A[I] T tulajdonságú AKKOR DB= DB+1 I=I+1 PÉLDA: Ha a sorozat: 1, 3, 5, 7 a tulajdonság a párosság, akkor DB=0. Ha a sorozat: 1, 2, 4, 8 a tulajdonság a párosság, akkor DB=3. Algoritmusok, amelyek egy sorozatból egy másik sorozatot állítanak el: Kiválogatás Egy sorozat elemei közül azokat válogatjuk ki egy új sorozatba, amelyek megfelelnek egy adott tulajdonságnak. Legyen adott egy N elem A sorozat és egy, az elemein értelmezett, T tulajdonság. Gyjtsük ki a B sorozatba az A sorozat T tulajdonságú elemeit! A készül+ sorozat elemszáma DB lesz. (Ha az A sorozatban nincs T tulajdonságú elem, akkor DB 0 lesz!) Rendezések ELJÁRÁS KIVÁLOGATÁS (A[],N,T,B[],DB) DB=0 I= 0 CIKLUS AMÍG I < N HA A[I] T tulajdonságú AKKOR B[DB]=A[I] DB=DB+1 I=I+1 Gyakran a rendezett elemekkel való mveletvégzés sokkal hatékonyabb, mint rendezetlen elemek esetében. Ezért nagyon fontosak a sorozat elemeit más sorrendbe el+állító algoritmusok. A kívánt rendezési irány lehet növekv+ vagy csökken+ Valamennyi ismertetésre kerül+ rendezési algoritmusban a növekv( sorrend elérése a cél. A többféle rendezési módszer közül a legismertebbek algoritmusát adjuk meg. A rendezéseket mindig helyben, új sorozat létrehozása nélkül kell megoldani. Ha két sorozattag között a reláció nem a kívánt rendezettség szerinti, akkor a tagok felcserélésére van szükség. 15
16 Két elem cseréjét a következ+kben az alábbi módon jelöljük: EGYIK A csere megvalósításához egy segéd változót használunk: MÁSIK. EGYIK MÁSIK jelentése tehát: segéd= egyik egyik= másik másik= segéd Minimum-elven alapuló rendezés A minimumkereséses rendezés lényege az, hogy egy adott intervallumban - amely kezdetben a teljes sorozat - megkeressük a legkisebb elemet, s azt tesszük az els+ helyre. A következ+ lépésben eggyel szkítjük az intervallumot (megnöveljük a sorozat alsó határát jelöl+ indexet), és ismét a legkisebb elemet visszük el+re. Végül a rendezend+ adatok elfogynak, a sorozat végére érünk. A mindenkori legkisebb elem keresése lineáris módszerrel történik. (Ha a kívánt sorrend a csökken+ rendezettség, akkor a maximum-elv rendezési algoritmust használjuk, ami csak a relációban különbözik.) ELJÁRÁS Minimum_elv (A[], N) I=0 CIKLUS AMÍG I < N-1 J=I+1 CIKLUS AMÍG J < N HA A[I] > A[J] AKKOR A[I] A[J] J=J+1 I=I+1 Buborék rendezés A buborék rendezés mindig két szomszédos elemet vizsgál, s ha azok a kívánt rendezettségnek nem megfelel+ relációban vannak, felcseréli +ket, majd tovább lépve újabb elempárt vizsgál. Az elejét+l a végéig ismételten végigpásztázva az egész sorozatot, eljutunk a rendezett állapotig, amikor már nincs szükség cserére. A bels+ ciklus egy lefutása után a legnagyobb elem az utolsó helyre kerül. ELJÁRÁS BUBORÉK_ELV(A[],N) I=1 CIKLUS AMÍG I < N J=0 CIKLUS AMÍG J < N-I HA A[J] > A[J+1] AKKOR A[J] J=J+1 I=I+1 A[J+1] 16
17 Javított buborékos rendezés Ha a buborékos rendezésnél egy teljes bels+ ciklus lefutása alatt egyetlen csere sem volt, akkor a sorozat már rendezett. Ilyenkor feleslegesek a további összehasonlítások. A CSERE változó jelzi azt, hogy a bels+ ciklusban kellett-e cserélni. A bels+ ciklus indulása el+tt, el+készítésként, a változót nullázzuk, és csak akkor lesz újra 1 az értéke, ha cserére volt szükség. Tehát, ha az összes szomszédos elem-pár a kívánt rendezettségnek megfelel+ relációban van, akkor a CSERE változó értéke 0 marad. ELJÁRÁS JOBB_BUBORÉK(A[],N) CSERE = 1 CIKLUS AMÍG CSERE ==1 CSERE = 0 J=0 CIKLUS AMÍG J<N-1 HA A[J]>A[J+1] AKKOR A[J] J=J+1 CSERE =1 A[J+1] Tovább javított buborékos rendezés Mivel a bels+ ciklus egyszeri lefutása után a legnagyobb elem az utolsó helyen áll, ezt az elemet már felesleges vizsgálni. Ebben az algoritmusban a bels+ ciklus minden alkalommal eggyel kevesebb elemre fut le, mert a DB változót a bels+ ciklus befejez+dése után csökkentjük. ELJÁRÁS LEGJOBB_BUBORÉK(A[],N) CSERE = 1 DB = N CIKLUS AMÍG CSERE == 1 CSERE = 0 J=0 CIKLUS AMÍG J< DB -1 HA A[J]>A[J+1] AKKOR A[J] J=J+1 DB = DB-1 CSERE =1 A[J+1] 17
Bevezetés a programozásba Tartalomjegyzék
Bevezetés a programozásba Tartalomjegyzék Bevezetés a programozásba...1 Tartalomjegyzék...1 A hardver és a szoftver jelentségének változása...2 A hardver és a szoftver kapcsolata: a számítógépek m#ködése...2
RészletesebbenAdatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
RészletesebbenProgramozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
RészletesebbenProgramozási tételek. Dr. Iványi Péter
Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,
RészletesebbenPROGRAMOZÁSI TÉTELEK
PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat
RészletesebbenA számrendszerekrl általában
A számrendszerekrl általában Készítette: Dávid András A számrendszerekrl általában Miért foglalkozunk vele? (Emlékeztet) A mai számítógépek többsége Neumann-elv. Neumann János a következ elveket fektette
RészletesebbenPásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28
RészletesebbenElőfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r
RészletesebbenEgyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
RészletesebbenELEMI PROGRAMOZÁSI TÉTELEK
ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenKeresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala
RészletesebbenB I T M A N B I v: T M A N
Műszaki informatika IPA Tesztek+Megoldások B I v: T 2014.02.15 M A N 1/41 Ellenőrző kérdések Alapfogalmi kitérő kérdéssor IPA kérdéssor 2/41 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye a
RészletesebbenTartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Részletesebben1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
RészletesebbenBevezetés a programozásba. 5. Előadás: Tömbök
Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy
RészletesebbenOOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos
OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük
RészletesebbenInformatika érettségi vizsga
Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés
RészletesebbenTérinformatikai algoritmusok Elemi algoritmusok
Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,
RészletesebbenAdatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
RészletesebbenRendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat
9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:
RészletesebbenProgramozás alapjai (ANSI C)
Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu
RészletesebbenTérinformatikai algoritmusok Elemi algoritmusok
Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot
RészletesebbenTömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási
RészletesebbenÖsszetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
RészletesebbenBevezetés az informatikába gyakorló feladatok Utoljára módosítva:
Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 10 3.1. Megoldások... 12 A gyakorlósor lektorálatlan,
RészletesebbenAlkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek
RészletesebbenFelvételi vizsga mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív
RészletesebbenAritmetikai utasítások I.
Aritmetikai utasítások I. Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példákat. A 8086/8088-as mikroprocesszor memóriája és regiszterei a little endian tárolást
RészletesebbenAlgoritmusok. Dr. Iványi Péter
Algoritmusok Dr. Iványi Péter Egyik legrégebbi algoritmus i.e. IV század, Alexandria, Euklidész két természetes szám legnagyobb közös osztójának meghatározása Tegyük fel, hogy a és b pozitív egész számok
Részletesebben1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
Részletesebben4. Fejezet : Az egész számok (integer) ábrázolása
4. Fejezet : Az egész számok (integer) ábrázolása The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson
RészletesebbenProgramozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
RészletesebbenProgramozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
RészletesebbenBevezetés az informatikába gyakorló feladatok Utoljára módosítva:
Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a
RészletesebbenFüggvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:
Függvények 015. július 1. 1. Feladat: Határozza meg a következ összetett függvényeket! f(x) = cos x + x g(x) = x f(g(x)) =? g(f(x)) =? Megoldás: Összetett függvény el állításához a küls függvényben a független
RészletesebbenLEBEGŐPONTOS SZÁMÁBRÁZOLÁS
LEBEGŐPONTOS SZÁMÁBRÁZOLÁS A fixpontos operandusoknak azt a hátrányát, hogy az ábrázolás adott hossza miatt csak korlátozott nagyságú és csak egész számok ábrázolhatók, a lebegőpontos számábrázolás küszöböli
RészletesebbenALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.
RészletesebbenAssembly programozás: 2. gyakorlat
Assembly programozás: 2. gyakorlat Számrendszerek: Kettes (bináris) számrendszer: {0, 1} Nyolcas (oktális) számrendszer: {0,..., 7} Tízes (decimális) számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális
Részletesebben2. Fejezet : Számrendszerek
2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
RészletesebbenBevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
Részletesebben5. Fejezet : Lebegőpontos számok
5. Fejezet : Lebegőpontos The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda
Részletesebben5. Fejezet : Lebegőpontos számok. Lebegőpontos számok
5. Fejezet : Lebegőpontos The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
RészletesebbenThe Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003
. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenAdatbázis rendszerek Gy: Algoritmusok C-ben
Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés
Részletesebben5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenAdatok ábrázolása, adattípusok
Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában
RészletesebbenProgramozási nyelvek 6. előadás
Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan
RészletesebbenAdatszerkezetek 1. Dr. Iványi Péter
Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk
Részletesebben3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}
3. gyakorlat Számrendszerek: Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} Alaki érték: 0, 1, 2,..., 9,... Helyi
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenProgramozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
RészletesebbenSZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1
INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t
RészletesebbenHatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
RészletesebbenDigitális technika VIMIAA hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA02 14. hét Fehér Béla BME MIT Digitális technika
RészletesebbenProgramozási nyelvek a közoktatásban alapfogalmak I. előadás
Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)
RészletesebbenBevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév
Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Az informatika története (ebből a fejezetből csak a félkövér betűstílussal szedett részek kellenek) 1. Számítástechnika
RészletesebbenKészítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
RészletesebbenA valós számok halmaza
VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben
RészletesebbenDigitális technika VIMIAA hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK VIMIAA02 14. hét Fehér Béla BME MIT Rövid visszatekintés, összefoglaló
RészletesebbenAdatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)
Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),
RészletesebbenProgramozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
RészletesebbenHarmadik gyakorlat. Számrendszerek
Harmadik gyakorlat Számrendszerek Ismétlés Tízes (decimális) számrendszer: 2 372 =3 2 +7 +2 alakiérték valódi érték = aé hé helyiérték helyiértékek a tízes szám hatványai, a számjegyek így,,2,,8,9 Kettes
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
RészletesebbenProgramozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
RészletesebbenSegédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez
Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Sándor Tamás, sandor.tamas@kvk.bmf.hu Takács Gergely, takacs.gergo@kvk.bmf.hu Lektorálta: dr. Schuster György PhD, hal@k2.jozsef.kando.hu
RészletesebbenSorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
Részletesebben9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
RészletesebbenLINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL
LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény
RészletesebbenAnalízis előadás és gyakorlat vázlat
Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 2010-11. I. Félév 2 1. fejezet Számhalmazok és tulajdonságaik 1.1. Nevezetes számhalmazok ➀ a) jelölése: N b)
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
RészletesebbenÉrdekes informatika feladatok
A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket
RészletesebbenProgramozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
RészletesebbenA programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
Részletesebben(jegyzet) Bérci Norbert szeptember 10-i óra anyaga. 1. Számrendszerek A számrendszer alapja és a számjegyek
Egész számok ábrázolása (jegyzet) Bérci Norbert 2015. szeptember 10-i óra anyaga Tartalomjegyzék 1. Számrendszerek 1 1.1. A számrendszer alapja és a számjegyek........................ 1 1.2. Alaki- és
RészletesebbenC programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi
C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási
RészletesebbenSZÁMÉRTÉKEK (ÁT)KÓDOLÁSA
1 ELSŐ GYAKORLAT SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA A feladat elvégzése során a következőket fogjuk gyakorolni: Számrendszerek közti átváltás előjelesen és előjel nélkül. Bináris, decimális, hexadexcimális számrendszer.
RészletesebbenHaladó rendezések. PPT 2007/2008 tavasz.
Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés
Részletesebben22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
RészletesebbenC programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
Részletesebben1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
RészletesebbenRendezések. Összehasonlító rendezések
Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk
RészletesebbenSZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA
SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA BINÁRIS (kettes) ÉS HEXADECIMÁLIS (tizenhatos) SZÁMRENDSZEREK (HELYIÉRTÉK, ÁTVÁLTÁSOK, MŰVELETEK) A KETTES SZÁMRENDSZER A computerek világában a
RészletesebbenB I T M A N B I v: T M A N
Műszaki informatika Tesztek+Megoldások B I v: T 2015.04.19 M A N 1/42 Tesztek + Megoldások Alapfogalmi kitérő kérdéssor IPA kérdéssor CPA kérdéssor 2/42 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye
RészletesebbenInformatikai Rendszerek Alapjai
Informatikai Rendszerek Alapjai Egész és törtszámok bináris ábrázolása http://uni-obuda.hu/users/kutor/ IRA 5/1 A mintavételezett (egész) számok bináris ábrázolása 2 n-1 2 0 1 1 0 1 0 n Most Significant
RészletesebbenHalmazelméleti alapfogalmak
Halmazelméleti alapfogalmak halmaz (sokaság) jól meghatározott, megkülönböztetett dolgok (tárgyak, fogalmak, stb.) összessége. - halmaz alapfogalom. z azt jelenti, hogy csak példákon keresztül magyarázzuk,
RészletesebbenVektorok. Octave: alapok. A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István
Vektorok A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Octave: alapok Az octave mint számológép: octave:##> 2+2 ans = 4 Válasz elrejtése octave:##> 2+2; octave:##> + - / * () Hatványozás:
RészletesebbenÖsszetett programozási tételek
Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember
RészletesebbenFixpontos és lebegőpontos DSP Számrendszerek
Fixpontos és lebegőpontos DSP Számrendszerek Ha megnézünk egy DSP kinálatot, akkor észrevehetjük, hogy két nagy család van az ajánlatban, az ismert adattipus függvényében. Van fixpontos és lebegőpontos
RészletesebbenRendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.
Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom
Részletesebben