Algoritmusok Páll Boglárka
Bevezetés Az algoritmus legáltalánosabb értelemben nem más, mint tervszerűség. Ha egy elvégzendő cselekvéssorozatot lépésről lépésre előre átgondolunk, megtervezünk, úgy is mondhatjuk, hogy algoritmust adunk az adott cél elérésére
Definíció Azt a lépéssorozatot amely elvezet egy feladat megoldásához algoritmusnak nevezzük.
Példák algoritmusokra: Telefonálás fülkéből: bemegyek a fülkébe; bedugom a kártyát; felveszem a kagylót; tárcsázom a számot; cseng, várok; felveszik; beszélünk; leteszem a kagylót; kiveszem a kártyát; kijövök a fülkéből.
Példák algoritmusokra: Paprikáskrumpli készítése: elkészítem a lábast, a fedőt és a fakanalat; összeszedem és előkészítem a hozzávalókat (hagyma, krumpli, kolbász, olaj, paprika, só, víz); a lábasba beteszem az olajat és a hagymát; felteszem a tűzhelyre és a fakanállal kavargatva megpirítom a hagymát; megszórom paprikával; beleteszem a krumplit és a kolbászt; kevés vízzel felöntöm és lefedem; főzöm, néha megkavarom; amikor kész, leveszem a tűzhelyről.
Példák algoritmusokra: Könyvkeresés: Ki kell keresni a Neumann János által írt könyveket. Ha könyvek szerzők szerint betűrendben vannak felsorolva egy lehetséges algoritmus a következő: Az elejétől kezdve összehasonlítjuk a Neumann János nevet minden szerző nevével. Előbb-utóbb elérkezünk a megfelelő helyre, tehát az algoritmus eredményes lesz.
Az algoritmusok struktúrája Egy algoritmus lehet, néhány elemi tevékenység egymás után végrehajtandó, szekvenciális sorozata. Telefonálás otthonról: felveszem a kagylót tárcsázok cseng várok felveszik beszélgetünk leteszem a kagylót.
Az algoritmusok struktúrája Lehet, hogy a megoldás bizonyos pontokon nem látható előre és feltételektől függően más és más megoldást kell választanunk (szelektálunk). Ezt a műveletet nevezzük döntésnek. Telefonálás otthonról: felveszem a kagylót tárcsázok cseng várok az üzenetrögzítő "veszi fel" hagyjak üzenetet? nem: leteszem a kagylót; igen: elmondom az üzenetet - leteszem a kagylót.
Az algoritmusok struktúrája Előfordulhat, hogy a megoldás érdekében valamely tevékenységet többször is végre kell hajtani, vagy ismételni (iterálni) kell. Lehet, hogy az ismétlések számát előre tudjuk, lehet, hogy az ismételt végrehajtásnak feltétele van. Telefonálás otthonról: :: felveszem a kagylót, tárcsázok, foglalt, leteszem a kagylót:: ismétlem ameddig cseng cseng, várok felveszik, beszélünk leteszem a kagylót.
Az algoritmusok struktúrája Az algoritmus struktúráját tehát szekvenciák, döntések, illetve ismétlések adják, amelyeket tetszőleges mélységben egymásba lehet ágyazni.
Követelmények: Valamely algoritmus akkor helyes, ha eleget tesz, az alábbi követelményeknek: Elvégezhető (el lehet jutni az eredményhez betartva az algoritmus lépéseit) Meghatározott (bármely pillanatban tudjuk mi fog történni) Általános (egy adott feladatkör megoldására képes) Véges (véges számú lépésben eredményre vezet) Világos (az algoritmus leírása pontos, érthető, követhető)