Bài 14: Kiểu dữ liệu tệp - Giải BT Tin học 11
Bài 14: Kiểu dữ liệu tệp
1. Vai trò của kiểu tệp
Tất cả các dữ liệu thuộc kiểu dữ liệu đã xét đều được lưu trữ ở trong RAM, vì thế nó sẽ bị mất khi tắt máy. Với một số bài toán có khối lượng dữ liệu lớn, có yêu cầu lưu trữ để xử lí nhiều lần, cần có kiểu dữ liệu tệp file.
Ví dụ:
Ta muốn lưu một bộ test để chấm bài khoảng 1000 học sinh nếu ta nhập tay sẽ rất mất thời gian hoặc là số lượng đầu vào cho chương trình rất lớn khi đó ta cũng cần sử dụng file.
Những đặc điểm của kiểu dữ liệu tệp:
+ Được lưu trữ lâu dài ở bộ nhớ ngoài 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 của đĩa.
2. Phân loại tệp và thao tác với tệp
Xét theo các tổ chức dữ liệu, tệp được phân loại như sau:
+ Tệp văn bản: Tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII. Trong tệp văn bản, dãy kí tự kết thúc bởi kí tự kết thúc dòng hay kí tự kết thúc tệp tạo thành một dòng.
![Bài 14: Kiểu dữ liệu tệp ảnh 1](/images/sgk/2/0/ayp.jpg)
+ Tệp có cấu trúc: 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. Tệp nhị phân là một trường hợp riêng của tệp có cấu trúc. Dữ liệu ảnh, âm thanh, … thường được lưu trữ dưới dạng tệp có cấu trúc. Mỗi tệp có cấu trúc sẽ có chương trình riêng để đọc tệp đó.
![Bài 14: Kiểu dữ liệu tệp ảnh 2](/images/sgk/2/1/ayp.jpg)
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ó.
Ví dụ: Băng cuốn dây chạy đài CD.
+ 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ó thể thao tác với tệp, người lập trình cần tìm hiểu cách thức mà ngôn ngữ lập trình cung cấp để:
+ Khai báo biến tệp;
+ Mở tệp;
+ Đọc/Ghi dữ liệu;
+ Đóng tệp;
Bài trước: Giải bài tập Tin học 11 trang 79 và trang 80 Bài tiếp: Bài 15: Thao tác với tệp - Giải BT Tin học 11