2021. április 23., péntek

Algoritmussal összefüggő fogalmak

Az algoritmus egy folyamat módszer egy feladat megoldására!
Algoritmusok:
Az ember a fejében megbúvó gondolatokat tevékenységek sorozatára fordítja le. Ez cselekvéssorozat az algoritmus.
Definíció:
Az algoritmus egy cselekvési sorozat formális leírása.
Az algoritmus elsősorban az embernek szóló formális leírás. Az algoritmusok leírásának jól definiált módszerei vannak.

Az algoritmusok fontos tulajdonságai::

• Végesség – véges idő alatt be kell fejeződnie
• Meghatározott – Minden egyes lépésének pontosnak kell lennie. Az élő nyelv nem feltétlenül alkalmas erre, ezért az algoritmus egy formális nyelv
• Bemenet/Input – Meg kell adni a bemeneti paramétereit, vagy ha ezek nincsenek, akkor ezt is jelölni
kell
• Kimenet/Output – Meg kell adnia a kimeneti adatokat
• Elvégezhető – Olyannak kell lennie, amelyet egy ember is el tud végezni megfelelő sok papír és ceruza felhasználásával.
• Univerzális – Kellően általános ahhoz, hogy megfelelő peremfeltételek teljesülése esetén a feladatát
elvégzi

Definíció

Az algoritmus vezérlési szerkezete meghatározza, hogy a programban (algoritmusban) leírt utasításokat a program milyen sorrendben hajtsa végre. 

Definíció

 A szekvencia olyan program vezérlési szerkezet, amelyben az utasítások leírásának sorrendje meghatározza a végrehajtásuk sorrendjét is. Tipikusan az egymás alá írt utasítások leírási sorrendje a végrehajtási sorrend. Az egy utasításból álló program speciális szekvenciának fogható fel. 

Definíció 

A szelekció (más néven elágazás) olyan vezérlési szerkezet, amely egy logikai feltétel hatására a program végrehajtása két vagy több irányra szétbomlik és a feltétel eredményétől függően különböző szekvenciát hajt végre a program.
Ha a feltétel eredménye igaz vagy hamis, akkor egy vagy két különböző szekvencia végrehajtása között dönt a program. Ilyenkor kétirányú elágazásról beszélünk.
Ha a feltétel eredményeinek összessége (eredményhalmaza) egymástól jól megkülönböztethető értékeket
jelent, akkor több irányú elágazásról beszélünk. Ekkor a lehetséges eredményekhez hozzárendelünk szekvenciákat, amelyeket a program végrehajt, és ha a megjelölt eredmények egyike sem jön létre, akkor az alapértelmezett szekvenciát hajtjuk végre. 

Definíció

A ciklus olyan programszerkezet, amely egy szekvenciát ismétel.
A ciklusnak a lényege az, hogy bizonyos utasítások sorozatát ismétli. A ciklus az alábbi részekből áll:
Ciklus fej – A ciklusfejben határozzuk meg azokat a feltételeket, amelyek teljesülése esetén a program végrehajtja a ciklus magot.
Ciklus mag – Az a szekvencia, amelyet a program ismételten végrehajt.

Ciklusok fajtái:

Elöltesztelő ciklus – a ciklusmag végrehajtását meghatározó feltétel a ciklusfejben van. A feltétel vizsgálata
egyszer mindenképpen lezajlik. A ciklusfejbe a ciklus végrehajtásának a feltételét írjuk (a bennmaradás feltétele), vagyis ha a feltétel éppen igaz, akkor végrehajtjuk a ciklusmagot. Lehetséges olyan helyzet, hogy a
program végrehajtása során a ciklus feltétele eleve hamis, ekkor a ciklus mag sohasem hajtódik végre.

Hátultesztelő ciklus – a ciklusfej nem tartalmaz feltételt, a ciklusmag mindenképpen lefut egyszer, és a ciklusmag lefutása után vizsgáljuk meg a feltétel teljesülését. Itt általában szintén a bennmaradás feltételét írjuk
le.

Megszámlálásos ciklus – A ciklus fejben a ciklusmag ismétlésének számát határozzuk meg. Ez is
elöltesztelő ciklus, tehát ha az ismétlések száma 0 lenne, akkor a ciklusmag nem fut le egyszer sem.

Definíció

