Presentation is loading. Please wait.

Presentation is loading. Please wait.

Binarne datoteke u Pascalu

Similar presentations


Presentation on theme: "Binarne datoteke u Pascalu"— Presentation transcript:

1 Binarne datoteke u Pascalu

2 Ponavljanje – tekstualna datoteka
niz znakova organiziranih u redove datoteku možemo otvoriti bilo kojim programom za rad s tekstom čitamo redom od početka do kraja datoteke procedure read, readln, write, writeln pomiču pokazivač na sljedeći znak ili početak sljedećega reda

3 Ponavljanje – tekstualna datoteka

4 Binarna datoteka datoteka u koju spremamo niz istovrsnih podataka
podaci u datoteci imaju isti oblik kao podaci u memoriji nije čitljiva u tekst editoru

5 Organizacija datoteke
Početak datoteke Pokazivač Kraj datoteke Prva komponenta Druga komponenta Zadnja komponenta 0. mjesto 1. mjesto 2. mjesto

6 Deklaracija varijable
Var f : file of tip podataka koje spremamo; x : tip podataka koje spremamo; Primjer: var f:file of integer; x:integer; Početak datoteke Kraj datoteke 7 8 9 17 67

7 Procedure i funkcije Procedure: assign(f,put); rewrite(f); reset(f);
close(f); read(f,x); write(f,x); seek(f,n); - postavlja pokazivač na mjesto s oznakom n

8 Procedure i funkcije Funkcije: eof(f)
filesize(f) – vraća broj komponenata filepos(f) – vraća trenutačnu vrijednost pokazivača (oznaku mjesta na kojem se nalazi)

9 Zadatak Igrač u svakom pokušaju sprema postignute bodove u (binarnu) datoteku. Na kraju tjedna program ispisuje sve postignute bodove i broj pokušaja. Najveće postignute bodove i u kojem pokušaju su ostvareni.

10 A) Ispis svih spremljenih bodova
var f:file of integer; x:integer; begin assign(f,'d:\bodovi'); reset(f); while not(eof(f)) do begin read(f,x); write(x,' '); end; close(f); readln; end. ili

11 A) Ispis svih spremljenih bodova
var f:file of integer; x,i:integer; begin assign(f,'d:\bodovi'); reset(f); for i:=1 to filesize(f) do begin read(f,x); write(x,' '); end; close(f); readln; end.

12 Izlazni ekran

13 U skladu s tekstom zadatka
var f:file of integer; x,i:integer; begin assign(f,'d:\bodovi'); reset(f); for i:=1 to filesize(f) do begin read(f,x); writeln(i,’. pokusaj: ’,x); end; close(f); readln; end.

14

15 B) Najveći bodovi

16 B) Najveći bodovi assign(f,'d:\bodovi'); reset(f); rbr_max:=0;
read(f,max); for i:=1 to filesize(f)-1 do begin read(f,x); if x>max then begin max:=x; rbr_max:=filepos(f); end; writeln('Broj pokusaja: ',rbr_max); write('Ostvareni bodovi: ',max); close(f);

17 Zadaci Nacrtana je datoteka:
Na kojem mjestu se nalazi pokazivač nakon izvođenja instrukcije seek(f, 5);? Na kojem mjestu se nalazi pokazivač nakon izvođenja instrukcije seek(f, filesize(f));? seek(f, filesize(f)-3);? seek(f, filesize(f) div 2);? seek(f, 1);? 2 7 8 9 11 45 23 21 54 63 74 98 72 31 EOF 7 45 21 98 EOF


Download ppt "Binarne datoteke u Pascalu"

Similar presentations


Ads by Google