Bài 14. Kiểu dữ liệu tệp
Chia sẻ bởi Nguyễn Thị Châu |
Ngày 10/05/2019 |
135
Chia sẻ tài liệu: Bài 14. Kiểu dữ liệu tệp thuộc Tin học 11
Nội dung tài liệu:
TIẾT 36
BÀI 14
KIỂU DỮ LIỆU TỆP
1. VAI TRÒ CỦA KIỂU TỆP
Kiểu dữ liệu tệp có những đặc điểm sau:
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, đĩa CD,…) và không bị mất khi tắt nguồn điện.
Lượng dữ liệu 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. PHÂN LOẠI TỆP VÀ THAO TÁC VỚI TỆP
Xét theo cách tổ chức dự liệu:
Tệp văn bản: dữ liệu được ghi dưới dạng các kí tự theo mã ASCII
Ví dụ: sách, tài liệu, bài học, chương trình nguồn viết bằng ngôn ngữ bậc cao
Tệp có cấu trúc: các thành phần của tệp được tổ chức theo một cấu trúc nhất định
Ví dụ: dữ liệu ảnh, âm thanh
2. PHÂN LOẠI TỆP VÀ THAO TÁC VỚI TỆP
Xét theo cách thức truy cập:
Tệp truy cập tuần tự: cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.
Tệp truy cập trực tiếp: cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó
Khác với mảng, số lượng phần tử của tệp không cần xác định trước
Hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp
Các thao tác với kiểu tệp:
Khai báo biến tệp
Mở tệp
Đọc/ghi dữ liệu
Đóng tệp
BÀI 15
THAO TÁC VỚI TỆP
1. KHAI BÁO
var : text
Ví dụ:
var tep1, tep2 : text
2. THAO TÁC VỚI TỆP
a. Gắn tên tệp:
Mỗi tệp dữ liệu đều có một tên để tham chiếu
Tên tệp là biến xâu hoặc hằng xâu
Ví dụ: ‘DuLieu1.DAT’
‘Luu.DAT’
Biến tệp: được ngôn ngữ lập trình sử dụng như đại diện cho tệp
2. THAO TÁC VỚI TỆP
a. Gắn tên tệp:
* Gắn tên tệp với biến tệp
assign(, );
Ví dụ1: Giả sử có biến tệp tên file1 cần gắn với tệp có tên Luu.DAT, ta thực hiện như sau:
assign(file1, ‘Luu.DAT’);
Ví dụ1: Để có thể đọc dữ liệu từ tệp DuLieu1.DAT trên thư mục gốc của đĩa D, ta cần gắn tệp đó với 1 biến tệp là file2 bởi thủ tục sau:
assign(file2, ‘Dulieu1.DAT’);
2. THAO TÁC VỚI TỆP
b. Mở tệp:
Tệp có thể dùng để chứa kết quả ra hoặc dữ liệu vào
Trước khi mở tệp, biến tệp phải được gắn tên tệp bằng thủ tục assign
Thủ tục mở tệp để ghi dữ liệu
rewrite();
Ví dụ 1: assign(file3, ‘D:KetQua.DAT’);
rewrite(file3);
Khi thực hiện thủ tục rewrite(file3), nếu trên thư mục D: chưa có tệp KetQua.DAT, thì tệp sẽ được tạo với nội dung rỗng. Nếu tệp KetQua.DAT đã có thì nội dung cũ sẽ bị xóa để chuẩn bị ghi dữ liệu mới.
2. THAO TÁC VỚI TỆP
b. Mở tệp:
Thủ tục mở tệp để đọc dữ liệu:
reset();
Ví dụ 2: Để đọc dữ liệu từ tệp DuLieu1.DAT, ta có thể mở tệp bằng các thủ tục sau:
assign(tep1, ‘DuLieu1.DAT’);
reset(tep1);
hoặc
tentep := ‘DuLieu1.DAT’;
assign(tep1, tentep);
reset(tep1);
2. THAO TÁC VỚI TỆP
c. Đọc/ghi tệp văn bản:
Thủ tục đọc tệp
read(, );
hoặc
readln(, );
Trong đó, danh sách biến là 1 hay nhiều tên biến đơn. Trường hợp có nhiều biến thì các biến được phân cách bởi dấu phẩy.
2. THAO TÁC VỚI TỆP
c. Đọc/ghi tệp văn bản:
Thủ tục ghi tệp
write(, );
hoặc
writeln(, );
Trong đó, danh sách kết quả gồm 1 hay nhiều phần tử. Phần tử có thể là biến đơn hoặc biểu thức (số học, quan hệ hoặc lôgíc) hoặc hằng xâu. Trường hợp có nhiều phần tử thì các phần tử được phân cách bởi dấu phẩy.
2. THAO TÁC VỚI TỆP
Ví dụ:
Var tepDoc, tepGhi : text;
- Đọc dữ liệu từ tệp tepDoc
read(tepDoc, A, B, C);
hoặc
readln(tepDoc, A, B, C);
- Ghi dữ liệu vào tệp tepGhi
write(tepGhi, ‘A= ‘, A, ‘B= ‘, B,’C= ‘,C);
2. THAO TÁC VỚI TỆP
Một số hàm chuẩn thường dùng trong khi đọc ghi tệp văn bản
- Hàm eof() : trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối tệp
- Hàm eoln() : trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối dòng
2. THAO TÁC VỚI TỆP
c. Đóng tệp:
Thủ tục đóng tệp
close();
Ví dụ
close();
close();
Sau khi đóng tệp, một tệp có thể được mở lại.
Khi mở lại tệp, nếu vẫn dùng biến tệp cũ thì không cần phải dùng thủ tục assign gắn lại tên tệp
BÀI 14
KIỂU DỮ LIỆU TỆP
1. VAI TRÒ CỦA KIỂU TỆP
Kiểu dữ liệu tệp có những đặc điểm sau:
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, đĩa CD,…) và không bị mất khi tắt nguồn điện.
Lượng dữ liệu 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. PHÂN LOẠI TỆP VÀ THAO TÁC VỚI TỆP
Xét theo cách tổ chức dự liệu:
Tệp văn bản: dữ liệu được ghi dưới dạng các kí tự theo mã ASCII
Ví dụ: sách, tài liệu, bài học, chương trình nguồn viết bằng ngôn ngữ bậc cao
Tệp có cấu trúc: các thành phần của tệp được tổ chức theo một cấu trúc nhất định
Ví dụ: dữ liệu ảnh, âm thanh
2. PHÂN LOẠI TỆP VÀ THAO TÁC VỚI TỆP
Xét theo cách thức truy cập:
Tệp truy cập tuần tự: cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.
Tệp truy cập trực tiếp: cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó
Khác với mảng, số lượng phần tử của tệp không cần xác định trước
Hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp
Các thao tác với kiểu tệp:
Khai báo biến tệp
Mở tệp
Đọc/ghi dữ liệu
Đóng tệp
BÀI 15
THAO TÁC VỚI TỆP
1. KHAI BÁO
var
Ví dụ:
var tep1, tep2 : text
2. THAO TÁC VỚI TỆP
a. Gắn tên tệp:
Mỗi tệp dữ liệu đều có một tên để tham chiếu
Tên tệp là biến xâu hoặc hằng xâu
Ví dụ: ‘DuLieu1.DAT’
‘Luu.DAT’
Biến tệp: được ngôn ngữ lập trình sử dụng như đại diện cho tệp
2. THAO TÁC VỚI TỆP
a. Gắn tên tệp:
* Gắn tên tệp với biến tệp
assign(
Ví dụ1: Giả sử có biến tệp tên file1 cần gắn với tệp có tên Luu.DAT, ta thực hiện như sau:
assign(file1, ‘Luu.DAT’);
Ví dụ1: Để có thể đọc dữ liệu từ tệp DuLieu1.DAT trên thư mục gốc của đĩa D, ta cần gắn tệp đó với 1 biến tệp là file2 bởi thủ tục sau:
assign(file2, ‘Dulieu1.DAT’);
2. THAO TÁC VỚI TỆP
b. Mở tệp:
Tệp có thể dùng để chứa kết quả ra hoặc dữ liệu vào
Trước khi mở tệp, biến tệp phải được gắn tên tệp bằng thủ tục assign
Thủ tục mở tệp để ghi dữ liệu
rewrite(
Ví dụ 1: assign(file3, ‘D:KetQua.DAT’);
rewrite(file3);
Khi thực hiện thủ tục rewrite(file3), nếu trên thư mục D: chưa có tệp KetQua.DAT, thì tệp sẽ được tạo với nội dung rỗng. Nếu tệp KetQua.DAT đã có thì nội dung cũ sẽ bị xóa để chuẩn bị ghi dữ liệu mới.
2. THAO TÁC VỚI TỆP
b. Mở tệp:
Thủ tục mở tệp để đọc dữ liệu:
reset(
Ví dụ 2: Để đọc dữ liệu từ tệp DuLieu1.DAT, ta có thể mở tệp bằng các thủ tục sau:
assign(tep1, ‘DuLieu1.DAT’);
reset(tep1);
hoặc
tentep := ‘DuLieu1.DAT’;
assign(tep1, tentep);
reset(tep1);
2. THAO TÁC VỚI TỆP
c. Đọc/ghi tệp văn bản:
Thủ tục đọc tệp
read(
hoặc
readln(
Trong đó, danh sách biến là 1 hay nhiều tên biến đơn. Trường hợp có nhiều biến thì các biến được phân cách bởi dấu phẩy.
2. THAO TÁC VỚI TỆP
c. Đọc/ghi tệp văn bản:
Thủ tục ghi tệp
write(
hoặc
writeln(
Trong đó, danh sách kết quả gồm 1 hay nhiều phần tử. Phần tử có thể là biến đơn hoặc biểu thức (số học, quan hệ hoặc lôgíc) hoặc hằng xâu. Trường hợp có nhiều phần tử thì các phần tử được phân cách bởi dấu phẩy.
2. THAO TÁC VỚI TỆP
Ví dụ:
Var tepDoc, tepGhi : text;
- Đọc dữ liệu từ tệp tepDoc
read(tepDoc, A, B, C);
hoặc
readln(tepDoc, A, B, C);
- Ghi dữ liệu vào tệp tepGhi
write(tepGhi, ‘A= ‘, A, ‘B= ‘, B,’C= ‘,C);
2. THAO TÁC VỚI TỆP
Một số hàm chuẩn thường dùng trong khi đọc ghi tệp văn bản
- Hàm eof(
- Hàm eoln(
2. THAO TÁC VỚI TỆP
c. Đóng tệp:
Thủ tục đóng tệp
close(
Ví dụ
close(
close(
Sau khi đóng tệp, một tệp có thể được mở lại.
Khi mở lại tệp, nếu vẫn dùng biến tệp cũ thì không cần phải dùng thủ tục assign gắn lại tên tệp
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thị Châu
Dung lượng: |
Lượt tài: 4
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)