Mäi ng«n ng÷ lËp tr×nh đều có các thao tác: khai báo biến tệp, mở tệp, đọc/ghi dữ liệu, đóng tệp.. - Yªu cÇu HS nghiªn cøu SGK vµ cho biết đặc điểm của kiểu tệp?[r]
(1) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 Bµi 14: KIỂU DỮ LIỆU TỆP THAO TÁC VỚI TỆP (TiÕt PPCT: 37) Ngµy so¹n: …………………………… Ngµy ®¨ng ký gi¸o ¸n: Người duyệt giáo án (TTCM duyệt, BGH duyệt): I Môc tiªu KiÕn thøc: - Biết đặc điểm kiểu liệu tệp - BiÕt kh¸i niÖm vÒ tÖp cã cÊu tróc vµ tÖp v¨n b¶n KÜ n¨ng - Khai báo đúng biển kiểu tệp - Thực thao tác xử lí tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp - Sử dụng các thủ tục liên quan để đọc/ghi liệu tệp Thái độ - ThÊy ®îc sù cÇn thiÕt vµ tiÖn lîi cña kiªñ d÷ liÖu tÖp - Cã ý thøc lu tr÷ d÷ liÖu mét c¸ch khoa häc - Gi¸o dôc thªm vÒ ý thøc t«n träng b¶n quyÒn, kh«ng söa ch÷a, chÐp c¸c phÇn mÒm cha mua b¶n quyÒn III §å dïng d¹y häc ChuÈn bÞ cña gi¸o viªn - Máy vi tính, máy chiếu Projector để giới thiệu ví dụ ChuÈn bÞ cña häc sinh - S¸ch gi¸o khoa III Hoạt động dạy – học Hoạt động 1: Tìm hiểu đặc điểm kiểu liệu tệp Phân loại kiểu tệp a Môc tiªu - Học sinh biết đặc điểm kiểu tệp Biết hai loại tệp: định có cấu trúc và tÖp v¨n b¶n b Më bµi: Các kiểu liệu đã học lưu trữ nhớ trong, đó liệu bị t¾t m¸y Khi gi¶i quyÕt c¸c bµi to¸n cã d÷ liÖu cÇn ®îc lu l¹i vµ xö lÝ nhiÒu lÇn cÇn cã kiÓu d÷ liÖu míi: kiÓu tÖp c Néi dung - §Æc ®iÓm cña kiÓu tÖp: + §îc lu tr÷ l©u dµi ë bé nhí ngoµi, kh«ng bÞ mÊt mÊt ®iÖn + Lượng thông tin lưu trữ trên tệp có thể lớn - Cã hai lo¹i tÖp: + TÖp cã cÊu tróc lµ lo¹i tÖp mµ c¸c thµnh phÇn cña nã ®îc tæ chøc theo mét cÊu trúc định GV: §ç ThÞ Thu HiÒn Lop11.com (2) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 + Tệp văn bản: là tệp mà liệu ghi dạng các kí tự theo 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 d Các bước tiến hành Hoạt động giáo viên Hái: Em h·y cho biÕt d÷ liÖu c¸c kiểu liệu từ trước đến ta sử dụng ®îc lu tr÷ ë lo¹i bé nhí nµo thùc chương trình? - Hỏi: Vì em biết điều đó? - DiÔn gi¶i: §Ó lu gi÷ ®îc d÷ liÖu, ta ph¶i lu nã ë bé nhí ngoµi th«ng qua kiÓu d÷ liÖu tÖp Mäi ng«n ng÷ lËp tr×nh có các thao tác: khai báo biến tệp, mở tệp, đọc/ghi liệu, đóng tệp - Yªu cÇu HS nghiªn cøu SGK vµ cho biết đặc điểm kiểu tệp? Có loại kiÓu tÖp? Hoạt động học sinh - Bé nhí RAM - MÊt d÷ liÖu mÊt ®iÖn - Kh«ng mÊt th«ng tin t¾t m¸y - Dung lượng liệu lưu trữ lớn - Cã hai lo¹i kiÓu tÖp: tÖp cã cÊu tróc vµ tÖp v¨n b¶n - Yªu cÇu HS tr×nh bµy kh¸i niÖm tÖp cã + TÖp cã cÊu tróc lµ lo¹i tÖp mµ c¸c thµnh cÊu tróc vµ tÖp v¨n b¶n phÇn cña nã ®îc tæ chøc theo mét cÊu trúc định + TÖp v¨n b¶n: lµ tÖp mµ d÷ liÖu ®îc ghi dạng các kí tự theo mã ASCII Hoạt động 2: Tìm hiểu các thao tác xử lí tệp văn ngôn ngữ lập tr×nh Pascal a Môc tiªu - Häc sinh biÕt c¸ch khai b¸o biÕn - Häc sinh biÕt vµ sö dông ®îc c¸c thñ tôc xö lÝ víi tÖp - Học sinh biết xử lí đọc/ghi tệp văn b Néi dung - Khai b¸o biÕn tÖp v¨n b¶n: Var <tªn_biÕn_tÖp>: Text; - G¸n tªn tÖp: Assign(<tªn_biÕn_tÖp>,<tªn_tÖp>); <tªn_tÖp>: lµ biÕn x©u hoÆc h»ng x©u - Tạo tệp để ghi: Rewrite(<tên_biến_tệp>); - Mở tệp để đọc: Reset(<tên_biến_tệp>); - §ãng tÖp: Close(<tªn_biÕn_tÖp>); - §äc tÖp v¨n b¶n Read(<tªn biÕn tÖp>,<Danh s¸ch tªn biÕn>); HoÆc Readln(<tªn biÕn tÖp>,<Danh s¸ch tªn biÕn>); - Ghi tÖp v¨n b¶n 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¶>); c Các bước tiến hành GV: §ç ThÞ Thu HiÒn Lop11.com (3) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 Hoạt động giáo viên Giíi thiÖu cÊu tróc chung cña khai b¸o biÕn tÖp Var <tªn_biÕn_tÖp>: Text; - Yªu cÇu HS t×m vÝ dô cô thÓ Giíi thiÖu c¸c thao t¸c g¸n tªn tÖp, tạo tệp để ghi, mở tệp để đọc, đóng tÖp Assign(<tªn_biÕn_tÖp>,<tªn_tÖp>); Rewrite(<tªn_biÕn_tÖp>); Reset(<tªn_biÕn_tÖp>); Close(<tªn_biÕn_tÖp>); - Yêu cầu: lấy ví dụ minh họa mở tệp để ghi thông tin và mở tệp để đọc thông tin Hoạt động học sinh Quan s¸t cÊu tróc vµ suy nghÜ tr¶ lêi - Var f,g:text; Quan sát và suy nghĩ để trả lời câu hái Assign(f5, ‘B1.INP’); Rewrite(f5); Close(f5); Assign(f5, ‘B1.OUT’); Reset(f5); Close(f5); Chiếu sơ đồ làm việc với tệp lên Quan sát sơ đồ và suy nghĩ để trả b¶ng, h×nh 16, trang 86, SGK Yªu cÇu lêi - Ghi tÖp: G¸n tªn tÖp, t¹o tÖp míi, ghi HS giải thích ý nghĩa sơ đồ thông tin, đóng tệp - Đọc tệp: Gán tên tệp, mở tệp, đọc thông tin, đóng tệp Giíi thiÖu cÊu tróc chung cña thñ tôc Quan s¸t cÊu tróc chung - Readln(f,x1,x2); §äc d÷ liÖu tõ biÕn đọc/ghi liệu tệp văn tệp f, đặt gía trị vào hai biến x1 và x2 - Yªu cÇu HS lÊy vÝ dô minh ho¹ - Writeln(g ‘Tong la’, x1+x2); Ghi vµo biÕn tÖp g hai tham sè; dßng ch÷ ‘Tong la’ vµ gi¸ trÞ tæng x1+x2 IV §¸nh gi¸ cuèi bµi Những nội dung đã học - Việc trao đổi liệu với nhớ ngoài thực thông qua kiểu liệu tệp Có hai lo¹i tÖp: TÖp cã cÊu tróc vµ tÖp v¨n b¶n - §Ó cã thÓ lµm viÖc víi tÖp, cÇn ph¶i khai b¸o biÕn tÖp: Var <tªn_biÕn_tÖp>: Text; - Mỗi ngôn ngữ lập trình có các hàm và thủ tục chuẩn để làm việc với tệp như: Gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp - Trong ngôn ngữ lập trình Pascal có các thủ tục tương ứng là: Assign(<tªn_biÕn_tÖp>,<tªn_tÖp>); Rewrite(<tªn_biÕn_tÖp>); GV: §ç ThÞ Thu HiÒn Lop11.com (4) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 Reset(<tªn_biÕn_tÖp>); Close(<tªn_biÕn_tÖp>); - §äc, ghi tÖp v¨n b¶n: Read(<tªn biÕn tÖp>,<Danh s¸ch tªn biÕn>); Readln(<tªn biÕn tÖp>,<Danh s¸ch tªn biÕn>); Write(<tªn biÕn tÖp>,<Danh s¸ch tham sè>); Writeln(<tªn biÕn tÖp>,<Danh s¸ch tham sè>); C©u hái vµ bµi tËp vÒ nhµ - Tr¶ lêi c¸c c©u hái 1, 2, 3, SGK trang 89 GV: §ç ThÞ Thu HiÒn Lop11.com (5)