Algoritmusok Algoritmus fogalma z Egy feladat megoldsra szolgl

  • Slides: 29
Download presentation
Algoritmusok

Algoritmusok

Algoritmus fogalma: z. Egy feladat megoldására szolgáló egyértelműen előírt módon és sorrendben végrehajtandó véges

Algoritmus fogalma: z. Egy feladat megoldására szolgáló egyértelműen előírt módon és sorrendben végrehajtandó véges tevékenységsorozat, mely véges idő alatt befejeződik. z. A tevékenység matematikai művelettől kezdve tetszőleges számítási, gyártási vagy technológiai művelet lehet.

z. Az algoritmus egy feladat minden eshetőségre felkészített megoldásmenete. z. Műveletek tartalmát és sorrendjét

z. Az algoritmus egy feladat minden eshetőségre felkészített megoldásmenete. z. Műveletek tartalmát és sorrendjét meghatározó egyértelmű utasításrendszer, amely a megfelelő kiinduló adatokból a kívánt eredményre vezet. z. Egy probléma megoldásának véges számú lépésben történő egyértelmű és teljes leírása.

Az algoritmus tulajdonságai: z. Végrehajtható zminden lépése egy elemi utasítás vagy további algoritmus zegy

Az algoritmus tulajdonságai: z. Végrehajtható zminden lépése egy elemi utasítás vagy további algoritmus zegy és csak egy felé haladhatunk tovább (meghatározott sorrend) zvéges számú lépésben véget ér

Fogalmak: z. Változó: olyan mennyiség, amely az algoritmus végrehajtása során megváltozik. z. Konstans: olyan

Fogalmak: z. Változó: olyan mennyiség, amely az algoritmus végrehajtása során megváltozik. z. Konstans: olyan mennyiség, amely az algoritmus végrehajtása során nem változik meg. ( , ) z. Azonosító: olyan jelsorozat, amellyel a változó tartalmára hivatkozhatunk, és megváltoztathatjuk azt.

zÉrtékadás: az a művelet, melynek során a változó új értéket kap, megváltozik. Vnév :

zÉrtékadás: az a művelet, melynek során a változó új értéket kap, megváltozik. Vnév : = kif (kifejezés) z. Kezdőérték: a változó és a konstans induló értéke a start pontban z. Deklaráció: algoritmus azon pontja, ahol a változót először elhelyezzük.

