*Kiểu DL tệp: -Để lưu trữ DL ta phải lưu nó ở bộ nhớ ngoài thông qua kiểu tệp và DL sẽ không bị mất khi mất điện.. -Lưu kượng thông tin lớn phụ thuộc vào dung lượng của đĩa.. *Phân loại
Trang 1Bài 14,15:
TỆP VÀ THAO TÁC VỚI TỆP
.Đặc điểm của kiểu dữ liệu tệp và phân
1
loại kiểu tệp.
*Kiểu DL tệp:
-Để lưu trữ DL ta phải lưu nó ở bộ nhớ ngoài
thông qua kiểu tệp và DL sẽ không bị mất khi
mất điện
-Lưu kượng thông tin lớn phụ thuộc vào
dung lượng của đĩa
*Phân loại:
-Tệp cấu trúc:là tệp mà các phần tử của nó được xắp xếp theo một cấu trúc nhất định(vd:cùng kiểu )
-Tệp văn bản:là tệp mà dữ liệu được nghi dười dạng các kí tự trong bảng mã ASCII
Trang 2Ví dụ về thiết bị lưu trữ ngoài.
USB, ĐĨA TỪ, CD,
Trang 32 KHAI BÁO TỆP VĂN BẢN
•
Var <tênbiến tệp> : text;
• Vd: Var tep1,tep2 : text;
Trang 43 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 VÀO
TỆP ĐỌC DỮ LIỆU TỪ TỆP
ĐÓNG TỆP
Trang 5*GÁN TÊN TỆP
Asign (<tênbiếntệp>,<têntệp>).
VD: Asign(tep, '11A.DAT');
Biến tep được gan tên 11A.DAT
Asign(tep1, 'D:\SETUP\TP\BAITAP.INP ');
Biến tep1được gán tên BAITAP.INP và nằm trong thư mục TP của thư mục
SETUP trong ổ D
Trang 6* Mở tệp.
•
Asign
(<tênbiếntệp>,<têntệp>).
•
VD: Asign(tep,
'11A.DAT');
Program MOTEP;
Uses crt;
Var tep : text;
Begin clrscr;
Asign (tep, ‘D:\TP\BAITAP’); Rewrite(tep);
Nếu ở đây nếu như
trên ổ D chưa có tệp
mang tên
'BAITAP.INP' thì nó sẽ
được tạo ra rỗng Nếu
đã có thì nội dung sẽ
bị xóa để chuẩn bị
nghi mới nội dung
Trang 7* Thủ tục ghi dữ liệu ra tệp.
•
*Ghi tệp:
•
Write (<biếntệp>,<dskếtquả>);
• Writeln(<biếntệp>,<dskếtquả>);
DS kết quả ở đây có thể là
một hay nhiều phần tử Phần
tử ở đây có thể là biến, hằng
xâu hay biểu thức
Vd:
Program VD1;
Uses crt;
Var tep1: text;
a,b: integer;
Begin
Clrscr;
Asign (tep1 , D:\TINHOC'); Rewrite(tep1);
a:=7; b:=9;
write ( tep1 , a ,' ', b);
Close(tep1);
Readln;
And
Giá trị hai biến a=7, b= 9 được ghi trong tệp TINHOC
trong ổ D
Trang 8* Đọc dữ liệu từ tệp.
•
- Mở tệp để đọc dữ liệu:
•
Reset (<biếntệp>);
•
- Đọc DL từ tệp:
•
Read(<biếntệp>,<DSbiến>);
•
Readln(<biếntệp>,<DSbiến>);
Begin Clrscr;
Asign (tep,'D:\TINHOC.INP'); Reset (tep);
Readln(tep,x,y);
Write(' Hai so do la : ',x,' ',y); Close (tep);
Readln;
End
DS biến có thể là
một hoặc nhiều
biến đơn
Trang 9*Thủ tục đóng tệp.
Close (<tênbiếntệp >);
•
* Các hàm thường dùng khác
•
-Eof(<tênbiếntệp>);
\\ có giá trị đúng khi con trỏ đang ở vị trí cuối trệp
Eofln(<tênbiếntệp>);
\\ có giá trị đúng khi con trỏ đang chỉ ở vị trí cuối dòng
Trang 10CHÚ Ý
•
- Cách khai báo tệp văn bản:
•
Var <tênbiếntệp> : text;
•
-Gán tên tệp:
• Asign (<tênbiếntệp>,<têntệp>);
•
-Mở tệp:
•
-Đọc: Reset (<tênbiếntệp>);
•
-Ghi: Rewrite(<tênbiếntệp>);
•
-Đọc ghi tệp:
•
+Đọc:
Read(<tênbiêntệp>,<Dsbiến nhận giá trị>);
• +Ghi:
Rewrite(<tênbiếntệp>,<DS giá trị//biến nhậngiá trị>);
•
-Đóng tệp:
• Close (<tên biến tệp>);