Felhasználói eszközök

Eszközök a webhelyen


programozas_alapok

Ez a dokumentum egy előző változata!


A PCRE internal error occured. This might be caused by a faulty plugin

Többféle programozási módszer létezik, mint ahogy több programozási nyelv is. A programozási nyelvek általában megvalósítanak egy programozási módszert, van amelyik kombinál több módszert is (ami nem feltétlenül jó). Nézzük a legelterjedtebb módszereket röviden! ====== Strukturált programozás ====== A strukturált programozás elve azt jelenti, hogy a programot szétbontjuk kisebb részfeladatokra, melyek egy konkrét, jól meghatározható résztevékenységeket végeznek. Ha lehet és érdemes, akkor a részfeladatokat is tovább bontjuk. A lényeg hogy olyan kis egységeket alkotunk, mely mindig egy meghatározható feladat megoldására használható, ha lehet általánosítva hogy később más programban is fel tudjuk használni. Majd ezeket egy jól meghatározott logika szerint alkalmazva az úgynevezett vezérlő szerkezetek használatával építjük fel a programunkat. A strukturált programozásnak három eszköze van: * Szekvencia - utasítások, műveletek egymás után __sorban__ történő végrehajtása * Szelekció - valamilyen feltétel alapján több lehetséges végrehajtási ág közül az egyik __kiválasztása__ és végrehajtása * Iteráció - valamilyen feltétel teljesüléséig egy utasítás, vagy utasítások __ismételt__ végrehajtása. Bebizonyították hogy ennek a három elemnek a felhasználásával bármilyen algoritmus leírható. Így nekünk programozóknak csupán ezt a három eszközt kell megfelelő módon kombinálva használni és bármilyen programot el tudnunk készíteni. A szép az egészben hogy ez tényleg így van és tényleg ennyire egyszerű is! Amint a [[gondolatok_a_programozasrol|bevezetőben]] írtam a programozás nem más mint adatokon végrehajtott műveletek meghatározott logikai sorrend szerint. Ahhoz hogy programot tudjunk írni, mindenképp szükségünk lesz adatra és ezeket az adatokat valahogy kezelnünk kell majd a programunkban. Az alábbiakban nézzük ezeket egy picit részletesebben. A programokat le is fogjuk írni, terveim szerint három nyelven. Az egyik egy pszeudo nyelv melyet én találtam ki és arra jó hogy egyszerűen le lehessen írni vele egy algoritmust. Fordítóprogram nincs hozzá, ez csak egy tervezést segítő eszköz. Ennek a [[Pszeudo-nyelv|pszeudó nyelvnek]] a leírása itt található. A másik két nyelv a Pascal és a C nyelvek. A példák általában mindkét nyelven megtalálhatók lesznek. ===== Adatok ===== Egy programot minden esetben meg kell tervezni. A tervezés első lépése az adatszerkezet meghatározása, azaz fel kell tárni hogy mik a bemenő adataink és mik lesznek a kimenő adatok. Ez mellett keletkezhet a feldolgozás kapcsán adat, mely átmenetileg tárol értékeket. Az adat jellege tehát három féle lehet: * Bemenő (input) adat * Kimenő (output) adat * Munka (work) adat Programozás során az adatokat tárolni kell tudni. Ehhez használjuk az úgynevezett változókat, melyet a programozási nyelvek rendelkezésünkre bocsátanak. A változó nem más mint egy hivatkozás a számítógép memóriájának egy pontjára, mégpedig arra a pontra ahol a tárolt adat megtalálható. Ide tudjuk beírni illetve innen tudjuk kiolvasni az adatot, azaz a változó értékét. Ez mellett meg kell határoznunk az adatok típusát is. Nem mindegy hogy egy adattal számolni szeretnénk, esetleg valamilyen logikai műveletet kell végeznünk vele, vagy valamilyen szöveges adatként jelentkezik. A típus azért is fontos mert a memóriában a különféle adatok különféle méretű helyet igényelnek. Pl. egy numerikus egész szám tárolása másképp történik mint egy szöveges adaté. Tehát programozáskor meg kell tudnunk mondani hogy milyen típusú adattal fogunk dolgozni és hogy arra az adatra hogyan fogunk tudni hivatkozni. Ezt hívjuk változó deklarációnak. Az alábbi példa egy egész számot (i), egy szöveget (s) és egy logikai értéket (b) deklarál. Pszeudó kód: <code> VARIABLES INTEGER i; STRING s; BOOLEAN b; ENDVAR; </code> Pascal kód: <code pascal> var i:integer; s:string; b:boolean; </code> C nyelvű kód: <code c> int i; char* s; int b; </code> ===== Szekvencia ===== Akkor használjuk ezt a strukturált programozási alapelemet, amikor mindenféle feltétel nélkül utasításokat egymásután sorban szeretnénk végrehajtani. Például a háromszög kerületének kiszámítása az alábbi szekvencia szerint történhet: <code> VARIABLES INTEGER a,b,c; ENDVAR PROGRAM INPUT: a; INPUT: b; INPUT: c; t := a + b + c; OUTPUT: t; ENDPROG </code> ===== Szelekció ===== Valamilyen feltétel alapján több végrehajtási ág közül kiválasztunk egyet amit végrehajtunk. Az alábbi kódban bekérünk két számot, majd összehasonlítjuk azokat és kiírjuk az összehasonlítás eredményét eredményét. <code> VARIABLES INTEGER a,b; ENDVAR PROGRAM INPUT: a, b; IF (a==b) THEN OUTPUT: "A két szám egyenlő"; ELSE IF (a<b) THEN OUTPUT: "A b nagyobb mint az a!"; ELSE OUTPUT: "Az a nagyobb mint a b!"; ENDIF ENDIF ENDPROG </code> A példában két szelekció van egymásba ágyazva. Az elsőben azt vizsgáljuk hogy egyenlő-e a két szám. Ha nem egyenlő (ELSE ág) akkor egy újabb szelekció következik, mely megvizsgálja hogy az a kisebb-e mint a b. ===== Iteráció ===== Amikor ciklikusan, többször ismétlődve kell végrehajtani egy tevékenységet, vagy tevékenység sorozatot, akkor ciklusszervező utasítást használunk. Minden ciklus két fő részből áll. A ciklus fejből és a ciklus magból. A ciklus fej egy feltételt tartalmaz, mely vezérli a ciklust. A ciklus mag tartalmazza azokat az utasításokat amiket a ciklusban végre kell hajtani. Példaként nézzük a számok kiíratását 1-100 között: <code> VARIABLES INTEGER a; ENDVAR; PROGRAM a=1; WHILE (a<=100) OUTPUT: a; a=a+1; ENDWHILE ENDPROG </code>

programozas_alapok.1448906537.txt.gz · Utolsó módosítás: 2015/11/30 18:02 (külső szerkesztés)