Algoritmusok. Hogyan csináljam?

Hasonló dokumentumok
AZ ALGORITMUSRÓL. (bevezetés a programozáshoz)

RÉSZ IPARI TERMELÕ-SZOLGÁLTATÓ TEVÉKENYSÉG ELLENÕRZÉSE A

AZ ALGORITMUS. az eredményt szolgáltatja

Jancskárné Anweiler Ildikó: PLC programozás az IEC szabvány szerint KÉZIRAT!

Informatikus informatikus Térinformatikus Informatikus T 1/9

SZAKDOLGOZAT. Kiss Albert

hatására hátra lép x egységgel a toll

mynct v0.0.1 Maró verzió Kezelési leírás

2. tartály tele S3 A tartály tele, ha: S3=1 I tartály tele S5 A tartály tele, ha: S5=1 I 0.4

TANMENETJAVASLAT AZ ÚJ KERETTANTERVHEZ MATEMATIKA 1. ÉVFOLYAM KÉSZÍTETTÉK: KURUCZNÉ BORBÉLY MÁRTA ÉS VARGA LÍVIA TANKÖNYVSZERZŐK 2013

INFORMATIKAI ALAPISMERETEK

ÍRÁSBELI ÖSSZEADÁS, KIVONÁS. A MŰVELETI SORREND SZÁMÍTÁSOKBAN ÉS SZÖVEGES FELADATOK MEGOLDÁSA SORÁN. 9. modul

Eszterházy Károly Főiskola Matematikai és Informatikai Intézet. Adatszerkezetek és algoritmusok. Geda Gábor

Név:... Kód: LEVÉL INFORMATIKA TEHETSÉGGONDOZÁS 2011

9. 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.

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Adatstruktúrák és algoritmusok

Bevezetés a C++ programozásba

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

SZÁMÍTÓGÉPES ÚTITERV KÉSZÍTÉS AZ AGGLOMERÁCIÓ KÖZFORGALMÚ KÖZLEKEDÉSÉHEZ

Joint Test Action Group (JTAG)

Energiahatékonysági Alprogram

A tananyag. Témakörök. Optimum. Tudja meghatározni a numerikus, és karakteres adtok tárolt alakját.

Elektronika 2. TFBE1302

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

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

Programozás elmélet tananyag

LEGO robotok. IV. rész

Java programozási nyelv

Generátor harmadik harmonikus testzárlatvédelem funkcióblokk leírása

Táblázatkezelő alkalmazása

INFORMATIKA. 6 évfolyamos osztály

A BENCHMARKING AZ. - a legjobb gyakorlatról - Dr. Farkas Katalin december 16.

Az építész- és az építőmérnök képzés szerkezeti és tartalmi fejlesztése

Az ábra felső részében a feladatok funkcionális felosztása, alul pedig a konkrét műveletek találhatóak.

Internet programozása. 3. előadás

Programozási alapismeretek 1. előadás

A rádiólokációs információfeldolgozás folyamata

Algoritmusok. Dr. Iványi Péter

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

INFORMATIKAI ALAPISMERETEK

Aláírást-ellenőrző alkalmazás. funkcionális modellje és követelményrendszere. CWA 14171:2004 alapján

Munkakör-értékelés. Eredmények felhasználása: Két módszercsoport: Bérezési rendszer Besorolási rendszer

Az algoritmusok alapelemei

1. Valósítsa meg az alábbi alapkapcsolásokat: Az 1. ábrán az A) kapcsolásban amíg a

Információs technológiák 4. Ea: A lélek. A csak szidható kézzelfoghatatlan

Számítógépek felépítése, alapfogalmak

RENDÉSZETI ALAPISMERETEK

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

I. Gondolkodási módszerek: (6 óra) 1. Gondolkodási módszerek, a halmazelmélet elemei, a logika elemei. 1. Számfogalom, műveletek (4 óra)

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

CDC 2000 Vezérlő 6.Alap-,és speciális funkció beállítások

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

