ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK



Hasonló dokumentumok
Programozás alapjai (ANSI C)

PROGRAMKÉSZÍTÉS LÉPÉSEI, PROGRAMOZÁSI ELVEK

Algoritmusok tervezése

Előző óra összefoglalása. Programozás alapjai C nyelv 3. gyakorlat. Karakter típus (char) Karakter konstansok. Karaktersorozatot lezáró nulla

Negatív alapú számrendszerek

AZ ALGORITMUS. az eredményt szolgáltatja

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Számítógép architektúra

Programozási alapismeretek 1. előadás

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

Algoritmizálási feladatok

Webprogramozás szakkör

Az algoritmusok alapelemei





























Algoritmusok, adatszerkezetek I.

Algoritmusok és adatszerkezetek I. 10. előadás

Másolásra épülő algoritmusok

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

8. Programozási tételek felsoroló típusokra

Algoritmusok, adatszerkezetek, objektumok

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Egyirányban láncolt lista

Programozás alapjai 1.Gy: Algoritmizálás P R O

Algoritmusok. Dr. Iványi Péter

Algoritmizálás és adatmodellezés tanítása 1. előadás

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Szoftver alapfogalmak

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula

Egyszerű algoritmusok

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Vezérlési szerkezetek

/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

SZERZŐ: Kiss Róbert. Oldal1

Algoritmusok és adatszerkezetek I. 1. előadás

Vezérlési szerkezetek

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Aritmetikai kifejezések lengyelformára hozása

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Egy negyedrendű rekurzív sorozatcsaládról

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Ellenőrző kérdések és lényegre törő válaszok az ütemezési feladatok osztályozása témakörből :

A mágneses tér energiája, állandó mágnesek, erőhatások, veszteségek

Programozással ismerkedőknek ajánlom. SZERZŐ: Szilágyi Csilla. Oldal1

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria V.

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

A foglalkozás céljának eléréséhez a következő tevékenységeket végezzük el:

A struktúrált programozás

Dr. Ratkó István. Matematikai módszerek orvosi alkalmazásai Magyar Tudomány Napja. Gábor Dénes Főiskola

Az informatika kulcsfogalmai

Algoritmusok. Hogyan csináljam?

A méréstechnikai tervezés menete

Környezetvédelmi analitika

Diszkrét matematika 2. estis képzés

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

B I T M A N B I v: T M A N

J. Carelman: Leegyszer!sített számológép. Programozás I. A C programozás alapjai 1. Gyakorlat. Gyakorlatok

KÖNYVTÁRRENDSZER. Igen

Imperatív programozás

2. személyes konzultáció. Széchenyi István Egyetem

Bevezetés a kémiai termodinamikába

Matematikai modellezés

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Informatika E FAKT , = ±

Átírás:

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK 1. ALGORITMUS FOGALMA ÉS JELLEMZŐI Az algortmus egyértelműen végreajtató tevékenység-, vagy utasítássorozat, amely véges sok lépés után befejeződk. 1.1 Fajtá: - Hétköznap algortmusok (pl. png-pongozás, udvarlás stb.) - Matematka algortmusok (pl. Eukldesz algortmus, áromszög szerkesztése árom oldalból) - Számítógépes algortmusok, amelyek alapvető feladata az adatfeldolgozás. Jellemző tevékenysége: 1.2 Jellemző: o adatbekérés, kírás (I/O műveletek), o értékadás, o feltételek kértékelése, o vezérlés átadás - Egyértelműség: azonos feltételek között mndg pontosan ugyanúgy kell végreajtódna. - Végesség: az algortmusnak véges sok lépés után be kell fejeződne, különben a gyakorlatban asználatatlan. - Olyan utasításokat, tevékenységeket tartalmazzon, amelyeket a végreajtója - legyen az ember, vagy számítógép megért, és képes s végreajtan. 1.3 Az algortmusok megfogalmazásának eszköze 1.3.1 Hétköznap nyelv Egy algortmus megfogalmazásának a legtermészetesebb módja az, ogy egyszerűen a saját szavankkal elmondjuk a végreajtandó tevékenységeket. án! E megoldást alkalmazva vszonylag egyszerű tevékenységeket s osszasan el kell magyaráznunk! Ennek az oka az, ogy a étköznap nyelvben nncsenek kész kfejezésenk az algortmusokban megszokott fordulatokra. 1

