A változóknak adhatunk új értéket.
A változók olyan tároló elemek, amelyeket névvel azonosíthatunk és a típusoktól függően különböző értékeket tárolhatnak. A programvégrehajtás során a változók értékei változhatnak.
pl.:
A_VÁLTOZÓ:=1 => A_VÁLTOZÓ
legyen egyenlő 1-el.
Ezeknek az utasításoknak a segítségével a program és a külvilág közötti adatcserére nyílik lehetőségünk. A bevitel általában a billentyűzetről vagy háttértárolóról történik. A kivitel általában a monitor, a nyomtató vagy a háttértároló segítségével valósul meg.
Az egyes programrészek végrehajtása egy logikai feltételtől függ. Ha a logikai feltétel igaz, akkor az egyik utasítás vagy utasítássorozat kerül végrehajtásra, ha nem, akkor a másik utasítás vagy utasítássorozatok hajtódnak végre.
pl.:
Ha feltétel
akkor utasítások1
különben utasítások2
Elágazás vége
Akkor alkalmazzuk, ha egyes utasításokat többször egymás után végre szeretnénk hajtatni. Több lehetőség is van:
A ciklusmag utasításai a ciklusváltozó kezdő és végértékének, valamint a lépésköznek megfelelő számszor kerülnek végrehajtásra. Pl.:
Ciklus ciklusváltozó = kezdőérték-től végérték-ig lépésköz-ösével
:
: Ciklusmag
:
Ciklus vége
Elöltesztelő ciklus (mert a feltételvizsgálat a
ciklus elején történik)
A ciklusmag utasításait addig kell végrehajtani, amig a feltétel igaz. Pl.:
Ciklus amíg feltétel
:
: Ciklusmag
:
Ciklus vége
Hátultesztelő ciklus (mert a feltételvizsgálat a
ciklus végén történik)
Az előzőhöz hasonló, azzal a különbséggel, hogy a ciklusmag utasításait egyszer mindenképpen végre kell hajtani. Pl.:
Ciklus
:
: Ciklusmag
Amíg feltétel
Ciklus vége
A függvények fő sajátossága, hogy nevük egy értéket képvisel. Típusuk pontosan meghatározott. A függvényekre nevük és paramétereik leírásával hivatkozhatunk. Pl.:
SIN(x) függvény az x szám szinuszát jelenti.
Az eljárások annyiban különböznek a függvényektől, hogy nem értéket, hanem valamilyen tevékenységet képviselnek. Ezekre is nevükkel és paramétereikkel hivatkozhatunk.
Célja: a megoldás menetének géptől független, szemléletes, a logikai gondolatmenetet, a szerkezeti egységeket világosan tükröző leírása.
A folyamatábra a feladat megoldási lépéseinek sorrendjét utasítástípusonként különböző geometriai alakzatok felhasználásával szemléltető ábra.
Szimbólumok és jelentéseik:
|
|
- határszimbólumok, a program elejét és végét jelzik
- beolvasó és kiíró utasítások
- értékadó utasítás, művelet végrehajtás, aritmetikai kifejezés kiértékelése
- elágazás, a feladat végrehajtás a rombuszba írt feltétel alapján egyik vagy másik irányban folytatódik, a kér kimenet: Igaz (i), vagy Nem (n)
pl: Ciklusszervezés
|
|
A folyamatábrákban nyilakkal jelöljük a haladás irányát. Folyamatábra készítése, csak egyszerűbb algoritmusok esetén javasolt, mivel egy bonyolultabb szerkezeten nehéz követnünk a lépéseket.
Az algoritmus egymást követő lépéseit mondatokkal vagy mondatszerű szerkezetek egymásutánjával próbáljuk leírni. Két fajtája van.
Egyszerűbb esetben a mondatok sorozata írja le a feladatok megoldását. Ezeket sorszámmal látjuk el, hogy később hivatkozni tudjunk rajuk. Pl.:
Feladat: olvassunk be N db természetes számot, és határozzuk meg ezek összegét.
Algoritmus:
1. N beolvasása
3. S:=0
4. Ciklus I=1-töl N-ig : A
beolvasása : S:=S+A : Ciklus vége
5. S kiírása
Szemléletesebb az, amikor mondatok helyett csak ún. mondatszerű szerkezetek egymásutánjával írjuk le a feladat megoldását. Ha ezeket a mondatszerű szerkezeteket definiáljuk, rögzítjük, akkor tulajdonképpen egy algoritmus leíró nyelvet hozunk létre.
Egy példa algoritmus leíró nyelvre:
Értékadás: változó := kifejezés
Beolvasás: Be: változók felsorolása {az adatokkal szemben támasztott
követelmények}
Kiírás: Ki: kifejezések felsorolása {a kiírás formájára vonatkozó
követelmények}
Elágazások: Lásd Műveletek számítógépen
Ciklusszervezés: Lásd Műveletek számítógépen
Eljárások: eljárásnév (paraméterek)
:
: az eljárás utasításai
:
Eljárás
vége
Egyéb jelölések:
- Egy sorba több utasítást is írhatunk, de közéjük ";"-t vagy ":"-t kell tenni.
- Megjegyzések { } között.
- Alkalmazzunk bekezdéseket az egyes szerkezetek megkülönböztetésére.
Pl.: Az előző feladat algoritmusa:
Program
Be:
N { N>0, egészek }
S:=0 {Az elemek
összegét tárolja}
Ciklus
I=1-től N-ig
Be:
A
S:=
S+A
Ciklus
vége
Ki:
S
Program vége.
A struktogram elkészítése során az algoritmust egy téglalapba készítjük el, mely tartalmazza az utasítások szövegét. Majd ehhez továbbiak illeszthetők.
|
|
A téglalapokba az egymás utáni utasítások kerülnek bele.
|
|
Elágazás esetén a téglalapot három részre osztjuk. A felső részbe a feltétel kerül. A végrehajtás azon az oldalon folytatódik, amelyik állítás teljesül.
|
|
Ciklus esetén két téglalapot egymásba ágyazunk.