Tải bản đầy đủ (.pdf) (9 trang)

Giáo án Tin học 11 - Bài 14: Kiểu dữ liệu tệp - Bài 15: Thao tác với tệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (115.55 KB, 9 trang )

<span class='text_page_counter'>(1)</span>CHƯƠNG V: TỆP VÀ THAO TÁC VỚI TỆP BÀI 14: KIỂU DỮ LIỆU TỆP BÀI 15: THAO TÁC VỚI TỆP Người soạn: Nguyễn Thị Huê Ngày soạn: 02/11/2008 GV hướng dẫn: Nguyễn Văn Trường I. MỤC ĐÍCH, YÊU CẦU - Học sinh hình thành khái niệm, ý thức được vai trò, cách phân loại của dữ liệu kiểu tệp. - Hiểu được bản chất và một số thao tác làm vệc trên dữ liệu kiểu tệp. II.CHUẨN BỊ Giáo viên chuẩn bị hai bảng phụ về các thao tác với tệp. III.. NỘI DUNG. 1. Ổn định lớp Sĩ số:. Vắng:. Có phép:. Không phép:. 2. Bài mới Hoạt động của giáo viên. Hoạt động của học sinh. Ở các chương trước, chúng ta đã xét các Nghe giảng. kiểu dữ liệu mà thông tin Input và Output của nó đề được lưu tại bộ nhớ trong. Do đó, khi thoát chương trình, các dữ liệu này sẽ bị mất. Muốn xem lại kết quả, ta phải nhập Input và chạy lại chương trình. Có cách nào để ta chỉ nhập Input và chạy chương trình một lần, mà có thể xem thông tin Output bất cứ khi nào?. Lop11.com. TG.

<span class='text_page_counter'>(2)</span> Trong Pascal, có một kiểu dữ liệu cho phép thực hiện điều đó: kiểu tệp. Để hiểu rõ hơn, chúng ta cùng đi tìm hiểu bài mới: Chương V: Tệp và thao tác với tệp Bài 14: Kiểu dữ liệu tệp 1. Vai trò của kiểu tệp - Ở lớp 10, các em đã được biết khái niệm về tệp. Tệp là một tập hợp các thông tin ghi trên bộ nhớ ngoài, tạo thành một đơn vị lưu trữ. - Để hình dung về tệp, em hãy đọc SGK - Trả lời: Đặc điểm của kiểu và cho biết đặc điểm của nó?. tệp: + Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài, không bị mất khi tắt nguồn điện. + Lượng lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.. - Nhờ những đặc điểm như trên, dữ liệu - Vai trò của dữ liệu kiểu tệp: kiểu tệp thường được dùng lưu trữ các Dùng lưu trữ các dữ liệu của dữ liệu của bài toán ở bộ nhớ ngoài để bài toán ở bộ nhớ ngoài để xử xử lí nhiều lần. Đặc biệt là các bài toán lí nhiều lần. Đặc biệt là các bài lớn.. toán lớn.. 2. Phân loại tệp và thao tác với tệp - Em hãy đọc SGK, nêu các cách phân - Trả lời: loại tệp, với mỗi cách thì có những loại Có hai cách phân loại tệp + Xét theo cách tổ chức dữ. tệp nào?. Lop11.com.

<span class='text_page_counter'>(3)</span> liệu: . Tệp văn bả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 dữ liệu kiểu mảng hay kiểu xâu, dữ liệu kiểu tệp không có giới hạn và không phải xác định trước. Dữ liệu kiểu tệp có vai trò quan trọng - Nghe giảng. như vậy, để biết cách sử dụng nó như thế nào, ta chuyển sang bài mới: Bài 15: Thao tác với tệp - Trong chương trình, ta chỉ xét kiểu tệp văn bản. Các thao tác trên tệp bao gồm: Khai báo biến tệp, gắn tên tệp, mở tệp, đọc/ghi văn bản và đóng tệp. Em có thể hình dung qua sơ đồ sau: (bảng phụ 1). Ta cùng đi vào từng thao tác cụ thể. 1. Khai báo - Tệp văn bản là kiểu dữ liệu có cấu - Ghi bài. trúc đã được Pascal định nghĩa sẵn. - Dạng khai báo như sau:. - Dạng khai báo:. Var <biến tệp>: text;. Var <biến tệp>: text;. Var, text là các từ khóa; biến tệp do Var, text là các từ khóa; biến người dùng đặt.. tệp do người dùng đặt.. 2.Thao tác với tệp a. Gắn tên tệp. Lop11.com.