1.3.2 Folyamatábra A folyamatábra az algortmusok leírásának klasszkus eszköze. A tevékenységek végreajtásának a sorrendjét különféle geometrkus alakzatok, lletve nylak segítségével atározzuk meg. A folyamatábra alapeleme: A program kezdete: START A program vége: STOP Adatbevtel, kírás: művelet Egyéb művelet: művelet Elágazás: feltétel - A folyamatábra-készítésnek többféle jelrendszere s létezk, melyek alapelemekben megegyeznek. Alegegyszerűbb jelrendszer csak kevés grafkus elemet asznál, az összetettebb algortmkus szerkezeteket pl. cklusokat ezek segítségével írja le. - A grafkus elemek alkalmazása matt folyamatábránk már rövd program esetében s terjedelmes leet, akár több oldalas s, am neézkessé teet az ábrázolást. - A nylakat körültekntően kell alkalmaznunk, neogy áttekntetetlenné váljon az algortmusunk! Ha össze-vssza nylazgatunk, akkor programunk strukturálatlan és javítatatlan lesz. 1.3.3 Stuktogram Eleme: A stuktogram egymás alá, lletve egymásba rajzolt téglalapok segítségével írja le algortmusankat. Előnye, ogy támogatja a szabályos struktúrák asználatát. 2

- A stuktogramban nncs a program kezdetét és végét jelző szmbólum, valamnt nncsenek nylak. A program végreajtása felülről lefelé aladva történk. - A stuktogram a folyamatábránál tömörebb és bztonságosabb algortmus-leíró eszköz, mvel csak szabályos struktúrák ábrázolását tesz leetővé. Példa: korábban specfkált feladat (áromszög terület) feladat megoldása: a., Folyamatábrával: START a > 0 b > 0 c > 0 a+b>c a+c>b b+c>a s : = (a+b+c)/2 T : s(s a)(s b)(s c) K: T STOP 3

b., Stuktogrammal: a > 0 b > 0 c > 0 a + b > c a + c > b b + c > a s : = (a + b + c ) / 2 T : s(s a)(s b)(s c) K: T 1.3.4 Mondatszerű leírás A mondatszerű leírás segítségével grafkus szmbólumok nélkül, magyar nyelvű, a programozás nyelvek kulcsszavara emlékeztető specáls kfejezésekkel fogalmazatjuk meg algortmusankat. Az előző példa mondatszerű leírással megoldva: Program HaromszogTerulet: Cklus Cklus amíg nem ( a > 0 ) Cklus amíg nem ( b > 0 ) Cklus amíg nem ( c > 0 ) amíg nem ( a+b>c és a+c>b és b+c>a) s:=(a+b+c)/2 T : s(s a)(s b)(s c) K: T Program vége. - A mondatszerű leírás nylvánvaló előnye, ogy nem kell grafkus jelekkel bajlódnunk az algortmus készítésekor. 4

- Megfgyelető, ogy az alkalmazott kfejezések megfelelő a legtöbb programozás nyelvben megtalálatók. Ezért az lyen módon megírt algortmust könnyű bármely programozás nyelven kódoln. - Az előző pontban leírtak matt szokás a mondatszerű leírást pszeudo-kódnak s nevezn. Látnunk kell persze, ogy ez nem gaz programozás nyelv, szen utasításkészlete lényegében az adatbekérésre, kíratásra, valamnt az algortmkus szerkezetek leírására szorítkozk. De éppen e tulajdonsága tesz alkalmassá arra, ogy segítségével tömören meg tudjuk fogalmazn programjank lényegét. 5