Trường THPT Dĩ An Chương 5: TỆP VÀ THAO TÁC VỚI TỆP Chương TỆP VÀ THAO TÁC VỚI TỆPBài 14-15-16: KIỂU DỮ LIỆU TỆP A – NỘI DUNG BÀIHỌC I VAI TRÒ CỦA KIỂUTỆP Dữ liệu kiểutệp lưu trữ lâu dài nhớ ngồi khơng bị tắt nguồn điện Lượng dự liệu lưu trữ tệp lớn phụ thuộc vào dung lượng đĩa iI PHÂN LOẠI TỆPTỆP Cách tổ chức liệu Tệp văn Tệp cấu trúc Cách thức truy cập Tuần tự Trực tiếp Xét theo cách tổ chức liệu, phân tệp thành loại: Tệp văn bản: - Dữ liệu ghi dạng kí tự theo mã ASCII - Dãy kí tự kết thúc kí tự xuống dòng hay kí tự kết thúc tệp tạo thành dòng - Các liệu dạng văn lưu trữ dạng file văn Ví dụ: trang báo, giáo án, bìa sách,… Tệp có cấu trúc: - Các thành phần tổ chức theo cấu trúc định - Dữ liệu tệp cấu trúc gồm: liệu ảnh, âm thanh, … - Tệp nhị phân trường hợp riêng tệp có cấu trúc Xét theo cách thức truy cập, phân tệp thành loại: Truy cập tuần tự: truy cập liệu cách đầu tệp qua tất liệu trước Truy cập trực tiếp: tham chiếu trực tiếp vị trí liệu iiI CÁC THAO TÁC PHÂN LOẠI TỆP Khai báo: VD: Thao tác với tệp: Var : text; var TepA, TepB : text; a Gắn tên tệp: assign(, ); VD: - Gắn tệp DULIEU.DAT cho biến tệp TepA: assign (TepA, ‘DULIEU.DAT’); - Gắn tệp DL.DAT thư mục gốc đĩa C cho biến tệp tep2: assign (TepB, ‘C:\DL.DAT); b Mở tệp - Mở tệp để ghi liệu: rewrite(); Ví dụ: rewrite(TepB); + Nếu ổ C:\ chưa có DL.DAT, tệp tạo rỗng + Nếu có nội dung cũ bị xóa để chuẩn bị ghi liệu - Mở tệp để đọc liệu: reset(); Giáo Viên: Trần Quốc Nghĩa Trường THPT Dĩ An Chương 5: TỆP VÀ THAO TÁC VỚI TỆP Ví dụ: để đọc liệu từ tệp DULIEU.DAT, ta mở tệp thủ tục: reset(TepA); c Đọc/ghi tệp văn - Đọc tệp văn bản: read(,); Hoặc: readln(,); VD: câu lệnh read(TepA,n); để đọc giá trị n từ TepA - Ghi tệp văn bản: write (,); Hoặc: writeln(,); Ví dụ: với t:=5;câu lệnh sau ghi vào TepB nội dung t=5 writeln(TepB,'t =',t); d Đóng tệp: close(); VD: câu lệnh close(TepB) dùng để đóng TepB e Các hàm chuẩn thường dùng - eof(): trả giá trị TRUE trỏ tệp tới cuối tệp - eoln(): trả giá trị TRUE trỏ tệp tới cuối dòng Tổng kết thao tác với tệp Gắn tên tệp Mở tệp để ghi Mở tệp để đọc Ghi liệu vào tệp Đọc liệu từ tệp Đóng tệp B – CÂU HỎI TRẮC NGHIỆM Câu Câu Dữ liệu kiểutệp A lưu trữ ROM C lưu trữ đĩa cứng B lưu trữ RAM D lưu trữ nhớ Dữ liệu kiểutệp A bị hết tắt máy C không bị tắt máy điện B bị hết tắt điện đột ngột D A, B, C sai Câu Phát biểu đúng? A Các kiểu liệu lưu trữ nhớ (RAM) B Dữ liệu kiểutệp lưu trữ nhớ C Dữ liệu kiểutệp lưu trữ nhờ (đĩa mềm, đĩa cứng, CD, thiết bị nhớ Flash) D Các liệu máy tính bị tắt nguồn điện Câu Phát biểu sau sai? A Tệp có cấu trúc tệp mà thành phần tổ chức theo cấu trúc định B Tệp chứa liệu tổ chức theo cách thức định gọi tệp có cấu trúc C Tệp văn không thuộc loại tệp có cấu trúc D Tệp văn gồm kí tự theo mã ASCII phân chia thành hay nhiều dòng Giáo Viên: Trần Quốc Nghĩa Trường THPT Dĩ An Chương 5: TỆP VÀ THAO TÁC VỚI TỆP Câu Phát biểu sau sai? A Có thể truy cập trực tiếp tệp văn B Tệp có cấu trúc truy cập trực tiếp C Tệp có cấu trúc truy cập D Truy cập trực tiếp cách truy cập cho phép tham chiếu đến liệu cần truy cập cách xác định trực tiếp vị trí (thường số hiệu) liệu Câu Phát biểu sau đúng? A Số lượng phần tử tệp cố định B Kích thước tệp lớn C Dữ liệu tệp lưu trữ đĩa thành vùng liệu liên tục D Tệp lưu trữ lâu dài đĩa, xóa tệp đĩa Câu Phát biểu sau sai? A Tệp nhị phân thuộc loại tệp có cấu trúc B Các dòng tệp văn có độ dài C Có thể hiểu nội dung tệp văn hiển thị hình phần mềm soạn thảo văn D Khơng thể hiểu nội dung tệp có cấu trúc hiển thị hình phần mềm soạn thảo văn Câu Phát biểu sau sai? A Trong lập trình, muốn thao tác tệp liệu phải thao tác gián tiếp qua biến tệp B Biến tệp biến kiểu xâu C Trong Pascal, biến tệp văn có kiểu text D Trong chương trình, tên tệp biến xâu xâu Câu Phát biểu sau sai? A Muốn đọc / ghi liệu tệp, sau gắn biến tệp với tên tệp cần phải thực thao tác mở tệp đó; B Trong lệnh mở tệp, cần khai báo tên tệp để xác định vị trí tệp đĩa C Trong lệnh gán tên tệp với biến tệp, cần khai báo tên tệp để xác định vị trí tệp đĩa D Sau mở tệp, trỏ tệp vị trí đầu tệp Câu 10 Chọn mệnh đề sai mệnh đề sau: A Sau đọc xong tệp, khơng đóng tệp khơng gây ảnh hưởng cho việc quản lí tệp B Một tệp văn mở trỏ tệp không phần tử đầu tiên, muốn làm việc với phần tử tệp cần đóng tệp mở lại C Khi mở lại tệp, khơng thay đổi biến tệp không cần gán lại biến tệp với tên tệp D Khi ghi xong liệu vào tệp, cần đóng tệp Câu 11 Cách thức truy cập tệp văn A Truy cập C Truy cập trực tiếp B Truy cập ngẫu nhiên D Vừa truy cập vừa truy cập trực tiếp Câu 12 Số lượng phần tử tệp A Không lớn 128 B Không lớn 255 C Phải khai báo trước D Không bị giới hạn mà phụ thuộc vào dung lượng đĩa Câu 13 Hãy chọn thứ tự hợp lí thực thao tác đọc liệu từ tệp: A Mở tệp Gán tên tệp với biến tệp Đọc liệu từ tệp Đóng tệp B Mở tệp Đọc liệu từ tệp Gán tên tệp với biến tệp Đóng tệp C Gán tên tệp với biến tệp Mở tệp Đọc liệu từ tệp Đóng tệp D Gán tên tệp với biến tệp Đọc liệu từ tệp Mở tệp Đóng tệp Giáo Viên: Trần Quốc Nghĩa Trường THPT Dĩ An Chương 5: TỆP VÀ THAO TÁC VỚI TỆP Câu 14 Hãy chọn thao tác ghi tệp văn chứa liệu là: A Thông báo mở tệp để đọc Đọc liệu tệp Đóng tệp Gán biến tệp với tên tệp B Thông báo mở tệp để đọc Đọc liệu tệp Gán biến tệp với tên tệp => Đóng tệp C Gán biến tệp với tên tệp Thông báo mở file để ghi liệu => Ghi liệu => Đóng tệp D Gán biến tệp với tên tệp Thông báo mở file để ghi liệu Đọc liệu tệp Đóng tệp Câu 15 Hãy chọn thao tác đọc tệp văn chứa liệu là: A Gán biến tệp với tên tệp Thông báo mở file để ghi liệu Ghi liệu Đóng tệp B Gán biến tệp với tên tệp Thông báo mở tệp để đọc Đọc liệu tệp Đóng tệp C Thơng báo mở file để ghi liệu Gán biến tệp với tên tệp Ghi liệu Đóng tệp D Thông báo mở file để ghi liệu Ghi liệu Gán biến tệp với tên tệp Đóng tệp Câu 16 Hãy chọn thứ tự thao tác Pascal để ghi tiếp liệu vào cuối tệp có cấu trúc tồn đĩa: A Mở tệp để ghi Gán tên tệp với biến tệp Thao tác để di chuyển trỏ tệp đến cuối tệp Ghi liệu vào tệp Đóng tệp B Gán tên tệp với biến tệp Mở tệp để ghi Thao tác để di chuyển trỏ tệp đến cuối tệp Ghi liệu vào tệp Đóng tệp C Gán tên tệp với biến tệp Thao tác để di chuyển trỏ tệp đến cuối tệp Mở tệp để ghi Ghi liệu vào tệp Đóng tệp D Mở tệp để ghi Gán tên tệp với biến tệp Ghi liệu vào tệp Thao tác để di chuyển trỏ tệp đến cuối tệp Đóng tệp Câu 17 Trong PASCAL để khai báo biến tệp văn ta phải sử dụng cú pháp A Var : Text; B Var : Text; C Var : String; D Var : String; Câu 18 Trong PASCAL, để khai báo hai biến tệp văn f1, f2 ta viết A Var f1 f2: Text; B Var f1 ; f2: Text; C Var f1, f2: Text; D Var f1: f2: Text; Câu 19 Để thao tác với tệp A Ta gán tên tệp cho tên biến tệp, sử dụng trực tiếp tên tệp B Ta thiết phải gán tên tệp cho tên biến tệp C Ta nên sử dụng trực tiếp tên tệp chương trình D Ta thiết phải sử dụng trực tiếp tên tệp chương trình Câu 20 Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh A := ; B := ; C Assign(,); D Assign(,); Câu 21 Để 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’); Câu 22 Trong PASCAL mở tệp để đọc liệu ta phải sử dụng thủ tục A Reset(); B Reset(); C Rewrite(); D Rewrite(); Giáo Viên: Trần Quốc Nghĩa Trường THPT Dĩ An Chương 5: TỆP VÀ THAO TÁC VỚI TỆP Câu 23 Trong PASCAL mở tệp để ghi kết ta phải sử dụng thủ tục A Reset(); B Reset(); C Rewrite(); D Rewrite(); Câu 24 Vị trí trỏ tệp sau lời gọi thủ tục Reset A Nằm đầu tệp C Nằm tệp B Nằm cuối tệp D Nằm ngẫu nhiên vị trí Câu 25 Để đọc liệu từ tệp văn ta sử dụng thủ tục A Read(,); B Read(,); C Write(,); D Write(,); Câu 26 Để ghi kết vào tệp văn ta sử dụng thủ tục A Read(,); B Read(,); C Write(,); D Write(,); Câu 27 Nếu hàm eof() cho giá trị true trỏ tệp nằm vị trí A Đầu dòng B Đầu tệp C Cuối dòng D Cuối tệp Câu 28 Nếu hàm eoln() cho giá trị true trỏ tệp nằm vị trí A Đầu dòng B Đầu tệp C Cuối dòng D Cuối tệp Câu 29 Trong Pascal để đóng tệp ta dùng thủ tục A Close(); C Stop(); B Close(); D Stop(); Câu 30 Var : Text ; có ý nghĩa gì? A Thủ tục gán tên tệp cho tên biến tệp C Khai báo biến tệp B Thủ tục mở tên để đọc liệu D Thủ tục đóng tệp Câu 31 Assign(,); Ví dụ: với t:=5;câu lệnh sau ghi vào TepB nội dung t=5 writeln(TepB,'t =',t); d Đóng tệp: close(); VD: câu lệnh close(TepB) dùng để đóng TepB e Các hàm chuẩn thường dùng - eof(