Algoritmizálás
420 likes | 669 Vues
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.
Algoritmizálás
E N D
Presentation Transcript
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égre-hajtá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ásaiCiklus 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ásaiCiklus 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ásaiAmí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) Ki: változó(k) Adatbevitel 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 • Az F feltételtől függően a vezérlés az igaz vagy hamis ágon folytatódik N I Feltétel
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ú) Feltétel Igen Tevékenység(ek)
Struktogram Szelekció (kétágú) Feltétel Igen Nem Tevékenység(ek) Tevékenység(ek)
Struktogram Szelekció (többágú) Feltétel Feltétel1 Feltétel2... Egyébként ... Tevék.2 Tevék.1
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:=153B:= - 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!