Algoritmusok és követelmények
Programozási alapismeretek
Algoritmusok és követelmények
Az algoritmus elsőre bonyolultnak hangozhat, de valójában mindannyian használjuk a hétköznapokban. Amikor elkészíted a reggelidet, vagy eldöntöd, hogyan jutsz el az iskolába, máris egy algoritmust követsz: lépések sorozatát, mely elvezet a célhoz.
A számítógép világában az algoritmus ugyanezt jelenti – pontos, logikus utasítások rendszere, mely megmondja a gépnek, hogyan oldjon meg egy feladatot.
Az algoritmus szó eredete
Az algoritmus kifejezés nem a modern kor találmánya. A szó a 9. századi perzsa tudós, Muhammad ibn Mūsā al-Khwarizmī nevéből származik. Ő volt az, aki műveiben bemutatta az indiai számjegyek s a tízes számrendszer használatát, és ezzel megalapozta a ma ismert matematikai számolási módszereket. Latin fordításban a neve Algorithmi alakban jelent meg, innen ered a mai algoritmus szó.
Algoritmus a mindennapokban
Lehet, hogy elsőre úgy tűnik, az algoritmus csak a számítógéphez és a programozáshoz kapcsolódik, de valójában a hétköznapjainkat is átszövi. Gondolj csak bele:
-
Reggeli készítése: előveszed a kenyeret, megvajazod, ráteszed a sajtot vagy lekvárt – ez egy pontos lépéssorozat, vagyis algoritmus.
-
Útvonal kiválasztása: ha elindulsz otthonról, eldöntöd, merre mész – ha piros a lámpa, megállsz, ha zöld, mész tovább. Ez is egy elágazásokkal teli algoritmus.
Mindezek ugyanúgy algoritmusok, csak éppen nem számítógép hajtja végre őket, hanem te magad.
Tisztázzunk le néhány fogalmat
Programozás
A programozás azt jelenti, hogy megtervezzük, megvalósítjuk a számítógép számára érthető módon az algoritmusokat és adatszerkezeteket. Ehhez programozási nyelveket használunk (pl. Scratch, C++, Python, C#)
Röviden: a programozás = gondolatból kód készítés
Algoritmus
Az algoritmus egy bizonyos feladattípus megoldására szolgáló utasítások sorozata. Ez a sorozat:
- véges – nem tart örökké, van befejezése
- világos – minden lépés egyértelmű
- megcsinálható – a gép és / vagy ember ténylegesen végre tudja hajtani
Röviden: algoritmus = pontos recept egy feladatra
Specifiáció – mit kell megoldani?
Ez az a rész, amikor pontosítjuk a feladatot.
Példa: szeretnék egy appot, ami kiszámolja egy téglalap kerületét és területét.
Tervezés – hogyan oldjuk meg?
Ebben a fázisban döntéseket hozunk:
- algoritmus választása – milyen lépéseken keresztül érjük el a célt?
- adatszerkezetek választása – miben tároljuk az adatokat? (pl.: változók, listák)
- nyelv választása – mivel kódoljuk le? (pl. Scratch, C++, Python)
Kódolás – a tervből kód lesz
lefordítjuk az algoritmust a választott nyelv utasításaivá
Tesztelés, hibajavítás – működik-e?
Itt derül ki, hogy a program úgy fut-e, ahogy szerettük volna. Ha nem, javítjuk.
Példa: ha negatív oldalhosszt adtál be, hibaüzenet kell. Két típusa:
1. szintaktikai – formai szabályok megsértése, pl. lemarad egy zárójel
2. szemantikai – formailag jó, de nem azt csinálja, amit szeretnénk, hanem amire utasítottuk.
Dokumentáció – hogy más is értse
Leírás készítése a programhoz, hogy ne csak a készítő értse, mit miért csinált. Szólhat a felhasználónak és a fejlesztőnek is.

















