Bài 14. Kiểu dữ liệu tệp

Chia sẻ bởi Bùi Gia Vinh | Ngày 10/05/2019 | 223

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:

Giáo viên: Vũ Thị Trà Giang
Trường: THPT Chu Văn An
Nhiệt liệt chào mừng các thầy, cô giáo và các em học sinh về dự hội giảng
MÔN TIN HỌC 11
Bài 14: Kiểu dữ liệu tệp
1. Vai trò của tệp:
a. Khái niệm tệp (file):
Tệp là một tập hợp các dữ liệu cùng kiểu được nhóm lại với nhau tạo thành một dãy và thường được lưu trữ ở thiết bị nhớ ngoài với một cái tên do người sử dụng đặt.
b. Đặc điểm của tệp:
- Dữ liệu kiể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 đĩa.
Trong máy tính có những loại bộ nhớ nào? Bộ nhớ nào có dung lượng lớn hơn?
Sao chép được thông tin từ đĩa này sang đĩa khác, trao đổi chúng từ máy này với máy khác.

Bài 14: Kiểu dữ liệu tệp
1. Vai trò của tệp:
2. Phân loại tệp và thao tác với tệp
a.Phân loại tệp:
Xét theo cách tổ chức dữ liệu
Tệp văn bản: là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII. Gồm các dòng văn bản, cuối mỗi dòng có kí hiệu kết thúc dòng eoln(end of line), cuối tệp có kí hiệu kết thúc tệp eof (end of file).
Tệp có cấu trúc: gồm các phần tử đánh số từ 0 đến hết, các phần tử cùng kiểu dữ liệu. Cuối tệp có dấu kết thúc tệp eof.
1. Vai trò của tệp:
2. Phân loại tệp và thao tác với tệp
a.Phân loại tệp:
Xét theo cách tổ chức dữ liệu
Tệp văn bản
Tệp có cấu trúc
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 từ,...
Tệp truy nhậ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í của dữ liệu đó.
Ví dụ: đĩa CD, ổ đĩa cứng,…
Bài 14: Kiểu dữ liệu tệp
Bài 14: Kiểu dữ liệu tệp
1. Vai trò của tệp:
2. Phân loại tệp và thao tác với tệp
a. Phân loại tệp:
b. Thao tác với tệp:
Có hai thao tác cơ bản đối với tệp: ghi dữ liệu vào tệp và đọc dữ liệu từ tệp.
Bài 15: Thao tác với tệp
1. Khai báo tệp:
Var < biến tệp>: TEXT;
Ví dụ :
Var f, tep1,tep2: text;
(Tệp văn bản)
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
ASSIGN( , );
Tác dụng của lệnh:
Gắn 1 tệp cụ thể được định vị trong .
Trong đó, là hằng xâu kí tự hoặc giá trị của biểu thức kiểu xâu.
(Tệp văn bản)
Cú pháp:
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
ASSIGN( , );
Ví dụ 1:
Gắn biến tệp f với tên tệp ‘ vi_du.dat’ ở thư mục hiện thời chứa các tệp tin điều hành (thư mục *. EXE và *.TPU)
Ngoài ra ta còn có thể viết:
với ten là một biến kiểu xâu,
ten:= ‘vidu.dat’;
Assign(f, ten);
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
ASSIGN( , );
Ví dụ 2:
Gắn biến tệp tep1 với tên tệp ‘ dulieu.inp’ ở ổ đĩa D, trong thư mục game
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
b. Mở tệp mới để ghi dữ liệu:
Sau thủ tục gắn tên tệp cho biến tệp ASSIGN( , ); ta phải mở tệp
Cú pháp:
Tác dụng của lệnh:
Tạo ra một tệp rỗng và đặt cửa sổ tệp vào thành phần đầu tiên của tệp.
Rewrite();
b1.Mở tệp để ghi:
Ví dụ:
ASSIGN(tep1,‘D:gamedulieu.inp’);
REWRITE (tep1);
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
b. Mở tệp mới để cất dữ liệu:
Sau thủ tục gắn tên tệp cho biến tệp ASSIGN( , ); ta phải mở tệp
Cú pháp:
Rewrite();
b1.Mở tệp để ghi:
Chú ý: Sau thủ tục này nếu tệp được xác định trong đã có trên đĩa thì nó bị xóa và một tệp rỗng được tạo ra thay thế nó. Nếu tệp đã mở sẵn, nó sẽ được đóng lại, sau đó được tạo lại là tệp rỗng.
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
b. Mở tệp mới để cất dữ liệu:
b2.Ghi dữ liệu vào tệp:
Write(, );
Writeln(, );
Trong đó: là dãy các kết quả1, kết quả 2,..., kết quả N cách nhau bởi dấu phẩy (,). Khi hai kết quả liền nhau cùng là kiểu số thì cần xen vào giữa hai kết quả số này một kết qủa trung gian là hằng kí tự dấu cách (‘ ’).
hoặc
b1.Mở tệp để ghi:
Cú pháp:
Tác dụng của lệnh:
Ghi các kết quả vào tệp văn bản được xác định bởi biến tệp.
Mở tệp chưa có trên đĩa
Ghi dữ liệu vào tệp
Ví dụ: Tạo tệp dulieu.inp trong thư mục game ở ổ đĩa D
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
b.1.Mở tệp để đọc:
Cú pháp:
Tác dụng của lệnh:
Thủ tục này mở một tệp văn bản đã có trên đĩa được định vị bởi trong thủ tục ASSIGN( , ); và đặt cửa sổ tệp vào thành phần đầu tiên của tệp.
Chú ý: Nếu tệp không tồn tại thì thực hiện reset sẽ gặp lỗi. Nếu tệp đang mở thì nó đóng lại rồi sau đó mở lại.
Reset();
b. Mở tệp mới để cất dữ liệu:
c. Đọc dữ liệu từ một tệp đã có:
Sau thủ tục gắn tên tệp cho biến tệp ASSIGN( , ); ta phải mở tệp.
Bài 15: Thao tác với tệp
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
b.1.Mở tệp để đọc:
Cú pháp:
Reset();
b. Mở tệp mới để cất dữ liệu:
c. Đọc dữ liệu từ một tệp đã có:
Sau thủ tục gắn tên tệp cho biến tệp ASSIGN( , ); ta phải mở tệp.
Ví dụ:
ten:=‘D:gamedulieu.inp’;
ASSIGN(f,ten);
RESET (f);
Bài 15: Thao tác với tệp
c. Đọc dữ liệu từ một tệp đã có:
Trong đó: là dãy tên biến 1, tên biến 2,..., tên biến N cách nhau bởi dấu phẩy (,).
Các biến trong phải có kiểu tương thích với các dữ liệu đã ghi trong tệp.
Tác dụng của lệnh:
Đọc giá trị ở tệp (xác định bởi biến tệp) vào danh sách biến
Read(, );
Readln(, );
hoặc
1. Khai báo tệp:
2. Thao tác với tệp:
b. Mở tệp mới để cất dữ liệu:
a. Gắn tên tệp cho biến tệp:
b1.Mở tệp để đọc:
b2. Đọc dữ liệu từ tệp:
Cú pháp:
Mở tệp đã có trên đĩa
Đọc dữ liệu từ tệp
Ví dụ: Mở tệp ‘dulieu.inp’ đọc dữ liệu vào bộ nhớ trong
Bài 15: Thao tác với tệp
c. Đọc dữ liệu từ một tệp đã có:
1. Khai báo tệp:
2. Thao tác với tệp:
b. Mở tệp mới để cất dữ liệu:
a. Gắn tên tệp cho biến tệp:
b1.Mở tệp để đọc:
b2. Đọc dữ liệu từ tệp:
*Hàm thường dùng với tệp văn bản:
Việc đọc một phần tử của tệp còn cần có 1 điều kiện: phải kiểm tra xem tệp có còn phần tử không, tức là con trỏ tệp chưa trỏ đến cuối tệp eof. Hàm
eof();

