textové súbory i
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 PresentationTRANSCRIPT
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
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