77
Programozási tételek Készítette: Pető László

Programozási tételek

  • Upload
    ksena

  • View
    88

  • Download
    8

Embed Size (px)

DESCRIPTION

Programozási tételek. Készítette: Pető László. Programozási tételek. A programozási feladatok megoldásuk szempontjából nagy csoportokba, osztályokba sorolhatók. A programozási tételek ilyen csoportok tipikus megoldásaival foglalkoznak. Olyan feladatokkal foglalkozunk, amelyekben. - PowerPoint PPT Presentation

Citation preview

Page 1: Programozási tételek

Programozási tételek

Készítette: Pető László

Page 2: Programozási tételek

Programozási tételek

• A programozási feladatok megoldásuk szempontjából nagy csoportokba, osztályokba sorolhatók.

• A programozási tételek ilyen csoportok tipikus megoldásaival foglalkoznak.

• Olyan feladatokkal foglalkozunk, amelyekben

Page 3: Programozási tételek

Programozási tételek

• egy sorozathoz egy értéket,

• egy sorozathoz egy sorozatot,

• sorozatokhoz sorozatot vagy

• sorozathoz sorozatokat kell rendelni.

• A vizsgálni kívánt sorozatot megadhatjuk elemei felsorolásával vagy elemei kiszámítási módjával.

Page 4: Programozási tételek

Feladattípusok

• összegzés (a sorozat elemeinek összege, szorzata, uniója stb.),

• maximum-kiválasztás (a sorozat maximális, vagy minimális értékű elemének kiválasztása),

• megszámolás (adott tulajdonságú elemek száma a sorozatban),

• kiválogatás (sorozat adott tulajdonságú elemeinek megadása),

Page 5: Programozási tételek

Feladattípusok

• kiválasztás (a vizsgált sorozat egy adott tulajdonságú elemének megadása, ilyen elem biztosan szerepel a sorozatban),

• eldöntés (van-e a vizsgált sorozatban adott tulajdonságú elem),

• keresés (a vizsgált sorozat egy adott tulajdonságú elemének megadása, ilyen elem lehet, hogy nincs a sorozatban),

Page 6: Programozási tételek

Feladattípusok

• unió (két sorozatként ábrázolt halmaz egyesítése),

• metszet (két sorozatként ábrázolt halmaz közös elemei),

• összefuttatás (két rendezett sorozat egyesítése),

• szétválogatás (egy sorozat kétféle tulajdonságú elemeinek különválasztása),

Page 7: Programozási tételek

Feladattípusok

• rendezés (rendezetlen sorozat elemeinek átrendezése növekvő vagy csökkenő sorrendbe),

• visszalépéses keresés (sorozatokból egy-egy elem meghatározása).

Page 8: Programozási tételek

Összegzés

• Ez a feladattípus egy sorozathoz egy értéket rendel.

• A sorozat elemeinek összegét, szorzatát, unióját stb. kell előállítani.

• A feladatok egy részénél az így kiszámított értékkel esetleg még egyszerű műveletet kell végezni (pl. osztani az átlagszámításnál).

Page 9: Programozási tételek

Az összegzés általános algoritmusa

• Eljárás:

• S:=kezdőérték

• Ciklus I=1-től N-ig

• S:=S művelet A(I)

• Ciklus vége

• Eljárás vége.

Page 10: Programozási tételek

Példa (egy 100 elemű tömb elemeinek összege)

• Procedure osszegzes;

• begin

• osszeg:=0;

• for i:=1 to 100 do

• osszeg:=osszeg+a[i];

• end;

Page 11: Programozási tételek

Maximum-kiválasztás

• Ebben a feladatkörben adott egy N elemű sorozat.

• A feladat ezen sorozat legnagyobb elemének meghatározása (néha csupán az értékére van szükség).

• Hasonló feladat - csupán a < relációt kell >-ra cserélni - a minimum-kiválasztás.

Page 12: Programozási tételek

A maximum-kiválasztás általános algoritmusa (1.)

• Eljárás:• MAXIMUM := A(1)• SORSZAM := 1• Ciklus I=2-től N-ig• Ha MAXIMUM < A(I) akkor MAXIMUM := A(I)• SORSZAM := I • Ciklus vége• Eljárás vége.

Page 13: Programozási tételek

