Algoritmus – anime stílusú fiú a táblán teljes folyamatábrával (Start–End).

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

Anime stílusú illusztráció: egy 8. osztályos diáklány lila pulcsiban, laptopot tartva, a digitális kultúra 8 tanmenet témájához.
Algoritmus – a programkészítés lépései folyamatábrán: specifikáció, tervezés (algoritmus-, adatszerkezet-, nyelvválasztás), kódolás, tesztelés, dokumentáció.

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. 

Mi az algoritmus? – anime stílusú lány, aki végzett a leckével a Programozási alapismeretek cikkhez