210 likes | 498 Views
ALGORITMUS. Az algoritmus elemi lépésekbÅ‘l álló utasÃtásokat tartalmaz. Az algoritmus a feladat lépésenkénti leÃrása. Legyen: könnyen áttekinthet Å‘ követhet Å‘ bárki számára világos, egyértelm ű végrehajtható véges. Az algoritmus programozási nyelvre fordÃtását kódolásnak nevezzük.
E N D
Az algoritmus elemi lépésekből álló utasításokat tartalmaz Az algoritmus a feladat lépésenkénti leírása Legyen:könnyen áttekinthető követhető bárki számára világos, egyértelmű végrehajtható véges Az algoritmus programozási nyelvre fordítását kódolásnak nevezzük
Telefonálás fülkéből (problémamentesen): • bemegyek a fülkébe; • bedugom a kártyát; • felveszem a kagylót; • megvárom a búgó hangot; • 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.
Az algoritmusok fajtái Lehet egy algoritmus néhány elemi tevékenység egymás után végrehajtandó (szekvenciális) sorozata. Telefonálás otthonról (lineáris algoritmus): Felveszem a kagylót tárcsázok cseng, várok felveszik beszélgetünk leteszem a kagylót.
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). Telefonálás otthonról (feltételes algoritmus): 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.
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 iterációk számát előre tudjuk, lehet, hogy az ismételt végrehajtásnak feltétele van. Telefonálás otthonról (ciklikus algoritmus): Felveszem a kagylót tárcsázok foglalt leteszem a kagylót cseng, várok felveszik beszélünk leteszem a kagylót.
Az algoritmus struktúráját tehát szekvenciák (utasítások, műveletek egymás után), szelekciók (elágazások), illetve iterációk (ciklusok)adják, amelyeket tetszőleges mélységben egymásba lehet ágyazni.
Mondattal / élőbeszéd (szöveges) • Mondatszerűen (vázlat jellegű) Pszeudokód • Rajzos, grafikus megoldással: • Folyamatábrával (különböző geometriai idomok használata) • Struktogram • Az egész algoritmus egy téglalapban helyezkedik el, • ezen belül az utasítások és vezérlőszerkezetek szintén • téglalapokat foglalnak el. Az ábrát felülről lefelé haladva kell olvasni
Folyamatábra: Alapelveit Neumann dolgozta ki. Az egyes szerkezeti elemek között nyilakkal jelöljük a végrehajtási sorrendet. Alakzatai: téglalap - értékadó utasítás vagy eljárás; rombusz - elágazás; paralelogramma - adatáramlás; (I/O tevékenységek) nyilak – haladás iránya START STOP I H
Struktogram szekvencia (műveletek egymás után) elágazás ciklus
Probléma: -- megszomjaztam Többféle megoldás • Teát főzök
A teáscsészébe töltsd be a forró vizet! Mártogass bele egy teafiltert addig, amíg megfelelő színt nem kap a víz. Ha ízesítve szereted, tegyél bele cukrot, citromot. Várd meg amíg kihül! Idd meg!
Teafőzés algoritmusa Egyszerű utasítások: töltsd mártogasd tegyél bele idd meg Ismétlődő utasítások, amelyeket valameddig, valahányszor ismételni kell. Ezek a ciklusok: mártogasd amíg… várj amíg… Vannak olyan utasítások, melyeket nem biztos, hogy végre kell hajtani. Ezek az elágazások: ha ízesítve szereted…
Tölts forró vizet Mártogasd a filtert! Kellően elszínezte? Ízesítve szereted? Igen Nem Ne csinálj semmit! Ízesítsd! Idd meg!
Start Tölts forró vizet Mártogasd a filtert! Nem Kellően elszínezte? Igen Nem Igen Ízesítve szereted? Ízesítsd! Idd meg! Vége