I. Ôn lại một số thao tác với tệp.
1. Các thao tác với tệp.
a. Khai báo tệp văn bản:
Var <tên biến
tệp> : text;
Ví dụ: Var
f : text;
Var tep1, tep2: text;
b. Gắn tên tệp:
assign(<biến tệp>,<tên tệp>);
Ví dụ: assign(f,'DuLieu.doc');
c. Mở
tệp:
- Để ghi : rewrite(<biến tệp>);
- Để đọc: reset(<biến tệp>);
Ví dụ: rewrite(f);
reset(f);
d. Đọc/ghi tệp:
read(<biến tệp>,<danh sách
biến>);
hoặc
readln(<biến tệp>,<danh sách biến>);
write(<biến
tệp>,<danh sách kết quả>);
hoặc
writeln(<biến tệp>,<danh sách kết quả >);
e. Đóng tệp:
close(<biến tệp>);
Ví dụ: close(f);
2. Một số hàm chuẩn thường dùng trong đọc/ghi
tệp văn bản.
* Hàm eof(<biến tệp>) trả về giá trị true
nếu con trỏ tệp đang chỉ tới cuối tệp.
* Hàm eoln(<biến tệp>) trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối dòng.
II. Ví dụ
1.
Ví
dụ 1: Viết một chương trình GhiTep
để thực hiện các công việc sau:
a) Nhập
vào 3 biến kiểu số thực x,y,z từ bàn phím.
b) Ghi
giá trị của 3 biến trên vào tệp C:\Data.txt,
giữa các giá trị cách nhau ít nhất một khoảng trắng.
Program GhiTep;
var tep:text; {Khai
báo biến tệp}
x,y,z:real;
BEGIN
{a}
write('Nhap x,y,z:
');
readln(x,y,z);
{b}
assign(tep,'C:\Data.txt'); {Gắn tên tệp}
rewrite(tep); {Mở tệp ra để ghi}
write(tep,x,' ',y,'
',z,' '); {Ghi tệp}
close(tep); {Đóng tệp}
readln;
END.
Sau khi thực hiện xong chương trình này, mở ổ
đĩa C ra ta thấy có 1 tập tin Data.txt
2.
Ví
dụ 2: Từ tệp C:\Data.txt ở ví dụ 1,
hãy viết chương trình DocTep để đọc
các giá trị trong tệp vào 3 biến kiểu số thực a,b,c, sau đó xuất kết quả ra màn
hình.
Program DocTep;
var tep:text; {Khai
báo biến tệp}
a,b,c:real;
BEGIN
assign(tep,'C:\Data.txt'); {Gắn tên tệp}
reset(tep); {Mở tệp ra để đọc}
read(tep,a,b,c); {Ghi
tệp}
write('Gia tri 3 bien la: ',a,' ',b,'
',c,' '); {Xuất giá trị 3 biến ra màn hình}
close(tep); {Đóng
tệp}
readln;
END.
3.
Ví
dụ 3: Viết một chương trình thực hiện các công việc sau:
a)
Nhập
vào mảng 1 chiều A kiểu số nguyên có 10 phần tử.
b)
Ghi
các phần tử của mảng vào tập tin D:\DuLieu.doc,
các phần tử được ghi cách nhau ít nhất một khoảng trắng.
Program
GhiMang;
Var f:text;
A:array[1..10] of
integer;
i:integer;
BEGIN
{a}
For i:=1 to 10 do
Begin
Write('Nhap
A',i, '=');
Readln(A[i]);
End;
{b}
Assign(f,'D:\DuLieu.doc');
rewrite(f);
For i:=1 to 10 do
write(f,A[i], ' ');
Close(f);
Readln;
END.
III. Bài tập (Tương tự
ví dụ 1)
Viết một chương
trình GhiTep để thực hiện các công
việc sau:
a)
Nhập vào 4 biến kiểu xâu a,b,c,d từ
bàn phím.
b)
Ghi giá trị của 4 biến trên vào tệp C:\Data.txt, giữa các giá trị cách nhau
ít nhất một khoảng trắng.
Gợi ý: var a,b,c,d:string;