Algoritmizálás és adatmodellezés tanítása

Slides:



Advertisements
Hasonló előadás
ECM/DMS A GYAKORLATBAN E-SZÁMLA KIBOCSÁTÁS ÉS BEFOGADÁS E-SZÁMLA KIBOCSÁTÁS ÉS BEFOGADÁS
Advertisements

Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
„Webra” nyílt beszerzési rendszer gyakorlati bemutatása Szeged, június 18. Készítette: Fekete Tibor Irodavezető-helyettes Telefon:
 Alap tudnivalók Alap tudnivalók  Az If és a While folyamatábrák Az If és a While folyamatábrák  Probléma Probléma  A while ciklus (általános alak,
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
Gazdasági informatika - bevezető
2. előadás Viszonyszámok
Adatbázis normalizálás
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
Programstruktúrák.
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat
Becslés gyakorlat november 3.
Elemi adattípusok.
Microsoft Excel BAHAMAS tanfolyam
INFOÉRA 2006 Nagypontosságú aritmetika III.
Scilab programozás alapjai
Adatbázisok gyakorlat

videós team Team vezetője: Tariné Péter Judit Tagok:
A Dél-Alföldi régió innovációs képessége
Észlelés és egyéni döntéshozatal, tanulás
T.R. Adatbázis-kezelés - Alapfogalmak Adatbázis:
Adatbázisok SQL.
Algoritmusok és Adatszerkezetek I.
Struktúra predikció ápr. 6.

Rendszerező összefoglalás
C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll
Lexikális elemző: lex (flex)
és ami ebből következik moduláris szakképzési szerkezet
Komplex természettudomány 9.évfolyam
VEREM.
Nyelvek típusossága.
Adatbázis-kezelés (PL/SQL)
Algebrai specifikációk
INFOÉRA 2006 Véletlenszámok
2. Bevezetés A programozásba
VB ADATTÍPUSOK.
INFOÉRA Szimuláció Juhász István-Zsakó László: Informatikai képzések a ELTE-n.
Adatszerkezetek.
Számítógépek felépítése 6. előadás virtuális tárkezelés
Grosz imre f. doc. Kombinációs hálózatok /43 kép
Algoritmusok és Adatszerkezetek I.
Adatbázis alapfogalmak
Rendszerfejlesztés gyakorlat
Számítógépes Hálózatok
Kovács Gergely Péter Bevezetés
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Tilk Bence Konzulens: Dr. Horváth Gábor
AVL fák.
Adatbázis Hasonlóság- elemzés Előrejelzés Stratégia- elemzés
Informatikai gyakorlatok 11. évfolyam
INFOÉRA Zsakó László Informatikai tanárszak problémái ELTE Informatikai Kar Juhász István-Zsakó László: Informatikai.
Kifejezések kiértékelése * Lengyel-forma
Matematika I. BGRMA1GNNC BGRMA1GNNB 9. előadás.
Önkormányzati adattárház
További rendező és kereső algoritmusok
1.5. A diszkrét logaritmus probléma
A szállítási probléma.
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
Matematika II. 5. előadás Geodézia szakmérnöki szak 2015/2016. tanév
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Szöveges adatok tárolása
Bevezetés Tematika Számonkérés Irodalom
A geometriai transzformációk
A részekre bontás tilalma és annak gyakorlati alkalmazása
Algoritmusok.
Munkaszámos munkaidő nyilvántartás
Mintavételes eljárások
Előadás másolata:

Algoritmizálás és adatmodellezés tanítása INFOÉRA 2006 2006.11.18 Algoritmizálás és adatmodellezés tanítása 4. előadás Juhász István-Zsakó László: Informatikai képzések a ELTE-n

Típusok osztályozása Összetettség (strukturáltság) szempontjából: INFOÉRA 2006 2006.11.18 Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási módok Keresztszorzat AxB Unió AB Sokaság sok azonos típusú elem Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 2

Típusok osztályozása Sokaság osztályozása rákövetkezés szerint INFOÉRA 2006 2006.11.18 Típusok osztályozása Sokaság osztályozása rákövetkezés szerint Halmaz: nincs rákövetkezési reláció Sorozat: minden elemet egy elem követ és egy előz meg (kivéve esetleg a két szélső elemet) Hierarchikus struktúra: minden elemet egy előz meg, de több is követhet Hálós struktúra: minden elemet több előzhet meg és több is követhet Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 3

Típusok osztályozása Sokaságtípusok néhány megjelenése INFOÉRA 2006 2006.11.18 Típusok osztályozása Sokaságtípusok néhány megjelenése Halmaz: halmaz, multihalmaz, intervallumhalmaz, táblázat, diszjunkt halmazfelbontás Sorozat: tömb, verem, sor, prioritási sor, listák, szekvenciális fájlok, függvény Hierarchikus struktúra: bináris fa, nem bináris fa Hálós struktúra: irányítatlan gráf, irányított gráf, programgráf, háló Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 4

Típusok műveletei A típusműveletek osztályozása: INFOÉRA 2006 2006.11.18 Típusok műveletei A típusműveletek osztályozása: értékadás (azonos típusúak közötti adatmozgatás) konstrukciós műveletek (strukturált érték létrehozása) szelekciós műveletek (strukturált érték részei kiválasztása) azonosság és más relációk számosság-függvény Min és Max típusoperátor Sorszám- (vagy Rend-) függvény transzformációs (a típuson értelmezett, a típusra képező függvények) Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 5

INFOÉRA 2006 2006.11.18 Elemi típusok 1. Egész típusok (előjeles, előjel nélküli, különböző méretben) 2. Valós típusok (különböző méretben és pontossággal) 3. Logikai típus 4. Karakter típus (értékhalmaz problémák) 5. Felsorolás típus 6. (Rész)intervallum típus 7. Mutató típusok Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 6

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Egész típus Értékhalmaz: –231..+ 231 -1 (Min'Egész..Max'Egész) Problémái: túlcsordulás ( asszociativitás, disztributivitás sértés) Műveletek: +, – , *, Div (egészosztás), ^ (pozitív egészkitevős hatványozás), Mod (osztási maradék), – (unáris mínusz) Relációk: =, <, , , , > Ábrázolás: kettes komplemens kódú Változatai: méret és előjel szerint sokfélék Pascal: byte, shortint, smallint, word, integer, longint, longword, int64 Pl. 3-bites 2-es komplemens kódú egész számok: +0=0|002, +1=0|012, +2=0|102, +3=0|112, -1=1|112, -2=1|102, -3=1|012, -4=0|002, Vegye észre a „szabályszerűségeket”! Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 7 7

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Egész típus Kettes komplemens ábrázolás: Pl. 3-bites 2-es komplemens kódú egész számok: +0=0|002, +1=0|012, +2=0|102, +3=0|112, -1=1|112, -2=1|102, -3=1|012, -4=0|002, Vegye észre a „szabályszerűségeket”! Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 8 8

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Valós típus Értékhalmaz: ????..???? (Min'Valós..Max'Valós nem definiáltak, vagy implementáció­függőek) Problémái: túlcsordulás, alulcsordulás ( asszociativitás, disztributivitás sértés, egyenlőség kérdése) Műveletek: +, –, *, /, ^, – (unáris mínusz) Relációk: =, <, , , , > Ábrázolás: lebegőpontos ábrázolás (pontosabb lenne, ha e típust racionálisnak neveznénk, mert csak racionális számot képes ábrázolni) Pascal: real, single, double, extended Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 9 9

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Valós típus Lebegőpontos ábrázolás: Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 10 10

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Logikai típus Értékhalmaz: Hamis..Igaz (Min'Logikai..Max'Logikai: Hamis, illetve Igaz) Műveletek: nem, és, vagy, kizáró vagy (a szokásos logikai műveletek) Relációk: =, <, , , , > Ábrázolás: 0B = Hamis, –1B = Igaz (esetleg: 1B = Igaz) … ahol xB=x érték „bináris egészként” ábrázolva Megjegyzés: a rendezésnek nem nagy a gyakorlati jelentősége. Pascal: Boolean Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 11 11

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Karakter típus Értékhalmaz: 0..255 - kódú jelek – ASCII (Min'Karakter..Max'Karakter: a 0, illetve a 255 kódú karakter) Műveletek: karakter-specifikus nincs (esetleg a Kód:KarakterEgész függvény, és inverze a Karakter:EgészKarakter függvény, amelyek a belső ábrázolással hozza kapcsolatba) Relációk: =, <, , , , > (a belső ábrázolásuk alapján → nem ABC-sorrend!) Pascal: char Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 12 12

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Részintervallum típus Értékhalmaz: konstans1..konstans2 A származtatás által meghatározott bázistípus adott részhalmaza, helyesebben részintervalluma. Műveletek: a bázistípus műveletei Relációk: a bázistípus relációi Példa: Típus hónap=1..12 Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 13 13

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Felsorolás típus Értékhalmaz: (konstans1, konstans2, ... , konstansN) Műveletek: Következő(kifejezés), Előző(kifejezés), Rend(kifejezés). Példa: Típus Hét=(hétfő,kedd,szerda,csütörtök,péntek, szombat,vasárnap) Munkanap=hétfő..péntek Változó tegnap, ma, holnap, h : Hét; i: egész Konstans ünnepnap : Hét(vasárnap) Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 14 14

Programozási alapismeretek 2019.09.05. 2019.09.05. Elemi típusok Felsorolás típus Be: ma Ha ma=Min'Hét akkor tegnap:=Max'Hét különben tegnap:=Előző(ma) i:=Rend(ma) Ha ma=Max'Hét akkor holnap:=Min'Hét különben holnap:=Következő(ma) Ciklus hHét Ki: h Ciklus vége Pascal: for h in het do write(h); Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Szlávi-Zsakó: Programozás alapjai 2. Szlávi-Zsakó: Programozás alapjai 2. 15 15

Mutató típusok Tulajdonságok: INFOÉRA 2006 2006.11.18 Mutató típusok Tulajdonságok: A mutató típus memóriacímek, illetve azokon a címeken levő értékek kezelésére szolgál. Az ilyen típusú változók (ti. amire a mutató típus mutat) automatikusan nem születnek meg (nem kerülnek be a memóriába) és nem is szűnnek meg – erről magunknak kell gondoskodni. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 16

INFOÉRA 2006 2006.11.18 Mutató típusok Tetszőleges (többnyire összetett) típushoz, mint bázistípushoz (TB) szervesen tartozhat egy-egy ilyen típus. Egy konkrét mutató típusú objektum csak egyfajta (nevezetesen TB-típusú) elemek kezdőcímeit hordozhatja. Kezdőérték: Sehova Műveletek: Lefoglal(m), illetve Lefoglal(m,e) Felszabadít(m) tartalom(m) vagy TB(m) Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 17

Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! INFOÉRA 2006 2006.11.18 Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! Alapmegoldás: Ciklus i=1-től N—1-ig Ciklus j=i+1-től N-ig Ha S(j)<S(i) akkor Csere(S(i),S(j)) Ciklus vége Eljárás vége. Probléma: Szöveg cseréje hosszú szövegek esetén sokáig tarthat. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 18

Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! INFOÉRA 2006 2006.11.18 Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! Ötlet: Vezessünk be N mutató típusú változót és beolvasáskor a szövegeknek foglaljunk helyet! Eljárás Beolvasás: Ciklus i=1-től N-ig Be: S; Lefoglal(M(i),S) Ciklus vége Eljárás vége. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 19

Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! INFOÉRA 2006 2006.11.18 Mutató típusok Példa: Rendezzünk ábécé-sorrendbe N szöveget! Eljárás Mutatós megoldás: Ciklus i=1-től N—1-ig Ciklus j=i+1-től N-ig Ha tartalom(M(j))<tartalom(M(i)) akkor Csere(M(i),M(j)) Ciklus vége Eljárás vége. Itt tehát nem a hosszú szövegeket cserélgetjük, hanem a rövid mutatókat. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 20

Modul - típusmegvalósítás INFOÉRA 2006 2006.11.18 Modul - típusmegvalósítás Típus értékhalmaz művelethalmaz Típusmegvalósítás modul (fordítási egység) specifikáció reprezentáció implementáció Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 21

Modul - típusmegvalósítás INFOÉRA 2006 2006.11.18 Modul - típusmegvalósítás Specifikáció – exportmodul ExportModul TípusModulNév(InputParaméterek): Típus Tip Konstans Konst1,Konst2,... Függvény Fv1(FormParam): FvTip1 Eljárás Elj1(FormParam) Operátor Op1(FormParam) név: OpTip1 ... Modul vége. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 22

Modul - típusmegvalósítás INFOÉRA 2006 2006.11.18 Modul - típusmegvalósítás Reprezentáció és implementáció Modul TípusModulNév(InputParaméterek): Reprezentáció Típus Tip=típuskonstrukció ... Implementáció Eljárás Elj1(FormParam): Eljárás vége. Modul vége. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 23

Modul - típusmegvalósítás INFOÉRA 2006 2006.11.18 Modul - típusmegvalósítás A modul Pascalban a modul önálló fordítási egység nincs modulparaméter nincs külön exportmodul a specifikáció és a reprezentáció nem választható szét a modul tartalmazhat inicializáló részt Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 24

Modul - típusmegvalósítás INFOÉRA 2006 2006.11.18 Modul - típusmegvalósítás Unit TípusModulNév; Interface Uses más modulok; ... {specifikáció és reprezentáció} Implementation ... {műveletek megvalósítása} Begin ... {kezdőértékek beállítása, ha szükséges} End. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 25

Modul - típusmegvalósítás INFOÉRA 2006 2006.11.18 Modul - típusmegvalósítás Problémák a modulbeli típusmegvalósítással Ugyanaz a művelet név lehet több célra is?  IGEN, ha a paraméterekből kiderül, melyikről van szó. Lehet a típust paraméterezni (másik típussal?)  IGEN, ha egyetlen paraméterezés kell (új modullal, ami csak a típust tartalmazza); más megoldás kell rá, ha többféle is lehet. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 26

Összetett típusok Direkt szorzat Sokaság 1. Rekord INFOÉRA 2006 2006.11.18 Összetett típusok Direkt szorzat 1. Rekord Sokaság 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális fájl (input, output) (5. Sor 6. Verem) Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 27

INFOÉRA 2006 2006.11.18 Rekord típus A rekord névvel ellátott részek (ún. mezők) direkt szorzata. Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 28

INFOÉRA 2006 2006.11.18 Rekord típus Értékhalmaz: a mezők értéktípusai által meghatározott alaphalmazok direktszorzata. Műveletek: szelekciós függvény ('.mezőszelektor' nevű) , konstrukciós függvény (Rekordtípus nevű), elképzelhetők: transzformációs függvények, amelyek a teljes rekordstruktúrát érintik. Relációk: = (mezőnkénti egyezés-), . Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 29

Rekord típus Típus Komplex=Rekord(re,im: Valós) INFOÉRA 2006 2006.11.18 Rekord típus Típus Komplex=Rekord(re,im: Valós) Dátum=Rekord (év: 0..2100, hó: 1..12, nap: 1..31) Változó a,b,c: Komplex; d: dátum; Konstans egység1 : Komplex(re:1,im:0) egység2 : Komplex(re:0,im:1) karácsony: Dátum(év:0,hó:12,nap:24) a.re:=1; d:=karácsony; d.év:=2014 Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 30

INFOÉRA 2006 2006.11.18 Rekord típus Művelet +(a,b: komplex) osszeg: komplex osszeg:=komplex(a.re+b.re,a.im+b.im) Művelet vége. Eljárás ki(a: komplex) Ki: a.re,’+i*’,a.im Eljárás vége. ... c:=a+komplex(0,1); ki(c) Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 31

Rekord típus Rövidítés: a:=Pont(1,2) Típus Pont = Rekord(x,y: Egész) INFOÉRA 2006 2006.11.18 Rekord típus Típus Pont = Rekord(x,y: Egész) SzínesPont = Rekord (p: pont, szín: (piros,fehér,zöld)) Változó a: Pont b: SzínesPont i: egész a:=Pont(x:1,y:2); b.p:=a; b.szín:=piros i:=b.p.x Rövidítés: a:=Pont(1,2) Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 32

INFOÉRA 2006 2006.11.18 Rekord típus Művelet <(a,b: Pont) kisebb: logikai kisebb:=a.x<b.x és a.y<b.y Művelet vége. Változó p,q: Pont ... ha p<q akkor ... Pap Gáborné – Zsakó László: Algoritmizálás, adatmodellezés 2019.09.05. Juhász István-Zsakó László: Informatikai képzések a ELTE-n 33

Programozási alapismeretek 2006.11.18 Algoritmizálás és adatmodellezés tanítása 4. előadás vége 2008/2009.