Példa (Egy 100 elemű tömb legnagyobb elemének kiválasztása)• Procedure maximum;• begin• max:=a[1];• sorsz:=1;• for i:=2 to 100 do• begin• if max < a[i] then • begin • max := a[i];• sorsz:=i;• end;• end;• end;

Page 14: Programozási tételek

A maximum-kiválasztás általános algoritmusa (2)

• Eljárás:

• SORSZAM := 1

• Ciklus I=2-től N-ig

• Ha A(SORSZAM) < A(I) akkor SORSZAM := I

• Ciklus vége

• MAXIMUM := A(SORSZAM)

• Eljárás vége.

Page 15: Programozási tételek

Példa (egy 100 elemű tömb legnagyobb elemének kiválasztása

• Procedure maximum2;

• begin

• sorsz:=1;

• for i:=2 to 100 do

• if a[sorsz] < a[i] then sorsz:=i;

• max:=a[sorsz];

• end;

Page 16: Programozási tételek

Megszámolás

• A következő feladatok megoldása során egy sorozathoz egy számot rendelünk hozzá.

• Rendelkezésünkre áll egy N elemű sorozat és egy, a sorozat elemein értelmezett T tulajdonság.

• Az a feladatunk, hogy a T tulajdonsággal rendelkező elemeket számoljuk meg.

• Ügyeljünk arra, hogy az összegzés céljára szolgáló változó értékét kezdetben 0-ra kell állítani!

Page 17: Programozási tételek

A megszámolás általános algoritmusa

• Eljárás:

• DB:=0

• Ciklus I=1-től N-ig

• Ha A(I) T tulajdonságú akkor DB:=DB+1

• Ciklus vége

• Eljárás vége.

Page 18: Programozási tételek

Példa (Egy 100 elemű tömb elemei közül hány pozitív van)

• Procedure pozitiv;

• begin

• darab:=0;

• for i:=1 to 100 do

• if a[i] > 0 then darab:=darab+1;

• end;

Page 19: Programozási tételek

Kiválogatás

• Ennél a feladattípusnál egy N elemű A sorozat összes T tulajdonsággal rendelkező elemét kell meghatározni.

• Az eredmény egy B(M) sorozat lesz, ahol 0<=M<=N.

• M=0, ha az A(N) sorozat egy eleme sem, M=N, ha az A(N) sorozat minden eleme T tulajdonságú.

Page 20: Programozási tételek

A kiválogatás általános algoritmusa

• Eljárás:

• M:=0

• Ciklus I=1-től N-ig

• Ha A(I) T tulajdonságú akkor M:=M+1 : B(M):=A(I)

• Ciklus vége

• Eljárás vége.

Page 21: Programozási tételek

Példa (egy száz elemű tömb pozitív elemeit gyűjtsük egy másik tömbbe)

• Procedure pozitivtomb;• begin• darab:=0;• for i:=1 to 100 do• if a[i] > 0 then• begin• darab:=darab+1;• b[darab]:=a[i];• end; • end;

Page 22: Programozási tételek

Kiegészítés• A megoldásban gyakran - ha további

feldolgozásukra nincs szükség - nem gyűjtjük ki az elemeket, hanem azonnal kiírjuk:

• Eljárás:

• Ciklus I=1-től N-ig

• Ha A(I) T tulajdonságú akkor Ki: I,A(I)

• Ciklus vége

• Eljárás vége.

Page 23: Programozási tételek

Példa (egy 100 elemű tömb pozitív elemeinek kiíratása)

• Procedure pozitivki;

• begin

• for i:=1 to 100 do

• if a[i] > 0 then writeln(i,’ ., ‘,a[i]);

• end;

Page 24: Programozási tételek

Kiválasztás

• Adott egy N elemű sorozat és egy, a sorozat elemein értelmezett T tulajdonság. Azt is tudjuk, hogy a sorozatban van legalább egy T tulajdonságú elem.

• A feladat az első ilyen elem sorszámának meghatározása.

Page 25: Programozási tételek

A kiválasztás algoritmusa

• Eljárás:

• I:=1

• Ciklus amíg A(I) nem T tulajdonságú

• I:=I+1

• Ciklus vége

• SORSZAM:= I

• Eljárás vége.

Page 26: Programozási tételek

Példa (egy tömbben biztosan található első pozitív elem meghatározása) • Procedure elsopoz;• begin• i:=1;• while a[i] <= 0 do• begin • i:=i+1;• end;• sorsz:=i;• end;

Page 27: Programozási tételek

Eldöntés

• Ez a feladattípus egy sorozathoz logikai értéket rendel.

• A logikai érték "igaz"-at vesz fel, ha a sorozatban létezik adott (T) tulajdonságú elem, és "hamis"-at vesz fel, ha ilyen tulajdonságú elem nincs a sorozatban.

Page 28: Programozási tételek

Az eldöntés általános algoritmusa

• Eljárás:

• I:=1

• Ciklus amíg I<=N és A(I) nem T tulajdonságú

• I:=I+1

• Ciklus vége

• VAN:=(I<=N)

• Eljárás vége.

Page 29: Programozási tételek

Példa (egy 100 elemű tömbben van-e pozitív)

• Procedure vanepoz;• begin• i:=1;• while (i <= 100) and (a[i] <= 0) do• begin• i:=i+1;• end;• van:=(i <= 100);• end;

Page 30: Programozási tételek

Keresés

• A keresés feladattípus egy sorozathoz egy elemet rendel.

• A feladat lényege, hogy a sorozatban egy adott tulajdonságú (T) elemet kell meghatároznunk (magát az elemet vagy a sorozatbeli sorszámát szokás kérni).

• Nem biztos, hogy a sorozatban van ilyen elem.

Page 31: Programozási tételek

Keresés

• A keresés hatékonyságát lényegesen befolyásolhatja, hogy rendezett vagy rendezetlen sorozatban keresünk: logaritmikus, illletve lineáris keresést használunk.

• Amelyik feladatban lehet, használjuk ki a sorozat rendezettségét!

Page 32: Programozási tételek

A lineáris keresés általános algoritmusa

• Eljárás: lineáris keresés• I:=1• Ciklus amíg I<=N és A(I) nem T tulajdonságú• I:=I+1• Ciklus vége• VAN:=(I<=N)• Ha VAN akkor SORSZÁM:=I• Eljárás vége.

Page 33: Programozási tételek

Példa (egy 100 elemű tömbben hányadik az első pozitív, ha van)

• Procedure linearisker;• begin• i:=1;• while (i <= 100) and (a[i] <= 0) do• begin• i:=i+1;• end;• van:=(i<=100);• if van then sorsz:=i;• end;

Page 34: Programozási tételek

A logaritmikus keresés általános algoritmusa

• Eljárás: logaritmikus keresés• Be: X• AlsoH = 1 FelsoH = n• Ciklus vége• K = (AH+FH)/2 egész része• Ha X<A(K) akkor FH=K-1• Ha X>A(K) akkor AH=K+1• Ciklus amíg A(K)=X vagy AH>FH• VAN:=(A(K)=X)• Ha VAN akkor SORSZÁM:=K• Eljárás vége.

Page 35: Programozási tételek

Példa (egy 100 elemű rendezett tömbben keressük meg egy tetszőleges elem sorszámát)

• Procedure logaritmker;• begin• readln(x);• AlsoHatar:=1;• FelsoHatar:=100;• repeat• Kozep:= (AlsoHatar+FelsoHatar) div 2;• if x<a[Kozep] then FelsoHatar:=Kozep-1;• if x>a[Kozep] then AlsoHatar:=Kozep+1;• until (a[Kozep]=x) or AlsoHatar>FelsoHatar;• van:=(a[Kozep]=x);• if van then sorszam:=Kozep;• end;

Page 36: Programozási tételek

Alkalmazás

• Gyakrabban találkozhatunk azonban olyan feladatokkal a gyakorlatban, ahol több programozási tétel együttes használatára van szükség.

• Szerepel több olyan feladatsor, amelyben az adatok azonosak, s velük kapcsolatban különböző kérdésekre kell választ adni.

• Ezek jól használhatók önálló feladatmegoldásra.

Page 37: Programozási tételek

Alkalmazás

• A következő feladat megoldásánál a már megismert feladattípusok (összegzés, eldöntés, kiválasztás, keresés, megszámolás, maximumkiválasztás és kiválogatás) közül kell kiválasztani azokat, amelyekkel a kívánt eredmény elérhető.

Page 38: Programozási tételek

Példa

• Adott egy N elemű sorozat, valamint egy a sorozat elemein értelmezett T tulajdonság.

• Adjuk meg a sorozat minimális értékű T tulajdonságú elemeit!

• Adott N személyi számból álló sorozat [A(N)]. Adjuk meg az 1968-ban született legfiatalabb ember sorszámát és személyi számát!

• Adjuk meg az összes ezen a napon született ember adatait is!

Page 39: Programozási tételek

Alkalmazott tételek

• Kiválogatás tétele: 1968-ban született emberek.

• B(I)= A(I) 2. és 3. számjegye.• Minimum-kiválasztás tétele: legkésőbbi

hónapban és napon született ember.• C(I)= B(I) 4-7. számjegye.• Kiválogatás tétele: ugyanezen a napon

született emberek.

Page 40: Programozási tételek

Megoldás• Procedure szemelyiszam;• begin• min:=1231;• minsor:=0;• for i=1-től n do• if b[i]=68 then• if c[i]<=min then• begin• min:=c[i];• minsor:=i;• end;• if minsor>0 then• for i=1 to n do• if b[i]=68 and c[i]=min then writeln(a[i],’, ‘,i);• end;

Page 41: Programozási tételek

Unió

• Eddig olyan feladattípusokkal foglalkoztunk, ahol egy sorozathoz egy értéket, vagy egy sorozatot rendeltünk hozzá.

• Ebben a részben viszont több sorozat adott, amelyből egy sorozatot kell valamilyen szempont szerint előállítani.

• A matematikából ismerjük két halmaz egyesítésének (uniójának) fogalmát.

Page 42: Programozási tételek

Unió

• A két halmaz egyesítéséből származó halmazba azok az elemek tartoznak, amelyek legalább az egyikben szerepelnek.

• Ebben, és a következő alfejezetben a halmazt speciálisan ábrázoljuk: az elemeit felsoroljuk egy sorozatban.

• Ezt a sorrendet felhasználjuk a halmaz elemeinek bejárására.

Page 43: Programozási tételek

Unió

• Például, ha

• az "A" sorozat elemei: e, b, a, f, d, c és

• a "B" sorozat elemei: j, f, b, h, d,

• akkor a két sorozat uniójába ("C") az e, b, a, f, d, c, j, h

• elemek tartoznak.

Page 44: Programozási tételek

Az unió általános algoritmusa• Eljárás:

• Ciklus I=1-től N-ig

• C(I):=A(I)

• Ciklus vége

• K:=N

• Ciklus J=1-től M-ig

• I:=1

• Ciklus, amíg I<=N és B(J)<>A(I)

• I:=I+1

• Ciklus vége

• Ha I>N akkor K:=K+1 : C(K):=B(J)

• Ciklus vége

• Eljárás vége.

Page 45: Programozási tételek

Példa (egy 100 és egy 30 elemű sorozat uniója)• procedure unio;• begin • for i:=1 to 100 do c[i]:=a[i];• k:=100;• for j:=1 to 30 do• begin• i:=1;• while (i<=100) and (b[j]<>a[i]) do i:=i+1;• if i>n then • begin• k:=k+1;• c[k]:=b[j];• end;• end;• end;

Page 46: Programozási tételek

Metszet• A metszetképzés fogalmával találkoztunk már a matematika

órán a halmazműveletek tanulása során.

• Két halmaz metszetébe azok az elemek tartoznak, amelyek mindkettőben szerepelnek.

• Például, ha

• az "A" halmaz elemei: e, b, a, f, d, c és

• a "B" halmaz elemei: a, j, f, b, h, d,

• akkor a két halmaz metszetébe ("C") a b, f, d elemek tartoznak.

Page 47: Programozási tételek

A metszet általános algoritmusa• Eljárás:

• K:=0

• Ciklus I=1-től N-ig

• J:=1

• Ciklus amíg J<=M és A(I)<>B(J)

• J:=J+1

• Ciklus vége

• Ha J<=M akkor K:=K+1 : C(K):=A(I)

• Ciklus vége

• Eljárás vége.

Page 48: Programozási tételek

Példa (egy 100 és egy 30 elemű halmaz közös elemei)

• Procedure metszet;• begin • k:=0;• for i:=1 to 100 do• begin• j:=1;• while (j<=30) and (a[i]<>b[j]) do j:=j+1;• if j<=30 then • begin • k:=k+1; c[k]:=a[i];• end;• end;• end;

Page 49: Programozási tételek

Összefuttatás

• Az alapelve megegyezik az unióképzéssel, de feltételezzük, hogy a két sorozat rendezett, és azt szeretnénk, hogy az egyesítés során keletkezett sorozat is rendezett legyen.

• Például, ha

• az A sorozat elemei: A, B, C, D, E, F és

• a B sorozat elemei: B, D, F, H, J,

• akkor a két sorozat összefuttatásával keletkezett sorozatba az A, B, C, D, E, F, H, J elemek tartoznak.

Page 50: Programozási tételek

Az összefuttatás általános algoritmusa

• Eljárás:

• I:=1 : J:=1 : K:=0• Ciklus amíg I<=N és J<=M• K:=K+1• Elágazás• A(I)<B(J) esetén C(K):=A(I) : I:=I+1• A(I)=B(J) esetén C(K):=A(I) : I:=I+1 : J:=J+1• A(I)>B(J) esetén C(K):=B(J) : J:=J+1• Elágazás vége• Ciklus vége• Eljárás vége.

Page 51: Programozási tételek

Példa (egy 100 és egy 30 elemű rendezett sorozat összefuttatása)

• Procedure osszefuttatas;• begin• i:=1;j:=1;k:=0;• while (i<=100) and (j<=m) do• begin• k:=k+1;• if a[i]<b[j] then begin c[k]:=a[i]; i:=i+1; end else• if a[i]=b[j] then begin c[k]:=a[i]; i:=i+1;j:=j+1; end• else begin c[k]:=b[j];j:=j+1 end;• end;• end;

Page 52: Programozási tételek

Szétválogatás• Ebben a részben egy sorozat elemeit választjuk külön

vagy egy sorozaton belül két részre, vagy két különböző sorozatba aszerint, hogy egy adott T tulajdonsággal rendelkeznek-e az elemek, vagy nem.

• Például, ha az A sorozat elemei 1, 2, 3, 4, 5, 6, 7, 8, 9, és a T tulajdonság: a számok párossága, akkor a sorozat elemeinek szétválogatásával a 2, 4, 6, 8, és az 1, 3, 5, 7, 9 sorozatok keletkeznek.

Page 53: Programozási tételek

A szétválogatás általános algoritmusa

• Eljárás:

• J:=0 : K:=0

• Ciklus I=1-től N-ig

• Ha A(I) T tulajdonságú akkor J:=J+1 : B(J):=A(I) különben K:=K+1 : C(K):=A(I)

• Ciklus vége

• Eljárás vége.

Page 54: Programozási tételek

Példa (100 szám szétválogatása paritás alapján)

• Procedure szetvalogatas;• begin• j:=0;k:=0;• for i:=1 to 100 do• if a[i] mod 2=0 then begin j:=j+1;b[j]:=a[i]; end • else begin k:=k+1; c[k]:=a[i]; end;• end;• end;

Page 55: Programozási tételek

Rendezések

• Közvetlen beszúrással

• Közvetlen kiválasztással

• Buborék-rendezés (közvetlen csere)

• Keverő rendezés– megjegyzés: Ennél sokkal több rendezési

algoritmus létezik!

Page 56: Programozási tételek

Közvetlen beszúrás

• Minden lépésben a második elemtől egyesével kiemeljük a csökkenő sorozat szerinti első elemet, és beszúrjuk a megfelelő helyre

Page 57: Programozási tételek

Ábra

Page 58: Programozási tételek

Algoritmus• Procedure kozvetlenbeszuras;• begin• for i:=2 to n do• begin• elem:=a[i];• j:=i-1;• while (j>0) and (elem<a[j]) do• begin• a[j+1]:=a[j];• j:=j-1;• end;• a[j+1]:=elem;• end;• end;

Page 59: Programozási tételek

Közvetlen kiválasztás

• A sorozat soron következő legkisebb elemének kiválasztása, majd beszúrása a megfelelő helyre.

Page 60: Programozási tételek

Ábra

Page 61: Programozási tételek

Algoritmus• Procedure kozvetlenkivalasztas;• begin• for i:=1 to n-1 do• begin• k:=i; elem:=a[i];• for j:=i+1 to n do• if a[j]<elem then• begin• k:=j; elem:=a[j];• end;• a[k]:=a[i]; a[i]:=elem;• end;• end;

Page 62: Programozási tételek

Közvetlen csere (buborék)

• Az alkalmas elempárok összehasonlítása és felcserélése során jutunk az összes elem rendezéséhez.

Page 63: Programozási tételek

Ábra

Page 64: Programozási tételek

Algoritmus• Procedure buborek;• begin• for i:=2 to n do• begin• for j:=n downto i do• if a[j-1]>a[j] then• begin• elem:=a[j-1];• a[j-1]:=a[j];• a[j]:=elem; • end;• end;• end;

Page 65: Programozási tételek

Keverő rendezés

• Az előző módszer elég rossz hatásfokú, ha kevés rossz helyen tartózkodó elem van, mert akkor is elvégzi az összes összehasonlítást.

• A keverő rendezés ezen úgy javít, hogy váltogatja az összehasonlító menetek irányát.

Page 66: Programozási tételek

Ábra

Page 67: Programozási tételek

Algoritmus / 1• Procedure kevero;

• begin

• l:=2; r:=n; k:=n;

• repeat

• for j:=r downto l do

• if a[j-1]>a[j] then

• begin

• elem:=a[j-1];

• a[j-1]:=a[j];

• a[j]:=elem;

• k:=j;

• end;

• l:=k+1;

Page 68: Programozási tételek

Algoritmus / 2• for j:=1 to r do• if a[j-1]>a[j] then• begin• elem:=a[j-1];• a[j-1]:=a[j];• a[j]:=elem;• k:=j;• end;• r:=k-1;• until l>r ;• end;

Page 69: Programozási tételek

Visszalépéses keresés (backtrack)

• A visszalépéses keresés ( backtrack ) a problémamegoldás igen széles területén alkalmazható algoritmus, amelynek lényege a feladat megoldásának megközelítése rendszeres próbálgatással.

• Néha ez a legjobb megoldás!

Page 70: Programozási tételek

Visszalépéses keresés (backtrack)

• Adott N sorozat, amelyek rendre M(1), M(2),...M(N) elemszámúak.

• Ki kell választani mindegyikből egy-egy elemet úgy, hogy az egyes sorozatokból való választások másokat befolyásolnak.

• Ez egy bonyolult keresési feladat, amelyben egy adott tulajdonsággal rendelkező szám N-est kell megadni úgy, hogy ne kelljen az összes lehetőséget végignézni.

Page 71: Programozási tételek

Visszalépéses keresés (backtrack)

• Először megpróbálunk az első sorozatból kiválasztani egy elemet, ezután a következőből, s ezt addig csináljuk, amíg választás lehetséges.

• X(I) jelölje az I. sorozatból kiválasztott elem sorszámát!

• Ha még nem választottuk, akkor értéke 0 lesz.

• Ha nincs jó választás, akkor visszalépünk az előző sorozathoz, s megpróbálunk abból egy másik elemet választani.

Page 72: Programozási tételek

Visszalépéses keresés (backtrack)

• Visszalépésnél természetesen törölni kell a választást abból a sorozatból, amelyikből visszalépünk.

• Az eljárás akkor ér véget, ha minden sorozatból sikerült választani, vagy pedig a visszalépések sokasága után már az első sorozatból sem lehet újabb elemet választani (ekkor a feladatnak nincs megoldása).

Page 73: Programozási tételek

A backtrack általános algoritmusa

• Eljárás:

• I:=1 : X(I):=0

• Ciklus amíg I>=1 és I<=N

• Ha VAN JO ESET(I) akkor I:=I+1

• különben X(I):=0 : I:=I-1

• Ciklus vége

• VAN:=(I>N)

• Eljárás vége.

Page 74: Programozási tételek

A backtrack általános algoritmusa

• VAN JO ESET(I):

• Ciklus

• X(I):=X(I)+1

• amíg X(I)<=M(I) és ROSSZ ESET( I,X(I) )

• Ciklus vége

• VAN JÓ ESET:=(X(I)<=M(I))

• Eljárás vége.

Page 75: Programozási tételek

A backtrack általános algoritmusa

• ROSSZ ESET( I,X(I) ):

• J:=1

• Ciklus amíg J<I és (J,X(J)) nem zárja ki (I,X(I))-t

• J:=J+1

• Ciklus vége

• ROSSZ ESET:=(J<I)

• Eljárás vége.

Page 76: Programozási tételek

Megjegyzés

• Az algoritmusra alapozva lehet készíteni eldöntési, kiválasztási, megszámolási, kiválogatási és optimalizálási feladatokat is.

Page 77: Programozási tételek

VÉGE