cac thao tac voi tep

4 1.1K 2
cac thao tac voi tep

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chơng V. Tệp và thao tác với tệp Bài 14+15: Kiểu dữ liệu tệp và thao tác với tệp I. Mục đích yêu cầu 1. Kiến thức - Học sinh biết đợc vai trò của kiểu dữ liệu tệp - Học sinh biết đợc có 2 cách phân loại tệp. - Học sinh biết khai báo biến tệp và thao tác cơ bản với tệp văn bản 2. Kỹ năng Dần dần hình thành kỹ năng về thao tác với tệp văn bản 3. Thái độ - Rèn luyện cho học sinh có ý thức lu trữ dữ liệu một cách khoa học, phòng chống mất mát thông tin hoặc nhiễm vi rút II. Phơng pháp, dụng cụ - Sử dụng thuyết trình, giảng giải, gợi ý nêu vấn đề. - Dùng bảng in sẵn hinhg 16 SHK và chuẩn bị máy chiếu III. Nội dung Nội dung - Hoạt động của giáo viên Hoạt động của học sinh HĐ1: Đặt vấn đề Trong các giờ thực hành đã học, sau khi chạy chơng trình ta thấy kết quả in trên màn hình, tuy nhiên muốn sử dụng kết quả đó về sau thì không đợc (nó không lu trữ lâu dài đợc) Để khắc phục nhợc điểm đó ta nghiên cứu dữ liệu kiểu tệp 1. Vai trò của tệp C_hỏi: Trong máy tính có những loại bộ nhớ nào ? loại bộ nhớ nào không bị mất dữ liệu khi tắt máy ? C_hỏi 2: Vậy theo em thì có các kiểu dữ liệu đã học đợc lu trữ ở bộ nhớ nào ? C-Hỏi 3: Bộ nhớ trong hay bộ nhớ ngoài có dung l- ợng lớn hơn ? Gv: Chốt lại: Dữ liệu kiểu tệp đợc lu 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 dữ liệu lu trữ dữ liệu trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lợng đĩa. 2. Phân loại tệp và thao tác với tệp Gv: Giới thiệu cho học sinh có 2 loại tệp ( không đòi hỏi học sinh hiểu cặn kẽ 2 loại tệp). - Theo cách tổ chức dữ liệu: Tệp văn bản là tệp đợc ghi dới dạng các kí tự theo bảng mã ASCII. Trong tệp văn bản dãy kí tự kết thúc bởi kí tự xuống dòng hay kí tự kết thúc tệp tạo thành một dòng. Tệp dữ liệu có cấu trúc là 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. - Theo cách thức truy cập Tệp truy cập tuần tự: Bằng cách đi từ đầu tệp và đi qua lần lợt các dữ liệu đến vị trí cần truy cập. 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 đó. GV Có 2 thao tác cơ bản đối với tệp là đọc và ghi dữ liệu ta xem xét trong ngôn ngữ lập trình Pascal các thao tác đó đựơc thể hiện nh thế nào đối với tệp văn bản ? 3. Khai báo: Khai báo biến tệp văn bản có dạng HS: Chú y nghe giảng Hs Trả lời Tệp dữ liệu dạng văn bản xuất hiện ở dạng ở đâu ? Ví dụ: Tệp hình ảnh, âm thanh Học sinh lấy ví dụ minh hoạ Var <tên biến tệp> : Text; Vd: Var tep1,tep2:text; 4. Thao tác với tệp a. Gắn tên tệp. Gv: Giải thích cho học sinh tại sao phải gắn tên tệp cho biến tệp, rồi đa ra thủ tục. Để truy cập đến tệp ta thông qua tên tệp. Tên tệp là biến xâu hoặc hằng xâu ví dụ: 'Dulieu.dat' Trong lập trình ta không thao tác trực tiếp trên tệp mà thông qua biến tệp. Biến tệp đợc NNLT sử dụng làm đại diện cho tệp. Do vậy để thao tác với tệp trớc hết ta phải gắn tên tệp cho biến tệp bằng thủ tục. Assign(<biến tệp>, <tên tệp>); Trong đó: Biến tệp là biến đợc khai báo ở mục 3 Tên tệp là biến xâu hoặc hằng xâu. Ví dụ: tên tệp:='Kq.txt' Tên tệp:='C:\TP\BaiTap\dulieu.int' Ví dụ gắn tên tệp vào biến: Assign(tep1,'kq.txt'); assign(tep2,'C;\Tp\baitap\dulieu.int'); b.Mở tệp Xét 2 tình huống: em cần mở mở tin học ra: Mở ra để đọc và mở ra để ghi. Thủ tục mở tệp để ghi dữ liệu: Rewrite(<biến tệp>); {mở ra để ghi dữ liệu vào} Khi gọi thủ tục này thì tệp cha có tên thì tệp sẽ đợc tạo ra với nội dung rỗng còn nếu đã có tên thì nội dung cũ sẽ bị xoá và chuẩn bị ghi dữ liệu mới. ví dụ: assign(tep1,'kq.txt'); Rewrite(tep1); Thủ tục mở tệp để đọc dữ liệu Reset(<biến tệp>); {mở ra để đọc dữ liệu vào} ví dụ assign(<tep2,'c:\tp\baitap\dulieu.int'); reset(tep2); Nhấn mạnh trớc khi sử dụng 2 thủ tục trên ta phải gắn tên tệp cho biến tệp đồng thời biến tệp phải đợc khai báo từ trớc. c. Đọc, ghi tệp văn bản Gv: Để nhập dữ liệu từ bàn phím và để in dữ liệu lên màn hình ta dùng thủ tục gì ? Gv: Giới thiệu các thủ tục đọc dữ liệu từ tệp và ghi dữ liệu vào tệp. Thủ tục đọc dữ liệu từ tệp: Read(<tên biến tệp>,< danh sách biến>); Hoặc Readln(<tên biến tệp>,< danh sách biến>); Ghi dữ liệu và tệp: Write(<tên biến tệp>,< danh sách kết quả>); Hoặc Writeln(<tên biến tệp>,< danh sách kết quả>); Ví dụ ta khai báo nh sau: Var tep1, tep2:text; begin assign(tep1,'Dulieu.int'); reset(tep1); assign(tep2,'Dulieu.out'); rewrite(tep2); { có thủ tục đọc tệp: tep1 và ghi tệp: tep2 nh sau:} read(tep1,a,b); Học sinh chú ý nghe và ghi Hs tự đa ra cách khai báo tên tệp. Nếu học sinh khá giỏi ta có thểt đa thêm lệnh {$I-} trớc lệnh Reset(bien tệp); Hàm IoResult =0 nếu mở thành công và khác 0 nếu có tệp tồn tại. Tơng tự với lệnh Rewrite Học sinh ghi chép Học sinh tự lấy ví dụ Hs trả lời câu hỏi Hs ghi và trả lời sự khác nhau giữa thủ tục nhập vào từ bản phím và thủ tục nhập, và ghi dữ liệu vào tệp. readln(tep1,a,b,c); write(tep2,c,d); writeln(tep2,a,c,(-b+sqrt(delta))/(2*a):5:2); * Một số hàm thờng dùng đối với tệp văn bản Hàm eof(<biến tệp>); Trả về kết quả true khi cuối tệp và ngợc lại Hàm eoln(<biến tệp>); Trả và kết quả true khi con trỏ văn bản đang ở cuối dòng d. Đóng tệp Đa ra lý do phải đóng tệp Vì khi không đóng tệp với việc ghi dữ liệu sẽ không tồn tại dữ liệu ở trong tệp. Câu lệnh : Close(<biến tệp>); ví dụ: Close(tep1); Close(tep2); IV. Củng cố - Gọi học sinh khái quát lại vai trò của tệp và phân loại tệp. - Học sinh khái quát lại các thao tác phải thực hiện đọc và ghi dữ liệu từ tệp. - Cho học sinh làm một số bài tập trắc nghiệm khách quan. Hãy khoanh tròn vào đáp đúng trong những câu hỏi sau: Câu 1: Để gán tệp cho biến tệp ta dùng thủ tục a. assign(<Tên tệp>,<biến tệp>); b. assign(<biến tệp>,<tên tệp>); c. assign(<biến tệp>;<tên tệp>); b. assign(<Tên tệp>.<biến tệp>); Câu 2: Sau khi gán tên tệp cho biến tệp ta mở tệp để ghi dữ liệu vào tệp ta dùng thủ tục: a. Reset(<biến tệp>); b. Reset(<tên tệp>); c. Rewrite(<biến tệp>); d. Rewrite(<tên tệp>); Câu 3: Để đọc dữ liệu từ tệp ra biến ta dùng thủ tục a. Read(<tên tệp>,<danh sách biến>); b. Read(<biến tệp>,<danh sách biến>); c. Write(<biến tệp>,<danh sách biến>); d. writeln(<biến tệp>,<danh sách biến>); Câu4: Dữ liệu kiểu tệp đợc lu trữ a. Trên Rom b. Chỉ trên đĩa cứng c. Đợc lu trữ trên Ram d. Trên bộ nhớ ngoài. Câu 5. Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp a. Var < Tên tệp>: Text; b. Var <tên tệp> : String; c. Var < Tên biến tệp>: Text; c. Var < tên biến tệp> : String; Câu6: Để thao tác với tệp a. Ta có thể gán tên tệp cho biến tệp, hoặc sử dụng trực tiếp tên tệp cũng đợc. b. Ta nhất thiết phải gán tên tệp cho tên biến tệp. c. Ta sử dụng trực tiếp tên tệp trong chơng trình d. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chơng trình. . sau: Var tep1 , tep2 :text; begin assign (tep1 ,'Dulieu.int'); reset (tep1 ); assign (tep2 ,'Dulieu.out'); rewrite (tep2 ); { có thủ tục đọc tệp: tep1 và ghi tệp: tep2 nh sau:} read (tep1 ,a,b); Học. assign (tep1 ,'kq.txt'); Rewrite (tep1 ); Thủ tục mở tệp để đọc dữ liệu Reset(<biến tệp>); {mở ra để đọc dữ liệu vào} ví dụ assign(< ;tep2 ,'c: paitapdulieu.int'); reset (tep2 ); . hình ảnh, âm thanh Học sinh lấy ví dụ minh hoạ Var <tên biến tệp> : Text; Vd: Var tep1 ,tep2 :text; 4. Thao tác với tệp a. Gắn tên tệp. Gv: Giải thích cho học sinh tại sao phải gắn tên tệp

Ngày đăng: 02/07/2014, 17:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan