Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

Hasonló dokumentumok
Programozás alapjai. 10. előadás

Programozás alapjai. 5. előadás

Programozás alapjai. 7. előadás

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás és adatmodellezés tanítása 1. előadás

Megoldott feladatok. Informatika

A C programozási nyelv VI. Parancssori argumentumok File kezelés

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Érdekes informatika feladatok

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás

0.1. Mi az a standard be- és kimenet? A két mintafeladat leírása

Programozási nyelvek Java

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök.

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Programozás 6. Dr. Iványi Péter

OOP #14 (referencia-elv)

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Operációs rendszerek. UNIX fájlrendszer

Operációs rendszerek gyak.

ELTE SAP Excellence Center Oktatóanyag 1

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Java II. I A Java programozási nyelv alapelemei

7. Strukturált típusok

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Programozás alapjai. 8. előadás

1. Alapok. Programozás II

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A legfontosabb DOS parancsok

Pénzügyi algoritmusok

Programozási nyelvek Java

Algoritmusok - pszeudókód... 1

Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere

A C programozási nyelv I. Bevezetés

7. gyakorlat Sorozatok, Fájlkezelés

1. Egyszerű (primitív) típusok. 2. Referencia típusok

A C programozási nyelv I. Bevezetés

Java II. I A Java programozási nyelv alapelemei

Bánsághi Anna 2014 Bánsághi Anna 1 of 35

2018, Funkcionális programozás

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Egyszerű programok készítése Kifejezések Bitszintű műveletek Relációs műveletek... 58

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

Adatbázis és szoftverfejlesztés elmélet

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja

hatására hátra lép x egységgel a toll

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

AWK programozás, minták, vezérlési szerkezetek

Rendezések. A föltöltés nemcsak az r-re vonatkozik, hanem az s-re is. Ez használható föl a további rendezések

Adatszerkezetek 1. Dr. Iványi Péter

C++ programozási nyelv Konstruktorok Gyakorlat

DOKUMENTÁCIÓ KÉSZÍTETTE: Naszári László I. évf. levelező Informatika tanári szak 2003.

Adatbázisrendszerek I. Fájlszintű adattárolás C-ben

C programozási nyelv

MATLAB. 9. gyakorlat. Cellatömbök, struktúrák, fájlműveletek

7. fejezet: Mutatók és tömbök

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szkriptnyelvek II. Perl programok

Programozás alapjai. 2. előadás

Bevezetés a programozásba I.

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Óbudai Egyetem. C programozási nyelv

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A C programozási nyelv II. Utasítások. A függvény.

PYTHON. Avagy hosszú az út a BioPythonig

Programozás I gyakorlat

Listák, szótárak, fájlok Listák, szótárak, fájlok

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Programozási nyelvek Java

1. A várakozás paramétert megjegyzésbe kell tenni, mivel az UCCNC úgyis kezeli a motor ki- és bekapcsoláskor a várakozásokat:

Programozás I gyakorlat. 10. Stringek, mutatók

AWK programozás Bevezetés

Fájlkezelés. Szöveges fájlok kezelése

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Delphi programozás IV.

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Operációs rendszerek. UNIX/Linux fájlrendszerek

2018, Funkcionális programozás

Operációs rendszerek gyak.

Delphi programozás I.

Java és web programozás

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Java és web programozás

Átírás:

Programozás alapjai 6. előadás Wagner György Általános Informatikai Tanszék

Record A valós életben a nyilvántartásra kerülő adatok nem azonos típusúak. Pl.: Név Cím Telefon GySz Fiz Kis Béla Miskolc Török u. 2 123-456 1 75000 Nagy Béla Szerencs Magas u. 5. 654-321 2 52000. String [30] String [80] String [7] Byte LongInt Programozás alapjai 2

Megoldás 1. Megbecsülni a várható adatok számát (pl. 150 fő) Tisztázni az egyes adatok típusát Annyi tömböt hozni létre, amennyi adatot tárolni kell Szenvedni.. a beolvasással, a tárolással, a kezeléssel Var Nev : Array [1..150] Of String [30]; Cim : Array [1..150] Of String [80]; Tel : Array [1..150] Of String [7]; GySz : Array [1..150] Of Byte; Fiz : Array [1..150] Of LongInt; Programozás alapjai 3

Megoldás 2/1 Olyan típusra van szükség, amely támogatja azt, hogy összetartozó, de nem azonos típusú adatok együtt legyenek tárolva. Ez a RECORD típus. Record: olyan struktúrált típus, amely adott számú és típusú komponensből épül fel. A komponenseket mezőknek nevezzük. Egy Record-on belül a mezők különböző típusúak lehetnek. Célszerű a típusdefiníciós részben új típusként definiálni, majd azt felhasználni a változó deklarációs részben. Programozás alapjai 4

