Az algoritmus elemi lépések egymás utáni sorozata, melyek végrehajtása egy probléma megoldásához vezet. Az egyes részlépéseknek végrehajthatónak és egyértelműnek kell lennie. Ez biztosítja, hogy tetszőlegesen sokszor végrehajtva, mindig ugyanazt a részeredményt kapjuk.

Definiálhatjuk így: Az algoritmus egyértelműen végrehajtható tevékenységek vagy utasítások sorozata, amely véges sok lépés után befejeződik.

Az algoritmus jellemző tulajdonságai:

  • végesség, amely azt jelenti, hogy a folyamat véges számú utasítással, azaz véges számú lépés után befejeződik vagy eredményt szolgáltat.
  • egymásutániság kitételének, miszerint minden lépést követnie kell egy másik lépésnek –kivéve az utolsót – és ezek a lépések meghatározott sorrendben kövessék egymást, bármely végrehajtott lépés után egyértelműen adódjon a következő.
  • általánosság, amely azt jelenti, hogy nem csak egy konkrét esetben használható, hanem az összes azonos jellegű feladatra.

Egy adott problémára több algoritmust is lehet készíteni, amikben törekedni lehet ezekre:

  • a lehető legkevesebb lépéssel oldjuk meg a feladatot (minél rövidebb programkód, de azért legyen áttekinthető), vagy
  • a lehető legegyszerűbb módszerrel (pl. Python rövidítésekkel; magas szintű programnyelvek előnyben :-), vagy
  • a lehető legrövidebb idő alatt (gépközelebbi programnyelvek, pl. Assembly és C előnyben).

Az algoritmus készítésének lépései:

  • tervezés, melynek során meghatározzuk a probléma megoldásához vezető lépéseket, feltételeketí,
  • az egyes lépések valamilyen formában való rögzítése.
    Az algoritmusok rögzítésére, leírására több módszer is létezik, és majdnem mindnek saját jelrendszere van. Legismertebb módjai a mondatszerű leírás, a folyamatábra és a struktogram.
    Az algoritmusokat folyamatos szövegként is rögzíthetjük, ilyenek találhatók a szakácskönyvekben is.

Az algoritmus másik szöveggel szemléltetett formája a mondatszerű leírás, amely már bonyolultabb problémák megoldását is jól szemlélteti. Az algoritmus egymást követő lépéseit rövid és tömör mondatokkal, illetve mondatszerű szerkezetek egymásutánjával írjuk le. A folyamatot alkotó utasításokat kicsit beljebb kezdjük, ezzel áttekinthetőbbé válik a leírás.

Az algoritmus alapvető lépéstípusait meghatározott szavakkal kell megfogalmaznunk, például:

Az adatbevitel formája:         Be: adat vagy felsorolás

 

Feltétel megadás formája:

     Ha feltétel, akkor
          tevékenység
     Egyébként
          tevékenység
     Elágazás vége.

 

Ha egy szám abszolút értékét kell meghatározni:

Be: szám
Ha szám>0, akkor
Ki: ’pozitív’
Különben
Ki: ’nem pozitív’
Elágazás vége

 

Példák:
Be: a,b
k := 2*(a+b)
t := a*b
Eredmény: “A kerület: “, k
Eredmény: “A terület: “, t
Vége

Be: a,b
k := 2*(a+b)
t := a*b
Eredmény: “A kerület: “, k
Eredmény: “A terület: “, t
Vége

 

Be a,b
Ha (a>0) és (b>0), akkor
      k:=2*(a+b)
      t:=a*b
      Eredmény “A kerület: “, k
      Eredmény “A terület: “, t
Különben
      Eredmény “Hibás oldalhossz!”
Ha vége
Vége

 

Első_100_páros_szám:

Minden i:=2; i<200; i:=i+2 végezd el
      Ki: i
Minden vége

 

Szokás a fenti példát az alábbi módon leírni:

Ciklus i:=2-től 200-ig, lépésköz:=2
      Ki: i
Ciklus vége

 

Feladat: Kódold le a fenti leírással megadott algoritmusokat!

A rekurzióról szóló részben további példákat is találsz a mondatszerű leírással megadott algoritmusokra.

News Reporter