TRIMx-EP DIGITÁLIS SZINKRON KAPCSOLÁS TRANSZFORMÁTOROK. Alkalmazási terület

Vezérlés garázs- és kertkapumotorokhoz FX 24

Széchenyi István Szakképző Iskola

A keretrendszer. A linuxos keretrendszer az eredeti alapján készült (nagyrészt C++-ban), ezért nagyjából azzal azonos funkcionalitásokkal rendelkezik.

TANMENET javaslat. a szorobánnal számoló. osztály számára. Vajdáné Bárdi Magdolna tanítónő

TestLine - 9.A hardver Minta feladatsor

Használati utasítás ExTox Gázjelző központ ET-1D széria - Rövidített változat -

PROGRAMOZÁS MÓDSZERTANI ALAPJAI I. TÉTELEK ÉS DEFINÍCIÓK

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Programozás alapjai (ANSI C)

A Health Tracker TM karóra használati útmutatója

A számítógép története (olvasmány)

Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241

Vidékfejlesztési Program bemutatása

3. Strukturált programok

Adatvédelmi tájékoztató

STAGNOLI PROFESSIONAL VEZÉRLÉS

FAAC 531 EM. Az 531 EM automata mozgató belső használatra és garázskapuk működtetésére lett tervezve és gyártva. Minden másfajta használat helytelen.

8. A paraméterek leírása

Vizuális szemléltetés (tömörített, vázlatos változat)

TECHNIKA ÉS ÉLETVITEL 5-8. évfolyam

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

DT4220 E xx xx xx (PS) Folyamatindikátor. Kezelési útmutató

Jelalakvizsgálat oszcilloszkóppal

Máté: Számítógép architektúrák

MS-LT-01 Adatbeviteli Terminál Üzemeltetési Kézikönyv

ADATBÁZIS ALAPÚ RENDSZEREK

TERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉS

2. Interpolációs görbetervezés

INFORMATIKAI ALAPISMERETEK

1. BEVEZETÉS A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5

MATEMATIKA TAGOZAT 5-8. BEVEZETŐ. 5. évfolyam

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

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

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

Entra-SYS Kft. Gépkönyv LPHH-01 típusú huzalhajlító berendezéshez

Kosárfonó és fonottbútor-készítő Népi kézműves

SSADM. Az SSADM (Structured System Analysis and Desing Method) egy rendszerelemzési módszertan.

DVR-812 VEZETÉK NÉLKÜLI DVR HASZNÁLATI ÚTMUTATÓ

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.

8. MODELLEZÉS AZ ALKATRÉSZGYÁRTÁS TECHNOLÓGIAI TERVEZÉSÉNÉL

INFORMATIKA ZÁRÓSZIGORLAT TEMATIKA

Vektorugrás védelmi funkció blokk

A fejlesztés közös koncepciója

HASZNÁLATI UTASÍTÁS GT POWER A6-10

A médiatechnológia alapjai

Átírás:

Algoritmusok Hogyan csináljam? 1

Az algoritmus fogalma Algoritmusnak olyan pontos előírást nevezünk, amely megmondja, hogy bizonyos feladat megoldásakor milyen műveleteket milyen meghatározott sorrendben kell elvégeznünk. Az elnevezés Mohamed ibn Musza Abu Abdallah al-hvárizmi al-madzsúszi al- Kutrubulli perzsa-arab tudós (800-850) nevének latinos formájából (Algorismus) alakult ki. 2

Az algoritmusok haszna Egy összetett feladat megoldását általában nagy tudású emberek tudják elvégezni. Ha valaki elkészíti egy adott folyamat algoritmusát, a megfelelő utasítások alapján kisebb képességű egyének is végre tudják hajtani a feladatokat. 3

Az algoritmusok szerkezete Az algoritmus műveletekből és vezérlő szerkezetekből épül fel. A művelet egy olyan átalakítás (transzformáció) amely az adatok aktuális értékeit felhasználva előállítja az adatok új értékeit. Például: egy változó értékének növelése eggyel, az adatok sorbarendezése, stb. 4

