Tải bản đầy đủ (.ppt) (13 trang)

Bai 17.Kiểu dữ liệu tệp và thao tác với tệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (335.89 KB, 13 trang )

Bài 17
1. Vai trò kiểu tệp
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài
(đĩa từ, CD, ) và không bị mất khi tắt nguồn điện.
Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ
phụ thuộc vào dung lượng đĩa.
2. Có hai loại tệp thường dùng:
Tệp có cấu trúc Tệp văn bản
Là tệp mà các phần tử có cùng
một cấu trúc nhất định.
Là tệp mà dữ liệu được ghi dưới
dạng các kí tự theo mã ASCII.
Dưới đây ta chỉ xét các khai báo và làm việc với tệp văn bản.
3. Khai báo tệp văn bản
Var <Tên biến tệp> : TEXT;
Ví d :ụ
tep1,tep2
: Text;
Program vd1;
Uses crt;
Var
tep1,tep2: TEXT;
3. Thao tác với tệp
Gán tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
Đóng tệp
a. Gán tên tệp
ASSIGN (<BIẾN TỆP>,<TÊN TỆP>);


Tên tệp: Là biến xâu hoặc hằng xâu.
ASSIGN(tep1, ‘DULIEU.DAT’);
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
Ví d :ụ
Biến tep1 được gắn với tệp có
tên DULIEU.DAT
Biến tep2 được gắn với tệp có
tên BAITAP.INP trong thư mục
TP ở ổ đĩa D.
b. M t pở ệ
REWRITE (
<bi n t p>)ế ệ
;
Thủ tục mở tệp để ghi kết quả:
Program vd1;
Uses crt;
Var
tep1,tep2: TEXT;
BEGIN
Clrscr;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (
tep2)
;
Nếu như trên ổ D:\TP chưa có
tệp BAITAP.INP, thì tệp sẽ
được tạo rỗng. Nếu đã có, thì
nội dung cũ bị xoá để chuẩn bị
ghi dữ liệu mới.
Thủ tục ghi dữ liệu ra tệp


Danh sách kết quả gồm một hay
nhiều phần tử. Phần tử có thể là
biến, hằng xâu hoặc biểu thức.
c. Ghi dữ liệu ra tệp
Program vd1;
Uses crt;
Var
tep2: TEXT;
a,b: integer;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (
tep2)
;
WRITE (tep2,a,’ ‘,b);
a:=3; b:=5;
BEGIN
Clrscr;
Close(tep2);
Readln;
END.
WRITE(
<bi n t p>, <Danh sách k t qu >)ế ệ ế ả
;
WRITELN (<bi n t p>, <Danh sách k t ế ệ ế
qu >);ả
Giá trị hai biến a=3, b=5
được ghi ở trong tệp
BAITAP.INP.
RESET (<bi n t p>);ế ệ

Thủ tục mở tệp để đọc dữ liệu
Thủ tục đọc dữ liệu từ tệp:
d. Đọc dữ liệu từ tệp
Program vd2;
Uses crt;
Var
tep2: TEXT;
x1,y1: integer;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
RESET (
tep2)
;
READLN (tep2,x1,y1);
BEGIN
Clrscr;
Close(tep2);
Readln;
END.
WRITE (
Hai so do la ,x1,y1)‘ ’
;
READ(
<bi n t p>, <Danh sách bi n>)ế ệ ế
;

Danh sách biến là một hoặc
nhiều biến đơn.
READLN (<bi n t p>, <Danh sách bi n>);ế ệ ế
Close(tep2);
Program vd1;

Uses crt;
Var
tep2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (tep2);
WRITE (tep2,a,b);
a:=3; b:=5;
Readln;
END.
Close(tep2);
BEGIN
Clrscr;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
READLN(
tep2, x1,y1)
;
WRITE (
Hai so do la ,x1,y1)‘ ’
;
Readln;
END.
Program vd2;
Uses crt;
Var
tep2: TEXT;
x1,y1: integer;
RESET (

tep2)
;
e. Thủ tục đóng tệp
CLOSE
(< TÊN BIẾN TỆP>)
GHI DỮ LIỆU RA TỆP ĐỌC DỮ LIỆU TỪ TỆP
f. Một số hàm chuẩn thường dùng trong xử lí tệp văn bản
EOF(<biến tệp>);
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối tệp.
EOFLN(<biến tệp>);
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối dòng.
Hãy nhớ!
 Khai báo tệp văn bản:
Var < Tên biến tệp>: Text;

Gán tên tệp:
ASSIGN(<tên biến tệp>);

Mở tệp:
- Để đọc: RESET(<Tên biến tệp>);
- Để ghi: REWRITE(< Tên biến tệp>);
Đóng tệp
CLOSE(< tªn biÕn tÖp>);

Đọc/ghi tệp
Đọc: READ(<Tên biến tệp>, biến nhận);
Ghi: REWRITE(< Tên biến tệp>,biến đưa ra);

×