Upload
gagan
View
44
Download
8
Embed Size (px)
DESCRIPTION
Predmet: Informatika 1 Téma: Údajový typ súbor (Digitálny prezentačný materiál). Vypracoval: Mgr. Ondrej Kostelník. Zopakujme si jednorozmerné pole. Definujte údajový typ jednorozmerné pole? Definujte premennú typu pole? Prostredníctvom čoho pristupujeme ku položkám poľa?. - PowerPoint PPT Presentation
Citation preview
Predmet: Informatika 1Téma: Údajový typ súbor
(Digitálny prezentačný materiál)
Vypracoval: Mgr. Ondrej Kostelník
Zopakujme si jednorozmerné pole
1. Definujte údajový typ jednorozmerné pole?2. Definujte premennú typu pole?3. Prostredníctvom čoho pristupujeme ku
položkám poľa?
Údajový typ súbor
Použitie typu súbor
• Tento údajavý typ využívame vtedy, ak chceme ukladať údaje na pevný disk, disketu, virtuálny disk alebo čítať údaje z týchto médií. Každý takýto súbor v pascale je určitého typu.
• to znamená, že doň môžeme ukladať iba informácie rovnakého typu.(integer, char,...)
• Samotný prístup na disk riadi operačný systém, preto sa programátor nemusí zaoberať vlastnosťami použitého nosiča dát. Každý súbor je označený názvom a cestou k disku.
Typy súborov
• Súbory sa delia podľa použitia riadiacich znakov na:• textové• netextové s udaným typom• netextové bez udania typu
Deklarovanie premennej typu súbor
Var <identifikátor_prem>: text ; alebo file of typ;
identifikátor_premennej názov objektu, ktorý vytvárame v pamäti.
• Príklad type SuborRealnychCisel: file of real;
• SuborZnakov: file of char;• SuborMalychMnozin: file of [1..10];• var TextovySubor: text; alebo var TextovySubor: file of char;• var Rcisla: SuborRealnychCisel;• var ZZZ: SuborZnakov;• Subor: file; (všeobecný súbor)• SuborCisel: file of real;
Procedúry a funkcie pre prácu so súbormi
Práca so súbormi je závislá od operačného systému. Preto môžu byť rôzne procedúry a funkcie pre rôzne implementácie pascalu.
V Turbo Pascale sú tieto:
• procedure assign (var subor;Nazov:string); - vytvorí sa prepojenie skutočného súboru s identifikátorom subor. Identifikátor sa využíva na prístup k súboru na disku.
• procedure rewrite(var subor); - spôsobi vytvorenie nového súboru alebo v prípade, že súbor existuje, zruší jeho starý obsah.
• procedure reset (var subor); - nastavenie aktuálnej pozície na začiatok súboru na jeho čítanie.
Procedúry a funkcie pre prácu so súbormi
Práca so súbormi je závislá od operačného systému. Preto môžu byť rôzne procedúry a funkcie pre rôzne implementácie pascalu.
V Turbo Pascale sú tieto:• procedure append(var subor:text); - (možná iba
u textových súborov) aktuálna pozícia v súbore je automaticky nastavená na poslednú pozíciu. To platí vtedy, ak súbor neobsahuje znak #26 – EOF – koniec súboru. Ak áno je aktuálna pozícia na tomto znaku a ten sa prepíše novým zápisom.Pri zavretí súboru sa znak EOF zapíše automaticky.
• procedure close(var subor); - uzavretie súborov každého typu.
Procedúry a funkcie pre prácu so súbormi
• funkcia FileSize(subor); - funkcia udávajúca velkosť netextového súboru, t.j. číslo poslednej položky v súbore. Číslovanie začína od nuly.
• procedúra Seek(subor,velkost); - nastaví súbor na poslednú položku
• procedúra Erase(subor); - vymaže daný súbor
• funkcia Eof(subor); - end of file testuje koniec súboru. Jej výsledkom je true ak bol prečítaný znak konca súboru s kódom #26.
• funkcia Eoln(subor); - (end of line) testuje koniec riadku. Jej výsledkom je true, ak bol prečítaný znak konca riadka s kódom #13 alebo #10.
Čítanie textového súboru:
• Často potrebujeme pri testovaní programov zadávať mnoho údajov z klávesnice pri každom testovaní programu. Aby sme to nemuseli počas testovania niekoľkokrát opakovať, použijeme zadanie údajov prečítaním textového súboru z disku, ktorý si predtým pripravíme.
• Jeho čítanie urobíme nasledovným spôsobom:
Čítanie textového súboru:• {Program s procedurou "zobraz" ktora zobrazi obsah textoveho• suboru na obrazovku.}• program VypisNaObrazovku;• uses crt;• var menosubru:string;• • Procedure zobraz(menosub:string);• var znak:char;• s:text;• begin• assign(s,menosub);• reset(s);
Čítanie textového súboru:• while not(eof(s)) do begin• while not(eoln(s)) do begin • read(s,znak);• write(znak);• end;• readln(s); • writeln;• close(s);• end;• BEGIN• writeln('Zadaj nazov suboru');• readln(menosuboru);• clrscr;• zobraz(menosuboru);• readln;• END.
Vytvorenie (zápis do) textového súboru
• program Vytvor_subor;• uses crt;• var menosub:string;• znak:char;• s:text;• begin• assign(s,'menosubo.pas');• rewrite(s);• writeln('Zapis text suboru(ukonc - ESC):');• repeat• read(znak);• write(s,znak);• until znak='.';• close(s);• end.
Úlohy
1. Napíšte program na spojenie dvoch textových súborov.
2. Napíšte program na nahradenie slov v textovom súbore iným slovom.
3. Napíšte program, ktorý zistí počet riadkov v zadanom súbore.
Koniec