<span class='text_page_counter'>(4)</span> - Trong lập trình, ta không thao tác trực - Tên tệp đặt theo quy tắc của tiếp với tệp dữ liệu trên đĩa, mà thông HĐH MSDOS. qua biến tệp. Tức là, ngôn ngữ lập trình sử dụng biến tệp như một đại diện của tệp. Gắn tên tệp chính là gắn tệp với đại diện của nó. - Em hãy nêu thủ tục gắn tên tệp?. - Trả lời: Thủ tục gắn tên tệp:. Tên tệp trong Pascal được đặt theo quy. Assign (<biến tệp>,<tên tệp>);. tắc của HĐH MSDOS, được đặt trong - Tên tệp trong Pascal được đặt cặp nháy đơn ‘’.. theo. quy. tắc. của. HĐH. - VD: Assign(f, ‘input.txt’);. MSDOS, được đặt trong cặp nháy đơn ‘’.. - Tên tệp có thể là đường dẫn chứa ổ Tên tệp có thể là đường dẫn đĩa, danh sách các thư mục lên tiếp chứa ổ đĩa. cách nhau bởi dấu \, cuối cùng là tên tệp. - VD:Assign(f,‘C:\document\input.txt’); b. Mở tệp - Tệp có thể dùng để chứa kết quả ra - Nghe giảng. hoặc dữ liệu vào. Việc mở tệp cũng có kiểu mở để ghi dữ liệu vào tệp hoặc mở để đọc dữ liệu từ tệp ra. * Mở để ghi dữ liệu vào tệp, ta dùng thủ * Mở để ghi dữ liệu vào tệp: tục: Rewrite (<biến tệp>);. Thủ tục: Rewrite (<biến tệp>);. Trong đó, biến tệp là biến đã được gắn - Nếu trên thư mục đã có tệp với một tên tệp trong thủ tục Assign.. cùng tên thì nội dung cũ bị. - Khi thực hiện thủ tục này, nếu trên xóa; ngược lại, chương trình sẽ. Lop11.com.

<span class='text_page_counter'>(5)</span> thư mục đã có tệp cùng tên thì nội dung tạo ra một tệp mới với nội cũ bị xóa; ngược lại, chương trình sẽ dung rỗng. tạo ra một tệp mới với nội dung rỗng. * Mở tệp để đọc nội dung từ tệp, ta dùng thủ tục sau: Reset(<biến tệp>); Trong đó, biến tệp là biến đã được gắn *Mở tệp để đọc nội dung từ với một tên tệp trong thủ tục Assign.. tệp:. - Khi mở tệp, vị trí con trỏ ở đầu tệp,. Thủ tục: Reset(<biến tệp>);. sẵn sàng để đọc.. Biến tệp là biến đã được gắn với một tên tệp trong thủ tục Assign. - Khi mở tệp, vị trí con trỏ ở đầu tệp, sẵn sàng để đọc.. c. Đọc/ghi tệp văn bản.. c. Đọc/ghi tệp văn bản.. * Đọc tệp văn bản.. * Đọc tệp văn bản.. - Việc đọc tệp văn bản ra danh sách các - Thủ tục: biến cũng có ý nghĩa như nhập dữ liệu Read(<biến tệp>,<danh sách từ bàn phím cho các biến đó.. các biến>);. - Thủ tục: Read(<biến tệp>,<danh sách Hoặc: các biến>);. Readln(<biến tệp>,<danh sách. Hoặc: Readln(<biến tệp>,<danh sách các biến>); các biến>);. Danh sách các biến có thể là. - Câu lệnh thực hiện: đọc các giá trị tại một hoặc nhiều biến đơn, đặt vị trí con trỏ gán sang biến tương ứng cách nhau dấy phẩy. cùng kiểu. - Lưu ý: biến ở đây không phải là biến tệp; mà là biến trung gian, chỉ dùng cho việc tính toán.. Lop11.com.

