18
Textové súbory I. ód ITMS projektu: 26110130519 ymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia Vzdelávacia oblasť: Matematika a práca s informáciami Predmet Programovanie Ročník, triedy: 4. ročník Tematický celok: Textové súbory Vypracoval: Mgr. Andrea Pločicová Dátum: december 2012

Textové súbory I

  • Upload
    steffi

  • View
    60

  • Download
    0

Embed Size (px)

DESCRIPTION

Kód ITMS projektu: 26110130519 Gymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia. Textové súbory I. Súbor. skupina údajov uložených pomocou počítača, ktoré majú meno; obsah uložený mimo operačnej pamäte. Použitie: načítanie vstupov z externého súboru. - PowerPoint PPT Presentation

Citation preview

Textové súbory I.

Kód ITMS projektu: 26110130519Gymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia

Vzdelávacia oblasť: Matematika a práca s informáciami

Predmet Programovanie

Ročník, triedy: 4. ročník

Tematický celok: Textové súbory

Vypracoval: Mgr. Andrea Pločicová

Dátum: december 2012

Súbor• skupina údajov uložených pomocou počítača,

ktoré majú meno;• obsah uložený mimo operačnej pamäte.

Použitie:• načítanie vstupov z externého súboru.• uloženie výsledkov spracovania údajov.

2

S akým typom súboru budeme pracovať?

Textový súbor

riadky obsahujúce• znaky, • slová, • vety.

Výhoda:Jednoduché vytváranie, editovanie, prezeranie v ľubovoľnom

systémovom editore.

3

Značky v textovom súbore

<Eoln> označenie konca riadku<Eof> označenie konca súboru

4

Ako vidíme textový súbor my:

Ako ho vidí prekladač:

EMA

MA

MAMU

|E|M|A|<Eoln>| |M|A|<Eoln>|M|A|M|U|<Eof> ^ukazovateľ

Čo sa naučíme?

• Vytvoriť /zapisovať do súboru.• Čítať a spracúvať obsah súboru.• Vypísať obsah súboru.

5

Sprístupnenie obsahu súboru

• Bežiaci program je uložený v OP.• Textový súbor je uložený na disku.

• Premenná typu TextFile sprístupňuje obsah súboru bežiacemu programu.

Deklarácia:Napr.

var f: TextFile ; ...

6

Priradenie súboru premennej

AssignFile(meno_premennej_typu_TextFile, cesta_k_suboru)

varf: TextFile;

beginAssignFile(f, cesta_k_suboru) ;

....end;

7

Manipulácia so súborom

Zo súboru sa nedá naraz čítať aj doňho zapisovať.

Hneď po priradení súborovej premennej súboru pripravíme súbor na:

• čítanie alebo• vytvorenie a zápis alebo• zápis do existujúceho súboru.

8

Ukončenie práce so súborom

CloseFile(meno_premennej_typu_TextFile)

9

Otvorenie súboru na čítanie

reset(meno_premennej_typu_TextFile)Procedúra, ktorá otvorí súbor na čítanie.

READ(LN)(f,p) , READ(LN)(f,p1 , p2 , ...pn)• Procedúry, ktoré zo súboru otvoreného na čítanie prečítajú 1

znak, resp. niekoľko znakov.• Po prečítaní kurzor zostáva v tom istom riadku (read) alebo sa

presunie do ďalšieho riadku (readln)

10

Príklad 1.

Zo súboru znak.txt prečítajte 1. znak a vypíšte ho do komponentu Memo1.Predpokladajte, že súbor existuje a je uložený v rovnakom priečinku ako projekt.

11

Riešenie

...

varf: TextFile;

c: char;

beginAssignFile(f,‘znak.txt‘);

Reset(f);

Read(f,c);

Memo1.Lines.Add(c);

CloseFile(f);

end;

12

Úlohy I.

1.Upravte riešenie Príkladu 1. tak, aby boli prečítané a vypísané prvé 2 znaky zo súboru.

2.Zo súboru prečítajte prvých desať znakov.3.Zo súboru čítajte nasledovne:

a) z 1. riadku 1 znakb)z 2. riadku 2 znakyc) z 3. riadku 3 znaky

13

Čítanie celého obsahu súboru

• pomocou príkazu cyklu s podmienku na začiatku;

• podmienka obsahuje funkciu Eof(meno_premennej_typu_TextFile) ;

• funkcia Eof(...) je typu boolean;

• vráti hodnotu „True“, ak sa ukazovateľ nachádza na konci súboru.

14

Príklad 2.

• Zo súboru vety.txt prečítajte celý obsah a prepíšte ho do komponentu Memo1.

• Dodržte odseky v pôvodnom dokumente.• Predpokladajte, že súbor existuje a je uložený

v rovnakom priečinku ako projekt.

15

Úlohy II.

V súbore znaky.txt:• spočítajte medzery;• zistite počet riadkov; • zistite počet znakov najdlhšieho riadku; • spočítajte počet slov najdlhšieho riadku; • vypíšte najdlhší riadok na obrazovk;u • vypíšte na obrazovku riadok, v ktorom sa nachádza

najviac slov.

16

Riešenie

...

varf: TextFile;

riadok: string;

beginAssignFile(f,‘vety.txt‘);

Reset(f);

Readln(f,riadok); //čítame po celých riadkoch

Memo1.Lines.Add(riadok);

CloseFile(f);

end;

17

Použité zdroje

• http://www.gympd.sk/~jaro/pascal/subortxt/index.html• http://www.programovanie.kromsat.sk/prog-b/s24.htm

18