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.
|
|
|