Vai trò kiểu tệpDữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài đĩa từ, CD, .... Bài 14: Kiểu dữ liệu tệp Em hãy cho biết DL trong các kiểu DL từ trước đến nay ta sử dụng được lưu
Trang 1Giáo án điện tử tin học lớp 11
Trang 2Bài 14-15
Giáo án điện tử tin học lớp 11
Ngày soạn: 12/03/2009
Tiết: 36
Chương V: TỆP VÀ THAO TÁC VỚI TỆP
Trang 31 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.
Bài 14: Kiểu dữ liệu tệp
Em hãy cho biết DL trong các kiểu
DL từ trước đến nay ta sử dụng được lưu trữ ở loại bộ nhớ nào khi
ta thực hiện chương trình? Vì sao
em biết điều đó?
Với một số bài toán có khối lượng
DL lớn, có yêu cầu lưu trữ để xử lí nhiều lần, cần phải có kiểu DL tệp
Vai trò của kiểu tệp?
Trang 42 Phân loại tệp và thao tác với tệp:
Tệp cĩ cấu trúc
Tệp văn bản
Là loại tệp mà các thành phần của nĩ được tổ chức theo một cấu trúc nhất định
Ví dụ:
Ví dụ: Các dữ liệu dạng: hình ảnh, âm thanh,… thường được lưu trữ dưới dạng tệp có cấu trúc
Là tệp mà DL được ghi dưới
dạng các kí tự theo mã ASCII
Ví dụ:
Ví dụ: Các dữ liệu dạng:
Sách, bài học, giáo án,…
thường được lưu trữ dưới
dạng tệp văn bản
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.
- Xét theo cách truy cập:
Tệp truy cập trực tiếp
Tệp truy cập tuần tự
- Xét theo cách tổ chức dữ liệu:
Trang 51 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;
Bài 15: Thao tác với tệp
Trang 6a 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.
2 Thao tác với tệp
Trang 7b 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.
Trang 8Thủ 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ả>);
Trang 9Giá trị hai biến a=3, b=5 được ghi ở trong tệp BAITAP.INP.
Trang 10RESET (<biến tệp>);
Thủ tục mở tệp để đọc dữ liệu
Thủ tục đọc dữ liệu từ tệp:
Danh sách biến là một hoặc nhiều
biến đơn.
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>);
READLN (<biến tệp>, <Danh sách biến>);
Trang 11Program 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
Trang 12f 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 (true) nếu con trỏ đang chỉ tới cuối tệp EOLN(<biến tệp>): Cho giá trị đúng (true) nếu con trỏ đang chỉ tới cuối dòng.
Sơ đồ mô tả thao tác với tệp
Gán tên tệp
Đóng tệp
Trang 13Hã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: WRITE(< Tên biến tệp>,biến đưa ra);
Trang 1414