Programozási alapismeretek I.

Az algoritmus fogalma

A számítógép csak azt a szûk utasításkészletet tudja végrehajtani, amit gépi utasításként benne tárolnak. Ezért ha egy problémát számítógéppel szeretnénk megoldani, meg kell adnunk a megoldás menetét a számítógép számára érthetõ utasításokkal. Ehhez elõször ki kell dolgoznunk a feladat megoldásának algoritmusát.
Az algoritmus a feladatok megoldásának az egymás utáni lépésekkel megadott eljárását jelenti. Az algoritmus még nem kötõdik konkrét számítógéphez, általában valamilyen algoritmus-leíró nyelven szokták megfogalmazni. Az algoritmust a számítógéppel egy programozási nyelv segítségével kell közölni. Azt a folyamatot, amely során egy algoritmus lépéseit egy programnyelv utasításaival leírjuk, kódolásnak nevezzük. Az így létrejött utasítássorozat a program.

Programozási nyelvek

A kezdeti számítógépeket még gépi kódban programozták, mely az utasításokat egyesek és nullák sorozatával adta meg. Ez nagyon kényelmetlen volt, ezért az egyes utasításoknak néhány karakteres mnemonikus szimbólumokat feleltettek meg, melyeket azután programmal gépi kódra fordítottak. Az ilyen mnemonikus nyelvet assembly nyelvnek nevezzük, fordítóprogramjukat pedig assembler-nek hívjuk. Azonban még ez a programozási mód is túl nehézkes volt és nagyobb feladatok megoldására alkalmatlannak bizonyult. Ezért kifejlesztették a magas szintû programozási nyelveket, melyek segítségével a megoldandó feladatot könnyebben és tömörebben lehet megfogalmazni. Az utasítások közel állnak az angol nyelvhez és a matematikai szimbólumrendszerhez. További nagy elõnye a magas szintû programnyelveknek, hogy a velük készült programok függetlenek a konkrét számítógéptõl, hiszen az egyes gépek specialitásait a fordítóprogramnak kell figyelembe vennie a fordítás során. Egy-egy magas szintû programnyelvhez minden géptípusra más-más fordítóprogram tartozik. A fordítóprogram segítségével lehet a magas szintû programnyelv utasításait az adott számítógép gépi kódú utasításaira lefordítani. Az így kapott gépi kódú programot a számítógép már végre tudja hajtani.
Az egyes alkalmazásokat (software-termékeket) a felhasználás helyére általában végrehajtható program formájában telepítik.
Az interaktív gépek megjelenésével kialakult a programozási nyelvek egy olyan csoportja, melyeknél a fordítási menet nem különül el a végrehajtástól, hanem a forrásprogram utasításait rögtön értelmezi és végre is hajtja a fordítóprogram. Az ilyen típusú fordítóprogramokat interpretereknek nevezzük.

Adattípusok és utasítástípusok

Az információ valamely jelenségre vonatkozó értelmes közlés, amely új ismereteket szolgáltat a felhasználónak. Az adat az információnak a számítógépes rendszerben való konkrét megjelenési formája. A feldolgozásban az információ helyett az adatokkal végezzük el a kívánt mûveleteket. Egy program bemenõ adatait inputnak, eredményét pedig outputnak nevezzük.
Mind az algoritmus-leíró eszközök, mind a programozási nyelvek meghatározott adattípusokkal és meghatározott típusú mûveletekkel dolgoznak.

Adattípusok

Egy adattípus megadása az értékkészletének, a rajta végezhetõ mûveleteknek, az értékek jelölésének rögzítését jelenti. Az adattípusok kétfélék lehetnek: elemiek, melyeknek nincs belsõ szerkezete, valamint összetettek, melyek elemi adatokból épülnek fel. Ezek az adatszerkezetek.

Elemi adattípusok

Numerikus adatok

Ebbe az adattípusba tartoznak az egész számok és a valós számok. A programnyelvektõl függ, hogy hány byte-on kerülnek tárolásra a különbözõ numerikus adatok.

Logikai érték

Több programozási nyelv megkülönbözteti a logikai adattípust. Ennek értéke igaz, vagy hamis lehet. Tárolására általában egy byte-ot tartanak fenn. A logikai értékekkel logikai mûveleteket lehet végrehajtani.

Karakter

A legtöbb programozási nyelv ismeri a karakteres adattípust. A karaktereket kódolt formában tárolják, a személyi számítógépeken általában ASCII kódban, nagygépeken elõfordul az EBCDIC kód is. Egy karaktert egy byte-on ábrázolnak.

Dátum

Néhány programozási nyelv külön adattípusként kezeli a dátumot. A dátum típusú adatokkal speciális mûveleteket lehet végezni, például két dátum különbsége a két idõpont között eltelt napok száma.

Változók

Az éppen futó program adatai a memóriában tárolódnak. A memóriaterületekkel az operációs rendszer gazdálkodik. Így az, hogy egy-egy adat milyen memóriacímen kerül elhelyezésre, csak a program futása közben derül ki. A programozás egyébként is nagyon kényelmetlen lenne, ha memóriacímekkel kellene dolgozni. Ezért a programokban a memóriacímek helyett változókat használunk. A változó egy név, az adatot tároló memóriaegység azonosítója. A változókban tárolt adatokra a változó nevével lehet hivatkozni.
 

Elõzõ fejezet
Tartalomjegyzék
Következõ fejezet