Adatbázis- és szoftverfejlesztés – elmélet Informatikai rendszergazda – 10. évfolyam
Készítette: Nagy Zsolt
Készült: 2015
Tartalom Bevezető .................................................................................................................................................. 4 Futtatható program elkészítése. ......................................................................................................... 5 IDE ....................................................................................................................................................... 5 Adattípusok jellemzői .............................................................................................................................. 6 Csoportosításuk: .................................................................................................................................. 7 Nevesített konstans ............................................................................................................................. 7 Deklaráció ............................................................................................................................................ 7 Változó................................................................................................................................................. 8 Elemi adattípusok .................................................................................................................................... 9 Egész .................................................................................................................................................... 9 Valós .................................................................................................................................................. 10 Karakter ............................................................................................................................................. 10 Felsorolt, logikai, intervallum ............................................................................................................ 11 Összetett, strukturált adattípusok ........................................................................................................ 11 Karakterlánc, string, sztring ............................................................................................................... 11 Megvalósítások különböző programozási nyelvekben.................................................................. 12 Karakterlánc műveletek .................................................................................................................... 13 Tömb.................................................................................................................................................. 14 Tömb indexelése ............................................................................................................................... 14 Egydimenziós tömb ........................................................................................................................... 14 Kétdimenziós tömb ........................................................................................................................... 15 Többdimenziós tömb......................................................................................................................... 15 Rekord adattípus ............................................................................................................................... 15 Pascal nyelvi megvalósítás............................................................................................................. 16 C nyelvi megvalósítás .................................................................................................................... 16 Osztály fogalma ................................................................................................................................. 17 Objektum, példány fogalma .............................................................................................................. 17 String osztály ..................................................................................................................................... 17 Utasítások .............................................................................................................................................. 18 Kifejezések jellemzői ............................................................................................................................. 19 Operátorok ............................................................................................................................................ 21 Aritmetikai, logikai kifejezések .............................................................................................................. 21 Szekvencia ............................................................................................................................................. 21 Elágazások ............................................................................................................................................. 22
Egyágú szelekció ................................................................................................................................ 22 Kétágú szelekció ................................................................................................................................ 23 Többágú szelekció ............................................................................................................................. 23 Független feltételek........................................................................................................................... 23 Ciklusok, iteráció ................................................................................................................................... 23 Számláló ciklus................................................................................................................................... 23 Előfeltételes ciklus ............................................................................................................................. 23 Végfeltételes ciklus............................................................................................................................ 23 Alprogramok .......................................................................................................................................... 24 Eljárás ................................................................................................................................................ 24 Függvény............................................................................................................................................ 24
Bevezető
Programok végrehajtása:
A processzornak saját nyelve van, csak azt beszéli! Ez a gépi kód (gépi utasítás) Utasításkészlet.
A
magas
szintű
nyelven
megírt
programot
forrásprogramnak,
forrásszövegnek nevezzük. Minden magas szintű nyelv egyben formális nyelv, amely meghatározott nyelvtan szerint használható. A program forrásszövegére vonatkozó formai, „nyelvtani” szabályok összességét szintaktikai szabályoknak hívjuk. A tartalmi, értelmezési, jelentésbeli szabályok alkotják a szemantikai szabályokat. Egy magas szintű programozási nyelvet szintaktikai és szemantikai szabályainak együttese határoz meg.
Futtatható program elkészítése. Egy magas szintű programozási nyelven megírt forrásszövegből elő kell állítani a processzor számára érthető gépi kódú programot. Erre két technika létezik:
fordítóprogramos
interpreteres
A fordítóprogramos megoldás folyamata Fordítóprogram
+
Forrásszöveg Fordítás
Tárgykód
Egyéb tárgykód
+
Kapcsolatszerkesztő
Kapcsolat szerkesztés Futtatható program
+
Betöltő
Betöltés a memóriába Folyamat, Process
+
Futtató rendszer
IDE Az implementációk manapság egy integrált fejlesztői környezetben (Integrated Development Environment – IDE) érhetők el. Részei:
editor (szövegszerkesztő a forrásszöveg készítéséhez)
compiler (fordító), interpreter (értelmező)
linker (kapcsolatszerkesztő)
debuger (nyomkövető, hibakereső) – a szemantikai hibák feltárásában segít.
Adattípusok jellemzői Az adatok csoportosításának, kategorizálásának alapja az, hogy az azonos tulajdonságok kiemelésével kategóriákat, típusokat hozzunk létre. Egy kis ismétlés:
Program = algoritmus + adatok
Egy program végrehajtása során a következő történik:
Bemeneti adatok Feldolgozás Kimeneti adatok
Vagyis a programok adatokat dolgoznak fel. Ezek az adatok a felhasználásuk sokféleségéből adódóan nagyon változatosak lehetnek. Vannak olyanok, amelyekkel számolni akarunk, és olyanok is, amelyekkel nem. Pl.: szöveg, szám, de az előbbi kategóriák is bővíthetők (pár karakteres, vagy több Gbyteos szövegek). Éppen ezért nem mindegy, hogy milyen adat csoportokat akarunk kezelni. Az adattípus segítségével adatokat tudunk kategorizálni, csoportosítani. Az adattípus maga egy absztrakt programozási eszköz, amely mindig más, konkrét programozási eszköz egy komponenseként jelenik meg. Az adattípusnak van neve, ami egy azonosító. Egy adattípust három dolog határoz meg: tartomány: Azon értékek halmaza, amelyeket az adott típusú konkrét programozási eszköz felvehet értékként. (15, 16, 17, 18, stb.) műveletek: Azon operációk, amelyeket a tartomány értékein végre tudunk hajtani. (+, -, *, /, stb.) reprezentáció: Belső ábrázolási mód. Az egyes típusok tartományába tartozó értékek tárban való megjelenését határozza meg. Tehát azt, hogy az egyes elemek hány bájtra és milyen bitkombinációra képződnek le. (például hány byte-on tároljuk, csak pozitív számok, vagy lehetnek negatív értékei is)
Az adott programozási nyelvre jellemző:
beépített, standard típusok
programozó által definiált
egyszerű, skalár
összetett, strukturált
Csoportosításuk: Egyszerű, skalár típusok: Olyan értékek, amelyek egy konkrét adatot jelentenek. Nem bonthatók fel kisebb egységekre. Pl.: Karakterek: a, b, +, 2, %, stb. Számok: 2, 3, 54, 6, -2, stb. Összetett, strukturált típusok: Itt több értéket kezelünk együtt. Az értékeket fel tudjuk bontani kisebb, önmagában is kezelhető (értelmezhető) részekre. Pl.: Dátum: év, hónap, nap Beépített típusok: amelyek egy programozási nyelv részei. A programozó felhasználhatja őket saját programozási eszközei létrehozásához. Programozó által létrehozott (definiált) típus: amelyet a programozó saját maga hozhat létre, megadva az értékek körét, az elvégezhető műveleteket és a megjelenését bitről-bitre.
Nevesített konstans Olyan programozási eszköz, amelynek három komponense van: név, típus, érték. A nevesített konstanst deklarálni kell. A név egy azonosító, amely a programban mindig az értéket hivatkozza. A típus az értéknek megfelelően rendelődik hozzá.
Deklaráció Minden névvel rendelkező saját programozási eszközt deklarálni kell. Ez deklarációs utasítással történik, amely információi a fordítóprogramnak szolnak. A fordítóprogram a deklaráció alapján rendeli hozzá a saját programozási eszközhöz a használat módjára vonatkozó információkat. Deklarációk fajtái:
explicit: A programozó végzi explicit deklarációs utasítás segítségével.
implicit: A programozó végzi. Betűkhöz rendel attribútumokat egy külön deklarációs utasításban.
automatikus: A fordítóprogram rendel attribútumokat azokhoz a változókhoz, amelyekhez nincsenek explicit és implicit módon attribútumok rendelve.
Változó Olyan programozási eszköz, amelynek négy komponense van: név, attribútumok, cím, érték. A név egy azonosító. A program szövegében a változó mindig a nevével jelenik meg, az viszont a szövegkörnyezettől függően bármelyik komponenst jelentheti. Az attribútumok olyan jellemzők, amelyek a változó futás közbeni viselkedését határozzák meg. Az eljárás-orientált nyelvekben a legfőbb attribútum a típus, amely a változó által felvehető értékek körét határolja be. Változóhoz attribútumok deklaráció segítségével rendelhetők. A címkomponens a tárnak azt a részét határozza meg, ahol a változó értéke elhelyezkedik. A futási idő azon részét, amikor egy változó rendelkezik címkomponenssel, a változó élettartamának nevezzük. A programszöveg azon részét, amelyben egy „név” az általunk elérni kívánt programozási eszközt hivatkozza, a „név” hatáskörének, vagy láthatóságának nevezzük. A mechanizmust hatáskörkezelésnek. Tehát egy név hatásköre az a programszöveg egység, amelyben felhasználási módja, jellemzői, jelentése ugyanazok. Hatáskör:
globális, osztályszintű
lokális
Láthatóság:
publikus,
védett, protected,
private
csomag szintű Java package (csomag)
A változóhoz cím rendelhető az alábbi módokon:
Statikus tárkiosztás: A címkomponens a futás előtt eldől. A betöltő helyezi el a változót egy általa meghatározott címre. A cím, futás alatt nem változik.
Dinamikus tárkiosztás: A cím hozzárendelését a futtató rendszer végzi. A változó akkor kap címkomponenst, amikor aktiválódik az a programegység, amelynek ő lokális változója, és a címkomponens megszűnik, ha az adott programegység befejezi a működését. A címkomponens a futás során változhat, sőt vannak olyan időintervallumok, amikor a változónak nincs címkomponense.
Programozó által vezérelt tárkiosztás: A változóhoz a programozó rendel címkomponenst futási időben. o abszolút cím rendelése a változóhoz o relatív cím rendelése o speciális: A programozó csak azt adja meg, hogy mely időpillanattól kezdve legyen az adott változónak címkomponense, az elhelyezést a futtató rendszer végzi. A programozó nem ismeri az abszolút címet.
A változó értékkomponense mindig a címen elhelyezett bitkombinációként jelenik meg. A bitkombináció felépítését a típus által meghatározott reprezentáció dönti el. A változó értékkomponenst kaphat:
értékadó utasítással: Java-ban – változónév = kifejezés; Az értékadó utasítás bal oldalán a változó neve általában a címkomponenst, kifejezésben az értékkomponenst jelenti. Típus egyenértékűséget valló nyelvekben a kifejezés típusának azonosnak kell lennie a változó típusával, típuskényszerítést valló nyelveknél pedig mindig a kifejezés típusa konvertálódik a változó típusára.
input perifériáról
kezdőérték adás: o explicit kezdőérték adás, a programozó végzi o automatikus kezdőérték adás
Futás közben történik az értékadás. Ez után a változó korábbi értéke már nem hozzáférhető. Csak egy bitkombináció lehet egy időben egy helyen. Mindig adjunk kezdőértéket a változóknak. A lexikális elemzés ismeri fel a nevesített konstanst és a változót.
Elemi adattípusok Olyan értékek, amelyek egy konkrét adatok jelentenek. Nem bonthatók fel kisebb egységekre.
Egész 1, 2, 56, 5666, stb. Sorszámozott adattípusok. Lehetnek:
Előjel nélküli: Negatív számokat nem tárolhatunk velük. o 1 byte-on tárolhatóak, amelyek értékkészlete: 0-255 o 2 byte-os: 0 - 216
o 4 byte-os: 0 - 232 o Stb.
Előjeles: Lehetnek negatív számok is. Az első bit az előjelnek van fenntartva. o 1 byte-os: -128, -127, …, 0, …, 126, 127 (-27 - 27-1) o 2 byte-os: o Stb.
Valós Törtszámok: Tizedes tört: pl. 234,5 Lebegőpontos alak: 2,345*102 exponens * alap mantissza
Karakter
A programozási nyelv által használt karakter kódtáblából egy karaktert jelölnek ki. (számok, abc karakterei, vezérlő karakterek, egyéb)
Karakter kódtábla: Minden programozási nyelv mögött van egy olyan táblázat, amelyben felsorolják a használható karaktereket. Ebben a karakterekhez egy sorszám van rendelve. Pl. a Pascal az ASCII kódtáblát használja, a Java az UNICODE-ot.
ASCII kódtábla
Felsorolt, logikai, intervallum
Felsorolt: Értékek sorozata, amely mögött sorszámozás van. Pl.: HÉTFŐ, KEDD, stb. a hét napjai.
Logikai: A logikai igen-nem, igaz-hamis eltárolására alkalmas. Intervallum: Valamely sorszámozott típus egy résztartománya. Pl.: 3, 4, 5, 6 az egész számok tartományából.
Összetett, strukturált adattípusok Az értékeket fel tudjuk bontani kisebb, önmagában is kezelhető (értelmezhető) részekre.
Karakterlánc, string, sztring Olyan adattípus, amely karakterek sorozatait tartalmazza. Ezzel az adattípussal rendelkező programozási eszközök (pl. változók) karakterek sorozatát „szöveget” tartalmazhatnak. (Pl.: alma, körte, narancs, stb.) A formális string tetszés szerinti (de véges) hosszúságú, a megvalósított nyelvekben ez a hossz gyakran mesterségesen maximalizált. Általánosságban, két fajtája létezik a string adattípusnak:
fix hosszúságú stringek, amikor függetlenül attól, hogy a string elemeinek száma elérie a maximumot, mindig ugyanakkora memóriaterületet foglalnak le a tárolásához,
változó hosszúságú stringek, ahol a string hossza nem fix, és csak az aktuális hossza szerinti helyet foglal el memóriában.
A legtöbb string megvalósítás nagyon hasonlít egy változó hosszúságú tömb megvalósításához, ahol az elemek tárolása karakter kódok segítségével történik. A fő különbség az, hogy a string esetében logikailag csak bizonyos kódolású karakterek tárolása megengedett. Tulajdonképen ez történik, ha UTF-8 kódolást használnak, ekkor egy karakter egy és négy byte közötti helyet foglal el. Ebben az esetben például a string hossza különbözik a tömb hosszától. Hossz:
A sztring hossza megállapítható úgy, hogy a karakterek végén egy speciális jelet adunk meg. Például a NULL karaktert a C-szerű nyelvekben.
Illetve direkt megadjuk a karakterek számát. Például Pascalban a karakterlánc elején egy Byte tárolja a karakter hosszát. Ezért nem lehet 255 karakternél nagyobb.
Megvalósítások különböző programozási nyelvekben Pascal nyelv Deklaráció / értékadás: var nev: string[4]; … begin … nev := ’alma’; Képe a memóriában:
C nyelv: Deklaráció / értékadás: char *nev; *nev = ALMA; Képe a memóriában:
Java nyelv: Deklaráció / értékadás: String str = Hello; Képe a memóriában:
Karakterlánc műveletek Műveletek: hossz megállapítása: Vagy eltároljuk az aktuális hosszat, vagy számolunk a \0 karakterig. o Pascal nyelv: nev[0], illetve length(nev) hivatkozás megadja a karakterlánc aktuális hosszát. o C nyelv: strlen(nev) megszámolja a karaktereket a ’\0’ jelig. o Java nyelv: str.length() metódus visszaadja a szöveg hosszát.
összefűzés (konkatenáció): két vagy több karakterlánc egymás után fűzése.
karakter, részlánc beszúrása, törlése, cseréje: A beszúrás karaktert vagy részláncot adott pozíciótól kezdve beilleszt úgy, hogy a hátralévő karaktereket feljebb tolja. A törlés adott karaktert vagy karakterláncot távolít el úgy, hogy a fentebb lévő
karaktereket, ha vannak, rámásolja. A csere eljárás adott indextől kezdve, adott indexig lecserél karaktereket egy megadott részláncra.
karakter, részlánc keresése: Adott karaktert vagy részláncot keresünk a sztring elejétől, vagy megadott indextől kezdve. A visszaadott érték a megtalált szöveg első karakterének helye.
Tömb Azonos típusú elemeket tartalmaz. (Ebben az értelemben majdnem olyan, mint a karakterlánc, de az elemek nem csak karakterek lehetnek.) Az egyes elemek lehetnek: számok, karakterek, karakterláncok, logikai értékek, teljes tömbök, rekordok és objektumok is. Az elemek sorszámozva vannak, és elérésük ezekkel a sorszámokkal történik. Ezeket a sorszámokat indexeknek nevezzük. Pl.: Fővárosok (Budapest, Prága, London, Pozsony, stb.).
Tömb indexelése Az egydimenziós tömb minden egyes eleméhez egy egyértelmű indexérték tartozik, amely meghatározza az elem tömbön belüli helyét. Az index típusának sorszámozhatónak kell lennie. Az indextartomány két határérték közötti, és az indexek egyesével növekszenek. Indexelések például:
A matematikában az index általában egész típusú, és az alsó határ 1.
A Javában az index egész típusú, és az alsó határ minden esetben 0.
Lásd: AngsterErzsébet_Java1.pdf jegyzete – 384. oldaltól
Egydimenziós tömb Lásd: AngsterErzsébet_Java1.pdf jegyzete – 384. oldaltól
Kétdimenziós tömb Lásd: AngsterErzsébet_Java1.pdf jegyzete – 384. oldaltól
Többdimenziós tömb Lásd: AngsterErzsébet_Java1.pdf jegyzete – 384. oldaltól
Rekord adattípus Olyan adatszerkezet, amely több különböző típusú elemből állhat, és ezeket az adatokat valamilyen okból egy egységként akarjuk használni. Hasonló a tömbhöz, abban a tekintetben, hogy több részből áll. Viszont a rekord megengedi, hogy az egyes részek különböző típusúak
legyenek. A típust a programozó hozza létre, amelyhez nevet rendel, ezért deklarálni szükséges. Ilyen például egy emberhez tartozó néhány adat. Pl.: Személy(Név, Születési év, Nem, Súly, Fizetés) Pascal nyelvi megvalósítás RECORD mezőazonosító, [mezőazonosító …] : típus [; mezőazonosító[, mezőazonosító …]: típus …] END Rekord típus és változó definíciója és deklarációja Type TSzemely = Record nev: String[40]; szul_ev: Integer; nem: Boolean; suly: Real; fizetes: Integer; End; Var szemely: TSzemely; C nyelvi megvalósítás Szintakszis struct [structure tag] { member member ... member } [one or
definition; definition; definition; more structure variables];
Példa: struct szemely{ char * nev; int szulEv; char nem; float suly; int fizetes; } //változó deklaráció struct szemely szemelyek[5];
Osztály fogalma
Objektum, példány fogalma
String osztály
Utasítások Az eljárás-orientált nyelveken megírt programok olyan egységei, amelyek egyrészt az algoritmusok egyes lépéseit adják, másrészt a fordítóprogram ezek segítségével generálja a tárgyprogramot. Az utasítások olyan programozási eszközök, amelyek az algoritmusok megvalósítására alkalmasak egy adott programozási nyelven.
deklarációs
végrehajtható utasítások
A deklarációs utasítások mögött nem áll tárgykód. Ezen utasítások teljes mértékben a fordítóprogramnak szólnak, attól kérnek valamilyen szolgáltatást, üzemmódot állítanak be, illetve olyan információt szolgáltatnak, melyeket a fordítóprogram felhasznál a tárgykód generálására. Befolyásolják a tárgykódot, de maguk nem kerülnek lefordításra. A programozó a névvel rendelkező saját programozási eszközeit tudja deklarálni. A végrehajtható utasításokból generálja a fordítóprogram a tárgykódot. Általában a magas szintű nyelvek végrehajtható utasításaiból több - néha sok – gépi kódú utasítás áll elő. Végrehajtható utasítások: értékadó utasítás – a változó értékkomponensét állítja be üres utasítás – ahol a szintaktika megköveteli vezérlés átadó: ugró – GOTO címke eljáráshívás vezérlési szerkezetek: elágaztató: kétirányú többirányú esetszétválasztás ciklusszervező: feltételes: kezdőfeltételes végfeltételes előírt lépésszámú felsorolásos végtelen
összetett I/O utasítások egyéb utasítások Értékadó utasítás: Olyan utasítás, amellyel a váltózó értékkomponensét lehet beállítani. Pascalban: változónév := kifejezés; Java-ban: változó = kifejezés; Az értékadó utasítás bal oldalán a változó neve általában a címkomponenst, kifejezésben az értékkomponenst jelenti.
Kifejezések jellemzői Szintaktikai eszközök, amelynek van értéke és típusa. Arra valók, hogy a program egy adott pontján ott már ismert értékekből az adott operátoroknak megfelelően új értéket határozzon meg. Mivel nincs neve, így nem kell deklarálni. Formálisan a következő összetevőkből áll:
operandusok (értékek): literál, nevesített konstans, változó, függvényhívás
operátorok: Műveleti jelek. Az értékkel végrehajtandó műveleteket határozzák meg.
kerek zárójelek: A műveletek végrehajtási sorrendjét befolyásolják.
A legegyszerűbb kifejezés egyetlen operandusból áll. Minden nyelv definiálja a saját operátor készletét. Operátor túlterhelés. Attól függően, hogy egy operátornak hány operandusa lehet, beszélhetünk:
egyoperandusú (unáris)
kétoperandusú (bináris)
háromoperandusú (ternáris)
Kétoperandusú operátorok esetén az operandusok és operátorok sorrendje lehet:
prefix (* 3 5)
infix (3 * 5)
posztfix (3 5 *)
Azt a folyamatot, amikor a kifejezés értéke és típusa meghatározódik, a kifejezés kiértékelésének nevezzük. A kiértékelés során adott sorrendben elvégezzük a műveleteket, előáll az érték, és hozzárendelődik a típus. A kifejezés értékének meghatározása futási idejű tevékenység. A fordítóprogramok általában az infix kifejezésekből posztfix kifejezéseket állítanak elő, és ezek tényleges kiértékelése történik meg. Az infix alak nem egyértelmű. Az ilyen alakot használó nyelvekben az operátorok nem azonos erősségűek. Az ilyen nyelvek operátoraikat egy precedencia táblázatban adják meg. A precedencia táblázat sorokból áll, az egy sorban megadott operátorok azonos erősségűek (prioritás), az előrébb szereplők erősebbek. Minden sorban meg van adva a kötési irány, amely megmondja, hogy az adott sorban szereplő operátorokat milyen sorrendben kell kiértékelni, ha azok egymás mellett állnak egy kifejezésben. A kötési irány lehet balróljobbra, vagy jobbról-balra. Az infix kifejezések esetén kell használni a kerek zárójeleket, amelyek a precedencia táblázat alapján következő végrehajtási sorrendet tudják felülbírálni. A típus egyenértékűséget valló nyelvek azt mondják, hogy az operátor operandusainak azonos típusúaknak kell lenniük. Ilyenkor nincs konverzió. A típuskényszerítés elvét valló nyelvek esetén különböző típusú operandusai lehetnek az operátoroknak. A műveletek viszont csak az azonos belső ábrázolású operandusok között végezhetők el, tehát különböző típusú operandusok esetén konverzió van. Ilyen esetben a nyelv definiálja, hogy egy adott operátor esetén egyrészt milyen típuskombinációk megengedettek, másrészt mi lesz a művelet eredményének a típusa. A kifejezés kiértékelésénél minden művelet elvégzése után eldől az adott részkifejezés típusa és az utoljára végrehajtott műveletnél pedig a kifejezés típusa. Konstans kifejezés: Az a kifejezés, amelynek értéke fordítási időben eldől, kiértékelését a fordító végzi. Operandusai általában literálok és nevesített konstansok lehetnek.
Operátorok A Java nyelv operátor készlete:
A magyarázat megtalálható Angster Erzsébet Java 1 könyvének 229. oldalán.
Aritmetikai, logikai kifejezések Angster Erzsébet Java 1 könyv 230. oldalától.
Szekvencia Olyan utasítások, amelyek sorban egymás után hajtódnak végre.
Elágazások Egy feltételtől függő program elágaztatás. A szelekciós utasítás végrehajtásakor kiértékelődnek a feltételek, és ezek után az az ág hajtódik végre, amelyikhez a hozzárendelt feltétel igaz lesz. Csak egy ilyen ág lehet.
Egyágú szelekció
Kétágú szelekció
Többágú szelekció
Független feltételek
Ciklusok, iteráció Az iteráció segítségével utasítások ismétlődő végrehajtását adhatjuk meg. Azt, hogy az ismétlések száma milyen számú legyen, egy feltétel határozza meg. Azokat az utasításokat, amelyeken az ismétlést elvégezzük, az iteráció magjának nevezzük.
Számláló ciklus Jellemzője, hogy az iteráció magja annyiszor hajtódik végre, amennyit előre meghatározunk. Ehhez szükség van egy kezdeti és egy végértékre. Annyiszor hajtódik végre az iteráció magja, amennyi az ebben az intervallumban lévő érték. Ebből következik, hogy az értékhalmaz csak megszámlálható típus lehet.
Előfeltételes ciklus Jellemzője, hogy az ismétlési feltétel kiértékelése a ciklus törzsének végrehajtása előtt történik meg. Előfordulhat olyan eset is, hogy az iteráció törzse egyszer sem hajtódnak végre.
Végfeltételes ciklus Jellemzője, hogy az ismétlési feltétel kiértékelése a törzs végrehajtása után történik meg. Ebben az iteráció fajtában minden esetben legalább egyszer végrehajtódik az iteráció törzse.
Alprogramok Eljárás Az eljárások olyan alprogramok, amelyek a főprogram bármely pontján meghívhatók, ha megadjuk az eljárás nevét és a hozzá tartozó paramétereket. Az olyan programrészletet, amely jól meghatározott adatokon műveleteket hajt végre, és ez, mint egy tevékenység jelenik meg a programban, eljárásnak nevezzük. Eljárást utasításszerűen hívunk meg! … System.out.println(”Üdvözöllek dicső lovag…”); …
Függvény A függvények olyan alprogramok, amelyek a főprogram bármely pontján meghívhatók úgy, hogy egy értékadó utasítás jobb oldalán történik a függvényhívás, míg a bal oldalon egy olyan változó szerepel, melybe a függvény értéke kerül. Ha egy modul a jól meghatározott adatokon végrehajtott műveletek után egy értéket állít elő, melyet azután a programunkban minden olyan kifejezésben felhasználhatunk, melynek
típusa megegyezik a hozzárendelt elem típusával, akkor az ilyen modult függvénynek nevezzük. Függvényt kifejezésszerűen hívunk meg! c = Math.sqrt(4);