37 Kiểu dữ liệu tệp Các bài tập Bài tập củng cố Các thao tác với tệp Kiểm tra bài cũ Tiết 37... • Khái niệm Tệp file là tập hợp dữ liệu được lưu trữ trên bộ nhớ ngoài đĩa mềm, đĩa cứng,.
Trang 137
Kiểu dữ liệu tệp
Các bài tập Bài tập củng cố Các thao tác với tệp Kiểm tra bài cũ
Tiết 37
Trang 3Ổ CỨNG RAM
Lưu trữ lâu dài
Dữ liệu mất khi tắt máy
Những kiểu dữ liệu đã học được lưu ở đâu ?
Với n
hững
bài to án
trong
đó dữ
liệu c ần
được l ưu trữ
để xử lý
nhiều
lần v
à với k hối
lượng
lớn th
ì sao ?
những loại bộ nhớ nào?
KIỂU DỮ LIỆU TỆP Bài 14
Tiết 37
Trang 4• Khái niệm
Tệp (file) là tập hợp dữ liệu được lưu trữ trên bộ nhớ ngoài (đĩa mềm, đĩa cứng, )
• Phân loại
Tệp định kiểu:
Tệp văn bản:
Là tệp mà các phần tử có cùng một kiểu
Gồm các kí tự được phân chia thành một hoặc nhiều dòng
• Cấu trúc
Bài 14
Trang 5Tiết 37 CÁC THAO TÁC VỚI TỆP
Bài 15
1.Khai báo tệp
Var <Tên biến tệp> : TEXT;
Ví dụ:
Program vd1;
Uses crt;
Var
tep1: TEXT;
Var <Tên biến tệp> : File of <kiểu phần tử>;
Program vd2;
Uses crt;
Var tep1:File of Real;
Ví dụ:
Trang 62 Các thao tác với tệp
Gán tên tệp
assign(<Tên biến>, <Tên Tệp>)
Mở tệp để ghi
Rewrite(<Tên biến tệp>)
Mở tệp để đọc
Reset(<Tên biến tệp>)
Ghi dữ liệu ra tệp
Write(< biến tệp>,<ds biến>) Writeln(<biến tệp>,<ds biến>)
Đọc dữ liệu từ tệp
Read(<Biến Tệp>,<ds Kết quả>) Readln(<Biến Tệp>,<ds Kết quả>)
Đóng tệp
Close(<tên biến tệp>)
Mở tệp
Ghi/Đọc
Dữ liệu tệp
Bài 15
Trang 7a) Gán tên tệp
ASSIGN (<Tên biến tệp>, <Tên tệp>);
Sử dụng thủ tục Assign để gán tên của một tệp cho biến tệp
Cú pháp :
Program vd1;
Var
tep1,tep2: TEXT;
Begin
Assign(tep1,’D:\TP\BAITAP.INP’);
Bài 15
Trang 8b) Mở tệp
REWRITE (<Tên biến tệp>);
Sử dụng thủ tục Rewrite để ghi dữ liệu
Cú pháp :
Sử dụng thủ tục Reset để mở đọc 1 file đã tồn tại
Program vd1;
Var tep1: TEXT;
Begin
ASSIGN (tep1, D:\Kq.txt);
REWRITE (tep1);
Program vd1;
Var tep1: TEXT;
Begin
ASSIGN (tep1, D:\Kq.txt);
RESET (tep1);
RESET (<Tên biến tệp>);
Cú pháp :
Bài 15
Trang 9c) Đọc dữ liệu tệp
READ (<Tên biến tệp>, <Ds kết quả);
Thủ tục Read đọc một (hay nhiều) phần tử của tệp tương ứng gán vào một (hay nhiều) biến cùng kiểu với phần tử tệp
Cú pháp :
Thủ tục Readln Đọc nguyên dòng và lưu vào danh sách biến
READLN (<Tên biến tệp>, <Ds kết quả);
Cú pháp :
Program vd1;
Hoten: string[20];
Begin
Assign (tep1,’d:\danhsach.txt’);
Reset (tep1);
Readln (tep1, hoten);
End.
Bài 15
Trang 10Cú pháp :
Thủ tục Write ghi giá trị một (hay nhiều) biến vào một (hay nhiều) phần tử tệp Các biến phải cùng kiểu với phần tử tệp
WRITE (<Tên biến tệp>, <ds biến>);
c) Ghi dữ liệu tệp
Thủ tục Writeln ghi giá trị một (hay nhiều) biến vào một (hay nhiều) phần tử tệp Con trỏ đưa xuống dòng tiếp theo
Cú pháp : WRITELN (<Tên biến tệp>, <ds biến>);
Program vd1;
Hoten: string[20];
Begin
Assign (tep1,’d:\danhsach.txt’);
Rewrite (tep1);
write(‘nhap ho va ten’); readln(hoten);
write (tep1, hoten);
End.
Bài 15
Trang 11d) Đóng tệp
CLOSE (<Tên biến tệp>);
Thủ tục Close đóng một tệp đang mở
Cú pháp :
Program vd1;
Hoten: string[20];
Begin
Assign (tep1,’d:\danhsach.txt’);
Rewrite (tep1);
write(‘nhap ho va ten’); readln(hoten);
write (tep1, hoten);
End.
Bài 15
Trang 12•EOF(<Tên biến tệp>): Cho giá trị true nếu con trỏ đang chỉ tới cuối tệp.
•EOFLN(<Tên biến tệp>):Cho giá trị true nếu con trỏ đang chỉ tới cuối dòng.
•Thủ tục
SEEK(<Tên biến tệp>,<Biến nguyên>);
đưa con trỏ tệp về vị trí phần tử có số thứ tự xác định bởi giá trị Biến nguyên (Các phần tử của tệp được đánh số thứ tự bắt đầu từ 0).
e) Một số hàm và thủ tục chuẩn thường dùng
Bài 15