Algoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből bármely csomópont elérhető, s bármely csomópontból el lehet jutni a befejező élre. Háromféle csomópontot tartalmaz: Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 2/32
Algoritmus-leíró eszközök Folyamatábra A csomópontokból előállíthatók az algoritmikus struktúrák: Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 3/32
Algoritmus-leíró eszközök Definíció: Strukturált programnak nevezzük azt a programot, amely csak a fenti három algoritmikus szerkezetet (szekvencia, elágazás, ciklus) tartalmazza. Nem strukturált alapszerkezetek: Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 4/32
Algoritmus-leíró eszközök Nem strukturált alapszerkezetek: Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 5/32
Algoritmus-leíró eszközök Kiegészítő elemek a folyamatábrához: Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 6/32
Algoritmus-leíró eszközök Struktogram Programgráf élek nélkül: Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 7/32
Algoritmus-leíró eszközök Mondatszerű leírás Program: utasítássorok Program vége. azonosító := kifejezés vagy tömbazonosító1():=tömbazonosító2() vagy tömbazonosító1(i:1..n):=tömbazonosító2(i:1..n) Be: azonosítók, tömbazonosító()[feltételek] Ki: kifejezések, tömbazonosító() [formátum megkötés] Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 8/32
Algoritmus-leíró eszközök Mondatszerű leírás Ha feltétel akkor utasítássor Ha feltétel akkor utasítássor 1 különben utasítássor 2 Ha feltétel akkor utasítássorok 1 különben utasítássorok 2 Elágazás vége Megjegyzés: a feltétel egy logikai kifejezést rövidít most és később is. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 9/32
Algoritmus-leíró eszközök Mondatszerű leírás Ha feltétel 1 akkor utasítássorok 1 különben ha feltétel 2 akkor utasítássorok 2 különben ha különben utasítássorok n Elágazás vége Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 10/32
Algoritmus-leíró eszközök Mondatszerű leírás Elágazás feltétel 1 esetén utasítássorok 1 feltétel 2 esetén utasítássorok 2 feltétel n esetén utasítássorok n egyéb esetben utasítássorok n+1 Elágazás vége Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 11/32
Algoritmus-leíró eszközök Mondatszerű leírás Ciklus amíg feltétel utasítássorok Ciklus vége Ciklus utasítássorok amíg feltétel Ciklus vége Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 12/32
Algoritmus-leíró eszközök Mondatszerű leírás Ciklus cv=k-tól V-ig utasítássorok Ciklus vége Ciklus cv=k-tól V-ig L-esével utasítássorok Ciklus vége Ciklus cv H utasítássorok Ciklus vége Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 13/32
Algoritmus-leíró eszközök Mondatszerű leírás Eljárás Eljárásnév(paraméterek): utasítássorok Eljárás vége. Függvény Függvénynév(paraméterek):értéktípus utasítássorok Függvénynév := kifejezés Függvény vége. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 14/32
Algoritmus-leíró eszközök Mondatszerű leírás Művelet Operátornév(paraméterek) név:értéktípus utasítássorok név := kifejezés Művelet vége. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 15/32
Pascal programozási nyelv A Pascal nyelv elemei Mindent deklarálni kell a felhasználása előtt. Mindent mindentől pontosvessző választ el. Műveletek (nem szokásosak): and, or, not, xor, div, mod. Blokkstruktúra, hatáskör, láthatóság. Fejlesztői környezet: Geany 0.18 vagy későbbi verzió Fordítóprogram: fpc 2.6.2 vagy későbbi verzió Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 16/32
Kódolási szabályok Program Program: deklarációk Program vége. alprogram-definíciók Program Név; deklarációk alprogram-definíciók Begin End. Megjegyzés: az alprogram-definíciók eljárások, függvények és operátorok definícióit tartalmazhatja. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 17/32
Kódolási szabályok Deklarációk Típus Típus= Típuskonstrukció Konstans név: Típus(érték) Változó név:típus Változó név: Típus(érték) Type Típus= Típuskonstrukció; Const név=érték; vagy Const név:típus=érték; Var név:típus; Var név:típus; Begin név=érték; Az érték ez esetben vagy valamilyen számtípus, vagy String. Ezt a konstans-deklarációt legfőképpen indextípusban használjuk. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 18/32
Kódolási szabályok Típusok: Egész Valós Karakter Logikai Felsorolás: Integer Real Char Boolean (kons 1,... ) (kons 1,... ) Speciális egész: Longint, Byte, Word. Speciális műveletek: succ, pred, ord, shl, shr, <<, >>. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 19/32
Kódolási szabályok Rekord( mezőnév 1 :Típus 1 ) Szöveg; Szöveg(50) Tömb(indextípus:elemtípus) Halmaz(elemtípus) Fájl(elemtípus) Szövegfájl Record mezőnév 1 :Típus 1 ; End String; String[50] Array [indextípus] of elemtípus Set of elemtípus File of elemtípus Text Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 20/32
Elemi Kódolási szabályok változó:=kifejezés Be:változó [feltétel] Ki:kifejezés változó:=kifejezés; Repeat Write('kérdés'); Readln(változó); Until feltétel; Write(Kifejezés); vagy Writeln(Kifejezés); Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 21/32
Kódolási szabályok Elágazások Ha feltétel akkor utasítás Ha feltétel akkor Elágazás vége If feltétel then utasítás; If feltétel then Begin End; Ha feltétel akkor utasítás 1 különben utasítás 2 Ha feltétel akkor 1 különben 2 Elágazás vége If feltétel then utasítás 1 else utasítás 2 ; If feltétel then Begin 1 End else Begin 2 End; Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 22/32
Elágazások Elágazás felt 1 esetén 1 felt 2 esetén 2 egyéb esetben Elágazás vége Kódolási szabályok If felt 1 then Begin 1 End else if felt 2 then Begin 2 End else Begin End Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 23/32
Elágazások Elágazás felt 1 esetén 1 felt 2 esetén 2 egyéb esetben Elágazás vége Kódolási szabályok Case kif of ért 1 : Begin 1 End; ért 2 : Begin 2 End; else End; Begin End Ez a kódolási szabály csak speciálisan a felt i kif=ért i esetben alkalmazható. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 24/32
Kódolási szabályok Ciklusok Ciklus amíg feltétel Ciklus vége Ciklus amíg feltétel Ciklus vége While feltétel do Begin End; Repeat Until not feltétel; Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 25/32
Kódolási szabályok Ciklusok Ciklus c=k-tól V-ig Ciklus vége Ciklus c=k-tól V-ig -1-esével Ciklus vége For c:=k to V do Begin End; For c:=k downto V do Begin End; Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 26/32
M21_1_1_10K.png Kódolási szabályok Eljárások Eljárás név(par,...): deklarációk Eljárás vége. Függvény név(par,...):típus deklarációk név:=érték Függvény vége. Procedure név(par;...); deklarációk Begin End; Function név(par;...):típus; deklarációk Begin ; név:=érték; End Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 27/32
M21_1_1_10K.png Kódolási szabályok Operátorok Művelet név(par 1,par 2 )k:típus deklarációk k:=érték Művelet vége. Operator OP(par1,par2) kimenet:típus; deklarációk Begin ; kimenet:=érték; End; Pascalban csak meglévő operátorokra. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 28/32
Adatok jellemzői 1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. 2. Hozzáférési jog Adatokat módosítani, illetve értéküket lekérdezni, használni lehet. 3. Kezdőérték A születéskor hozzárendelt érték. Változóknál deklarációban kaphat értéket, vagy eleve van típushoz rendelt kezdőérték, esetleg speciális nem definiált érték, s így akkor mód van hivatkozás ellenőrzésre is. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 29/32
Adatok jellemzői 4. Hatáskör A programszöveg azon tartománya, amelyben az adathoz a hozzáférés megengedett. 5. Láthatóság A programszöveg azon tartománya, amelyben az adathoz a hozzáférés lehetséges. Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 30/32
Adatok jellemzői 6. Élettartam A futási időnek az az intervalluma, amelyben az adat azonosítója mindvégig ugyanazt az objektumot jelöli. 7. Értéktípus Az adatoknak az a tulajdonsága, hogy értékei mely halmazból származnak (értékhalmaz) és tevékenységeknek (eljárások, függvények, operátorok) mely készlete, amely létrehozza, felépíti, lerombolja és részekre bontja, alkalmazható rá (asszociált műveletek). Pap Gáborné Zsakó László: Algoritmizálás, adatmodellezés 2015.03.26. 31/32
Algoritmizálás és adatmodellezés tanítása 1. előadás vége