Bài 15. Thao tác với tệp
Chia sẻ bởi Thanh Sang |
Ngày 10/05/2019 |
51
Chia sẻ tài liệu: Bài 15. Thao tác với tệp thuộc Tin học 11
Nội dung tài liệu:
Tiết 39
Dữ liệu kiểu tệp - Thao tác với tệp
2
I. Vai trò kiểu tệp
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD, ...) và không bị mất khi tắt nguồn điện.
Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.
Dữ liệu đã học
Lưu trữ
Tắt nguồn điện
Mất dữ liệu
Bộ nhớ trong: ROM, RAM.
Bộ nhớ ngoài: đĩa từ, CD, USB…
3
II. Phân loại tệp và thao tác với tệp:
Tệp có cấu trúc
Tệp văn bản
Là tệp mà các phần tử có cùng một cấu trúc nhất định.
Là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII và được quản lý theo từng dòng.
a. Xét theo cách thức tổ chức dữ liệu:
b. Xét theo cách thức truy cập ( tự nghiên cứu SGK)
4
II. Phân loại tệp và thao tác với tệp:
c. Thao tác với tệp.
Hai thao tác cơ bản đối với tệp là ghi dữ liệu và đọc dữ liệu vào tệp .
Cách thức ngôn ngữ lập trình cung cấp để thao tác với tệp.
Khai báo biến tệp;
Mở tệp;
Đọc/Ghi dữ liệu;
Đóng tệp;
5
III. Khai báo tệp văn bản
Var : TEXT;
Vớ d?:
tep1,tep2 : Text;
Program vd1;
Uses crt;
Var tep1,tep2: TEXT;
6
IV. Thao tác với tệp
Gắn tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
Đóng tệp
7
a. Gắn tên tệp
ASSIGN (,);
Tên tệp: Là biến xâu hoặc hằng xâu.
TH1: ASSIGN(f2, ‘dulieu.dat’);
TH2: ASSIGN(f2, ‘D:TPBIN dulieu.dat’);
Vớ d?: g?n bi?n t?p f2 cho t?p cú tờn `dulieu.dat`
Bi?n f2 du?c g?n v?i t?p cú tờn `dulieu.dat` n?u `dulieu.dat` n?m cựng thu m?c v?i file .pas, .exe c?a chuong trỡnh
Biến f2 được gắn với tệp có tên ‘dulieu.dat’ trong thư mục TPBIN ở ổ đĩa D.
1. Ghi dữ liệu vào tệp
8
REWRITE ();
b) M? tệp để ghi:
Nếu như trên D:TPBIN chưa có tệp DULIEU.DAT, thì tệp sẽ được tạo rỗng.
Nếu đã có, thì nội dung cũ bị xoá để ghi dữ liệu mới.
Gắn tên tệp
Mở tệp để ghi
Ghi dữ liệu ra tệp
Đóng tệp
Ví dụ: ghi dữ liệu vào tệp DULIEU.DAT
REWRITE (f2);
9
c) Ghi dữ liệu vo tệp van b?n
? Danh sách kết quả gồm một hay nhiều phần tử. Phần tử có thể là biến, hằng xâu hoặc biểu thức, cỏc ph?n t? phõn cỏch nhau b?i d?u ph?y.
WRITE(, );
WRITELN (, );
Gắn tên tệp
Mở tệp để ghi
Ví dụ: Ghi giá trị của biến a, b vào tệp DULIEU.DAT
Ghi dữ liệu ra tệp
Đóng tệp
Program vd1;
Uses crt;
Var f2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(f2, `D:TPBINDULIEU.DAT`);
REWRITE (f2);
a:=3;b:=5;
WRITE(f2,a,’ ‘,b);
10
d) Dóng tệp
CLOSE(< tên biến tệp>)
Gắn tên tệp
Mở tệp để ghi
Ghi dữ liệu ra tệp
Đóng tệp
Ví dụ: Ghi giá trị của biến a, b vào tệp D:ViduDULIEU.DAT
Program vd1;
Uses crt;
Var f2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(f2, `D:TPBINDULIEU.DAT`);
REWRITE (f2);
a:=3;b:=5;
WRITE(f2,a,’ ‘,b);
Close(tep1);
END.
11
a. Gắn tên tệp: tương tự như thao tác ghi tệp
2. Đọc d? li?u vo tệp
Gắn tên tệp
Mở tệp để đọc
Đọc dữ liệu từ tệp
Đóng tệp
b. Mở tệp để đọc:
RESET ();
Ví dụ: Đọc thông tin trong tệp DULIEU.DAT nằm ở ổ đĩa D trong thu m?c TPBIN.
RESET (f2);
12
c. Đọc d? li?u vo tệp
Gắn tên tệp
Mở tệp để đọc
Đọc tệp
Đóng tệp
*Đọc tệp:
Ví dụ: Đọc 2 giá trị nguyên x1, y1 vo tệp DULIEU.DAT nằm ở ổ đĩa D trong thu m?c TPBIN.
READ(, );
READLN (, );
Program vd1;
Uses crt;
Var
f2: TEXT;
BEGIN
Clrscr;
ASSIGN(f2, `D:TPBINDULIEU.DAT`);
REWRITE (f2);
READ (f2,x,y);
13
Var f:text;
S:string[3];x:byte;
Begin
Assign(f,’VIDU.TXT’);
Reset(f);
Read(f,s,x);
Writeln (s); writeln(x);
Readln;
End.
c. Đọc thông tin vo tệp
Ví dụ: Cho chương trình sau. Dữ liệu tệp VIDU.TXT được đọc vào như hình bên.
Chú ý: Các dữ liệu cần đọc trong tệp gán vào danh sách biến phải lần lượt có kiểu tương ứng của biến trong danh sách biến. Nếu sai chương trình sẽ mắc lỗi.
Chương trình trên có chạy được không?
d. Đóng tệp: (tương tự như ghi dữ liệu vào tệp)
14
3. Một số hàm chuẩn thường dùng trong xử lí tệp văn bản
EOF();
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối tệp.
EOLN();
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối dòng.
15
Củng cố
? Khai báo tệp văn bản:
Var < Tên biến tệp>: Text;
Gán tên tệp:
ASSIGN();
Mở tệp:
- Để đọc: RESET();
- Để ghi: REWRITE(< Tên biến tệp>);
Đóng tệp
CLOSE(< tên biến tệp>);
Đọc/ghi tệp
Đọc: READ(,);
Ghi: REWRITE(< Tên biến tệp>,);
16
assign(,);
rewrite();
Reset();
write(,);
writeln(,);
Read(,);
Read(,);
Close();
17
BÀI TẬP VỀ NHÀ
- Sơ đồ ghi dữ liệu vào tệp, các thủ tục tương ứng.
Sơ đồ đọc dữ liệu từ tệp, các thủ tục tương ứng.
Học 1 số hàm chuẩn sử dụng trong tệp.
18
Gắn tên tệp
Write (,);
Mở tệp để đọc
Read(,);
Mở tệp để ghi
Close();
Đọc dữ liệu vào tệp
Reset();
Ghi dữ liệu vào tệp
Assign(,);
Đóng tệp
Rewrite();
NỐI MẢNH GHÉP
19
Thank you!
Dữ liệu kiểu tệp - Thao tác với tệp
2
I. Vai trò kiểu tệp
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD, ...) và không bị mất khi tắt nguồn điện.
Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.
Dữ liệu đã học
Lưu trữ
Tắt nguồn điện
Mất dữ liệu
Bộ nhớ trong: ROM, RAM.
Bộ nhớ ngoài: đĩa từ, CD, USB…
3
II. Phân loại tệp và thao tác với tệp:
Tệp có cấu trúc
Tệp văn bản
Là tệp mà các phần tử có cùng một cấu trúc nhất định.
Là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII và được quản lý theo từng dòng.
a. Xét theo cách thức tổ chức dữ liệu:
b. Xét theo cách thức truy cập ( tự nghiên cứu SGK)
4
II. Phân loại tệp và thao tác với tệp:
c. Thao tác với tệp.
Hai thao tác cơ bản đối với tệp là ghi dữ liệu và đọc dữ liệu vào tệp .
Cách thức ngôn ngữ lập trình cung cấp để thao tác với tệp.
Khai báo biến tệp;
Mở tệp;
Đọc/Ghi dữ liệu;
Đóng tệp;
5
III. Khai báo tệp văn bản
Var
Vớ d?:
tep1,tep2 : Text;
Program vd1;
Uses crt;
Var tep1,tep2: TEXT;
6
IV. Thao tác với tệp
Gắn tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
Đóng tệp
7
a. Gắn tên tệp
ASSIGN (
Tên tệp: Là biến xâu hoặc hằng xâu.
TH1: ASSIGN(f2, ‘dulieu.dat’);
TH2: ASSIGN(f2, ‘D:TPBIN dulieu.dat’);
Vớ d?: g?n bi?n t?p f2 cho t?p cú tờn `dulieu.dat`
Bi?n f2 du?c g?n v?i t?p cú tờn `dulieu.dat` n?u `dulieu.dat` n?m cựng thu m?c v?i file .pas, .exe c?a chuong trỡnh
Biến f2 được gắn với tệp có tên ‘dulieu.dat’ trong thư mục TPBIN ở ổ đĩa D.
1. Ghi dữ liệu vào tệp
8
REWRITE (
b) M? tệp để ghi:
Nếu như trên D:TPBIN chưa có tệp DULIEU.DAT, thì tệp sẽ được tạo rỗng.
Nếu đã có, thì nội dung cũ bị xoá để ghi dữ liệu mới.
Gắn tên tệp
Mở tệp để ghi
Ghi dữ liệu ra tệp
Đóng tệp
Ví dụ: ghi dữ liệu vào tệp DULIEU.DAT
REWRITE (f2);
9
c) Ghi dữ liệu vo tệp van b?n
? Danh sách kết quả gồm một hay nhiều phần tử. Phần tử có thể là biến, hằng xâu hoặc biểu thức, cỏc ph?n t? phõn cỏch nhau b?i d?u ph?y.
WRITE(
WRITELN (
Gắn tên tệp
Mở tệp để ghi
Ví dụ: Ghi giá trị của biến a, b vào tệp DULIEU.DAT
Ghi dữ liệu ra tệp
Đóng tệp
Program vd1;
Uses crt;
Var f2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(f2, `D:TPBINDULIEU.DAT`);
REWRITE (f2);
a:=3;b:=5;
WRITE(f2,a,’ ‘,b);
10
d) Dóng tệp
CLOSE(< tên biến tệp>)
Gắn tên tệp
Mở tệp để ghi
Ghi dữ liệu ra tệp
Đóng tệp
Ví dụ: Ghi giá trị của biến a, b vào tệp D:ViduDULIEU.DAT
Program vd1;
Uses crt;
Var f2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(f2, `D:TPBINDULIEU.DAT`);
REWRITE (f2);
a:=3;b:=5;
WRITE(f2,a,’ ‘,b);
Close(tep1);
END.
11
a. Gắn tên tệp: tương tự như thao tác ghi tệp
2. Đọc d? li?u vo tệp
Gắn tên tệp
Mở tệp để đọc
Đọc dữ liệu từ tệp
Đóng tệp
b. Mở tệp để đọc:
RESET (
Ví dụ: Đọc thông tin trong tệp DULIEU.DAT nằm ở ổ đĩa D trong thu m?c TPBIN.
RESET (f2);
12
c. Đọc d? li?u vo tệp
Gắn tên tệp
Mở tệp để đọc
Đọc tệp
Đóng tệp
*Đọc tệp:
Ví dụ: Đọc 2 giá trị nguyên x1, y1 vo tệp DULIEU.DAT nằm ở ổ đĩa D trong thu m?c TPBIN.
READ(
READLN (
Program vd1;
Uses crt;
Var
f2: TEXT;
BEGIN
Clrscr;
ASSIGN(f2, `D:TPBINDULIEU.DAT`);
REWRITE (f2);
READ (f2,x,y);
13
Var f:text;
S:string[3];x:byte;
Begin
Assign(f,’VIDU.TXT’);
Reset(f);
Read(f,s,x);
Writeln (s); writeln(x);
Readln;
End.
c. Đọc thông tin vo tệp
Ví dụ: Cho chương trình sau. Dữ liệu tệp VIDU.TXT được đọc vào như hình bên.
Chú ý: Các dữ liệu cần đọc trong tệp gán vào danh sách biến phải lần lượt có kiểu tương ứng của biến trong danh sách biến. Nếu sai chương trình sẽ mắc lỗi.
Chương trình trên có chạy được không?
d. Đóng tệp: (tương tự như ghi dữ liệu vào tệp)
14
3. Một số hàm chuẩn thường dùng trong xử lí tệp văn bản
EOF(
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối tệp.
EOLN(
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối dòng.
15
Củng cố
? Khai báo tệp văn bản:
Var < Tên biến tệp>: Text;
Gán tên tệp:
ASSIGN(
Mở tệp:
- Để đọc: RESET(
- Để ghi: REWRITE(< Tên biến tệp>);
Đóng tệp
CLOSE(< tên biến tệp>);
Đọc/ghi tệp
Đọc: READ(
Ghi: REWRITE(< Tên biến tệp>,
16
assign(
rewrite(
Reset(
write(
writeln(
Read(
Read(
Close(
17
BÀI TẬP VỀ NHÀ
- Sơ đồ ghi dữ liệu vào tệp, các thủ tục tương ứng.
Sơ đồ đọc dữ liệu từ tệp, các thủ tục tương ứng.
Học 1 số hàm chuẩn sử dụng trong tệp.
18
Gắn tên tệp
Write (
Mở tệp để đọc
Read(
Mở tệp để ghi
Close(
Đọc dữ liệu vào tệp
Reset(
Ghi dữ liệu vào tệp
Assign(
Đóng tệp
Rewrite(
NỐI MẢNH GHÉP
19
Thank you!
* 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ẻ: Thanh Sang
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)