ALGORITMUSOK
Az algoritmus szó és fogalom a matematikából ered, de a számítástechnikai kultúra elterjedése, ültette át a köznyelvbe.
Algoritmuson vagy inkább eljáráson olyan módszert, utasítás(sorozato)t, részletes útmutatást, receptet értünk, amely valamely felmerült probléma megoldására alkalmas. Például eljárást, algoritmust, receptet lehet adni egy bútor összeszerelésére, valamilyen élelmiszer, mondjuk sajt elkészítésének módjára, a Deák térről a Lánchídhoz vezető út megtalálására, vagy éppen két egész szám legnagyobb közös osztójának kiszámolására. A számítógépes programok általában tartalmaznak algoritmusokat, ezekkel utasítják a gépet az adott feladat végrehajtására.
Algoritmus fogalma
egyértelmű, világos elemi utasítások véges sorozata, amely véges idő alatt a probléma megoldásához vezet. Az algoritmusok különböző nyelveken - programozási vagy akár természetes, emberi nyelven is - készülhetnek, de mindenképpen egyértelműnek kell lenniük minden kérdés tekintetében, és jól meghatározott bemeneti valamint kimeneti pont(ok)kal kell rendelkezniük. A számítógépes szoftverek mindegyike algoritmusok, valamint az ezekhez kapcsolódó adatok sokaságából áll.
Algoritmusok leírása
mondatszerű leírás (pszeudokód) olyamatábrával való leírás (blokkdiagram) struktogrammal való leírás
Algoritmuselemek
Beviteli, kiviteli utasítás
Be: változók
Ki: változók, kifejezések
Értékadás
változó = kifejezés
Elágazások
kétirányú elágazás
Ha feltétel
akkor
.......
egyébként
.......
Ha vége
többirányú elágazás
Elágazás
feltétel 1
.......
feltétel n
.......
Elágazás vége
Ciklusok
megszámlálható
Ciklus cv = ké-től vé-ig lk-zel
.......
Ciklus vége
elöltesztelő
Ciklus míg feltétel
.......
Ciklus vége
hátultesztelő
Ciklus
.......
Ciklus amíg feltétel
Alprogramok
Eljárások
Eljárás: Név (paraméterek)
.......
Eljárás vége
Függvények
Függvény: Név (paraméterek)
.......
Függvény vége
Mintapéldák
Eljárás: LNKO
Be : a, b
Ciklus míg a # b
Ha a > b
akkor
a = a-b
egyébként
b = b-a
Ha vége
Ciklus vége
Ki : "LNKO: ", a
Eljárás vége
|
|
|
Betyár-teendők algoritmusa (Sobri Jóska és betyárjai)
Állj ki az útra !
Ciklus
Figyelj !
Ciklus, míg Jön kereskedő
Rabold ki !
Algoritmus vége
Teafőzés algoritmusa (filteres teából)
Tedd fel a vizet forrni !
Ciklus
Ciklus, míg Forr a teavíz
Ízesítsd !
Algoritmus vége
Bevásárlás I. algoritmusa (önkiszolgáló boltban)
Végy egy kosarat/kocsit !
Ciklus
Keresd meg a "következő" árut !
Ha Van ilyen, akkor Tedd a kosárba/kocsiba !
Ciklus, míg Nincs "következő" áru, amit vásárolni akartál
Fizesd ki a választott termékeket !
Algoritmus vége
Bevásárlás II. algoritmusa (Peny Market)
Ha van 10 vagy 20 Ft-os érméd, akkor
Végy egy kocsit !
Ciklus
Keresd meg a "következő" árut !
Ha Van ilyen, akkor Tedd a kocsiba !
Ciklus, míg Nincs "következő" áru, amit vásárolni akartál
Fizesd ki a választott termékeket !
egyébként
Menj haza !
Ha vége
Algoritmus vége
Eljárás: Négyzetgyökvonás
Be: Szam, p { p - pontosság, pl. 1 milliomod }
x0=1
x1=Szam
Ciklus, míg |x0-x1|>p
x0=x1
x1=(x0+Szam/x0)/2
Ciklus vége
Eljárás vége
Eljárás: PrimFelbontas (Szam) { Szam - ezt kell felbontani }
i=1
Ciklus, míg Szam # 1
Ha p[i] / Szam { p[] sorozat tárolja a prímeket }
akkor
Szam = Szam / p[i]
k[i] növelése { k[] sorozat tárolja a kitevőiket }
egyébként
i növelése
Ha vége
Ciklus vége
Eljárás vége { ! rossz, ha rövid a .... }