Folyamatábra

Magyarázat
1. Változók bevezetése
Két változót használunk az algoritmusban, az i-t és a db-t.
Mindkettő egész szám lesz.
Az i egy szokásos ciklusváltozó, a db pedig a darabszámot fogja jelölni.
Az algoritmus elején a db értékét nullára állítjuk, mert az algoritmus elején nulla darab öttel osztható számunk van.

2. Ciklus 1-20-ig
A ciklust 1-20-ig ismételjük, vagyis az i értéke lépésenként így alakul:
i=1
i=2
i=3
i=4
i=5
i=6
...
i=20

3. Elágazás
Ez egy elágazás, melyben az algoritmus két ágra bomlik (lásd rózsaszín rombusz):
- egy igaz és
- egy hamis ágra.
A két ág a rózsaszín körnél találkozik.
_____________________________________________________________________________
A rózsaszín rombuszban egy feltétel található: i mod 5 = 0
A mod (modulo) a maradékos osztást jelenti,
egy példán mutatom:
17 / 5 = 3 maradt a 2
Vagyis a 17-et elosztom 5-tel, DE
nem az érdekel, hogy 3-szor van meg benne,
hanem az, hogy 2 a maradék.
Ezzel azt vizsgálom, hogy a szám osztható-e 5-tel.

Most megmutatom ugyanazt az elágazást, csak máshogyan átszínezve (lásd zöld és sárga részek)!
Itt azt láthatod, hogy az igaz ágon kiírjuk az i aktuális értékét (lásd zöld paralelogramma).
A darabszámot pedig növeljük 1-gyel (lásd sárga téglalap).
Miért növeljük 1-gyel? Mert ezen az ágon öttel osztható számot találtunk: 5, 10,15, 20.

4. Az eredmény kiírása
A ciklus tehát elszámol 1-20-ig, és minden számra megvizsgálja, hogy az osztható-e 5-tel.
Ha osztható, akkor kiírja, majd megnöveli 1-gyel a db értékét (lásd fenti elágazás).
Amikor a ciklus elérte a 20-at, ebben a zöld paralelogrammában kiírja a darabszámot a képernyőre így:
Az 5-tel osztható számok darabszáma: 4
Az & db a zöld téglalapban azt jelenti, hogy a szöveghez, a kettőspont után még hozzáfűzzük a db aktuális értékét is, ami esetünkben a 4, mert 4 darab öttel osztható szám van 1-20-ig.

Oké, ez kicsit sok volt. Most lapozz vissza az elejére, és újból nézd meg a teljes ábrát. Ha esetleg így sem érted valamelyik részét, olvasd át újra azt a részt. Kérdésekre külön is szívesen válaszolok.