Algoritmusok

Mindig akadnak kezdő, és kezdőbb programozók. Azoknak ajánljuk ezt a cikksorozatot, akik kezdőnek érzik magukat (viszont nemcsak nekik). Számukra fontos lehet, hogy a programozás alapjait képező algoritmusokat, vagyis bizonyos feladatok megoldásait részletesen megismerhessék.

Alapfogalmak

Első lépésként egy pár alapfogalmat kell letisztáznunk, amelyek nélkül nem létezhet a programozás.

Változó: Olyan mennyiség, amely az algoritmus végrehajtása során megváltozik.

Konstans: Állandó, nem változtatható érték.

Azonosító: Olyan jelsorozat, amellyel a változó tartalmára hivatkozhatunk és megváltoztathatjuk azt.

Értékadás: Az a művelet, melynek során a változó értéke megváltozik. Jele Turbo Pascalban a  :=, aminek a jelentése legyen egyenlő.

Kezdőérték: A változó és a konstans induló értéke a start pontban.

Deklaráció: Az algoritmus azon pontja, ahol a változót először elhelyezzük (típust adunk neki).

Definiálás: Értékadó művelet.

Változók

1. Neve (azonosítója): Csak betűvel (az angol ABC szerint) és aláhúzás-jellel kezdődhet, és betűvel, számmal vagy aláhúzás-jellel folytatódhat. Hossza legalább 1 karakter. Kis- és nagybetű általában nem különböző (a C-ben igen).

2. Típusa: Logikai, szám (egész, valós), szöveg, karakter. Minden típus összehasonlítható egymással. A típus meghatározza, hogy milyen műveletek végezhetők vele. Meghatározza a hosszát (memóriában) és az értékeinek lehetőségét.

3. Értéke: Egy a megadott típusban elhelyezkedő elem. Pl.

- b: logikai (TRUE és FALSE lehet, hossza: 1 bit),

- i: egész (-végtelen és +végtelen közötti egész szám),

- r: valós (-végtelen és +végtelen közötti tört vagy egész szám),

- s: string (’SzöVeG’ – maximum 255 karakter hosszúságú szöveg lehet, de lehet akár 1, akár 0 karakter hosszúságú is – a C-ben nincs valódi string, így nem csak 255 karakternyi, hanem bármilyen hosszúságú szöveget egy „0” karakter zárja),

- c: karakter (’X’ – lehet speciális jel, számjegy, betű vagy üres karakter)

Műveletek

A műveletek sokfajták lehetnek:

Logikai: NOT, AND, OR, XOR, =TRUE, =FALSE

Valós: +, -, *, /, =, <, >, <>, <=, >=

Egész: +, -, *, =, <, >, <>, <=, >=, / – ha az eredményt a gép kerekíti, % (maradékos osztás maradéka – pl. 5%2=1, 4%2=0)

String: + (összekapcsolás), <> (a két string nem egyenlő), a betűk ABC sorrendje szerint: <, >, <=, >=

Karakter: a betűk ABC sorrendje szerint: <, >, <>, <=, >=

Algoritmusleíró eszközök

Mielőtt nekiállunk programot írni valamely programozási nyelvben, szükséges magát az algoritmust elkészíteni, mely alapján a program felépül. Ahhoz, hogy le tudjuk írni az algoritmust, ismernünk kell valamelyik itt bemutatott módszert.

1. Folyamatábra

 

Jellemzői:

1. Minden folyamatábra tartalmaz pontosan 1 START és legalább egy STOP szimbólumot.

2. Minden vonal irányított.

3. Minden pontba el lehet jutni a START-ból, és minden pontból el lehet jutni legalább egy STOP-ba.

 

2. Struktogram (Chappin-ábra)

Előnye: nagyobb algoritmus esetén átláthatóbb a folyamatábránál.

Hátránya: készítésénél a lehető legpontosabban meg kell saccolni az algoritmus hosszát, így az ábrázolandó külső négyszög nagyságát.

3. Leírónyelv

A leírónyelv hasonlít legjobban a programnyelvre. Van sorszámozott és nem sorszámozott leírónyelv. Mondatszerű. Szabad, de kevésbé átlátható, mint a folyamatábra vagy a struktogram (akárcsak a programnyelv).

Szűcs Tamás