Transcript Algoritmus
Algoritmizálás Oberhuber Balázs Algoritmus készítés • Algoritmus – – – – – Utasítások sorozata Egyértelműen végrehajthatók Adatokkal dolgozik Bemenő (input) adatok Kimenő (output) adatok Algoritmus készítés • Algoritmus – – – – Véges számú lépésből áll Hatékony Elronthatatlan Felhasználóbarát A programkészítés lépései • Feladatkitűzés – A feladat megfogalmazása hétköznapi, vagy a meg-rendelő szakmai nyelvén. A megvalósíthatóságot a rendszerszervező vizsgálja. • Specifikáció – A rendszerszervező, a programozó és a megrendelő meghatározzák az alkalmazás feltételeit és határait. Itt határozzák meg a javadalmazást, és az elkészítés várható idejét. A programkészítés lépései • Algoritmustervezés – A program tervezője kialakítja a menürendszert, elkészíti a képernyőtervet, meghatározza az adatábrázolási módokat és a feladatokat megvalósító algoritmusokat. • Kódolás – A program megvalósítása már egy konkrét programozási nyelven történik. A programkészítés lépései • Tesztelés – Alapos előkészítés esetén mechanikusan elvégezhető lépés. A korábbi lépések folyamán összegyűjtött, esetleges szélső és extrém mintaadatok bevitelével ellenőrzik a program működését. A programkészítés lépései • Dokumentálás – Egy programhoz két dokumentációt kell elkészíteni. • A Felhasználói kézikönyv tartalmazza a program céljának közérthető nyelven történő leírását, az installálás menetét, egy menürendszer leírást, bemutatja a jellegzetesebb képernyőképeket. • A Fejlesztői kézikönyv tartalmazza az összes korábbi fázisban keletkezett dokumentációt. A programkészítés lépései • Átadás – A felhasználó ekkor ismeri meg a véglegesnek szánt verziót, és veszi teljes mértékben birtokába. A nagyobb programok esetén a fejlesztők kiképzik a későbbi kezelőket a használatra. • Karbantartás – Ha a program használata folyamán rendellenességek tapasztalhatók, akkor a fejlesztők kötelessége azokat kijavítani a garanciális időn belül. Algoritmusleíró eszközök • Mondatszerű leírás • Folyamatábra • Struktogram Mondatszerű leírás • Beolvasó és kiíró utasítások – Formájuk • BE: változók felsorolása • KI: kifejezések felsorolása • Értékadó utasítás – Formája • Változó := kifejezés – A Változó felveszi a Kifejezés aktuális értékét Mondatszerű leírás • Elágazások (feltételes utasítások) – Feltételes utasításvégrehajtás (egyirányú elágazás) • Formája – Ha <feltétel> akkor <utasítás> • Ha a feltétel igaz, akkor az utasítás végrehajtódik. Ha hamis, akkor nem hajtódik végre – Kétirányú elágazás • Formája – Ha <feltétel> akkor <utasítás1> Különben <utasítás2> Elágazás vége • Ha a feltétel igaz, akkor utasítás1 hajtódik végre, ha nem, akkor az utasítás2. Mondatszerű leírás • Elágazások (feltételes utasítások) – Többirányú elágazás • Formája – Elágazás kezdete <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ébként <utasítás_egyéb> Elágazás vége • A legelső teljesülő feltételhez tartozó utasítás kerül végrehajtásra. Ha egyik feltétel sem teljesül akkor utasítás_egyéb hajtódik végre. • Bármely esetben az elágazás vége után folytatódik a program Mondatszerű leírás • Ciklusszervező utasítások – Számlálós ciklus • Formája – Ciklus <ciklusváltozó>:=<kezdőértéktől> <végértékig> <lépésközzel> ciklusmag utasításai Ciklus vége • A ciklus változója a kezdőértékről indul és lépésközzel változik a végérték eléréséig. A három együttesen határozza meg, hogy hányszor kerül végrehajtásra a ciklusmag. Mondatszerű leírás • Ciklusszervező utasítások – Elöltesztelő ciklus • Formája – Ciklus amíg <feltétel> ciklusmag utasításai Ciklus vége • Amíg a feltétel teljesül, addig a ciklusmag végrehajtásra kerül, ha már nem teljesül akkor a ciklus vége után folytatódik a program. Mondatszerű leírás • Ciklusszervező utasítások – Hátultesztelő ciklus • Formája – Ciklus ciklusmag utasításai Amíg <feltétel> (Ciklus vége) • A ciklusmag mindaddig végrehajtásra kerül, amíg a feltétel nem teljesül. Ha teljesül, akkor a ciklus vége után folytatódik a program. • A ciklusmag egyszer mindenképp végrehajtódik. Folyamatábra START • Határszimbólumok – A program elejét és a végét jelzik STOP Folyamatábra Be:változó(k) Adatbevitel Ki: változó(k) Adatkiírás Folyamatábra • Tevékenység – – – – Értékadó Műveletvégrehajtás Aritmetikai kifejezés kiértékelése Stb. Folyamatábra • Döntéscsomópont I F eltétel N – Az F feltételtől függően a vezérlés az igaz vagy hamis ágon folytatódik Folyamatábra Számlálós ciklus Folyamatábra Csatlakozási pontok 1. 1. Struktogram Tevékenység (szekvencia) Tevékenység1 Tevékenység 2 Struktogram Szelekció (egyágú) Igen Tevékenység(ek) Feltétel Struktogram Szelekció (kétágú) Igen Feltétel Tevékenység(ek) Nem Tevékenység(ek) Struktogram Szelekció (többágú) Feltétel Feltétel1 Tevék.1 Feltétel2... Tevék.2 Egyébként ... Struktogram Ciklus (számlálós) Ciklusváltozó:= ….. tól ….ig Ciklusmag Struktogram Ciklus (elöltesztelő) Feltétel Ciklusmag Struktogram Ciklus (hátultesztelő) Ciklusmag Feltétel Adattípusok • Egyszerű • Összetett Egyszerű adattípusok • Egész – – – – Byte Word Integer Longint • Valós – Real • Karakter – Char – String • Logikai – Boolean Egyszerű adattípusok • Egész – Egész számok halmaza – Előjeles egészek • Túlcsordulás fordulhat elő! – 2 bájtot foglal – Példa • A:=153 B:= - 25 Egyszerű adattípusok • Valós – – – – Valós számok halmaza Lebegőpontos formátum 6 bájtot foglal Példa • A:=13.125 Egyszerű adattípusok • Karakter – Bármilyen ASCII kódú karakter – 1 bájtot foglal – Példa: • A:=‘Y’ Egyszerű adattípusok • Logikai – Két értéke van: • IGAZ (TRUE) (1) • HAMIS (FALSE) (0) – 1 bájtot foglal Összetett adattípusok • • • • • Tömb Szöveg Verem Lista Rekord A lekvár • Menj el a nagymamához! • Kérjél tőle 5 üveg baracklekvárt! • Hozd haza a lekvárokat! A lekvár (irány a nagyi) • Menj ki a házból! • Várj a buszra! • Ha jön 10 percen belül, akkor Szállj fel a buszra! Különben menj gyalog! • Csengess be a nagymamához! A lekvár (a beszerzés) • Menj el a nagymamához! • Ha otthon van akkor kérj tőle 5 üveg baracklekvárt! Különben vegyél a boltban 5 üveg baracklekvárt! • Hozd haza a lekvárokat! A lekvár (boltban) • • • • Menj be a boltba! Vegyél le a polcról 5 üveg baracklekvárt! Fizesd ki a lekvárokat! Tedd a lekvárokat a szatyrodba! A lekvár (a polcnál) • Csináld ötször: – Vegyél le a polcról 1 üveg baracklekvárt! – Tedd a kosaradba a lekvárt! A lekvár (az egész program) Menj el a nagymamához! • Menj ki a házból! • Várj a buszra! • Ha jön 10 percen belül, akkor Szállj fel a buszra! Különben Menj gyalog! • Csengess be a nagymamához! Kérjél tőle 5 üveg baracklekvárt! • Ha otthon van akkor Kérj tőle 5 üveg baracklekvárt! Különben Menj be a boltba! – Csináld ötször: • Vegyél le a polcról 1 üveg baracklekvárt! • Tedd a kosaradba a lekvárt! – Fizesd ki a lekvárokat! – Tedd a lekvárokat a szatyrodba! Hozd haza a lekvárokat!