trả về giá trị True nếu con trỏ tệp đang chỉ tới cuối tệp.
Bài 15: Thao tác với tệp
Cú pháp:
Tác dụng của lệnh:
Đóng tệp để tránh mất mát thông tin. Đây là việc làm cần thiết để đảm bảo an toàn dữ liệu.
Đặc biệt khi ghi tệp, nếu không đóng tệp thì dữ liệu ở vùng nhớ đệm có thể không được ghi lên đĩa.
1. Khai báo tệp:
2. Thao tác với tệp:
a. Gắn tên tệp cho biến tệp:
c. Đọc dữ liệu từ một tệp đã có:
b. Mở tệp mới để cất dữ liệu:
d. Thủ tục đóng tệp:
CLOSE(< TấN BI?N T?P>);
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
Close(tep1);
Close(f);
Bài 15: Thao tác với tệp
Bài 14: Kiểu dữ liệu tệp
Bài 15: Thao tác với tệp
Bài tập trắc nghiệm
Câu 1: Cách truy cập tệp văn bản là:
Câu 2: Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp
Var : Text;
Var : Text;
Var : string;
Var : string;
Truy cập tuần tự
Truy cập ngẫu nhiên
Truy cập trực tiếp
Vừa truy cập tuần tự vừa truy cập trực tiếp
I. Hãy chọn mệnh đề đúng nhất
Câu 3: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh
f1:=‘KQ.TXT’;
KQ.TXT:=f1;
Assign(‘KQ.TXT’,f1);
Assign(f1, ‘KQ.TXT’);
Câu 4: Trong Pascal mở tệp để ghi kết quả ta sử dụng thủ thục:
Reset();
Reset();
Rewrite();
Rewrite();
Bài 14: Kiểu dữ liệu tệp
Bài 15: Thao tác với tệp
Bài tập trắc nghiệm
I. Hãy chọn mệnh đề đúng nhất
II. Cặp ghép đúng:
Câu 5:
II. Cặp ghép đúng:
Câu 5:
3. khai báo biến tệp
1.Thủ tục gán tên tệp cho tên biến tệp
2. thủ tục mở tên để đọc dữ liệu
8. thủ tục mở tệp để ghi dữ liệu
6. thủ tục đọc dữ liệu từ tệp
7. thủ tục ghi dữ liệu vào tệp
4. thủ tục đóng tệp
5. hàm cho biết con trỏ có ở cuối tệp không
Cho tệp B13.TXT chỉ có một dòng ‘abcdefgh’ và chương trình:
Sau khi chạy chương trình trên thì s1, s2 có kết quả là:
III. Đoán kết quả của chương trình
A. s1= ‘abcdefgh’; s2= ‘’;
B. s1= ‘’; s2= ‘abcdefgh’;
C. s1= ‘abcde’; s2= ‘fgh’;
D. Cả A, B,C đều sai
Cho tệp B13.TXT chỉ có một dòng ‘abcdefgh’ và chương trình:
b) Nếu thay dòng (7) trong chương trình trên thành thủ tục read(f,s2,s1); thì s1,s2 có kết quả là:
III. Đoán kết quả của chương trình
A. s1= ‘abcdefgh’; s2= ‘’;
B. s1= ‘’; s2= ‘abcdefgh’;
C. s1= ‘abcde’; s2= ‘fgh’;
D. Cả A, B,C đều sai
* 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ẻ: Bùi Gia Vinh
Dung lượng: | Lượt tài: 7
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)