A változó a programban megadott névvel megkülönböztetett memóriaterület. Itt tárolhatunk adatokat a
programban.
A változók tulajdonságai:
a változó neve – erre speciális szabályok vannak (Általában alfanumerikus karakterek lehetnek plusz aláhúzás jel) a változó típusa – azt jelenti, hogy milyen fajta adatot tárolhat a változó (szöveg, szám, dátum, stb...). Ha egy programozási nyelv típusos, akkor a változó deklarálásakor (létrehozásakor) megadott típusú értéket lehet csak tárolni a változóban (pl C, Pascal, Java, Basic). Ha a programozási nyelv enyhén típusos, akkor a változó deklarációja nem jelenti egyúttal a típusának is a meghatározását, sőt esetenként a típusa változhat is futás közben. A változó értéktartománya – a változó által felvehető lehetséges értékek halmaza. a változók értéke – a program futása során értéket adhatunk a változónak. A változókat a program futása elején inicializálni kell, azaz kezdőértéket kell nekik adni. A programozási nyelvek általában automatikusan az inicializálást elvégzik. A változó címe – a memóriának az a helye, ahol futás közben az adott változó elhelyezkedik. A változó címének kezelését a programozó szinte sohasem maga végzi, hanem egy szimbolikus névvel, a változónévvel hivatkozik az adott helyre. A konkrét memóriacím vagy a program fordításakor, vagy futás közben dől el.
A változók olyan szimbólumok, amelyek használatával utasítjuk a programot, hogy futáskor biztosítsa az változó típusának megfelelő méretű helyet a memóriában. A program fordításakor az általunk használt szimbólumok lefordulnak olyan memóriacímekké, ahol a megfelelő típusú adatokat lehet tárolni. A program a memóriába való betöltődéskor ezeket a címeket kiegészít az operációs rendszer egy pillanatnyi alapmemória címmel és így tudja kezelni végül is a programokat.

Definíció

A konstans a programban megadott névvel megkülönböztetett érték. A program futása során a konstansnak csak egyszer lehet értéket adni. Általában olyan adatokat tárolunk benne, amelyek a program teljes területén állandóak, és elérhetőnek kell lenniük.
A program fordításakor a konstans helyére az adat bináris megfelelője kerül, vagyis az értéket „bedrótozzuk” a programba. 

Definíció

Az eljárás a program önálló, zárt egysége, amelyek a főprogramtól függetlenül definiált. Az eljárásokat
egyedi névvel azonosítjuk a programon belül. 
Az eljárás leírását nevezzük az eljárás definiálásának. Ha egy programban a definiált eljárást le akarjuk futtatni, akkor „meghívjuk” az eljárást, azaz nevével hivatkozunk rá.
A program végrehajtása ekkor átkerül az eljárás definiálásának helyére, majd amikor befejezte az eljárást, akkor a program végrehajtása visszakerül a hívási hely utáni utasításra.
Az eljárások a hívási helytől paramétereken keresztülkaphatnak értékeket. A paraméterek olyan változók
vagy konstansok, amelyek a hívás helyén léteznek. Az eljárás belsejében ezekre az átadott értékekre hivatkozni lehet, azok értékeit lehet módosítani. A paraméterátadás módjától függően a módosított paraméterek az eljárás befejezése után érvényre jutnak a hívó programrészben vagy nem. A paraméterátadás módjáról később részletesen szólunk.

Definíció

A függvények olyan programozási zárt egységek, amelyek minden tulajdonságukban megegyeznek az eljárásokkal, de a függvények rendelkeznek egy visszatérési értékkel, amelynek következtében a függvények kifejezésekben is részt vehetnek, ők megadott értékű és típusú értéket képviselnek.

Definíció

Paraméterátadásnak hívjuk azt, amikor a hívó programrész értékeket ad át a meghívott eljárásnak vagy
függvénynek. Ezt az értéket a hívott eljárás vagy függvény fel tudja használni, módosíthatja, stb.
A paraméterátadásnak az alábbi formái léteznek:

Érték szerinti paraméterátadás: Ekkor a híváskor a hívási helyen lévő értékekről másolat készül, és ezzel a másolattal dolgozik a meghívott eljárás. Az adat átvételekor ugyanolyan típusú paramétert kell jelölnünk, mint az átadáskor, de az átadott és az átvett paraméterek neveinek nem kell megegyeznie. Az eljáráson belül bármilyen módosítás az eljárás befejezése után nem jut érvényre. Paraméterként megadott típusú változó, konstans szerepelhet.

Cím szerinti paraméterátadás: Ekkor a hívás helyén szereplő paramétereknek a memórián belüli helyét
(címét) adja át a program az eljárásnak. Az adat átvételekor ugyanolyan típusú paramétert kell jelölnünk,
mint az átadáskor, de az átadott és az átvett paraméterek neveinek nem kell megegyeznie. Ha az eljárás módosítja a paraméter értékét, akkor természetesen ez a módosítás az eljárás befejezése után is hatályban marad.

Konstansokat cím szerint nem lehet átadni eljárásnak !!!!!!!!!!!!!!!!!!!

Nincsenek megjegyzések:

Megjegyzés küldése