Vai trò của kiểu tệp - Tất cả các kiểu dữ liệu đã học đều đ ợc l u trữ ở bộ nhớ trong Ram.. Em hãy cho biết các dữ liệu thuộc các kiểu dữ liệu đã học đ ợc l u trữ ở bộ nhớ nào khi thực
Trang 1
Ngườiưthựcưhiện:ưCô giáo:ưNguyễnưThịưNguyệt
Trang 2Bài 14: Kiểu dữ liệu tệp
1 Vai trò của kiểu tệp
- Tất cả các kiểu dữ liệu đã học đều
đ ợc l u trữ ở bộ nhớ trong Ram
Bộ nhớ RAM có những đặc điểm: Ghi nhớ thông tin trong khi máy tính làm việc, khi tắt máy các thông tin trong Ram sẽ bị xoá
- Kiểu dữ liệu tệp có những đặc điểm sau:
+ Kiểu dữ liệu tệp đ ợc l u trữ lâu dài
ở bộ nhớ ngoài (đĩa từ, CD, ) + L ợng dữ liệu l u trữ trên tệp có thể rất lớn và chỉ phụ thuộc dung l ợng đĩa
Em hãy cho biết các dữ liệu
thuộc các kiểu dữ liệu đã học đ
ợc l u trữ ở bộ nhớ nào khi thực
hiện ch ơng trình?
Bộ nhớ Ram có những đặc
điểm gì?
Nghiên cứu SGK cho biết đặc
điểm của kiểu tệp?
Trang 3Bài 14: Kiểu Dữ LIệU TệP
1 Vai trò của kiểu tệp
2 Phân loại tệp và thao tác với tệp
Có 2 cách:
Xét theo cách tổ chức dữ liệu
Xét theo cách thức truy cập
* Xét theo cách tổ chức dữ liệu
- Tệp VB là tệp mà dữ liệu đ ợc ghi d
ới dạng các kí tự theo mã ASCII và quản lí theo từng dòng
- Tệp có cấu trúc là loại 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 (VD: Tổ chức theo các phần tử cùng kiểu)
VD: Sách, tài liệu, giáo án, bài học, các ch ơng trình nguồn viết bằng ngôn ngữ bậc cao
VD: Dữ liệu âm thanh, ảnh,
Phân loại tệp có mấy cách đó
là những cách nào?
Hãy trình bày khái niệm tệp
văn bản và tệp có cấu trúc?
Trang 4Bài 14: Kiểu Dữ LIệU TệP
1 Vai trò của kiểu tệp
2 Phân loại tệp và thao tác với tệp
Có 2 cách:
Xét theo cách tổ chức dữ liệu
Xét theo cách thức truy cậ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í của dữ liệu đó
Thế nào là tệp truy cập tuần
tự và tệp truy cập trực tiếp?
Dữ liệu tệp có gì khác với dữ
liệu mảng?
Trang 5Bài 14: Kiểu Dữ LIệU TệP
1 Vai trò của kiểu tệp
2 Phân loại tệp và thao tác với tệp
Hầu hết các ngôn ngữ lập trình đều
có qui tắc cho phép ng ời lập trình xác
định:
- Khai báo biến tệp
- Mở tệp
- Đọc/ghi dữ liệu
- Đóng tệp
Trang 6Bài 15: Thao tác với tệp
1 Khai báo.
Cấu trúc chung của khai báo biến tệp:
Var <tên biến tệp>: Text;
Thủ tục gắn tên tệp:
VD: Var a,b:Text;
2 Thao tác với tệp.
a Gắn tên tệp.
Assign (<biến tệp>,<tên tệp>);
Trong đó: tên tệp là biến xâu hoặc
hằng xâu
VD: Assign(tep1, baitap.dat );’baitap.dat’); ’baitap.dat’);
Hãy cho ví dụ minh hoạ?
Trang 7§Üa tõ
TÖ
p l u
tr ªn
® Üa
Tªn tÖp
Ch ¬ng tr×nh
Assign(tep, ’VGA.DRV ’)
Tªn biÕn tÖp trong
ch ¬ng tr×nh
Trang 8Bài 15: Thao tác với tệp
1 Khai báo.
- Câu lệnh sử dụng thủ tục Reset mở tệp đã tồn tại để đọc dữ liệu:
2 Thao tác với tệp.
a Gắn tên tệp.
Reset(<biến tệp>);
VD: Assign(tep1, baitap.dat );’baitap.dat’); ’baitap.dat’);
Reset(tep1);
b Mở tệp.
Tên tệp có thể là một đ ờng dẫn:
<ổ đĩa>:\<tên th mục>\<tên th mục>\ \<tên th mục>\<tên tệp>
VD: Assign(tep2, C:\Window\System\’baitap.dat’);
VGA.DRV );’baitap.dat’);
- Câu lệnh sử dụng thủ tục Rewrite
mở tệp để ghi dữ liệu:
Rewrite(<biến tệp>);
Hãy cho ví dụ minh hoạ?
Trang 9Bài 15: Thao tác với tệp
1 Khai báo.
2 Thao tác với tệp.
a Gắn tên tệp.
VD: Assign(tep1, Baitap.dat );’baitap.dat’); ’baitap.dat’);
Rewrite(tep1);
b Mở tệp.
- Cú pháp đọc tệp văn bản:
Read(<biến tệp>,<danh sách biến>);
Chú ý: 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.
c Đọc/ghi tệp văn bản.
hoặc
Readln(<biến tệp>,<danh sách biến>);
Hãy cho ví dụ minh hoạ?
Hãy viết cấu trúc chung của
câu lệnh nhập/xuất dữ liệu
Trang 10Bài 15: Thao tác với tệp
1 Khai báo.
2 Thao tác với tệp.
a Gắn tên tệp.
b Mở tệp.
- Cú pháp đọc tệp văn bản:
Read(<biến tệp>,<danh sách biến>);
c Đọc/ghi tệp văn bản.
hoặc
Readln(<biến tệp>,<danh sách biến>);
Trong đó: Tên biến là một dãy tên biến 1, biến 2, , biến N.
VD: Read(tep1,a,b,c);
hoặc: Readln(tep1,i,x);
Giả sử tep1 đ ợc mở để đọc
dữ liệu Hãy viết thủ tục để
đọc dữ liệu từ tệp tep1.
Trang 11Bài 15: Thao tác với tệp
1 Khai báo.
2 Thao tác với tệp.
a Gắn tên tệp.
b Mở tệp.
- Cú pháp ghi tệp văn bản:
Write(<biến tệp>,<danh sách kq’baitap.dat’);>);
c Đọc/ghi tệp văn bản.
hoặc
Writeln(<biến tệp>,<danh sách kq’baitap.dat’);>);
Trong đó: Danh sách kết quả là dãy
kết quả 1, kết quả 2, , kết quả N
VD: Write(tep1, a= ,a, b= ,b, c= ,c);’baitap.dat’); ‘,a,’b=’,b,’c=‘,c); ’baitap.dat’); ’baitap.dat’); ’baitap.dat’); ‘,a,’b=’,b,’c=‘,c);
hoặc: Writeln(tep1, x= ,(-b/a):4:2);’baitap.dat’); ‘,a,’b=’,b,’c=‘,c);
Giả sử tep1 đ ợc mở để ghi
dữ liệu Hãy viết thủ tục để ghi
dữ liệu vào tệp tep1.
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 quả trung gian là hằng kí tự
dấu cách VD: Write(f,x,’baitap.dat’); ’baitap.dat’);,y);
Trang 12Bài 15: Thao tác với tệp
1 Khai báo.
2 Thao tác với tệp.
a Gắn tên tệp.
b Mở tệp.
- Cú pháp đóng tệp:
Close(<biến tệp>);
c Đọc/ghi tệp văn bản.
Trong đó: Biến tệp đã đ ợc gắn với
một tệp đang mở bằng Reset hoặc Rewrite
VD: Close(tep1);
d Đóng tệp.
Hãy cho ví dụ minh hoạ?
Trang 13Củng cố kiến thức
* Các thao tác với tệp đ ợc mô tả qua hình sau:
* Cách khai báo tệp: Var <tên biến tệp>: text;
- Tệp có mấy loại, đó là những loại nào?
* Xét theo cách tổ chức dữ liệu
- Tệp văn bản
- Tệp có cấu trúc
* Xét theo cách truy cập:
- Tệp truy cập tuần tự
- Tệp truy cập trực tiếp
Assign(<biến tệp>,<tên tệp>);
Read(<biến tệp>,<danh sách biến>); Write(<biến tệp>,<danh sách kết quả>);
Close(<biến tệp>);
Trang 14Củng cố kiến thức
Assign(<biến tệp>,<tên tệp>);
Read(<biến tệp>,<danh sách biến>); Write(<biến tệp>,<danh sách kết quả>);
Close(<biến tệp>);
Hãy giải thích ý nghĩa của sơ đồ?
- Ghi tệp: Gán tên tệp, tạo tệp mới, ghi thông tin, đóng tệp
- Đọc tệp: Gán tên tệp, mở tệp, đọc thông tin, đóng tệp
ý nghĩa của sơ đồ:
Trang 15