Megoldás 2/2 Program ppppp; Type Ismeros = Record Nev : String [30]; Cim : String [80]; Tel : String [7]; GySz : Byte; Fiz : LongInt; End; Var P, Q : Ismeros; Kollegak : Array [1..150] Of Ismeros; Programozás alapjai 5

Begin P.Nev := Kis Béla ; Megoldás 2/3 P.Cim := Miskolc Török u. 2 ; P.Tel := 123-456 ; P.GySz := 1; P.Fiz := 75000; Q := P; {!! Azonos típusúak, ezért lehet így!!} { De: } Write ( Kérem a nevet: ); ReadLn (Q.Nev); End. Programozás alapjai 6

Megoldás 2/4 Most nem használtuk fel a tömböt, de a kezelése az előző példa alapján egyértelmű kell, hogy legyen. A program lefutása után a tömb sem őrzi meg a benne tárolt értékeket. Kell egy olyan, amelyik igen... Programozás alapjai 7

File (1) File (állomány): a file azonos típusú komponensekből álló adatszerkezet. A komponensekre nincs megkötés. Gyakran használt típus a record. Ez esetben a file record típusú file. (Nem összekeverni a rekordot, és a recordot. A record egy TP típus, a rekord pedig egy tipizált file-ba/file-ból egy utasítással mozgatható adathalmaz. Tképpen egy sor.) A TP a file-okat pointerek (mutatók) segítségével kezeli. A mutató típusa TP 4.0 óta LongInt. A file-ban mindig arra a komponensre mutat, amelyik írásra vagy olvasásra kerül. Programozás alapjai 8

File (2) A FP a file-okat pufferek (átmeneti tárolók) közbeiktatásával írja és olvassa. Oka: A FP-ben egy file három féle lehet: Text Tipizált Nem tipizált Egy időben több file is lehet nyitva, ezért a file-okra való hivatkozáshoz egy változót kell megadni Új típus Programozás alapjai 9

File (3) A file változót a deklarációs részben kell deklarálni: Var f1 : File Of Integer; Tipizált file f2 : File; Nem tipizált file f3 : Text; Text file A file változó alkalmas a file FP-n belüli kezelésére de a fileokat igazából az operációs rendszer kezeli, ahol nem változók, típusok vannak, hanem meghajtók (a:, b:, c: ), katalógusok (Users, Tools, Games, ) és file-ok (Adat.Dat, Config.Sys, ) A kettőt össze kell kapcsolni. Programozás alapjai 10

File (4) Összekapcsolás: Assign (Var f: fileváltozó; filenév : String); fileváltozó: bármilyen típusú fileváltozó filenév: string típusú kifejezés vagy változó Ettől kezdve minden művelet a megadott file-on csak a fileváltozón keresztül történhet. A név tartalmazhat meghajtót és útvonalat. (De max 79 karakter!) Programozás alapjai 11

Pl.: File (5) Assign (f1, c:\users\peter\fizetes.dat ); File megnyitási módok: Létező file megnyitására: Reset (Var f : fileváltozó); (A file-nak létezni kell, megnyitás után lehet olvasni, írni) Létrehozásra: ReWrite(Var f : fileváltozó); (A file-t létrehozza. Ha már létezik előtte törli. Ha már írtak bele, akkor utána lehet olvasni is belőle.) Programozás alapjai 12

File (6) A megnyitás után a file pointer mindig az első adatra mutat. Ha a file-t bővíteni kell, akkor először el kell pozícionálni az utolsó adat utánra, majd onnantól írni a file-ba. A Text típusú file-ok esetében ez problémás, mert ott sorok vannak, és nem lehet tudni, hogy egy sorban hány adat van. Így nem lehet gyorsan a file végére pozícionálni. Erre találták ki (csak Text típusú file-ok esetében) az megnyitást. Append (Var fileváltozó : Text); Programozás alapjai 13

File (7) Írás, olvasás a file-ból (Text típusú file-ok esetén eltér ) Írás: Write (fileváltozó, paraméterlista); Olvasás: Read (fileváltozó, paraméterlista); A file lezárása: Close (Fileváltozó); Programozás alapjai 14

Filekezelő eljárások, fv-ek Append Assign BlockRead BlockWrite Close Eof EoLn Erase FilePos FileSize Flush Read ReadLn Rename Reset ReWrite Seek SeekEof SeekEoLn Truncate Write WriteLn Nem használható Text file esetén Használható Text file esetén Nem használható nem tipizált file esetén Programozás alapjai 15