Rewrite; +Sau khi mở tệp để ghi dữ liệu: Nếu trên tệp chưa có dữ liệu, hoặc nếu trên tệp đã có d÷ liÖu th× néi dung cò sÏ bÞ xo¸=> tÖp được tạo luôn rỗng để chuẩn bị ghi dữ liệu míi.. - [r]
(1)TiÕt 37: Bµi 14: KiÓu d÷ liÖu tÖp Bµi 15: Thao t¸c víi tÖp Ngµy so¹n: 19/12/2009 Thø Ngµy TiÕt Líp KÝ duyÖt cña BGH, TCM I Môc tiªu - BiÕt kh¸i niÖm vµ vai trß cña kiÓu tÖp - BiÕt hai c¸ch ph©n lo¹i tÖp: Theo c¸ch tæ chøc d÷ liÖu vµ c¸ch truy cËp - HiÓu b¶n chÊt cña tÖp v¨n b¶n - Biết các bước làm việc với tệp - BiÕt sö dông mét sè hµm vµ thñ tôc chuÈn II Phương tiện dạy học - B¶ng ®en, sgk,… III Phương pháp dạy học - Vấn đáp, thuyết trình,… IV TiÕn tr×nh bµi gi¶ng Hoạt động GV và HS Nêu vấn đề: Chúng ta đã học các kiểu d÷ liÖu nh m¶ng, b¶n ghi, ….c¸c d÷ liÖu nµy ®îc lu tr÷ bé nhí Ram, v× vËy mÊt ®iÖn d÷ liÖu còng Vì người ta đưa kiểu liÖu tÖp, §Ó gi¶i quyÕt nh÷ng bµi to¸n lớn, có yêu cầu lưu trữ để xử lý nhiều lÇn GV: Nªu môc 2: GV: Gi¶i thÝch vÒ tÖp v¨n b¶n GV: Nªu thao t¸c c¬ b¶n víi tÖp Néi dung I KiÓu d÷ liÖu tÖp Vai trß cña kiÓu tÖp - §Æc ®iÓm: + D÷ liÖu kiÓu ®îc lu tr÷ l©u dµi ë bé nhí ngoµi + Lượng liệu lưu trữ trên tệp là lớn Ph©n lo¹i tÖp vµ thao t¸c víi tÖp - XÐt theo c¸ch tæ chøc d÷ liÖu: + TÖp v¨n b¶n + TÖp cã cÊu tróc - XÐt theo c¸ch truy cËp: + TÖp truy cËp tuÇn tù + TÖp truy cËp trùc tiÕp - Hai thao t¸c c¬ b¶n: + §äc/ghi víi tÖp * C¸ch thøc: Lop11.com (2) ?Tương tự kiểu liệu cấu trúc đã học, để xây dựng kiểu liệu tÖp, ng«n ng÷ lËp tr×nh ®a nh÷ng c¸ch thøc g× GV: Nªu c¸ch khai b¸o, vµ cho vÝ dô ?Yªu cÇu HS lÊy vÝ dô - Khai b¸o biÕn tÖp - Më tÖp - §äc/ghi d÷ liÖu - §ãng tÖp II Thao t¸c víi tÖp Khai b¸o: VAR <Tªn biÕn tÖp> :text; VD: Var lan: text; Thao t¸c víi tÖp a G¾n tªn tÖp GV: Mçi tÖp d÷ liÖu cã mét tªn tÖp - Thñ tôc: Tªn tÖp lµ biÕn x©u hoÆc h»ng x©u Assign (<biÕn tªp>,<tªn tÖp>); - Do lËp tr×nh ta kh«ng thao t¸c VD: Assign(f,’lan.dat’); trực tiếp với tệp trên đĩa mà thông qua biÕn tÖp - GV: M« pháng trùc quan - V× vËy ta cã thñ tôc g¸n tªn tÖp cho biÕn tÖp nh sau: GV: LÊy vÝ dô: ?HS lÊy vd: ?Sau g¾n tªn tÖp cho biÕn tÖp, ta thùc hiÖn më tÖp Ta ph¶i lu ý ®iÒu g× GV:- Mở tệp nhằm mục đích là mở tệp để ghi liệu vào tệp mở tệp để đọc liệu đã có tệp GV: Nªu vµ lÊy vÝ dô ?HS lÊy vÝ dô GV: Sau më tÖp ra, ta thùc hiÖn đọc/ghi liệu trên tệp GV: Nªu vµ lÊy vÝ dô ?HS lÊy vd b Më tÖp - Chú ý: Trước thực mở tệp, biến tÖp ph¶i ®îc g¾n tªn tÖp b»ng thñ tôc assign - Mở tệp để ghi liệu thủ tục Rewrite(<biÕn tÖp>); +Sau mở tệp để ghi liệu: Nếu trên tệp chưa có liệu, trên tệp đã có d÷ liÖu th× néi dung cò sÏ bÞ xo¸=> tÖp tạo luôn rỗng để chuẩn bị ghi liệu míi VD: rewrite(f); - Mở tệp để đọc liệu: Thñ tôc: reset(<biÕn tÖp>); + Sau më tÖp kh«ng bÞ mÊt d÷ liÖu VD: reset(f); c §äc/ghi tÖp v¨n b¶n - Sau mở tệp đã có sẵn thủ tục reset, ta thực đọc liệu từ tệp vào danh s¸ch biÕn Thñ tôc: Readln(<biÕn tÖp>, <danh s¸ch biÕn> HoÆc read(<biÕn tÖp>, <danh s¸ch biÕn>) VD: readln(f, x,y); Lop11.com (3) ?HS lÊy vd GV: Nªu mét sè hµm chuÈn đọc/ ghi tệp Hµm eof(<biÕn tÖp>) GV: Nêu thao tác cuối cùng đó là thao tác đóng tệp: GV: tæng qu¸t c¸c thao t¸c qua m« t¶ h×nh 16(sgk); - Sau mở tệp để ghi liệu, ta thực viÖc ghi d÷ liÖu vµo tÖp Thñ tôc:Write(<biÕn tÖp>, danh s¸ch kÕt qu¶>) hoÆc writeln(<biÕn tÖp>, danh s¸ch kÕt qu¶>) - Chó ý: danh s¸ch kÕt qu¶ ph¶i ®îc x¸c định trước VD: write(f,’hoa’); - Một số hàm chuẩn đọc/ ghi tệp + Hµm eof(<biÕn tÖp>) + Hµm eoln(<biÕn tÖp>) d §ãng tÖp Close(<biÕn tÖp>); * Khi đóng tệp, hệ thống thực hoàn tÊt viÖc ghi d÷ liÖu tÖp V Cñng cè: - BiÕt c¸ch khai b¸o tÖp vµ thao t¸c víi tÖp - Lµm bµi tËp trang 89 Lop11.com (4)