<span class='text_page_counter'>(6)</span> Danh sách các biến có thể là một hoặc nhiều biến đơn, đặt cách nhau dấy phẩy. - Đọc tệp tương ứng với thủ tục mở tệp ra để đọc. - VD: Reset(f); Read (f, a, b); * Ghi tệp văn bản.. * Ghi tệp văn bản.. - Việc ghi tệp văn bản có ý nghĩa giống - Thủ tục: như ghi ra màn hình.. Write(<biến tệp>,<danh sách. - Thủ tục: Write(<biến tệp>,<kết quả>); kết quả>); Hoặc: Writeln(<biến tệp>,<danh sách Hoặc: Writeln(<biến tệp>,<danh sách. kết quả>);. - Danh sách kết quả có thể là các biến, kết quả>); hằng, biểu thức.. Danh sách kết quả có thể là các. - Ghi tệp tương ứng với thủ tục mở tệp biến, hằng, biểu thức. ra để ghi. - VD: Rewrite(f); Write(f, ‘ket qua:’, a); * Một số hàm chuẩn thường dùng:. * Một số hàm chuẩn thường. - Khi đọc tệp văn bản, cần phải xem tệp dùng: đó có còn phần tử không. Tức là, con - Eof(<biến tệp>): trả về giá trị True nếu con trỏ tệp đang chỉ. trỏ tệp đã chỉ đến cuối tệp chưa.. - Hàm Eof(<biến tệp>) trả về giá trị tới cuối tệp. True nếu con trỏ tệp đang chỉ tới cuối - Eoln(<biến tệp>): trả về giá tệp.. trị True nếu con trỏ tệp đang. Hàm Eoln(<biến tệp>) trả về giá trị chỉ tới cuối dòng. True nếu con trỏ tệp đang chỉ tới cuối dòng.. Lop11.com.

<span class='text_page_counter'>(7)</span> - VD: Đọc tệp f có nhiều dòng văn bản: Reset (f); While not eof(f) do readln(f, s); Vòng lặp được thực hiện cho tới khi con trỏ tệp trỏ tới cuối tệp. Mỗi lần thực hiện vòng lặp, sẽ đọc một dòng của tệp ra biến S, sau đó chuyển con trỏ xuống dòng tiếp theo. d. Đóng tệp. d. Đóng tệp. - Sau khi làm việc xong với tệp cần - Sau khi làm việc xong với tệp phải đóng tệp. Khi đóng tệp, hệ thống cần phải đóng tệp. mới thực sự hoàn tất việc ghi dữ liệu ra - Thủ tục: Close(<biến tệp>); tệp, nếu không thì không có dữ liệu nào được ghi vào tệp hoặc chỉ được ghi một phần. - Thủ tục: Close(<biến tệp>); - Em hãy lấy VD?. - VD: Close(f);. - Như vậy, chúng ta đã tìm hiểu các thao tác cơ bản khi làm việc với tệp. Ta có thể hệ thống lại như sau: (bảng phụ 2). IV.. CỦNG CỐ. - Nhắc lại về vai trò và phân loại của dữ liệu kiểu tệp, các thao tác với tệp. - BTVN: Đọc trước bài 16 và tìm hiểu các ví dụ về tệp.. Lop11.com.

<span class='text_page_counter'>(8)</span> V.. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. ................................................................................................................................. Bảng phụ 1:. Lop11.com.

<span class='text_page_counter'>(9)</span> Bảng phụ 2: Var <biến tệp>: text;. Assign(<biến tệp>,<tên tệp>); Ghi. Đọc. Rewrite (<biến tệp>);. Reset (<biến tệp>);. Write(<biến tệp>,<danh dách kết quả>);. Read (<biến tệp>,<danh sách biến>);. Close (<biến tệp>). Lop11.com.

<span class='text_page_counter'>(10)</span>

×