ALGORITMUS
Az algoritmus programozási nyelvre fordítását kódolásnak nevezzük 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
megvárom a búgó hangot; tárcsázom a számot; cseng, várok; felveszik; 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.
Felveszem a kagylót tárcsázok cseng, várok felveszik 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.
az üzenetrögzítő "veszi fel" hagyjak üzenetet? - nem: 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.
Felveszem a kagylót tárcsázok foglalt 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.
Az algoritmus leírására szolgáló eszközök
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. Alakzatai: 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! Ízesítsd! Idd meg! Nem Kellően elszínezte? Igen Nem Igen Ízesítve szereted? Ízesítsd! Idd meg! Vége