Bài giảng Tệp và thao tác với tệp

Câu 1 : Dữ liệu kiểu tệp

A_ được lưu trữ trên ROM.

B_ được lưu trữ trên RAM.

C_ chỉ được lưu trữ trên đĩa cứng.

được lưu trữ trên bộ nhớ ngoài

 

doc6 trang | Chia sẻ: vivian | Lượt xem: 6822 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Bài giảng Tệp và thao tác với tệp, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
nó trên màn hình trong phần mềm soạn thảo văn bản. Không thể hiểu nội dung các tệp có cấu trúc khi hiển thị nó trên màn hình trong phần mềm soạn thảo văn bản. Phát biểu nào sau đây là sai ? Trong lập trình, muốn thao tác trên tệp dữ liệu phải thao tác gián tiếp qua biến tệp. Biến tệp là biến kiểu xâu. (*) Trong Pascal, biến tệp văn bản có kiểu text. Trong chương trình, tên tệp có thể là biến xâu hoặc hằng xâu . Phát biểu nào sau đây là sai ? Muốn đọc / ghi dữ liệu trong một tệp, sau khi gắn biến tệp với tên tệp cần phải thực hiện thao tác mở tệp đó; Trong lệnh mở tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa. (*) 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 đúng vị trí tệp trên đĩa. Sau khi mở tệp, con trỏ tệp ở vị trí đầu tệp. Chọn mệnh đề sai trong các mệnh đề sau : Sau khi đọc xong tệp, không đóng tệp cũng không gây ảnh hưởng gì cho việc quản lí tệp.(*) Một tệp văn bản đang mở và con trỏ tệp không ở phần tử đầu tiên, muốn làm việc với phần tử đầu tiên của tệp cần đóng tệp và mở lại. Khi mở lại tệp, nếu không thay đổi biến tệp thì không cần gán lại biến tệp với tên tệp. Khi ghi xong dữ liệu vào tệp, cần đóng tệp. Cách thức truy cập tệp văn bản là 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. Số lượng phần tử trong tệp Không được lớn hơn 128. Không được lớn hơn 255. Phải được khai báo trước. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa. (*) Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp : Mở tệp => Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp . Mở tệp => Đọc dữ liệu từ tệp => Gán tên tệp với biến tệp => Đóng tệp. Gán tên tệp với biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp . (*) Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp. Hãy chọn các thao tác ghi trên tệp văn bản chứa dữ liệu là : Thông báo mở tệp để đọc => Đọc dữ liệu trong tệp => Đóng tệp => Gán biến tệp với tên tệp. Thông báo mở tệp để đọc => Đọc dữ liệu trong tệp => Gán biến tệp với tên tệp => Đóng tệp. Gán biến tệp với tên tệp => Thông báo mở file để ghi dữ liệu mới => Ghi dữ liệu mới => Đóng tệp. (*) Gán biến tệp với tên tệp => Thông báo mở file để ghi dữ liệu mới => Đọc dữ liệu trong tệp => Đóng tệp. Hãy chọn các thao tác đọc trên tệp văn bản chứa dữ liệu là : Gán biến tệp với tên tệp => Thông báo mở file để ghi dữ liệu mới => Ghi dữ liệu mới => Đóng tệp. Gán biến tệp với tên tệp => Thông báo mở tệp để đọc => Đọc dữ liệu trong tệp => Đóng tệp. (*) Thông báo mở file để ghi dữ liệu mới => Gán biến tệp với tên tệp => Ghi dữ liệu mới => Đóng tệp. Thông báo mở file để ghi dữ liệu mới => Ghi dữ liệu mới => Gán biến tệp với tên tệp => Đóng tệp. Hãy chọn thứ tự các thao tác trong Pascal để ghi tiếp dữ liệu vào cuối tệp có cấu trúc đã tồn tại trên đĩa : Mở tệp để ghi => Gán tên tệp với biến tệp => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Ghi dữ liệu vào tệp => Đóng tệp . Gán tên tệp với biến tệp => Mở tệp để ghi => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Ghi dữ liệu vào tệp => Đóng tệp . (*) Gán tên tệp với biến tệp => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Mở tệp để ghi => Ghi dữ liệu vào tệp => Đóng tệp . Mở tệp để ghi => Gán tên tệp với biến tệp => Ghi dữ liệu vào tệp => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Đóng tệp . Trong PASCAL để khai báo biến tệp văn bản ta phải sử dụng cú pháp Var : Text; Var : Text; (*) Var : String; Var : String; Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết Var f1 f2 : Text; Var f1 ; f2 : Text; Var f1 , f2 : Text; (*) Var f1 : f2 : Text; Để thao tác với tệp Ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được. Ta nhất thiết phải gán tên tệp cho tên biến tệp. (*) Ta nên sử dụng trực tiếp tên tệp trong chương trình. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình. Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh := ; := ; Assign(,); (*) Assign(,); Để 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’); (*) Trong PASCAL mở tệp để đọc dữ liệu ta phải sử dụng thủ tục Reset(); Reset(); (*) Rewrite(); Rewrite(); Trong PASCAL mở tệp để ghi kết quả ta phải sử dụng thủ tục Reset(); Reset(); Rewrite(); Rewrite(); (*) Vị trí của con trỏ tệp sau lời gọi thủ tục Reset Nằm ở đầu tệp. (*) Nằm ở cuối tệp. Nằm ở giữa tệp. Nằm ngẫu nhiên ở bất kỳ vị trí nào. Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục Read(,); Read(,); (*) Write(,); Write(,); Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục Read(,); Read(,); Write(,); Write(,); (*) Nếu hàm eof() cho giá trị bằng true thì con trỏ tệp nằm ở vị trí Đầu dòng. Đầu tệp. Cuối dòng. Cuối tệp. (*) Nếu hàm eoln() cho giá trị bằng true thì con trỏ tệp nằm ở vị trí Đầu dòng. Đầu tệp. Cuối dòng. (*) Cuối tệp. Trong Pascal để đóng tệp ta dùng thủ tục Close(); (*) Close(); Stop(); Stop(); Var : Text ; có ý nghĩa gì ? Thủ tục gán tên tệp cho tên biến tệp. Thủ tục mở tên để đọc dữ liệu. Khai báo biến tệp. (*) Thủ tục đóng tệp. Assign(,<tên tệp) ; có ý nghĩa gì ? Thủ tục gán tên tệp cho tên biến tệp. (*) Thủ tục mở tên để đọc dữ liệu. Khai báo biến tệp. Thủ tục đóng tệp. Reset() ; có ý nghĩa gì ? Thủ tục gán tên tệp cho tên biến tệp. Thủ tục mở tên để đọc dữ liệu. (*) Khai báo biến tệp. Thủ tục đóng tệp. Close() ; có ý nghĩa gì ? Thủ tục gán tên tệp cho tên biến tệp. Thủ tục mở tên để đọc dữ liệu. Khai báo biến tệp. Thủ tục đóng tệp. (*) Rewrite() ; có ý nghĩa gì ? thủ tục mở tệp để ghi dữ liệu. (*) thủ tục đọc dữ liệu từ tệp. thủ tục ghi dữ liệu vào tệp. thủ tục đóng tệp. read(,) ; có ý nghĩa gì ? thủ tục mở tệp để ghi dữ liệu. thủ tục đọc dữ liệu từ tệp. (*) thủ tục ghi dữ liệu vào tệp. thủ tục đóng tệp. write(,) ; có ý nghĩa gì ? thủ tục mở tệp để ghi dữ liệu. thủ tục đọc dữ liệu từ tệp. thủ tục ghi dữ liệu vào tệp. (*) thủ tục đóng tệp. Hãy chọn phương án ghép đúng . Tệp văn bản 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ó. 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 đó. là tệp mà các phần tử của nó được tổ chức theo 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. (*) Hãy chọn phương án ghép đúng . Tệp có cấu trúc 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ó. 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 đó. là tệp mà các phần tử của nó được tổ chức theo 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. Hãy chọn phương án ghép đúng . 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ó. (*) 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 đó. là tệp mà các phần tử của nó được tổ chức theo 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. Hãy chọn phương án ghép đúng . Tệp truy cập trực tiếp 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ó. 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 đó. (*) là tệp mà các phần tử của nó được tổ chức theo 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. Trong Pascal, thực hiện chương trình VD_bt1_txt dưới đây sẽ ghi kết quả nào trong các kết quả cho dưới đây vào tệp văn bản BT1.TXT ? 123 + 456 123456 579 (*) 123 456 Program VD_bt1_txt ; Uses crt ; Var f : text ; Begin Clrscr; Assign(f, ‘BT1.TXT ’) ; Rewrite(f) ; Write(f, 123 + 456) ; Close(f) ; End . Trong Pascal, cho trước tệp văn bản BT2.TXT chỉ có một dòng, chứa dòng chữ : CHAO MUNG BAN DEN VOI LAP TRINH ngay ở đầu dòng. Thực hiện chương trình VD_bt2_txt , trên màn hìnhsẽ hiện kết quả nào trong các kết quả cho dưới đây ? CHAO MUNG BAN DEN VOI LAP TRINH CHAO MUNG BAN (*) CHAO MUNG BAN DEN VOI CHAO MUNG Program VD_bt2_txt ; Uses crt ; Var f : text ; S : string[13] ; Begin Clrscr; Assign(f, ‘BT2.TXT ’) ; Reset(f) ; Read(f, S) ; Write(S) ; Close(f) ; End . Phát biểu nào sau đây là đúng với chương trình Vi_Du ? Chương trình dùng để mở đọc một tệp đã có và hiện nội dung trong tệp này lên màn hình. (*) Chương trình dùng để tạo một tệp mới và ghi nội dung nhập từ bàn phím vào trong tệp. Chương trình dùng để mở đọc một tệp đã có và cho phép nhìn thấy toàn bộ kí tự có trong tệp này lên màn hình. Cả 3 khẳng định trên đều sai. Program Vi_Du ; Uses crt ; Var f : text ; ch : char ; tenfile : string[30] ; Begin Write(‘ Nhap ten file : ’) ; readln(tenfile) ; Assign(f, tenfile) ; Reset(f) ; While not eof(f) do Begin Read(f, ch) ; Write(ch) ; End ; Close(f) ; End. Cho trước tệp văn bản BT_TD gồm hai dòng như sau : TRAN MINH HAI 9 8 7 NGUYEN QUANG VINH 10 5 9 Khi thực hiện chương trình Thi_Du sẽ cho kết quả nào trong các kết quả sau đây ? TRAN MINH HAI 9 8 7 NGUYEN QUANG VINH 10 5 9 TRAN MINH HAI 9 8 7 0 0 0 NGUYEN QUANG VINH 10 5 9 0 0 0 Thông báo chương trình bị ngắt thực hiện vì gặp lỗi 106 (*) Cả 3 kết quả A_, B_, C_ đều sai Program Thi_Du ; Uses crt ; Const fi = ‘BT_TD’ ; Var f : text ; s : string ; t, l, h : integer ; Begin Assign(f, fi) ; Reset(f) ; While not seekeof(f) do Begin Readln(f, s, t, l, h) ; Writeln(s, ‘ ’, t, ‘ ’, l, ‘ ’, h) ; End ; Close(f) ; Readln End.

File đính kèm:

  • docde cuong tin hoc 11 chuong 5.doc