10. tétel Algoritmus leíró eszközök ismerete A programírás lépései - A helyes programkészítés lépései: - a feladat megfogalmazása: egyértelműen rögzíteni kell (lehetőleg írásban) az elérendő célt a lehetséges pontossággal, a figyelembe vehető feltételekkel, különböző korlátok megadásával. Itt lehet elkövetni az első hibákat - a feladat modellezése: A megfogalmazott feladatokhoz ezért általában matematikai modellt kell keresni. - az algoritmus meghatározása: Az algoritmus meghatározása, a megoldási folyamatnak az eredmény előállításáig vezető logikai felépítése igen fontos lépése a problémamegoldásnak. - a szükséges hardver és szoftver környezet megállapítása: o Hardver környezet: meghatározza, hogy milyen típusú számítógép, minimálisan milyen részegységekből (pl. memória, háttértár kapacitás) épüljön fel, esetleg milyen speciális kiegészítőkre van szükség a program futtatásához. o Szoftver környezet: az adott hardveren milyen egyéb programok futtatását igényli. A legfontosabb, hogy milyen operációs rendszer (és milyen verziójú) szükséges a futtatáshoz. - az algoritmus kódolása: az algoritmus alapján a kiválasztott programozási nyelv szimbólumainak felhasználásával a program elkészítése. - a program tesztelése, hibakeresése, javítása: Ez a fázis a programtermék elkészítése során talán a legtöbb figyelmet igényli. - a hatékonyság növelése, optimalizálás: A hatékonyságot befolyásolja a végrehajtási idő, a program és adatainak helyfoglalása, valamint a bonyolultsága. - a dokumentációk elkészítése o felhasználói dokumentáció: Ez a felhasználó számára készül. Önálló, a kész programmal együtt átadandó szöveg, mely megad minden a program használatához szükséges információt. programozói dokumentációk: A programozóknak szól és a program fejlesztésével párhuzamosan készül. - a működő program karbantartása, felügyelete Ismertesse a programozási nyelvek elemeit (karakterek, lexikális egységek) - A programok fejlesztése során nagyon sok alkalommal használunk kifejezéseket a műveletek megoldására. - Sok esetben a konstansokat a programok, illetve az alkalmazás előtt definiálni kell. Ebben az esetben elegendő egy alkalommal értéket adni a konstansnak, majd a programban ezután elegendő hivatkozni a konstansként definiált kifejezésre. - A változók a leggyakrabban használt kifejezések a programozás során. Alkalmazásuk nagyban hasonlít a konstansokéra, annyi különbséggel, hogy értékük változik. - Operátorok a műveletvégző jelek, tehát összeadás , kivonás, relációs jelek stb. Az operandusok olyan kifejezések amelyeken a műveleteket végezzük pl. változók - Ha egy műveletet többször kell végrehajtani , akkor érdemes alkalmazni a ciklusokat. A ciklusok használata egyszerűbbé, áttekinthetőbbé és elegánsabbá teszi a kódot. - Az értékadás a legalapvetőbb programozási művelet. Egy értéket, ami lehet bármi átadunk egy másik kifejezésnek. Programvezérlési szerkezetek fajtái és megvalósításuk (szekvencia,szelekciók,iterációk) - A szekvencia alapelem csak annyit jelent, hogy a részfeladatok, illetve azok megvalósítása valamely programnyelvben egymás után következnek, a jelzés szerint felülről lefelé hajtódnak végre. - A feltételes elágazás (más néven szelekció)[2] egy megadott feltétel (condition) teljesülését vizsgálja meg (például egy programváltozóban tárolt számérték nagyobb-e száznál), és eszerint folytatódik a program végrehajtása az "igen" (y) és "nem" (n) esetekre előírt műveletekkel. - A feltételes ciklus (más néven hurok, ismétlés vagy iteráció) olyan alapstruktúra, amelyben amíg egy megadott feltétel (condition) teljesül, addig és csak addig végrehajtja a feltételhez rendelt ciklusmag műveleteket, egymást után újra megismételve. Például amikor a könyvespolcon valamilyen sorrendben addig vesszük le, nyitjuk ki, majd tesszük vissza egyenként a könyveket, amíg meg nem találunk benne egy bizonyos részletet. Algoritmus-leíró eszközök és sajátságaik - Folyamatábra o Minden folyamatábra egy START szimbólumot tartalmaz. A START a kezdőszimbólum, ebből pontosan egy van minden folyamatábrában. o A STOP a folyamatábra záró szimbóluma. Ebből elvileg csak egy van, de többet is lehet használni. o Az értékadás szimbóluma. o Ki: output. A megadott kifejezés eredménye kiíródik a képernyőre. o Be: input. A megadott változók értékeit a program sorban bekéri a billentyűzetről. o Feltételes elágazás. Ha a megadott feltétel igaz, akkor az IGAZ ágon kell továbbhaladni. Ha a feltétel hamis, akkor a HAMIS ágon. Mindig két ág van. A rombusz belsejébe egy egyértelműen eldönthető logikai kifejezést kell írni. o Számlálós ciklus. A ciklusváltozó (i) felveszi a kezdőértéket, amennyiben ez kisebb vagy egyenlő, mint a végérték, az ismétlés ágon kell haladni. Mielőtt visszatérnénk a szimbólumba, a ciklusváltozó értéke automatikusan 1-gyel nő. Az ismétlés ágon kell elhelyezni a ciklusmag utasításait. Amennyiben a ciklusváltozó értéke meghaladja a végértéket, a ciklus futása befejeződik, és a másik ágon folytatódik a program végrehajtása. - Struktogram - Dobozolós módszer. Csak strukturált algoritmusok írhatók le segítségével. Hátrány, hogy előre kell dönteni a téglalap méretéről. o Az értékadás szimbóluma. o Input. A megadott változók értékeit a gép sorban bekéri a billentyűzetről. o Output. A megadott kifejezés eredménye kiíródik a képernyőre. o Feltételes elágazás. A megadott feltétel igaz értéke esetén a jobb oldali rész-blokkba zárt utasításblokk hajtódik végre. "Nem" esetén a bal oldali blokk utasításai hajtódnak végre. Az Igen és a Nem ágak felcserélhetők, ezért mindig jelölni kell, melyik melyik. o Számlálós ciklus. o Előltesztelős ciklus. Amíg a feltétel igaz, addig hajtja végre a ciklusmagot. o Hátultesztelős ciklus. - Leíró nyelv o Nincsenek szigorúan kötött szabályok, mivel nem egységes a kódrendszere. Nyelvi eszközökkel, mondatszerűen írjuk le a program-szerkezetet. Deklarációnál felsoroljuk, melyik változó, milyen típusú. ALGORITMUS KEZD AKEZD ... ... ALGORITMUS VÉGE AVÉGE Értékadás v:=érték Kiíratás ki: kifejezés Beolvasás be: változólista Elágazás HA feltétel AKKOR ... HVÉGE Számlálós ciklus CIKLUS cv:=ké-től vé-ig ... CVÉGE Előltesztelős ciklus CIKLUS AMÍG feltétel ... CVÉGE Hátultesztelős ciklus CIKLUS ... AMÍG feltétel o