Vezérlő szerkezetek A vezérlő szerkezetek a feladat műveletekre bontását, és ezek végrehajtási sorrendjét írják le. Vezérlő szerkezetek: szekvencia (műveletsor), szelekció (kiválasztás, döntés), iteráció (ismétlés, ciklus) 5

Algoritmusok a programozásban A program a számítógép nyelvére lefordított algoritmus. A program fejlesztése során hasznos dolog az ember számára érthető módon leírni a megfelelő algoritmust. 6

Az algoritmus leírásának módjai Mondatszerű leírás Grafikus ábrázolás Folyamatábra Struktogram Jackson-ábra 7

Példa Írjunk algoritmust két szám hányadosának kiszámítására! 8

Mondatszerű leírás Be: x,y (osztandó, osztó) Ha y 0 y 0 akkor z = x/yx Ki: z Különben Ki: Nincs megoldás! Vége 9

Struktogram Igen z = x/yx Ki: z Be: x,y y 0 Nem Ki: Nincs megoldás 10

Jackson-ábra Osztás Be: x,y y 0 Igen Jó eset o Nem Rossz eset o z = x/y Ki: z Ki: Hiba 11

Folyamatábra Start Be: x,y y 0 i z=x/y n Ki: z Be: Hiba End 12

A folyamatábra elemei Adatbevitel, kiírás (input, output) Tevékenység (szekvencia) Alprogram (eljárás, függvény) Választás (szelekció) Algoritmus eleje és vége Kapcsolódási pont 13

A feladat megoldásának lépései A feladat leírása, megértése Az algoritmus felállítása Az algoritmus megvalósítása (programírás) A program ellenőrzése (tesztelés) 14

A feladat elemzése Részletes, pontos leírás Bemenő adatok (input) Kimenő eredmények (output) A feladat modellezése (képletek) 15

Az algoritmus tervezése Megoldáskeresés Folyamatábra vagy más módszer Helyességvizsgálat az algoritmus elemzése 16

Az algoritmus megvalósítása A programozási nyelv kiválasztása (C++) A program megírása az adott nyelven. 17

A program tesztelése A logikai és programozói hibák keresése Egyes hibákat a fordító program jelez. Logikai hibák a program tervezése közben jöttek létre a fordító nem jelzi őket. Hibakereső program debuger A program tesztelése fiktív és valós bemenő adatokkal. 18

Vezérlő szerkezetek Az utasítások sorrendjét adják meg. Bármely feladat megoldásához elegendő a következő három vezérlő szerkezet: Lineáris szerkezet (szekvencia) Elágazás (szelekció) Ismétlés (iteráció, ciklus) 19

Lineáris algoritmusok Műveletsor A vezérlés az előző utasításról a következőre helyeződik. Szaggatott vonal a lineáris struktúra elemei egységet képeznek. U1 U2 Un 20

Elágazásos algoritmus (szelekció) Egyes utasítások elvégzése feltételhez kötött. Két fajta elágazás: Ha feltétel akkor utasítás Ha feltétel akkor utasítás_1 különben utasítás_2 A feltétel logikai eredményt ad: igaz, hamis 21

Ha... akkor... Feltétel Hamis Napsütés Hamis Igaz Igaz Utasítás Strand 22

Ha... akkor... különben... Feltétel Hamis Napsütés Hamis Igaz Igaz Utasítás_1 Utasítás_2 Strand TV 23

Ciklus (iteráció) Egy adott feladatot többször végzünk el. Az ismétlést egy feltétel vezérli. A ciklus teste (magja): az ismétlődő utasítások. Két ciklusfajta: elöltesztelős hátultesztelős ciklus. 24

Elöltesztelős ciklus Ha a feltétel igaz, ismételd, különben hagyd abba. Feltétel Hamis Igaz Utasítás 25

Hátultesztelős ciklus Ismételd, és vizsgáld meg a feltételt: ha hamis, hagyd abba. Utasítás Igaz Feltétel Hamis 26