Tin học 11 Bài 15: Thao tác với tệp
Bài học số 15 Thao tác với tệp được đội ngữ eLib biên soạn và tổng hợp dưới đây sẽ giúp các em nắm thật chắc các kiến thức cơ bản về tệp cũng như cách khai báo và sử dụng tệp trong chương trình SGK Tin học 11. Mời các em cùng tham khảo nội dung chi tiết tại đây!
Mục lục nội dung
1. Tóm tắt lý thuyết
1.1. Khai báo
Để làm việc với kiểu dữ liệu tệp ta phải sử dụng biến tệp.
Khai báo biến tệp văn bản có dạng
Var< tên biến tệp>:text;
1.2. Thao tác với tệp
a) Gắn tên tệp
- Mỗi tệp đều có một tên tệp để tham chiếu. Tên tệp là biến xâu hoặc hằng xâu
Dí dụ: ’Dulieu.dat’.
- Trong lập trình, ta không thao tác trực tiếp với tệp dữ liệu trên đĩa mà thông qua biến tệp. Biến tệp được đại diện cho tệp trong ngông ngữ lập trình.
- Để thao tác với tệp, trước hết phải gắn tên tệp với đại diện của nó là biến tệp bằng thủ tục:
Assign(
b) Mở tệp
Sau khi sử dụng thủ tục assign. Ta có thể thực hiện việc đọc ghi dữ liệu.
- Đối với việc ghi:
+ Câu lệnh dùng thủ tục mở tệp để ghi dữ liệu có dạng: Rewrite(
+ Nếu tệp chưa tồn tại thì 1 tệp mới sẽ được tạo với nội dung rỗng. Nếu tệp tồn tại rồi thì nội dung cũ trong tệp sẽ bị xóa.
+ Nếu ở đĩa C có tệp INP.dat rồi thì nội dung trong tệp sẽ bị xóa hết. Nếu chưa tồn tại thì tệp sẽ được tạo mới.
- Đối với việc đọc:
+ Mở một tệp đã gắn với một biết tệp để đọc ta dùng thủ tục: Reset(
c) Đọc/ghi tệp văn bản
- Việc đọc ghi tệp văn bản được thực hiện giống như nhập dữ liệu từ bàn phí. Việc ghi dữ liệu ra tệp văn bản giống như ghi ra màn hình. Dữ liệu trong tệp văn bản được chia thành các dòng.
+ Câu lệnh dùng thủ tục để đọc:
Read(
+ Câu lệnh dùng thủ tục để ghi là:
Write(
- 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(
d) Đóng tệp
Sau khi làm việc xong với tệp càn phải đóng tệp. Việc đóng tệp là đặc biệt quan trọng sau khi ghi dữ liệu, khi đó hệ thong mới thực sự hoàn tất việc hi dữ liệu ra tệp.
Cú pháp: Close(
2. Bài tập minh họa
Bài 1: Trong một chương trình Pascal, sau khi đã đóng tệp bằng thủ tục đóng tệp thì có thể mở lại tệp đó hay không?
A. Không được phép mở lại
B. Được phép mở lại vô số lần tùy ý
C. Được phép mở lại 1 lần duy nhất
D. Cần phải gắn lại tên tệp cho biến tệp trước khi mở
Hướng dẫn giải
Trong một chương trình Pascal, sau khi đã đóng tệp bằng thủ tục đóng tệp thì vẫn có thể mở lại tệp đó với số lần tùy ý. Khi mở lại nếu vẫn dùng biến tệp cũ thì không cần phải gắn lại tên tệp cho biến tệp trước khi mở.
Đáp án: B
Bài 2: Cú pháp của thủ tục ghi dữ liệu vào tệp văn bản là:
A. write (< biến tệp > , < danh sách kết quả >);
B. write (< tên tệp > , < danh sách kết quả >);
C. writeln (< biến tệp > , < danh sách kết quả >);
D. Cả đáp án A và C đều đúng
Hướng dẫn giải
Cú pháp của thủ tục ghi dữ liệu vào tệp văn bản là:
write (< biến tệp > , < danh sách kết quả >);
hoặc
writeln (< biến tệp > , < danh sách kết quả >);
Trong đó: danh sách kết quả gồm một hoặc nhiều phần tử, các phần tử cách nhau bởi dấu phẩy. Phần tử là biến đơn, biểu thức hoặc hằng xâu.
Đáp án: D
Bài 3: Cú pháp của thủ tục đọc dữ liệu từ tệp văn bản là gì?
Hướng dẫn giải
Cú pháp của thủ tục đọc dữ liệu từ tệp văn bản là:
read ( < biến tệp > , < danh sách biến > );
readln ( < biến tệp > , < danh sách biến > );
Trong đó: danh sách kết quả gồm một hoặc nhiều biến đơn, các phần tử cách nhau bởi dấu phẩy.
3. Luyện tập
3.1. Bài tập tự luận
Câu 1: Trong NNLT Pascal, cú pháp để khai báo biến tệp văn bản là:
Câu 2: Để có thể thao tác với tệp dữ liệu trên đĩa thông qua biến tệp cho trước thì bước đầu tiên chúng ta phải làm gì?
Câu 3: Trong NNLT Pascal, cú pháp để gắn tên tệp cho biến tệp là:
3.2. Bài tập trắc nghiệm
Câu 1: Trong NNLT Pascal, cú pháp để mở tệp ở chế độ đọc dữ liệu từ tệp là:
A. repeat( < biến tệp >);
B. reset ( < biến tệp >);
C. restart ( < biến tệp >);
D. rewrite ( < biến tệp >);
Câu 2: Trong NNLT Pascal, sau khi làm việc với tệp cần phải đóng tệp. Cú pháp để đóng tệp là:
A. close( < tên tệp > );
B. close( < biến tệp > );
C. close;
D. close all;
Câu 3: Hàm eoln() trả về giá trị TRUE khi nào?
A. Khi con trỏ tệp đang chỉ tới cuối tệp
B. Khi con trỏ tệp đang chỉ tới cuối dòng
C. Khi con trỏ tệp đang chỉ tới đầu tệp
D. Khi con trỏ tệp đang chỉ tới đầu dòng
Câu 4: Hàm eof() trả về giá trị TRUE khi nào?
A. Khi con trỏ tệp đang chỉ tới cuối tệp
B. Khi con trỏ tệp đang chỉ tới đầu tệp
C. Khi con trỏ tệp đang chỉ tới cuối dòng
D. Khi con trỏ tệp đang chỉ tới đầu dòng
3.3. Trắc nghiệm Online
Các em hãy luyện tập bài trắc nghiệm Thao tác với tệp Tin học 11 sau để nắm rõ thêm kiến thức bài học.
4. Kết luận
Sau khi học xong nội dung bài 15 SGK Tin học 11 các em nắm được những nội dung chính sau đây:
- Biết khai báo biến tệp văn bản.
- Biết các bước làm việc với tệp: Gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp.
- Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản.
- Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp.
- Có thể tạo chương trình đọc dữ liệu từ một tệp hoặc lưu trữ dữ liệu dưới dạng tệp văn bản.
Tham khảo thêm
- doc Tin học 11 Bài 14: Kiểu dữ liệu tệp
- doc Tin học 11 Bài 16: Ví dụ làm việc với tệp