Bài giảng Tin học 11 - Bài: Kiểu dữ liệu tệp - Trường THPT Bùi Hữu Nghĩa
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 11 - Bài: Kiểu dữ liệu tệp - Trường THPT Bùi Hữu Nghĩa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_tin_hoc_11_bai_kieu_du_lieu_tep_truong_thpt_bui_hu.pptx
- PHIẾU HỌC TẬP TIN 11.docx
- TRỌNG TÂM BÀI HỌC.docx
Nội dung text: Bài giảng Tin học 11 - Bài: Kiểu dữ liệu tệp - Trường THPT Bùi Hữu Nghĩa
- Kiểu Dữ Liệu Tệp
- Kể tên các kiểu dữ liệu đã học? • Số nguyên • Số thực ! Khi chạy chương trình, • Kí tự dữ liệu này được lưu trữ • Logic tạm thời trên bộ nhớ • Mảng trong (Ram) • Xâu
- * Nhắc lại khái niệm tệp trong tin học 10: Tệp, còn gọi là tập tin(File), là một tập hợp các thông tin ghi trên bộ nhớ ngoài, tạo thành 1 đơn vị lưu trữ do Hệ điều hành(HĐH) quản lí. mỗi tệp có 1 tên để truy cập. (tên tệp được đặt theo quy định riêng của HĐH ). Tên tệp ko quá 255 kí tự, thường gồm 2 phần : phần tên(name) và phần mở rộng(còn gọi là phần đuôi-Extension) và dc phân cách với nhau bằng dấu chấm(.) Vdu: baigiang.doc, tinhoc.xls, hoten.txt b
- 1 Vai trò của kiểu dữ liệu tệp Đặc điểm: - 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.
- So sánh Các kiểu dữ liệu Kiểu dữ liệu tệp ( Integer, mảng, xâu, ) - Được lưu trữ trên - Dữ liệu lưu trữ thành file RAM, không tạo ra file, trên bộ nhớ ngoài. Không mất đi khi tắt máy. bị mất khi tắt máy. -Lượng dữ liệu lưu trữ - Lượng dữ liệu lưu trữ lớn lớn
- 2 Phân loại tệp Phân loại theo 2 cách * Xét theo cách tổ chức dữ liệu : Tệp được phân loại theo mấy cách? Kể • Tệp văn bản tên? • Tệp có cấu trúc * Xét theo cách thức truy cập • Tệp truy cập tuần tự • Tệp truy cập trực tiếp Lư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.
- Cách thức mà ngôn ngữ lập trình cung cấp để có thể thao tác với kiểu tệp? • Khai báo biến tệp • Mở tệp • Đọc/ghi dữ liệu • Đóng tệp
- Trong chương trình Pascal, cần phải làm gì khi muốnKhai dùng báo một biến biến để chứa dữ liệu?
- 3 Khai báo VAR : TEXT; Program vidu1; Uses crt; Ví dụ 1: Khai báo biến tệp Var f : Text; có tên là f. Var f : text;
- 4 Thao tác với tệp a Gắn tên tệp Cú pháp: ASSIGN ( , ); Trong đó: ✓ là biến xâu hoặc hằng xâu. ✓ là biến sử dụng để tham chiếu tới các phần tử của tệp
- Ví dụ 1: Giả thiết có biến xâu MYFILE và cần gắn biến tệp F2 với tệp có tên DULIEU.DAT. Việc gắn tên tệp được thực hiện như sau: MYFILE := ‘DULIEU.DAT ’; ASSIGN (F2, MYFILE); hoặc ASSIGN (F2, ‘DULIEU.DAT ’); Ví dụ 2: Để chuẩn bị thao tác với tệp có tên là INP.DAT trên thư mục gốc đĩa C: , ta gắn nó với biếp tệp F3 như sau: MYFILE : = ‘C:\INP.DAT’ ; ASSIGN (F3, MYFILE);
- b Mở tệp 2 kiểu Mở tệp để ghi Mở tệp để đọc rewrite( ); reset( ); 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. Ví dụ: Ví dụ: Assign (f, ‘D:\KQ.DAT’); assign(tep2, ‘KQ.DAT’); Rewrite (f); reset(tep2);
- c Đọc, ghi tệp văn bản Trong pascal, lệnh nào dùng để đọc dữ liệu? Lệnh nào dùng để ghi dữ liệu? Lệnh đọc là read Lệnh ghi là write hoặc readln hoặc writeln
- c Đọc, ghi tệp văn bản Đọc tệp văn bản read( , ); readln( , ); Danh sách biến là một hoặc nhiều tên biến. Trong trường hợp nhiều biến thì các tên cách nhau bởi dấu phẩy. Ví dụ 1: Thủ tục đọc giá trị từ tệp gắn với biến tệp F1 và gán cho biến C : READ (F1 , C)
- c Đọc, ghi tệp văn bản write( , ); Ghi tệp writeln( , ); văn bản: Danh sách kết quả gồm một hoặc nhiều phần tử. Trường hợp có nhiều phần tử thì các phần tử này cách nhau một dấu phẩy. Phần tử có thể là tên biến, biểu thức (số học, quan hệ hoặc logic) hoặc hằng xâu. Ví dụ 2: Thủ tục ghi giá trị biến A vào tệp gắn với biến tệp F3 : WRITE (F3 , A)
- ❖ Một số hàm và thủ tục thông dụng: ➢ Hàm EOF ( ): trả về giá trị TRUE khi con trỏ tệp đã ở vị trí cuối tệp. ➢ Hàm EOLN(biến tệp>): trả về giá trị TRUE khi con trỏ tệp đã ở vị trí cuối dòng.
- d Đóng tệp Sau khi làm việc xong với Tại sao ta phải đóng tệp ta phải tệp? làm gì? Sau khi làm việc xong với tệp cần phải đóng tệp. Chỉ có đóng tệp thì khi đó hệ thống mới thực sự hoàn tất ghi dữ liệu ra tệp.
- d Đóng tệp ▪ Thủ tục Close đóng một tệp đang mở Cú pháp : CLOSE ( ); Ví dụ: Thủ tục đóng giá trị từ tệp gắn với biến tệp F1 và gán cho biến C: CLOSE (F1) Lưu ý: Một tệp, sau khi đóng có thể mở lại. Khi mở lại tệp, nếu vẫn dùng biến tệp cũ thì không cần thiết phải dùng thủ tục ASSIGN gán lại tên tệp.
- assign( , ); Ghi Đọc rewrite( ); reset( ); write( , ); read( , ); close( ); Sơ đồ liên hệ giữa các thao tác với tệp
- Bài tập Bài tập 1 Bài tập 2 Bài tập 3 Viết thủ tục gắn Viết thủ tục gắn Viết thủ tục gắn tệp IN.DAT trên tệp NHAP.TXT tệp BAITAP.DAT thư mục gốc của trên thư mục gốc cho biến tệp f. ổ đĩa D cho biến của ổ đĩa E cho tệp f. biến tệp f.
- BÀI TẬP CỦNG CỐ Hãy chọn phương án trả lời đúng nhất Câu 1: Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp: A.Var : Text; B.Var : Text; C.Var : string; D.Var : string; Câu 2: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh: A.f1:=‘KQ.TXT’; B.KQ.TXT:=f1; C.Assign(‘KQ.TXT’,f1); D.Assign(f1, ‘KQ.TXT’);
- BÀI TẬP CỦNG CỐ Câu 3: Trình tự làm việc với tệp trong Pascal là: 1. Gán đường dẫn và tên tệp vào biến tệp; 2. Khai báo biến tệp; 3. Đọc hoặc ghi dữ liệu vào tệp; 4. Mở tệp; 5. Đóng tệp.
- BÀI TẬP CỦNG CỐ Câu 4: Muốn mở tệp ra để GHI dữ liệu vào ta dùng lệnh: A. Writeln(f); B. Write(f); C. Reset(f); D. Rewrite(f);
- Câu 5: Khi theo tác với tệp, sử dụng lệnh REWRITE cần lưu ý: 1. Tiến hành mở (tạo) ra một tệp mới; 2. Cho phép in nội dung mới ra màn hình; 3. Nếu tệp trên máy trùng với tên tệp vừa mở thì nội dung cũ sẽ bị xóa; 4. Chỉ có thể đọc nội dung của tệp trên máy mà không thể thêm nội dung mới. Khẳng định đúng là: A. 1, 2, 3 B. 2, 3 C. 1, 2, 4 D. 1, 3
- Câu 6: Để thao tác với tệp: A. Ta nên sử dụng tên tệp trực tiếp trong chương trình; B. Ta nhất thiết phải sử dụng tên tệp trong chương trình; C. Ta nhất thiết phải gắn tên tệp cho tên biến tệp; D. Ta có thể gắn tên tệp cho tên biến tệp, hoặc sử dụng tên tệp trực tiếp cũng được.
- Câu 7: Lệnh nào dùng để đóng tệp? A. Exit(f); B. Close(f); C. Quit(f); D. Tất cả đều đúng.
- Bài tập ví dụ tham khảo Bài tập. Ghi giá trị của hai biến a,b và tổng a+b vào tệp D:\Bai1.Inp. 1. Khai báo Program Bai1; Var Tep :Text ; a,b :Integer ; Begin 2. Nhập a,b Write(‘ Nhap a,b : ‘); Readln(a,b); 3. Gắn tên tệp; Assign(Tep,’D:\Bai1.Inp’) ; 4. Mở tệp ra để ghi; Rewrite(Tep) ; 5. Ghi vào tệp D:\Bai1.Inp. Write(tep,a,’ ‘,b, ‘ ‘,a+b) ; 6. Đóng tệp. Close(tep) ; Readln; End.
- Em hãy cho biết ý nghĩa các câu lệnh đã được đánh số bên dưới (1)Var tepA,tepB,tep C: text; (2)Begin (3)assign (tepA, ‘Xoai.txt’); (4)assign (tepB, ‘Me.txt’); (5)reset(tepA); (6)read(tepA,A,B,C); (7)readln(tepA,D,E); (8)rewrite(tepB); (9)write(tepB, ‘A=’,A, ‘D=’,); (10)writeln(tepB, ‘x1=’, (-B-SQRT(B*B-4*A*C))/(2*A):5:3); (11)close (tepA); (12)Close (tepB); (13)Readln; (14)End.