Thao tác với tệp2.Thao tác với tệp a.Gắn tên tệp.Vấn đề đặt ra: Vd: ’Dulieu.Dat’ Biến Trong lập trình thao tác với biến tệp Thủ tục: Assign... Thao tác với tệp2.Thao tác với tệp a.Gắn t
Trang 1Bµi 15 Thao t¸c víi tÖp
GV: Ph¹m V¨n SÜ
Trang 2KiÓm tra bµi cò
C©u 1: D÷ liÖu kiÓu tÖp ® îc l u tr÷ ë:
a Rom
b Ram
c §Üa cøng
d Bé nhí ngoµi
Trang 3Kiểm tra bài cũ
Câu 2: Số l ợng phần tử trong tệp
a.Không đ ợc lớn hơn 128
b.Không đ ợc lớn hơn 255
c.Phải đ ợc khai báo tr ớc
d.Không bị giới hạn mà chỉ phụ thuộc vào dung l ơng ổ đĩa
Trang 4Bài 15 Thao tác với tệp
1.Khai báo
Var <tên biến tệp> : Text;
Vídụ: var f,g:Text;
Biến tệp do ng ời lập
trình đặt
Trang 5Bài 15 Thao tác với tệp
2.Thao tác với tệp
a.Gắn tên tệp.Vấn đề đặt ra:
Vd: ’Dulieu.Dat’
Biến
Trong lập trình thao
tác với biến tệp
Thủ tục:
Assign(<biến tệp>)
Trang 6Bài 15 Thao tác với tệp
2.Thao tác với tệp
a.Gắn tên tệp.
Vd1:
assign(f,’Dulieu.dat’);
Trong đó:
f:Là biến tệp
‘Dulieu.Dat’là hằng tệp
Trang 7Bài 15 Thao tác với tệp
2.Thao tác với tệp
a.Gắn tên tệp
Vd2: assign(f,’c:\Baitap\Dulieu.dat’);
Trong đó: f: là biến tệp
’c:\Baitap\Dulieu.dat’ là hằng xâu chỉ đ ờng dẫn tới tệp Dulieu.Dat
Trang 8Bài 15 Thao tác với tệp
2.Thao tác với tệp
a.Gắn tên tệp
Vd3: st:=‘Dulieu.dat’ ; assign(f,st); Trong đó: f:là biến xâu
st: là biến xâu
Trang 9Bài 15 Thao tác với tệp
2.Thao tác với tệp b.Mở tệp
Đặt vấn đề: Có 1 quyển vở Tin 11.Khi tôi mở
ra để làm thao tác gì?
-Mở ra để đọc -Hoặc mở ra để ghi
-Mở tệp để ghi:+ Gắn biến tệp với tên tệp cần ghi
+ Dùng thủ tục Rewrite(<biến tệp>) Vd: assign(f,’Dulieu.txt’);
rewrite(f);
Trang 10Bài 15 Thao tác với tệp
2.Thao tác với tệp
b.Mở tệp
-Mở tệp để đọc: + Gắn biến tệp với tên tệp
+ Dùng thủ tục Reset(<biến tệp>) Vd:
Trang 11Bµi 15 Thao t¸c víi tÖp
2.Thao t¸c víi tÖp
c.§äc/ghi tÖp v¨n b¶n
+§äc tÖp:
Read(<biÕn tÖp>,<Ds biÕn>);
hoÆc Readln(<biÕn tÖp>,<Ds biÕn>); Vd: var f:text; a:integer;
begin assign(f,’Dulieu.txt’);resset(f);
read(f,a); … End End.
Trang 12Bµi 15 Thao t¸c víi tÖp
2.Thao t¸c víi tÖp
c.§äc/ghi tÖp v¨n b¶n
+Ghi tÖp:
write(<biÕn tÖp>,<Ds kÕt qu¶>); hoÆc writeln(<biÕn tÖp>,<Ds kÕt qu¶>); Vd: var f:text; a:integer;
begin assign(f,Dulieu.txt’);rewrite(f);
a:=2; write(f,a); end
Trang 13Bµi 15 Thao t¸c víi tÖp
(*) Mét sè hµm chuÈn
- Hµm Eof(<biÕn tÖp>)
NÕu = true khi ë cuèi tÖp
- Hµm Eoln(<biÕn tÖp>)
NÕu = true khi ë cuèi dßng
Trang 14Bµi 15 Thao t¸c víi tÖp
2.Thao t¸c víi tÖp
c.§ãng tÖp
Close(<biÕn tÖp>);
Vd: close(f); close(g);
Trang 15Bµi 15 Thao t¸c víi tÖp
Cñng cè l¹i bµi
1 Var(<biÕn tÖp>):text;
B egin
2 Assign(<biÕn tÖp>,<tªn tÖp>);
3 Reset(<biÕn tÖp>); HoÆc Rewrite(<biÕn tÖp>);
4 Read(<biÕn tÖp>); HoÆc Write(<biÕn tÖp>);
5 Close(<biÕn tÖp>);
End.
Trang 16Bµi 15 Thao t¸c víi tÖp
Bµi tËp vÒ nhµ:
DÞch ®o¹n ch ¬ng tr×nh sau:
Var f:text; a:integer;
Begin
assign(f,’Dulieu.txt’);reset(f);
While not eof(f) do
begin read(f,a);
write(a:2);
end;
End.
Trang 17Xin chµo! Xin c¶m ¬n!