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

Giáo án giảng dạy mô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 (81.51 KB, 3 trang )

<span class='text_page_counter'>(1)</span>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.. 3 4 5 6. 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 của 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 l­u tr÷ trong bé nhí Ram, v× vËy khi mÊt ®iÖn d÷ liÖu còng mất. Vì vậy người ta đưa ra kiểu dữ 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 2 thao t¸c c¬ b¶n víi tÖp.. Néi dung. I. KiÓu d÷ liÖu tÖp 1. Vai trß cña kiÓu tÖp - §Æc ®iÓm: + D÷ liÖu kiÓu ®­îc l­u tr÷ l©u dµi ë bé nhí ngoµi + Lượng dữ liệu lưu trữ trên tệp là rất lớn. 2. 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.

<span class='text_page_counter'>(2)</span> ?Tương tự như kiểu dữ liệu cấu trúc đã học, để xây dựng được kiểu dữ liệu tÖp, ng«n ng÷ lËp tr×nh ®­a ra 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. 1. Khai b¸o: VAR <Tªn biÕn tÖp> :text; VD: Var lan: text; 2. 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 trong 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 khi g¾n tªn tÖp cho biÕn tÖp, ta thùc hiÖn më tÖp. Ta ph¶i l­u ý ®iÒu g×. GV:- Mở tệp nhằm 2 mục đích là mở tệp để ghi dữ liệu mới vào tệp hoặc mở tệp để đọc dữ liệu đã có trong tệp. GV: Nªu vµ lÊy vÝ dô.. ?HS lÊy vÝ dô GV: Sau khi më tÖp ra, ta thùc hiÖn đọc/ghi dữ 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 khi thực hiện 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 dữ liệu bằng thủ tục. Rewrite(<biÕn tÖp>); +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. VD: rewrite(f); - Mở tệp để đọc dữ liệu: Thñ tôc: reset(<biÕn tÖp>); + Sau khi më tÖp kh«ng bÞ mÊt d÷ liÖu. VD: reset(f); c. §äc/ghi tÖp v¨n b¶n. - Sau khi mở tệp đã có sẵn bằng thủ tục reset, ta thực hiện đọc dữ 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.

<span class='text_page_counter'>(3)</span> ?HS lÊy vd.. GV: Nªu mét sè hµm chuÈn trong khi đọ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 khi mở tệp để ghi dữ liệu, ta thực hiện 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 trong khi đọ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 mới thực sự hoàn tÊt viÖc ghi d÷ liÖu ra 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.

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

×