z. Definiált: egy változó definiált, ha értékadás művelet bal oldalán már szerepelt (vagy billentyűzetről

z. Definiált: egy változó definiált, ha értékadás művelet bal oldalán már szerepelt (vagy billentyűzetről kapott értéket) Pl: A : = 15 z. Definiálatlan: egy változó definiálatlan, ha nem definiált.

A változók tulajdonságai: z. Név (azonosító): ycsak az angol abc betűivel, vagy _-lel kezdődhet

A változók tulajdonságai: z. Név (azonosító): ycsak az angol abc betűivel, vagy _-lel kezdődhet (aláhúzásjellel) ybetűből, számjegyekből, _-ből állhat yszóközt és egyéb speciális jelet nem tartalmazhat ya kis és nagybetűk nem különböznek egymástól (Algoritmusnál igaz. A C nyelvben már nem igaz. ) yhossza minimum 1, maximum bármennyi karakter

z. Típus: A típus meghatározza, hogy milyen műveletek végezhetőek a változóval. y. Logikai y.

z. Típus: A típus meghatározza, hogy milyen műveletek végezhetőek a változóval. y. Logikai y. Szám xegész xvalós y. Karakter (betű, számjegy, speciális írásjel) y. Szöveg (karakterlánc)

zÉrték: A típus meghatározza az értéket. Pl: Boolean: logikai Integer: egész Real: valós Char:

zÉrték: A típus meghatározza az értéket. Pl: Boolean: logikai Integer: egész Real: valós Char: karakter String: szöveg igaz vagy hamis - …+ (törtek is) a , 6 , x , ? alma , almafára mászott , a

Típusok műveletei: z. Logikai: Not And Or Xor hasonlítás: = z. Valós: + -

Típusok műveletei: z. Logikai: Not And Or Xor hasonlítás: = z. Valós: + - * / = = = z. Egész: + - * = = = %(maradékos osztás maradéka z. String: + = = = z. Karakter: = = =

Logikai alapfogalmak

Logikai alapfogalmak

Logikai alapfogalmak: z. A feltételek logikai típusúak. z. Két végeredményük lehet: igaz vagy hamis.

Logikai alapfogalmak: z. A feltételek logikai típusúak. z. Két végeredményük lehet: igaz vagy hamis. (igen, nem) z. Minden állításnak létezik tagadása. z. Bármely állítás és tagadása közül csak az egyik igaz.

Igazságtáblázatok: Logikai műveletek: logikai feltételek összekapcsolására szolgálnak. z. Tagadás művelete (NOT):

Igazságtáblázatok: Logikai műveletek: logikai feltételek összekapcsolására szolgálnak. z. Tagadás művelete (NOT):

zÉs művelet (AND):

zÉs művelet (AND):

z. Vagy művelet (OR):

z. Vagy művelet (OR):

z. Kizáró vagy művelet (XOR):

z. Kizáró vagy művelet (XOR):

Általános igazságok: A AND NOT A A ORNOT A A AND igaz A AND

Általános igazságok: A AND NOT A A ORNOT A A AND igaz A AND hamis A OR igaz A OR hamis NOT (NOT A) hamis igaz A A

De Morgan tételek: z. NOT (A and B) = NOT A or NOT B

De Morgan tételek: z. NOT (A and B) = NOT A or NOT B z. NOT (A or B) = NOT A and NOT B

Tevékenységszerkezetek

Tevékenységszerkezetek

Tevékenységek: - elemi művelet: a végrehajtó megérti, végrehajtja - összetett művelet: tovább kell bontani

Tevékenységek: - elemi művelet: a végrehajtó megérti, végrehajtja - összetett művelet: tovább kell bontani elemi tevékenységekre

z 1. szekvencia: elemi utasítások sorban, egymás utáni végrehajtása z 2. szelekció – elágazás:

z 1. szekvencia: elemi utasítások sorban, egymás utáni végrehajtása z 2. szelekció – elágazás: feltételtől függő teljesítés y - egyszerű elágazás: ha feltétel akkor utasítás

z - összetett elágazás: y - kettős elágazás: ha feltétel akkor utasítás 1 különben

z - összetett elágazás: y - kettős elágazás: ha feltétel akkor utasítás 1 különben utasítás 2 y - többszörös elágazás: elágazás ha feltétel 1 akkor utasítás 1 ha feltétel 2 akkor utasítás 2 …. ha feltételn akkor utasításn [egyébként utasításm] elágazás vége

z. Az utasítások közül legfeljebb 1 hajtódik végre. z. Ha van egyébként rész, akkor

z. Az utasítások közül legfeljebb 1 hajtódik végre. z. Ha van egyébként rész, akkor biztosan 1 hajtódik végre. z. Ha több feltétel is teljesül, akkor a sorrend dönt.

z 3. ciklus – iteráció: tevékenységcsoport (ciklusmag=CM) ismételt végrehajtása y- elöltesztelő ciklus: ciklus amíg

z 3. ciklus – iteráció: tevékenységcsoport (ciklusmag=CM) ismételt végrehajtása y- elöltesztelő ciklus: ciklus amíg feltétel (-ciklusvezérlő feltétel) utasítás 1 utasítás 2 Ciklusmag (CM) … utasításn ciklus vége

z. A feltétel kiértékelésekor a végrehajtó megvizsgálja, hogy igaz-e a feltétel. z. Ha igaz,

z. A feltétel kiértékelésekor a végrehajtó megvizsgálja, hogy igaz-e a feltétel. z. Ha igaz, akkor a ciklusmagot végrehajtja. z Vizsgál, végrehajt: ha a feltétel első alkalommal hamis, akkor a CM egyszer sem hajtódik végre.

yhátultesztelő ciklus: ismételd utasítás 1 utasítás 2 … utasításn amíg feltétel Ciklusmag (CM)

yhátultesztelő ciklus: ismételd utasítás 1 utasítás 2 … utasításn amíg feltétel Ciklusmag (CM)

Végrehajt, vizsgál: ha a feltétel igaz, akkor újból végrehajtódik a CM. Legalább 1 -szer

Végrehajt, vizsgál: ha a feltétel igaz, akkor újból végrehajtódik a CM. Legalább 1 -szer biztos, hogy végrehajtódik a CM. Bizonyos esetekben nem hajtható végre az algoritmus, ilyen esetekben nem használható a hátultesztelő ciklus.

z- számláló ciklus: ciklusváltozó : = kezdőérték-től végérték-ig utasítások ciklus vége Ciklusváltozó felveszi a

z- számláló ciklus: ciklusváltozó : = kezdőérték-től végérték-ig utasítások ciklus vége Ciklusváltozó felveszi a kezdőértéket, ha ez <= mint a végérték, akkor végrehajtja a Ciklus. Magot, majd a ciklusváltozó értéke automatikusan növekszik 1 -gyel