Algoritmizálás és adatmodellezés tanítása INFOÉRA 2006 2006.11.18 Algoritmizálás és adatmodellezés tanítása 1. előadás Juhász István-Zsakó László: Informatikai képzések a ELTE-n
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 2
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 3
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 4
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 Algoritmus-leíró eszközök Nem strukturált alapszerkezetek: Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 5
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 6
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 Algoritmus-leíró eszközök Struktogram Programgráf élek nélkül: Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 7
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 8
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 Algoritmus-leíró eszközök Mondatszerű leírás Ha feltétel akkor utasítássor Ha feltétel akkor utasítássor1 különben utasítássor2 Ha feltétel akkor utasítássorok1 különben utasítássorok2 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 9
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 Algoritmus-leíró eszközök Mondatszerű leírás Ha feltétel1 akkor utasítássorok1 különben ha feltétel2 akkor utasítássorok2 különben ha … … különben utasítássorokn Elágazás vége Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 10
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 Algoritmus-leíró eszközök Mondatszerű leírás Elágazás feltétel1 esetén utasítássorok1 feltétel2 esetén utasítássorok2 … feltételn esetén utasítássorokn egyéb esetben utasítássorokn+1 Elágazás vége Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 11
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 12
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 cvH utasítássorok Ciklus vége Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 13
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 14
Algoritmus-leíró eszközök INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 15
Pascal programozási nyelv INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 16
Kódolási szabályok Program INFOÉRA 2006 2006.11.18 Kódolási szabályok Program Program: deklarációk utasítások Program vége. alprogram-definíciók Program Név; deklarációk alprogram-definíciók Begin utasítások 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 17
Kódolási szabályok Deklarációk INFOÉRA 2006 2006.11.18 Kódolási szabályok Deklarációk Típus Típus= Típuskonstrukció Type Típus= Típuskonstrukció; Konstans név: Típus(érték) Const név=érték; vagy Const név:Típus=érték; Változó név:Típus Var név:Típus; Változó név: Típus(érték) 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 18
Kódolási szabályok Típusok: Speciális egész: Longint, Byte, Word. INFOÉRA 2006 2006.11.18 Kódolási szabályok Típusok: 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 19
Kódolási szabályok Rekord( mezőnév1:Típus1 … ) INFOÉRA 2006 2006.11.18 Kódolási szabályok Rekord( mezőnév1:Típus1 … ) Record mezőnév1:Típus1; … End Szöveg; Szöveg(50) String; String[50] Tömb(indextípus:elemtípus) Array [indextípus] of elemtípus Halmaz(elemtípus) Set of elemtípus Fájl(elemtípus) File of elemtípus Szövegfájl Text Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 20
Kódolási szabályok Elemi utasítások változó:=kifejezés INFOÉRA 2006 2006.11.18 Kódolási szabályok Elemi utasítások változó:=kifejezés változó:=kifejezés; Be:változó [feltétel] Repeat Write('kérdés'); Readln(változó); Until feltétel; Ki:kifejezés Write(Kifejezés); vagy Writeln(Kifejezés); Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 21
Kódolási szabályok Elágazások Ha feltétel akkor utasítás INFOÉRA 2006 2006.11.18 Kódolási szabályok Elágazások Ha feltétel akkor utasítás If feltétel then utasítás; Ha feltétel akkor utasítások Elágazás vége If feltétel then Begin utasítások End; Ha feltétel akkor utasítás1 különben utasítás2 If feltétel then utasítás1 else utasítás2; Ha feltétel akkor utasítások1 különben utasítások2 Elágazás vége If feltétel then Begin utasítások1 End else Begin utasítások2 End; Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 22
Kódolási szabályok Elágazások If felt1 then Begin utasítások1 INFOÉRA 2006 2006.11.18 Kódolási szabályok Elágazások Elágazás felt1 esetén utasítások1 felt2 esetén utasítások2 … egyéb esetben utasítások Elágazás vége If felt1 then Begin utasítások1 End else if felt2 then Begin utasítások2 End … else Begin utasítások End Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 23
Kódolási szabályok Elágazások INFOÉRA 2006 2006.11.18 Kódolási szabályok Elágazások Elágazás felt1 esetén utasítások1 felt2 esetén utasítások2 … egyéb esetben utasítások Elágazás vége Case kif of ért1 : Begin utasítások1 End; ért2 : Begin utasítások2 End; … else Begin utasítások End End; Ez a kódolási szabály csak speciálisan a felti ≡ kif=érti esetben alkalmazható. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 24
Kódolási szabályok Ciklusok While feltétel do Begin utasítások End; INFOÉRA 2006 2006.11.18 Kódolási szabályok Ciklusok Ciklus amíg feltétel utasítások Ciklus vége While feltétel do Begin utasítások End; Ciklus utasítások amíg feltétel Ciklus vége Repeat utasítások Until not feltétel; Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 25
Kódolási szabályok Ciklusok Ciklus c=K-tól V-ig utasítások Ciklus vége INFOÉRA 2006 2006.11.18 Kódolási szabályok Ciklusok Ciklus c=K-tól V-ig utasítások Ciklus vége For c:=K to V do Begin utasítások End; Ciklus c=K-tól V-ig -1-esével utasítások Ciklus vége For c:=K downto V do Begin utasítások End; Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 26
Kódolási szabályok Eljárások [hbv1] M21_1_1_10K.png INFOÉRA 2006 2006.11.18 Kódolási szabályok Eljárások Eljárás név(par,...): deklarációk utasítások Eljárás vége. Procedure név(par;...); deklarációk Begin utasítások End; Függvény név(par,...):típus deklarációk utasítások név:=érték Függvény vége. Function név(par;...):típus; deklarációk Begin utasítások; név:=érték; End Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 27
Kódolási szabályok Operátorok Pascalban csak meglévő operátorokra. [hbv1] M21_1_1_10K.png INFOÉRA 2006 2006.11.18 Kódolási szabályok Operátorok Pascalban csak meglévő operátorokra. Művelet név(par1,par2)k:típus deklarációk utasítások k:=érték Művelet vége. Operator OP(par1,par2) kimenet:típus; deklarációk Begin utasítások; kimenet:=érték; End; Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 28
Adatok jellemzői 1. Azonosító INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 29
Adatok jellemzői 4. Hatáskör INFOÉRA 2006 2006.11.18 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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 30
Adatok jellemzői 6. Élettartam INFOÉRA 2006 2006.11.18 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ár-maznak (é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 2019.07.14. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 31
Programozási alapismeretek 2006.11.18 Algoritmizálás és adatmodellezés tanítása 1. előadás vége 2008/2009.