1, KiÕn thøc: - Biết các lệnh vào ra đơn giản để nhập DL từ bàn phím hoặc đa dữ liệu ra màn h×nh - BiÕt c¸c bíc: So¹n th¶o, dÞch, thùc hiÖn vµ hiÖu chØnh ch¬ng tr×nh - BiÕt mét sè c«ng c[r]
(1)Ngµy so¹n:…………………… …… TiÕt1: Ch¬ng I: MéT Sè KH¸I NIÖM VÒ LËP TR×NH §1: KH¸I NIÖM LËP TR×NH Vµ NG¤N NG÷ LËP TR×NH Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - BiÕt cã ba líp ng«n ng÷ lËp tr×nh vµ c¸c møc cña ng«n ng÷ lËp tr×nh: ng«n ng÷ m¸y, hîp ng÷ vµ ng«n ng÷ bËc cao - BiÕt vai trß cña ch¬ng tr×nh dÞch - BiÕt kh¸i niÖm biªn dÞch vµ th«ng dÞch KÜ n¨ng - Phân biệt đợc hai loại chơng trình dịch là biên dịch và thông dịch - Hiểu đợc nhiệm vụ quan trọng Chơng trình dịch là phát lỗi cú pháp Ch¬ng tr×nh nguån Thái độ - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: kh«ng kiÓm tra Bµi míi: (2) Hoạt động Giáo viên và Học sinh Néi dung GV: Em hãy cho biết các bớc để giải mét bµi to¸n trªn m¸y tÝnh HS: Tr¶ lêi c©u hái GV: Ph©n tÝch c©u tr¶ lêi cña häc sinh nh¾c l¹i c¸c bíc gi¶i bµi to¸n trªn m¸y tính đã học lớp 10 - VËy theo em lËp tr×nh lµ g×? HS: LËp tr×nh lµ sö dông mét cÊu tróc d÷ liÖu vµ c¸c c©u lÖnh cña mét ng«n ng÷ lËp trình diễn đạt thuật toán * Kh¸i niÖm lËp tr×nh: LËp tr×nh lµ sö dông cÊu tróc d÷ liÖu vµ c¸c c©u lÖnh ngôn ngữ lập trình cụ thể để mô tả liệu và diễn đạt các thao tác thuËt to¸n - Chu¬ng tr×nh viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao nãi chung kh«ng phô thuéc vµo lo¹i m¸y, nghÜa lµ mét ch¬ng tr×nh cã thÓ thùc hiÖn trªn nhiÒu lo¹i m¸y tÝnh kh¸c - Ch¬ng tr×nh viÕt b»ng ng«n ng÷ m¸y có thể đợc nạp trực tiếp vào nhớ và thi hµnh - Cần phải có chơng trình dịch để chuyÓn ch¬ng tr×nh viÕt b»ng ng«n ng÷ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành đợc GV: Em hãy cho biết làm nào để - Chơng trình dịch nhận đầu vào là chchuyển chơng trình viết ngôn ngữ ơng trình viết ngôn ngữ lập trình bËc cao sang ng«n ng÷ m¸y? bËc cao HS: Phải có chơng trình dịch để chuyển (Chơng trình nguồn), thực chuyển đổi đổi sang ngôn ngữ máy (chơng trình đích) CT nguån CT dÞch CT đích * Ch¬ng tr×nh dÞch cã hai lo¹i lµ Th«ng dÞch vµ Biªn dÞch : a, Th«ng dÞch (InterPreter): GV: Hãy cho biết chơng trình dịch có Thông dịch (InterPreter) đợc thực mÊy lo¹i ? b»ng c¸ch lÆp l¹i d·y c¸c bíc sau: (3) HS: Tr¶ lêi GV: §a c¸c vÝ dô vÒ biªn dÞch vµ th«ng dÞch cho häc sinh cã thÓ h×nh dung đợc công việc - Mét ngêi kh«ng biÕt nãi tiÕng Anh vËy làm nào có thể nói chuyện đợc với ngời Anh? HS: Ph¶i cã nguêi phiªn dÞch, dÞch hai ngêi nãi chuyÖn, Sau mçi c©u hái giao tiÕp th× ngêi phiªn dÞch l¹i dÞch tiÕp… GV: Gäi 1hs nhËn xÐt, bæ sung HS: NhËn xÐt… GV: ViÖc giíi thiÖu vµ viÖc dÞch cña ngêi phiên dịch là luân phiên kết thóc néi dung giao tiÕp C¸ch dÞch trùc tiÕp nh vËy gäi lµ th«ng dÞch GV: Khi mét ngêi muèn dÞch mét cuèn s¸ch sang tiÕng ViÖt th× ph¶i lµm thÕ nµo? HS: Phải dịch toàn sách đó sang tiếng Việt để có thể đọc đợc GV: Việc dịch đợc thực sau nội dung đã hoàn tất Hai công việc đó đợc thực hai khoảng thời gian độc lập, tách biệt Cách dịch nh đợc gäi lµ Biªn dÞch 1.Kiểm tra tính đúng đắn câu lệnh tiÕp theo ch¬ng tr×nh nguån; 2.Chuyển đổi các câu lệnh đó thành hay nhiÒu c©u lÖnh ng«n ng÷ m¸y; 3.Thùc hiÖn c¸c c©u lÖnh võa chuyÓn đổi đợc Nh vËy, qu¸ tr×nh dÞch vµ thùc hiÖn c¸c c©u lÖnh lµ lu©n phiªn.Trong th«ng dÞch không có chơng trình đích để lu trữ b, Biªn dÞch (Compiler) Thùc hiÖn qua hai bíc sau: DuyÖt, ph¸t hiÖn lçi, kiÓm tra tÝnh đúng đắn các câu lệnh chơng tr×nh nguån DÞch toµn bé ch¬ng tr×nh nguån thành chơng trình đích có thể thực trên máy và có thể lu trữ để sử dông l¹i cÇn thiÕt Nh vËy: Trong biªn dich c¶ ch¬ng tr×nh nguồn và chơng trình đích có thể lu trữ lại để sử dụng sau Cñng cè: - Nh¾c l¹i mét sè kh¸i niÖm míi - Phân biệt đợc điểm khác Thông dịch và biên dịch ? DÆn dß: - Häc bµi, - Xem tríc bµi c¸c thµnh phÇn c¬ b¶n cña ng«n ng÷ lËp tr×nh (4) Rót kinh nghiÖm (5) Ngµy so¹n:…………………… …… TiÕt2: §2: c¸c thµnh phÇn cñang«n ng÷ lËp tr×nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - Nắm đợc các thành phần ngôn ngữ lập trình nói chung Một ngôn ngữ lËp tr×nh cã ba thµnh phÇn c¬ b¶n lµ: b¶ng ch÷ c¸i, có ph¸p vµ ng÷ nghÜa - Biết đợc số khái niệm nh: tên, tên chuẩn, tên dành riêng (từ khoá) tên ngời lập trình đặt, hằng, biến và chú thích KÜ n¨ng - Phân biệt đợc tên chuẩn với tên dành riêng và tên tự đặt; - Nhớ các quy định tên, và biến; - Biết đặt tên đúng và nhận biết đợc tên sai quy định; - Sử dụng đúng chú thích Thái độ - RÌn luyÖn cho häc sinh t linh ho¹t thùc hiÖn c¸c thao t¸c Thái độ - Xác định thái độ nghiêm túc học tập làm quen với nhiều quy định nghiªm ngÆt lËp tr×nh; - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp (6) Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: C©u hái : Tr×nh bµy kh¸i niÖm lËp tr×nh vµ ng«n ng÷ lËp tr×nh? Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung C¸c thµnh phÇn c¬ b¶n §V§: Ta nãi nhiÒu vÒ ng«n ng÷ lËp - Mçi ng«n ng÷ lËp tr×nh thêng cã tr×nh vËy ng«n ng÷ lËp tr×nh cã nh÷ng thµnh phÇn c¬ b¶n lµ: b¶ng ch÷ c¸i, có thµnh phÇn nµo? ph¸p vµ ng÷ nghÜa GV: C¸c ng«n ng÷ lËp tr×nh nãi chung thêng cã chung mét sè thµnh phÇn nh : + Dùng kí hiệu nào để viết chơng tr×nh, + ViÕt theo quy t¾c nµo, + ViÕt nh vËy cã ý nghÜa lµ g×? Mỗi ngôn ngữ lập trình có quy định riªng vÒ nh÷ng thµnh phÇn nµy GV: Ng«n ng÷ lËp tr×nh cã b¶ng ch÷ c¸i nh thÕ nµo? HS: Tr¶ lêi theo sù hiÓu biÕt a, B¶ng ch÷ c¸i: VD: Bảng chữ cái NNLT khác - Là tập các kí tự dùng để viết chơng cã sù kh¸c tr×nh Pascal kh«ng sö dông dÊu chÊm than (!) - Trong ng«n ng÷ Pascal b¶ng ch÷ c¸i nhng C++ l¹i sö dông kÝ hiÖu nµy gåm: C¸c ch÷ c¸i b¶ng ch÷ c¸i tiÕng Anh, c¸c ch÷ sè - Các kí tự đặc biệt : + - * / = < > [ ] , ; # ^ $ @ & ( ) { } : ‘ DÊu c¸ch _ (7) GV: Cú pháp các ngôn ngữ lập trình b, Cú pháp: Là qui tắc dùng để viết kh¸c còng kh¸c nhau, ng«n ng÷ ch¬ng tr×nh pascal dùng cặp Begin – End để gộp nhiÒu lÖnh thµnh mét lÖnh nhng C++ l¹i dïng cÆp kÝ hiÖu {} GV: §a vÝ dô xÐt hai biÓu thøc: A+B (1) lµ c¸c sè thùc I+J (2) lµ c¸c sè nguyªn Khi đó dấu + (1) là cộng hai số thùc, (2) lµ céng hai sè nguyªn - Mỗi ngôn ngữ khác có cách c, Ngữ nghĩa: Xác định ý nghĩa thao tác xác định ngữ nghĩa khác cÇn thùc hiÖn øng víi tæ hîp kÝ tù dùa vµo ng÷ c¶nh cña nã - Có ph¸p cho biÕt c¸ch viÕt ch¬ng tr×nh hợp lệ, ngữ nghĩa xác định ý nghĩa c¸c tæ hîp kÝ tù ch¬ng tr×nh - Lỗi cú pháp đợc chơng trình dịch phát hiÖn vµ th«ng b¸o cho ngêi lËp tr×nh Ch¬ng tr×nh kh«ng cßn lçi có ph¸p th× míi cã thÓ dÞch sang ng«n ng÷ m¸y - Lỗi ngữ nghĩa đợc phát chạy ch¬ng tr×nh GV: Trong c¸c ng«n ng÷ lËp tr×nh nãi chung, các đối tợng sử dụng chơng trình phải đặt tên để tiện cho viÖc sö dông Hãy nghiên cứu SGK tr10, để nêu qui tắc đặt tên Turbo Pascal ? HS: Tr¶ lêi c©u hái GV: Việc đặt tên cho ngôn ngữ khác lµ kh¸c nhau, cã ng«n ng÷ ph©n biÖt ch÷ hoa vµ ch÷ thêng, cã ng«n ng÷ Mét sè kh¸i niÖm a, Tªn - Mọi đối tợng chơng trình phải đợc đặt tên Mỗi ngôn ngữ lập trình có quy tắc đặt tên riêng - Trong ng«n ng÷ Turbo Pascal, tªn lµ mét d·y liªn tiÕp kh«ng qu¸ 127 kÝ tù bao gåm ch÷ sè, ch÷ c¸i hoÆc dÊu g¹ch díi b¾t ®Çu b»ng ch÷ c¸i hoÆc dÊu g¹ch díi - Trong Free Pascal, tªn cã thÓ cã tèi ®a (8) l¹i kh«ng ph©n biÖt GV: Em h·y lÊy vÝ dô ng«n ng÷ lËp tr×nh ph©n biÖt ch÷ hoa, ch÷ thêng Vµ ng«n ng÷ lËp tr×nh kh«ng ph©n biÖt ch÷ 255 ký tù - Ng«n ng÷ lËp tr×nh Pascal kh«ng ph©n biÖt ch÷ hoa, ch÷ thêng tªn Mét sè ng«n ng÷ lËp tr×nh kh¸c hoa, ch÷ thêng? l¹i ph©n biÖt ch÷ hoa, ch÷ thêng HS: Trong Pascal Ab vµ AB lµ mét tªn - Ng«n ng÷ lËp tr×nh thêng cã lo¹i tªn Trong C++ Ab vµ AB lµ hai tªn kh¸c c¬ b¶n: Tªn dµnh riªng, tªn chuÈn vµ tªn GV: Lấy VD cách đặt tên đúng và ngời lập trình đặt sai Pascal? HS: Tên đúng : A, R21, R21_c, _45 Tªn sai: a bc, 5pq * Tên dành riêng: Là tên đợc GV: Ngôn ngữ nào có loại tên ngôn ngữ lập trình quy định với ý nghĩa này nhng tuỳ theo ngôn ngữ mà riêng xác định mà ngời lập trình không c¸c tªn cã ý nghÜa kh¸c c¸c thÓ dïng víi ý nghÜa kh¸c ng«n ng÷ kh¸c - Tên dành riêng còn đợc gọi là từ khoá VD: Mét sè tõ kho¸ - Trong ng«n ng÷ Pascal: Program, Var, uses, Begin, end, - Trong ng«n ng÷ C++: main, include, * Tªn chuÈn: - Là tên đợc NNLT dùng với ý nghĩa nào đó các th viện NNLT, nhiªn ngêi lËp tr×nh cã thÓ sö GV: ViÕt mét ®o¹n ch¬ng tr×nh b»ng dông víi ý nghÜa kh¸c ngôn ngữ lập trình pascal học sinh quan s¸t c¸ch viÕt mét sè tõ kho¸ VD: mét sè tªn chuÈn: ch¬ng tr×nh - Trong ng«n ng÷ pascal: Real, Integer, abs, sqr, sqrt, GV: ChØ cho häc sinh biÕt mét sè tªn - Trong C++ : cin, cout, get char, chuÈn Pascal * Tên ngời lập trình đặt - Đợc xác định cách khai báo trớc sử dụng và không đợc trùng với tên dµnh riªng GV: Đa các ví dụ: để viết chơng - Các tên chơng trình không đợc (9) tr×nh, gi¶i ph¬ng tr×nh bËc hai ta cÇn khai b¸o nh÷ng tªn sau: + a, b, c là ba tên dùng để lu ba hệ số cña ph¬ng tr×nh + X1, X2 là hai tên dùng để lu nghiệm nÕu cã + Delta là tên dùng để lu giá trị Delta GV: Hằng thờng có hai loại đợc đặt tên và không đợc đặt tên Mỗi ngôn ngữ lập trình có quy định c¸ch viÕt h»ng riªng GV: Khi nói đến thì có thay đổi kh«ng ? HS: Tr¶ lêi trïng b, H»ng vµ biÕn * Hằng: Là đại lợng có giá trị không thay đổi quá trình thực chơng tr×nh - C¸c ng«n ng÷ lËp tr×nh thêng cã: + H»ng sè häc: Sè nguyªn hoÆc sè thùc + Hằng xâu: Là chuỗi ký tự đặt dÊu nh¸y” hoÆc ”” + Hằng logic: Là các giá trị đúng sai * Biến: Là đại lợng đợc đặt tên, dùng để lu trữ giá trị và giá trị có thể đợc thay đổi quá trình thực chơng tr×nh GV: H·y cho biÕt biÕn lµ g×? - C¸c NNLT cã nhiÒu lo¹i biÕn kh¸c HS: Tr¶ lêi c©u hái - BiÕn ph¶i khai b¸o tríc sö dông c, Chó thÝch - Trong viÕt ch¬ng tr×nh cã thÓ viÕt c¸c chó thÝch cho ch¬ng tr×nh Chó thÝch không làm ảnh hởng đến chơng trình GV: Khi viết chơng trình, ngời lập trình - Trong Pascal chú thích đợc đặt thêng cã nhu cÇu gi¶i thÝch cho nh÷ng { vµ } hoÆc (* vµ *) câu lệnh mình viết, để đọc lại đợc - Trong C++ chú thích đợc đặt /* và thuận tiện ngời khác đọc có thể */ hiểu đợc chơng trình mình viết, c¸c ng«n ng÷ lËp tr×nh thêng cung cÊp cho ta cách để đa các chú thích vào ch¬ng tr×nh Ng«n ng÷ kh¸c th× c¸ch viÕt chó thÝch còng kh¸c (10) V Cñng cè kiÕn thøc - BiÕt ng«n ng÷ lËp tr×nh cã ba thµnh phÇn c¬ b¶n lµ: b¶ng ch÷ c¸i, có ph¸p, ng÷ nghĩa Phân biệt đợc ba thành phần này - Lấy ví dụ số tên đúng pascal VI Bµi tËp vÒ nhµ - Nh¾c nhë HS häc bµi vµ tr¶ lêi c¸c c©u hái SGK/12 (11) Ngµy so¹n:…………………… …… TiÕt 3: bµi tËp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - Cñng cè kiÕn thøc vÒ kh¸i niÖm ng«n ng÷ lËp tr×nh, ch¬ng tr×nh dÞch, ph©n biÖt th«ng dÞch vµ biÖn dÞch - Viết tên đúng pascal - Nhớ các quy định tên, và biến; KÜ n¨ng - Phân biệt đợc tên chuẩn với tên dành riêng và tên tự đặt; - Biết đặt tên đúng và nhận biết đợc tên sai quy định; - Sử dụng đúng chú thích Thái độ - RÌn luyÖn cho häc sinh t linh ho¹t thùc hiÖn c¸c thao t¸c Thái độ - Xác định thái độ nghiêm túc học tập làm quen với nhiều quy định nghiªm ngÆt lËp tr×nh; - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y (12) Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Câu hỏi : Nêu các thành phần ngôn ngữ lập trình?lấy ví dụ tên đúng pascal Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung GV: Gäi HS nh¾c l¹i kh¸i niÖm ng«n C©u 1: T¹i ta ph¶i x©y dùng c¸c ng÷ lËp tr×nh vµ cho biÕt ng«n ng÷ lËp ng«n ng÷ lËp tr×nh bËc cao tr×nh cã mÊy lo¹i + §Æc ®iÓm cña tõng lo¹i HS: Tr¶ lêi GV: NhËn xÐt + Ng«n ng÷ bËc cao gÇn víi ng«n ng÷ tù nhiện hơn, thuận tiện cho đông đảo ngời lËp tr×nh + Ch¬ng tr×nh viÕt b»ng ng«n ng÷ bËc cao nãi chung kh«ng phô thuéc vµo phÇn cøng m¸y tÝnh vµ mét ch¬ng tr×nh cã thÓ thùc hiÖn trªn nhiÒu m¸y tÝnh kh¸c + Ch¬ng tr×nh viÕt b»ng ng«n ng÷ bËc cao dÔ hiÒu, dÔ hiÓu chØnh vµ dÔ n©ng cÊp + Ng«n ng÷ bËc cao cho phÐp lµm viÖc víi nhiÒu kiÓu d÷ liÖu vµ c¸ch tæ chøc d÷ liÖu ®a d¹ng, thuËn tiÖn cho m« t¶ thuËt to¸n C©u 2: Ch¬ng tr×nh dÞch lµ g×? T¹i GV: Gäi HS nh¾c l¹i kh¸i niÖm ch¬ng ph¶i cã ch¬ng tr×nh dÞch tr×nh dÞch - T¹i ph¶i cã ch¬ng tr×nh dÞch HS: Tr¶ lêi GV: NhËn xÐt c©u tr¶ lêi cña HS (13) Ch¬ng tr×nh ch¬ng tr×nh dÞch (Output) nguồn (Input) - Chơng trìch dịch là chơng trình đặc chơng trình đích biệt có chức chuyển đổi chơng tr×nh viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao thµnh ch¬ng tr×nh thùc hiÖn trªn m¸y tÝnh cô thÓ C©u 3: Biªn dÞch vµ th«ng dÞch kh¸c GV: Gäi HS cho biÕt biªn dÞch vµ th«ng nh thÕ nµo? dÞch kh¸c nh thÕ nµo? HS:+ Tr×nh biªn dÞch duyÖt, kiÓm tra phát lỗi, xác định chơng trình nguồn có dịch đợc hay không, dịch toàn bé ch¬ng tr×nh nguån thµnh ch¬ng tr×nh đích có thể thực trên máy và có thể lu trữ lại để sử dụng sau cần thiết + Tr×nh th«ng dÞch lÇn lît dÞch tõng c©u lÖnh ng«n ng÷ m¸y råi thùc hiÖn câu lệnh vừa dịch đợc báo lỗi không dịch đợc C©u 4: H·y cho biÕt c¸c ®iÓm kh¸c gi÷a tªn dµnh riªng vµ tªn chuÈn Tên dành riêng không đợc dùng khác với ý nghĩa đã xác định , tên chuẩn có thÓ dïng víi ý nghÜa kh¸c GV: Gợi ý Pascal tên đợc đặt tuân thñ theo c¸c quy t¾c sau: Câu 5: Hãy tự viết ba tên đúng theo - ChØ bao gåm ch÷ c¸i, ch÷ sè vµ quy t¾c cña Pascal dÊu g¹ch díi - Kh«ng b¾t ®Çu b»ng ch÷ s« - Độ dài theo qui định trình dÞch (TP kh«ng qu¸ 127 kÝ tù, Free Pascal kh«ng qu¸ 255 kÝ tù) Tuy nhiên không nên đặt tên quá dài hay quá ngắn mà nên đặt cho gợi nhớ ý (14) nghĩa đối tợng mang tên nó C©u 6: H·y cho biÕt nh÷ng biÓu diÔn nµo díi ®©y kh«ng ph¶i lµ biÓu diÔn h»ng Pascal vµ chØ râ lçi tõng trêng hîp c) 6,23 dÊu phÈy thay b»ng dÊu chÊm e) A20 lµ tªn cha râ gi¸ trÞ g) 4+6 lµ biÓu thøc h»ng Pascal chuẩn đợc coi là pascal i) ‘True’ lµ h»ng x©u nhng kh«ng lµ h»ng logic h) ‘C sai quy định xâu, thiếu náhy đơn cuối V Cñng cè kiÕn thøc - Cần có chơng trình dịch để chuyển chơng trình nguồn thành chơng trình đích - Cã hai lo¹i ch¬ng tr×nh dÞch lµ th«ng dÞch vµ biªn dÞch - BiÕt ng«n ng÷ lËp tr×nh cã ba thµnh phÇn c¬ b¶n lµ: b¶ng ch÷ c¸i, có ph¸p, ng÷ nghĩa Phân biệt đợc ba thành phần này - Mọi đối tợng chơng trình phải đợc đặt tên - Lấy ví dụ số tên đúng pascal VI dÆn dß - Nhắc HS học bài và đọc trớc bài cấu trúc chơng trình (15) Ngµy so¹n:…………………… …… TiÕt 4: Chơng II: Chơng trình đơn giản §3 cÊu tróc ch¬ng tr×nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - HiÓu ch¬ng tr×nh lµ sù m« t¶ cña thuËt to¸n b»ng mét ng«n ng÷ lËp tr×nh; - Biết cấu trúc chơng trình đơn giản: cấu trúc chung và các thành phần; KÜ n¨ng - Nhận biết đợc các thành phần chơng trình đơn giản T - RÌn luyÖn cho häc sinh t linh ho¹t thùc hiÖn c¸c thao t¸c; Thái độ - Xác định thái độ nghiêm túc học tập làm quen với nhiều quy định nghiªm ngÆt lËp tr×nh; - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: C©u hái : Nªu c¸c thµnh phÇn cña ng«n ng÷ lËp tr×nh? Bµi míi: (16) Hoạt động Giáo viên và Học sinh Néi dung GV: ThuyÕt tr×nh ®a cÊu tróc chung CÊu tróc chung cña mét ch¬ng tr×nh Ch¬ng tr×nh viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao gåm thµnh phÇn: PhÇn khai b¸o vµ phÇn th©n - PhÇn khai b¸o cã thÓ cã hoÆc kh«ng, phÇn th©n nhÊt thiÕt ph¶i cã - Ta dùng ngôn ngữ tự nhiên để diễn gi¶i có ph¸p ng«n ng÷ lËp tr×nh - Thµnh phÇn cã thÓ cã hoÆc kh«ng dïng cÆp dÊu [ vµ ] - Víi quy íc nµy cÊu tróc c¶u mét ng«n ng÷ lËp tr×nh nh sau: Mçi ch¬ng tr×nh nãi chung gåm hai phÇn : PhÇn khai b¸o vµ phÇn th©n ch¬ng tr×nh [<PhÇn khai b¸o>] GV: Cụ thể các thành phần này đợc hiểu <PhÇn th©n> nh thÕ nµo ta chuyÓn sang t×m hiÓu c¸c thµnh phÇn cña ch¬ng tr×nh C¸c thµnh phÇn cña ch¬ng tr×nh a, PhÇn khai b¸o GV : PhÇn khai b¸o sÏ b¸o cho m¸y biÕt ch¬ng tr×nh sÏ sö dông nh÷ng tµi nguyªn nµo cña m¸y - Cã thÓ cã c¸c khai b¸o cho: tªn ch¬ng tr×nh, th viÖn, h»ng, biÕn vµ ch¬ng tr×nh GV : Mçi ng«n ng÷ lËp tr×nh cã c¸ch con, khai b¸o kh¸c vµ tuú thuéc vµo ng«n ng÷ mµ ta cÇn t×m hiÓu xem ch¬ng tr×nh ta cÇn khai b¸o nh÷ng g× ? * Khai b¸o tªn ch¬ng tr×nh (17) GV : PhÇn khai b¸o tªn cã thÓ cã hoÆc kh«ng, viÕt mét ch¬ng tr×nh, tèt nhÊt ta nên đặt tên chơng trình cho gợi nhớ đến bài toán PhÇn nµy cã thÓ cã hoÆc kh«ng - Tªn ch¬ng tr×nh ngêi lËp tr×nh tù HS: Chú ý lắng nghe và lấy thêm ví dụ đặt theo đúng qui tắc đặt tên cách đặt tên Pascal - Trong Turbo Pascal Program <Tªn ch¬ng tr×nh> ; VD : Program Bai_1 ; Program Tong; * Khai b¸o th viÖn : GV : Mçi ng«n ng÷ lËp tr×nh thêng cã s½n mét sè th viÖn cung cÊp mét sè ch¬ng trình thông dụng đã đợc lập sẵn - Để sử dụng các chơng trình đó cần khai b¸o th viÖn chøa nã HS: Chó ý nghe gi¶ng GV: LÊy vÝ dô viÖc khai b¸o ng«ng Trong ng«n ng÷ Pascal: ng÷ lËp tr×nh Pascal Uses crt <tªn th viÖn> ; Trong ng«n ng÷ C++ : #Include < Tªn tÖp th viÖn > VÝ dô : Trong Turbo Pascal : Uses CRT, GRAPH ; * Khai b¸o h»ng : - Nh÷ng h»ng sö dông nhiÒu lÇn GV : Khai báo là việc đặt tên cho chơng trình thờng đợc đặt tên cho tiện để tiện sử dụng và tránh việc sử dụng ph¶i viÕt lÆp l¹i nhiÒu lÇn cïng mét h»ng ch¬ng tr×nh Khai b¸o h»ng cßn tiÖn lợi cần thay đổi giá trị nó ch¬ng tr×nh GV : LÊy vÝ dô vÒ viÖc khai b¸o h»ng ng«ng ng÷ lËp tr×nh Pascal VD : Trong Pascal Const N = 100 ; e = 2.7 ; (18) GV : LËp tr×nh b»ng ng«n ng÷ nµo cÇn Trong C++ : t×m hiÓu c¸ch khai b¸o h»ng cña ng«n Const int N = 100 ; ng÷ Êy Const float e = 2.7 ; * Khai b¸o biÕn : - Mäi biÕn sö dông ch¬ng tr×nh GV : Gi¶i thÝch phải khai báo để chơng trình dịch Khai báo biến là xin máy tính cấp cho biết để xử lý và lu trữ chơng trình vùng nhớ để lu trữ và xử - Biến mang giá trị gọi là biến lÝ th«ng tin bé nhí đơn GV : Mçi ng«n ng÷ lËp tr×nh cã c¸ch tæ b, PhÇn th©n ch¬ng tr×nh : chøc ch¬ng tr×nh kh¸c nhau, thêng th× phÇn th©n chøa c¸c c©u lÖnh cña ch¬ng tr×nh - Th©n ch¬ng tr×nh lµ n¬i chøa toµn bé c¸c c©u lÖnh cña ch¬ng tr×nh hoÆc lêi gäi ch¬ng tr×nh - Th©n ch¬ng tr×nh thêng cã cÆp dÊu hiÖu b¾t ®Çu vµ kÕt thóc ch¬ng tr×nh VD : Trong ng«n ng÷ Pascal Begin GV : lu ý Pascal mäi c©u lÖnh sau [<C¸c c©u lÖnh>] End Kh«ng cã ý nghÜa End GV : - Để thấy đợc khác c¸ch tæ chøc ch¬ng tr×nh ta chuyÓn sang ý ví dụ chơng trình đơn giản Ví dụ chơng trình đơn giản Xét chơng trình đơn giản ngôn ng÷ kh¸c sau ®©y : GV: Cho HS quan s¸t hai ch¬ng tr×nh ng«n ng÷ kh¸c lµ Pascal vµ Ch¬ng tr×nh 1: Trong ng«n ng÷ Turbo C++ Pascal Program VD ; HS: Quan s¸t vµ nhËn xÐt vÒ c¸ch viÕt Begin cña ch¬ng tr×nh ng«n ng÷ kh¸c Write (‘Chao cac ban’) ; Readln ; (19) Thông qua đó HS cần nhận ra: hai chơng tr×nh cïng thùc hiÖn mét c«ng viÖc nhng viÕt b»ng hai ng«n ng÷ kh¸c nªn hÖ thèng c¸c c©u lÖnh ch¬ng tr×nh còng kh¸c Cã thÓ thªm c©u lÖnh hiÓn thÞ mét x©u vào chơng trình Pascal để thể râ h¬n lµ nÕu muèn ®a c©u th«ng b¸o th× ta cã thÓ sö dông lÖnh Writeln vµ x©u đợc để dấu nháy đơn End Ch¬ng tr×nh 2: Trong ng«n ng÷ C++ # include <stdio.h> Main() { Printf (’’Chao cac ban ’’) ; } Cñng cè: - Nh¾c l¹i mét sè kh¸i niÖm míi - Cho mét ch¬ng tr×nh mÉu yªu cÇu häc sinh ph©n biÖt vµ chØ râ tõng thành phần chơng trình đó DÆn dß: - Häc bµi, - §äc tríc bµi mét sè kiÓu d÷ liÖu chuÈn vµ bµi khai b¸o biÕn Rót kinh nghiÖm (20) Ngµy so¹n:…………………… …… TiÕt 5: §4 mét sè kiÓu d÷ liÖu chuÈn §5 khai b¸o biÕn Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - Biết đợc số kiểu liệu chuẩn: Nguyên, thực, kí tự, logic; - Biết đợc cấu trúc chung khai báo biến KÜ n¨ng - Sử dụng đợc kiểu liệu và khai báo biến để viết đợc chơng trình đơn gi¶n - Khai báo đúng - NhËn biÕt khai b¸o sai - Xác định đúng bài toán để biết cón biến nào lu trữ chơng trình T - RÌn luyÖn cho häc sinh t linh ho¹t thùc hiÖn c¸c thao t¸c; Thái độ - Xác định thái độ nghiêm túc học tập làm quen với nhiều quy định nghiªm ngÆt lËp tr×nh; - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp (21) Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Tr×nh bµy cÊu tróc chung cña mét ch¬ng tr×nh, cho biÕt cÊu tróc chung cña mét ch¬ng tr×nh ng«n ng÷ lËp tr×nh pascal Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung GV: Khi cÇn viÕt ch¬ng tr×nh qu¶n lý Ng«n ng÷ lËp tr×nh Pascal cã mét sè häc sinh ta cÇn xö lý nh÷ng th«ng tin g×? kiÓu d÷ liÖu chuÈn sau: thông tin đó dạng nào ? HS: Tr¶ lêi c©u hái GV: Ph©n tÝch c©u tr¶ lêi cña HS ®a mét vµi d¹ng th«ng tin nh sau: - Hä tªn HS lµ nh÷ng th«ng tin d¹ng v¨n b¶n hay d¹ng c¸c kÝ tù - §iÓm cña HS lµ c¸c th«ng tin c¸c sè thùc - Sè thø tù cña HS lµ c¸c sè nguyªn - Mét sè th«ng tin kh¸c l¹i chØ cÇn biÕt chúng là đúng hay sai GV: Trong lËp t×nh th× mçi ng«n ng÷ lËp t×nh cung cÊp mét kiÓu DL chuÈn cho KiÓu nguyªn KiÓu Bé nhí lu tr÷ Ph¹m vi gi¸ trÞ biÕt ph¹m vi, gi¸ trÞ cã thÓ lu tr÷, dung lmét gi¸ trÞ ợng nhớ cần thiết để lu trữ và các phép Byte 1Byte Từ đến 255 toán tác động lên - Díi ®©y ta xÐt mét sè kiÓu DL chuÈn Integer 2Byte Từ -215đến 215-1 Pascal Word 2Byte Từ đến 216-1 GV: Các kiểu nguyên đợc lu trữ và kết Longint 4Byte Từ -231đến 231-1 tính toán là là số đúng nhng có h¹n chÕ vÒ miÒn gi¸ trÞ - TËp sè nguyªn lµ v« h¹n hay h÷u h¹n (22) HS: Tr¶ lêi GV: TËp sè nguyªn lµ v« h¹n cã thø tù, đếm đợc nhng máy tính thì kiểu KiÓu thùc nguyªn lµ h÷u h¹n, cã thø tù Cã nhiÒu kiÓu cho gi¸ trÞ lµ sè thùc nhng hay dïng mét sè kiÓu sau: GV: Víi mçi kiÓu d÷ liÖu ngêi lËp tr×nh cần ghi nhớ tên kiểu, miền giá trị và số lợng ô nhớ để lu giá trị thuộc kiểu đó Bé nhí lu KiÓu tr÷ mét Ph¹m vi gi¸ trÞ gi¸ trÞ hoÆc cã gi¸ trÞ tuyÖt Real 6Byte đối nằm phạm vi từ 10-38 đến 1038 hoÆc cã gi¸ trÞ tuyÖt extended 10Byte đối nằm phạm vi từ 10-4932đến 104932 GV: KiÓu kÝ tù cã tËp gi¸ trÞ lµ c¸c kÝ tù KiÓu kÝ tù bé m· ASCII dïng dïng th«ng KiÓu Bé nhí lu Ph¹m vi gi¸ trÞ tin lµ c¸c kÝ tù, x©u tr÷ mét gi¸ - §Ó lu tr÷ kÝ tù th× mçi kÝ tù cã mét trÞ m· thËp ph©n Char 1Byte 256 kÝ tù - LÊy vÝ dô kÝ tù A cã m· thËp ph©n bé m· ASCII lµ 65… - Tªn kiÓu lµ:CHAR - MiÒn gi¸ trÞ: Lµ c¸c kÝ tù b¶ng m· ASCII gåm 256 kÝ tù - Mỗi kí tự có mã tơng ứng từ đến 255 - C¸c kÝ tù cã quan hÖ so s¸nh, viÖc so s¸nh dùa trªn m· cña tõng kÝ tù GV: Em biÕt nh÷ng b¶ng m· nµo? VD: Trong b¶ng m· ASCII, c¸c kÝ tù HS: HS sÏ ®a mét sè b¶ng m· nhng b¶ng m· ch÷ c¸i tiÕng Anh xÕp GV chó ý c¸c em NNLT Pascal chØ sö liªn tiÕp víi nhau, c¸c ch÷ sè còng xÕp dông b¶ng m· ASCII cho kiÓu kÝ tù liªn tiÕp, cô thÓ: A m· 65, a 97, m· 48 (23) GV: Trong thùc tÕ c¸c em hay gÆp nh÷ng KiÓu Logic thông tin nào có giá trị đúng KiÓu Bé nhí lu tr÷ sai mét gi¸ trÞ - Ng«n ng÷ Pascal, cã bao nhiªu kiÓu Boolean 1Byte logic, gåm c¸c gi¸ trÞ nµo? HS: Cã mét lo¹i Boolean, gåm phÇn tö True vµ False Ph¹m vi gi¸ trÞ True hoÆc False - Mét sè ng«n ng÷ cã c¸ch m«t t¶ c¸c gi¸ trÞ logic b»ng nh÷ng c¸ch kh¸c Khi viÕt ch¬ng tr×nh b»ng ng«n ng÷ lËp tr×nh nào thì cần tìm hiểu đặc trng các GV: Kiểu logic là kiểu thờng có giá kiểu liệu ngôn ngữ đó trị đúng - sai, ngôn ngữ khác l¹i cã c¸ch m« t¶ kiÓu logic kh¸c - Pascal dïng True – False nhng mét sè ng«n ng÷ kh¸c l¹i m« t¶ b»ng 0-1,…Cã ng«n ng÷ l¹i kh«ng cã kiÓu logic mµ ngêi lập trình phải tự tìm cách để thể nh÷ng gi¸ trÞ d¹ng nµy GV: Nªu bµi to¸n gi¶i ph¬ng tr×nh bËc Bµi 5: Khai b¸o biÕn hai: ax2 + bx + c = Gọi HS xác định bài toán HS: Tr¶ lêi GV: Nh vËy ta cÇn khai b¸o c¸o biÕn a, b, c, d, x1, x2 - C¸c biÕn nµy cã thÓ nhËn c¸c gi¸ trÞ nµo? HS: Tr¶ lêi GV: Khai b¸o biÕn lµ ch¬ng tr×nh b¸o cho m¸y biÕt ph¶i dïng nh÷ng tªn nµo ch¬ng tr×nh - §a c¸ch khai b¸o biÕn Pascal Trong ng«n ng÷ Pascal khai b¸o biÕn b¾t (24) ®Çu b»ng tõ kho¸ Var nh sau: Var <danh s¸ch biÕn> : <kiÓu d÷ liÖu>; Var: là từ khoá dùng để khai báo biến Danh s¸ch biÕn: Tªn c¸c biÕn c¸ch bëi dÊu phÈy Kiểu liệu: Là kiểu liệu nào đó GV: Cho VD để khai báo biến cña ng«n ng÷ Pascal nguyªn vµ mét biÕn kiÓu kÝ tù Sau Var cã thÓ khai b¸o nhiÒu danh s¸ch HS: Var x : word; biÕn cã nh÷ng kiÓu d÷ liÖu kh¸c y: char; VD1: Gi¶ sö ch¬ng tr×nh cÇn c¸c biÕn GV: ViÕt lªn b¶ng mét sè khai b¸o biÕn thùc A, B, C, D, X1, X2 vµ c¸c biÕn yêu cầu HS chọn khai báo đúng nguyªn M, N Ta khai b¸o nh sau: ng«n ng÷ lËp tr×nh Pascal? Var x,y,z:word; A, B, C, D, X1, X2: real; n 1:real; M, N: integer x:longint; VD2: SGKtr23 h:integr; i:byte; HS: Quan sát chọn khai báo đúng x,y,z:word; i:byte; GV: NhËn xÐt vµ bæ sung (nÕu cÇn) * Mét sè chó ý khai b¸o biÕn: GV: Khi khai b¸o biÕn cÇn chó ý nh÷ng + Cần đặt tên biến cho gợi nhớ đến ý ®iÒu g× ? nghĩa biến đó HS: Tr¶ lêi c©u hái + Không nên đặt tên biến quá ngắn hay GV: Ph©n tÝch c©u tr¶ lêi cña häc sinh quá dài, dễ dẫn đến mắc lỗi hiểu nhÇm + Khai báo biến cần quan tâm đến phạm vi gi¸ trÞ cña nã Cñng cè: - Nh¾c l¹i mét sè kiÓu d÷ liÖu chuÈn - Cho bµi to¸n gi¶i ph¬ng tr×nh bËc d¹ng tæng qu¸t yªu cÇu häc sinh khai b¸o biÕn cho bµi to¸n DÆn dß: - Häc bµi, lµm c¸c bµi tËp 1, 2, 3, 4, SGKtr35 (25) - Xem tríc néi dung bµi: PhÐp to¸n, biÓu thøc, lÖnh g¸n SGKtr24 - Xem néi dung phô lôc B, SGKtr129: Mét sè kiÓu d÷ liÖu chuÈn Rót kinh nghiÖm (26) Ngµy so¹n:…………………… …… TiÕt 6: §6 PHÐP TO¸N, BIÓU THøC, C¢U LÖNH G¸N Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc: - HS biÕt c¸c kh¸i niÖm: PhÐp to¸n, biÓu thøc sè häc, hµm sè häc chuÈn, biÓu thøc quan hÖ - Hiểu đợc câu lệnh gán KÜ n¨ng: - Viết đợc câu lệnh gán - Viết đợc các biểu thức số học và logic với các phép toán thông dụng Thái độ: HS cã phong c¸ch lµm viÖc chuÈn mùc, chÝnh x¸c, yªu thÝch m«n häc II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (KiÓm tra 15 phót) C©u 1: Nªu c¸ch khai b¸o biÕn Pascal C©u 2: Cho bµi to¸n gi¶i ph¬ng tr×nh bËc d¹ng tæng qu¸t yªu cÇu häc sinh khai b¸o biÕn cho bµi to¸n (27) Bµi míi: Hoạt động Giáo viên và Học sinh GV: §Ó m« t¶ c¸c thao t¸c thuËt toán ngôn ngữ lập trình xác định vµ sö dông mét sè kh¸i niÖm c¬ b¶n: PhÐp to¸n, biÓu thøc, g¸n gi¸ trÞ cho biÕn Díi đây ta xét các khái niệm đó GV: Trong to¸n häc cã nh÷ng phÐp to¸n nµo? HS: Tr¶ lêi GV: Các phép toán đó đợc dùng ng«n ng÷ lËp tr×nh GV: Gi¶i thÝch mét sè phÐp to¸n cho HS hiÓu VD: 10 mod = 10 div = Not (x<1) => x>1 - PhÐp to¸n or (hoÆc) tho¶ m·n - PhÐp to¸n and tho¶ m·n c¶ ®iÒu kiÖn GV: Trong to¸n häc biÓu thøc lµ g×? HS: Tr¶ lêi GV: §a biÓu thøc sè häc Pascal GV: LÊy vÝ dô biÓu thøc to¸n häc sau đó HS chuyển sng biểu thức Pascal A *c B GV: Lu ý HS phÇn chó ý SGK T25 GV: Yªu cÇu HS quan s¸t b¶ng mét sè hµm chuÈn thêng dïng SGK T26 Néi dung PhÐp to¸n Trong Pascal sö dông mét sè phÐp to¸n sau: +, -, *, /, Div (Chia lÊy phÇn nguyªn), Mod (Chia lÊy phÇn d) - PhÐp to¸n quan hÖ <, <=, >, >=, =,<> - PhÐp to¸n quan hÖ: Not (Phñ ®inh), or(hoÆc), and(vµ) BiÓu thøc sè häc - Lµ mét biÕn kiÓu sè hoÆc mét h»ng sè hoÆc c¸c biÕn kiÓu sè vµ c¸c hµng liªn kÕt víi bëi c¸c phÐp to¸n: +, - , *, /, div, mod - Dùng cặp dấu () để quy định trình tù tÝnh to¸n Hµm sè häc chuÈn (SGK) HS: Quan s¸t SGK GV: Giải thích thêm kiểu đối số và kiểu (28) kÕt qu¶ VD: BiÓu diÔn b×nh ph¬ng cña sè x = 2,2 th× Sqr (2,2) => kÕt qu¶ kiÓu thùc GV: LÊy mét sè vÝ dô vÒ biÓu thøc to¸n học sau đó dùng các hàm chuẩn chuyển sang biÓu thøc Pascal BiÓu thøc quan hÖ GV: Biểu thức quan hệ còn đợc gọi là biểu thức so sánh dùng để so sánh giá Biểu thức quan hệ có dạng <biểu thức 1> trị, kết là đúng sai <phÐp to¸n quan hÖ> <biÓu thøc 2> - BiÓu thøc vµ biÓu thøc cïng kiÓu - Kết qủa biểu thức quan hệ là đúng hoÆc sai BiÓu thøc logic GV: Muốn so sánh nhiều điều kiện đồng thêi ta lµm thÕ nµo? HS: tr¶ lêi - BiÓu thøc logic lµ biÕn logic hoÆc h»ng GV: §a kh¸i niÖm biÓu thøc logic logic, c¸c biÓu thøc quan hÖ liªn kÕt víi bëi phÐp to¸n logic, not, and, or Gi¸ trÞ biÓu thøc logic lµ True hoÆc False GV: lÊy mét sè vÝ dô vÒ biÓu thøc logic VD: để thể điều kiện 1< x< thì có biÓu thøc (x >= 1) and (x<= 5) C©u lÖnh g¸n GV: lÖnh g¸n lµ mét nh÷ng lÖnh c¬ b¶n nhÊt cña c¸c ng«n ng÷ lËp tr×nh - Trong Pascal lÖnh g¸n cã d¹ng - §a c©u lÖnh g¸n Pascal <tªn biÕn> := <biÓu thøc> Cñng cè: - Nhấn mạnh qua bài HS cần nắm đợc các phép toán Pascal, biểu thức số học, biÓu thøc quan hÖ, biÓu thøc logic DÆn dß: - HS học bài và đọc trớc Đ7 và Đ8 SGK T35 - 36 Rót kinh nghiÖm (29) Ngµy so¹n:…………………… …… TiÕt 7: bµi tËp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc: - KiÓm tra viÖc lµm bµi tËp vÒ nhµ cña häc sinh sau häc xong ch¬ng II - HÖ thèng hãa, cñng cè kiÕn thøc vÒ néi dung c¸c môc trªn - Củng cố nội dung đạt đựơc tiết thực hành KÜ n¨ng: - Biết xác định Input và Output - VËn dông thµnh th¹o lµm c¸c bµi tËp SGK T - RÌn luyÖn t tæng hîp vµ t häc nhãm Thái độ - Xác định thái độ nghiêm túc học tập làm quen với nhiều quy định nghiªm ngÆt lËp tr×nh; - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc c©u lÖnh rÏ nh¸nh vµ c©u lªnh ghÐp II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + m¸y tÝnh, m¸y chiÕu Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (KiÓm tra c¸c c©u hái vµ bµi tËp SGK T 35) (30) Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung Bµi 1/SGKtr35 H·y cho biÕt sù kh¸c gi÷a có đặt tên và biến GV: Yªu cÇu häc sinh nh¾c l¹i kh¸i niÖm h»ng vµ biÕn HS: Tr¶ lêi c©u hái GV: NhËn xÐt, bæ sung GV: VËn dông vµo tr¶ lêi Bµi1/SGK.tr35 HS: Hằng có đặt tên là không thay đổi, cßn gi¸ trÞ « nhí cña biÕn th× cã thÓ thay đổi đợc thời điểm thực ch¬ng tr×nh GV: Gäi HS nhËn xÐt vµ bæ sung HS: NhËn xÐt, bæ sung GV: NhËn xÐt vµ ®a c©u tr¶ lêi * Sự khác có đặt tên và biÕn lµ: XÐt vÒ mÆt lu tr÷ gi¸ trÞ cña h»ng vµ biÕn RAM th× gi¸ trÞ « nhớ có đặt tên là không thay đổi, còn giá trị ô nhớ biến thì có thể thay đổi đợc thời điểm thùc hiÖn ch¬ng tr×nh Bµi 2/SGKtr35 T¹i ph¶i khai b¸o biÕn ? GV: Híng dÉn HS tr¶ lêi Bµi2 vµ Bµi 3/SGK.tr35 - Gäi hs gi¶i thÝch t¹i ph¶i khai b¸o biÕn HS: - Xác định kiểu biến - Đa tên biến vào danh sách các đối tợng đợc chơng trình quản lí ; (31) - Tr×nh dÞch biÕt c¸ch truy cËp gi¸ trÞ cña biÕn vµ ¸p dông thao t¸c thÝch hîp cho biÕn * Khai báo biến nhằm các mục đích sau : Xác định kiểu biến Trình dịch sÏ biÕt c¸ch tæ chøc « nhí chøa gi¸ trÞ cña biÕn ; Đa tên biến vào danh sách các đối tợng đợc chơng trình quản lí ; Tr×nh dÞch biÕt c¸ch truy cËp gi¸ trÞ cña biÕn vµ ¸p dông thao t¸c thÝch hîp cho biÕn Bµi 3/SGKtr35 Trong Pascal nÕu mét biÕn chØ nhËn gi¸ trÞ nguyªn ph¹m vi tõ 10 đến 25532 thì biến đó có thể đợc khai b¸o b»ng c¸c kiÓu d÷ liÖu nµo ? Gîi ý HS lµm GV: §¸nh gi¸ vµ nhËn xÐt VËy Pascal nÕu mét biÕn chØ nhËn giá trị nguyên phạm vi từ 10 đến 25532 thì biến đó có thể đợc khai báo b»ng c¸c kiÓu d÷ liÖu nµo ? HS: khai b¸o b»ng c¸c kiÓu d÷ liÖu Interger, real, extended Longint GV: §¸nh gi¸ vµ nhËn xÐt Bµi 4/SGKtr35 Khai báo đúng là khai báo các câu b và GV: Híng dÉn häc sinh tr¶ lêi Bµi vµ d Tuy nhiªn khai b¸o cña c©u d tèt h¬n Bài 5/SGKtr35 Có thể chọn lọc để b, var P, X: real; chuyÓn thµnh d¹ng tr¾c nghiÖm d, var X: real; HS: Nghe vµ tr¶ lêi c©u hái P: byte Bµi 5/SGKtr35 (32) - V× c¹nh A chØ nhËn gi¸ trÞ nguyªn phạm vi từ 100 đến 200 nên các khai báo b, c, d đúng - C¸ch khai b¸o c lµ tèt h¬n v× tiÕt kiÖm đợc nhớ cần lu trữ Bµi 6/SGKtr35 (1+z)*((x+y/z)/(a-1/(1+x*x*x))) GV: Qua bµi vµ bµi 7, híng dÉn häc sinh ph©n biÖt c¸ch viÕt c¸c c«ng thøc to¸n to¸n häc víi Pascal (chó ý chØ dïng mét lo¹i dÊu ngoÆc trßn) Bµi 7/SGKtr36 - Gäi mét häc sinh lªn b¶ng viÕt biÓu 2a abc thøc to¸n häc Pascal vµ ngîc l¹i a, b (bµi6/tr35) b b HS: Lªn b¶ng lµm nµi tËp c, ac a 2+ b √ b, d, Bµi 8/SGKtr36 Gîi ý : ((y<1) or (y=1) and ((y>abs(x)) or (y=abs(x))) hoÆc (y<=1) and (y>=abs(x)) GV: Hớng dẫn học sinh phát đợc đặc điểm toạ độ (x,y) điểm a (y>=abs(x)) and (y<=1); thuéc vïng g¹ch c¸c h×nh 2a vµ 2b b (abs(x)<=1) and (abs(y)<=1); cña Bµi 8/SGKtr36 Bµi 9/SGKtr36 - NhËn xÐt diÖn tÝch phÇn g¹ch b»ng diÖn tÝch h×nh trßn t©m GV: Híng dÉn häc sinh gi¶i Bµi 0(0,0) b¸n 9/SGKtr36 nh: t×m input, output, nhËn xÐt đặc điểm diện tích vùng gạch chéo hình kính R=a SGK (b»ng ½ diÖn tÝch h×nh trßn * Lu ý : Sè π lµ mét h»ng Pascal b¸n kÝnh b»ng a) và đợc kí hiệu là Pi Giá trị Pi là Gäi HS lªn b¶ng viÕt ch¬ng tr×nh 3,1415926536 HS: ViÕt ch¬ng tr×nh Ch¬ng tr×nh (33) GV: NhËn xÐt, chØnh söa Program bai9; Var a : real ; Begin Write(‘ Nhap gia tri a (a>0): ’); Readln (a) Write (’Dien tich phan gach la:’, a*a*pi/2:20:4); Readln End NÕu a=2, kÕt qu¶ sÏ lµ: 6.2832 Bµi 10/SGKtr36 Uses crt ; Const g = 9.8 ; Var v, h : real ; Begin GV: Cã thÓ viÕt s½n ch¬ng tr×nh gi¶i bµi Clrscr; 10 trªn giÊy khæ lín, nhng ch¬ng tr×nh Write(‘nhap cao cua vat h= ’); còn sai vài chỗ để học sinh tìm lỗi và readln(h); söa V:=sqrt(2*g*h); HS: Quan s¸t vµ chØnh söa Writeln(’van toc cham dat la v GV: Kh¸i qu¸t l¹i néi dung = ’,v:10:2,’ m/s’); Readln End Cñng cè: - Hãy cho biết khác có đặt tên và biến - Hệ thống lại toàn các bài tập đã chữa, nhấn mạnh điểm cần chú ý DÆn dß: - Tr¶ lêi c¸c c©u hái SBT - Häc bµi vµ chuÈn bÞ tríc néi dung bµi tiÕp theo (cÊu tróc rÏ nh¸nh) Rót kinh nghiÖm Ngµy so¹n:…………………… …… TiÕt 8: Đ7 các thủ tục chuẩn vào/ra đơn giản (34) §8 So¹n th¶o, dÞch, thùc hiÖn ch¬ng tr×nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: 1, KiÕn thøc: - Biết các lệnh vào đơn giản để nhập DL từ bàn phím đa liệu màn h×nh - BiÕt c¸c bíc: So¹n th¶o, dÞch, thùc hiÖn vµ hiÖu chØnh ch¬ng tr×nh - BiÕt mét sè c«ng cô cña m«i trêng Turbo Pascal 2, KÜ n¨ng: - Học sinh viết đợc số lệnh vào/ra đơn giản - Bớc đầu sử dụng đợc chơng trình dịch để phát lỗi - Bớc đầu chỉnh sửa đợc chơng trình dựa vào thông báo lỗi chơng tình dịch và tính hợp lí kết thu đợc 3, Thái độ: - Học sinh có thái độc chuẩn mực, làm việc chính xác, có lòng ham mê môn học II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: C©u 1: ViÕt biÓu thøc logic cho ®iÒu kiÖn sau: Giả thiết A là biến nguyên Điều kiện xác định A đồng thời chia hết cho vµ (35) C©u 2: ViÕt lÖnh g¸n Pascal LÊy vÝ dô Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung GV: §Ó khëi t¹o gi¸ trÞ ban ®Çu cho biÕn, ta có thể dùng lệnh gán để gán giá trị Nh vËy mçi ch¬ng tr×nh lu«n lµm viÖc víi liệu vào, để CT có thể làm việc víi nhiÒu bé DL vµo kh¸c th viÖn cña ng«n ng÷ lËp tr×nh cung cÊp mét sè chơng trình dùng để nhập DL vào và đa DL - C¸c ch¬ng tr×nh nµy gäi lµ c¸c thñ tôc vµo/ra Pascal - Sau ®©y ta sÏ lµm quen víi thñ tôc vào/ra đơn giản Pascal GV: Nªu thñ tôc read vµ readln HS: Chó ý l¾ng nghe vµ ghi bµi Đ7 các thủ tục chuẩn vào/ra đơn giản * Thủ tục chuẩn vào/ra đơn giản Pascal NhËp DL vµo tõ bµn phÝm Read (<danh s¸ch biÕn vµo>) ; HoÆc Read (<danh s¸ch biÕn vµo>) ; Danh s¸ch biÕn vµo lµ mét hoÆc nhiÒu GV: Gäi HS lÊy vÝ dô vÒ thñ tôc vµo biến tên biến đơn (Trừ biến kiểu HS: Tr¶ lêi Boolean), các tên biến đợc viết cách GV: qua vÝ dô cña HS ph©n tÝch thñ tôc bëi dÊu phÈy nµy VD Read (a); - Lệnh thứ dùng để nhập Readln (x, y, z); gi¸ trÞ tõ bµn phÝm vµ g¸n gi¸ trÞ cho biÕn a - Lệnh thứ dùng để nhập lần lợt gi¸ trÞ tõ bµn phÝm vµ g¸n c¸c gi¸ trị đó tơng ứng cho biến x,y,z GV: Lu ý HS c¸c gi¸ trÞ nhËp cã kiÓu t¬ng øng víi c¸c biÕn danh s¸ch, c¸c gi¸ trÞ øng víi biÕn thùc cã thÓ nhËp díi d¹ng sè nguyªn - LÊy vÝ dô ph©n tÝch: (36) - §Ó da DL mµn h×nh ta dïng thñ tôc §a DL mµn h×nh nµo? GV: §Ó ®a DL mµn h×nh dïng thñ tôc Write hoÆc Writeln Write (<Danh s¸ch kÕt qu¶ ra>); HoÆc Writeln (<Danh s¸ch kÕt qu¶ ra>); Trong đó DS kết là tên biến đơn, biÓu thøc hoÆc h»ng GV: Víi lÖnh Write sau ®a kÕt qu¶ mµn h×nh, trá kh«ng chuyÓn xuèng dßng tiÕp theo, víi lÖnh Writeln trá sÏ chuyÓn xuèng ®Çu dßng tiÕp theo - LÊy vÝ dô vµ ph©n tÝch cho HS thÊy ho¹t VD: Write (‘Nhap M’); Read (M); động câu lệnh Writeln (‘Ban vua nhap so ’,M); - Lấy ví dụ chơng tình đơn giản có sử dụng thủ tục vào đơn giản Program VD; Var M: Byte; Begin Write (‘Nhap vao M = ’); readln (M); Writeln (‘Ban vua nhap vao so ’, M); Write (‘Nhap phim Enter để kết thúc’); Readln GV: Gi¶i thÝch tõng ®o¹n ch¬ng tr×nh End * Gi¶i thÝch quy c¸ch cña thñ tôc Write * Chó ý: (SGK) vµ Writeln - kÕt qu¶ thùc : : <§é réng> : <Sè ch÷ sè thËp ph©n> VD Writeln (N:5, x: 6::2) víi N = 30 vµ x = 28.735 Trªn mµn h×nh sÏ lµ - - - 30- 28.74 §8 So¹n th¶o, dÞch, thùc hiÖn ch¬ng tr×nh GV: §Ó cã thÓ thùc hiÖn ch¬ng tr×nh viÕt b»ng mét ng«n ng÷ lËp tr×nh ta cµn so¹n thảo, sử dụng chơng trình dịch để dịch ch- (37) ơng trình đó sang ngôn ngữ máy - Víi ng«n ng÷ Pascal ta thêng dïng phần mềm Turbo pascal để thực hiÖn nh÷ng c«ng viÖc trªn - Giíi thiÖu mµn h×nh lµm viÖc cña Pascal qua h×nh SGK T32 HS: Quan s¸t h×nh SGKT32 GV: Giíi thiÖu mét sè thao t¸c thêng dïng Pascal Mét sè thao t¸c vµ phÝm t¾t thêng dïng + So¹n th¶o: Gâ néi dung ch¬ng tr×nh + Biªn dÞch ch¬ng tr×nh: Alt + F9 + Ch¹y ch¬ng tr×nh: Crt + F9 + Lu ch¬ng tr×nh: F2 + §ãng cöa sæ ch¬ng tr×nh: Alt + F3 + Tho¸t khái ch¬ng tr×nh: Alt + F4 Cñng cè: - Nhắc lại hoạt động Write/Writeln, Read/Readln - Yªu cÇu HS lÊy mét sè vÝ dô cã sö dung cÊu tróc vµo/ra Pascal DÆn dß: - HS vÒ häc bµi vµ chuÈn bÞ bµi tËp vµ thùc hµnh SGK T34 Rót kinh nghiÖm ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… (38) Ngµy so¹n:…………………… …… TiÕt 9: Bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc: - Cñng cè l¹i kiÕn thøc vÒ cÊu tróc mét ch¬ng tr×nh - Học sinh làm quen với chơng trình Pascal đơn giản và hoàn chỉnh - HS biÕt c¶i tiÕn ch¬ng tr×nh - NhËp mét sè bé d÷ liÖu kh¸c vµ quan s¸t kÕt qu¶ trªn mµn h×nh - Lµm quen víi mét sè dÞch vô c¬ b¶n cña Turbo pascal hoÆc Free pascal so¹n th¶o, lu tr÷, dÞch vµ thùc hiÖn ch¬ng tr×nh KÜ n¨ng: - So¹n th¶o, biªn dÞch, lu ch¬ng tr×nh, thùc hiÖn vµ hiÖu chØnh mét ch¬ng tr×nh pascal đơn giản - HS soạn thảo đợc chơng trình Pascal đơn giản - HS tự lập trình đợc bài tập đơn giản Thái độ: - Học sinh có thái độc chuẩn mực, làm việc chính xác, có lòng ham mê môn học II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Ph¬ng ph¸p: Híng dÉn, lµm mÉu, gîi ý - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + phßng m¸y thùc hµnh Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: (39) KiÓm tra bµi cò: - H·y nªu thñ tôc ®a DL mµn h×nh, cho vÝ dô Cho biÕt sù kh¸c gièng gi÷a Write vµ Writeln - Viết chơng trình đơn giản nhập vào số a và b sau đó đa số vừa nhập 2, Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung Gâ néi dung ch¬ng tr×nh Gi¶i ph¬ng tr×nh bËc (SGK T34) GV: Híng dÉn HS c¸ch vµo m«i trêng a Vµo m«i trêng Turbo Pascal Turbo Pascal HS: Nháy đáp chuột vào biểu tợng Pascal trên màn hình sau đó gõ nội dung chơng tr×nh GV: Nh¾c HS phÇn chó ý SGK T34 b NhÊn phÝm F2 vµ lu ch¬ng tr×nh víi tªn lµ PTB2.pas GV: §Ó ch¬ng tr×nh gâ vµo kh«ng bÞ mÊt cã sù cè th× ta ph¶i lu ch¬ng tr×nh Híng dÉn HS lu ch¬ng tr×nh, chó ý c¸ch đặt tên chơng trình HS: NhÊn phÝm F2 vµ lu ch¬ng tr×nh víi tªn lµ PTB2.pas GV: Để chơng trình có thể chạy đợc trên m¸y ®iÒu ®Çu tiªn sau gâ xong ch¬ng tr×nh ta ph¶i tiÕn hµnh dÞch vµ söa lçi ch¬ng tr×nh HS: Nhấn phím F9 Alt + F9 để dịch ch¬ng tr×nh vµ tiÕn hµnh söa lçi GV: Híng dÉn HS c¸ch söa lçi - Yªu cÇu HS ch¹y thö ch¬ng tr×nh ch¬ng tr×nh kh«ng cßn lçi b Nhấn tổ hợp phím Alt + F9 để dÞch vµ sö lçi có ph¸p nÕu cã (40) HS: NhÊn phÝm Ctrl + F9 - TiÕn hµnh nhËp c¸c gi¸ trÞ 1, -3, vµ quan s¸t kÕt qu¶ trªn mµn h×nh X1 = 1.00 vµ X2 = 2.00 c Nhấn tổ hợp phím Ctrl + F9 để thùc hiÖn ch¬ng tr×nh NhËp c¸c gi¸ trÞ 1, -3, Quan s¸t kÕt qu¶ hiÖn thÞ trªn mµn h×nh (x1 = 1.00 vµ x2 = 2.00) d NhÊn tæ hîp phÝm Ctrl + F9 råi nhËp c¸c gi¸ trÞ 1, 0, -2 Quan s¸t kÕt qu¶ trªn mµn h×nh (x1 = -1.41; x2 = 1.41) GV: Yªu cÇu HS quay trë l¹i ch¬ng tr×nh và chạy với DL đã cho ý e HS: Nhấn phím Enter để quay lại chơng tr×nh vµ nhËp bé DL kh¸c 1, 0, -2 - Quan s¸t kÕt qu¶ trªn mµn h×nh X1 = -1.41 vµ X2 = 1.41 GV: Híng dÉn HS kh«ng dïng biÕn trung gian D mµ tÝnh lu«n x1 f Söa l¹i ch¬ng tr×nh trªn cho kh«ng - Thay gi¸ trÞ cña biÕn trung gian D vµo dïng biÕn trung gian D Thùc hiÖn chc«ng thøc tÝnh x1 ơng trình đã sửa với các DL trên HS: CÇn söa l¹i ch¬ng tr×nh tÝnh x1 GV: Ngoài cách tính x2 = -b/a – x1 còn g Sửa lại chơng trình nhận đợc câu c cã c¸ch tÝnh kh¸c kh«ng? cách thay đổi công thức tính x2 (có HS: Trả lời sau đó tự sửa lại chơng trình cách để tính x2) (41) h Thực chơng trình đã sửa với bé DL 1, - 5, quan s¸t kÕt qu¶ trªn HS: ấn tổ hợp phím Ctrl + F9 sau đó nhập mµn h×nh x1 = 2.00; x2 = 3.00 gi¸ trÞ 1, -5, HS: ấn tổ hợp Ctrl + F9 đó nhập DL 1, 1, i Thùc hiÖn ch¬ng tr×nh víi bé DL 1, 1, vµ quan s¸t kÕt qu¶ trªn mµn h×nh Cñng cè: - Nh¾c l¹i mét sè thao t¸c c¬ b¶n lµm viÖc víi m«i trêng Turbo Pascal - C¸c phÝm chøc n¨ng qu¸ lu ch¬ng tr×nh, dÞch vµ ch¹y ch¬ng tr×nh DÆn dß: - HS gõ lại chơng trình và thử với vài DL khác để quan sát kết trên mµn h×nh - ChuÈn bÞ c¸c ý cßn l¹i cña bµi thùc hµnh giê sau thùc hµnh tiÕp Rót kinh nghiÖm (42) Ngµy so¹n:…………………… …… TiÕt 10: KiÓm tra mét tiÕt Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc: - KiÓm tra kiÕn thøc cña häc sinh vÒ cÊu tróc cña mét ch¬ng tr×nh Pascal - Cách khai báo biến, sử dụng đợc số kiểu DL chuẩn đã học KÜ n¨ng: - Lập trình giải số bài toán đơn giản nh giải phơng trình bậc và bậc hai, số bài toán tính tổng tích thơng hai số và tính diện tích số hình đơn giản Thái độ: - HS có thái độ học tập đúng đắn học lập trình II Ph¬ng ph¸p - Kiểm tra trên giấy: (Loại đề 30% trắc nghiệm, 70% tự luận) III ChuÈn bÞ: - GV: §Ò kiÓm - HS: Kiến thức để kiểm tra (43) §Ò kiÓm tra tiÕt m«n tin häc I tr¾c nghiÖm Câu 1: Hãy chọn cách khai báo tên chơng trình đúng các khai báo sau: A Program Vidu1; B Program 1Vidu; C Prgam Vidu1 D Program : Vidu1; Câu 2: Trong ngôn ngữ lập trình Pascal, phần thân chơng trình đợc xác định cặp dÊu hiÖu më ®Çu vµ kÕt thóc lµ: A Begin B Begin [<D·y lÖnh>] [<D·y lÖnh>] End; End C Begin D Begin [<D·y lÖnh>] [<D·y lÖnh>] End, End Câu 3: Hãy chọn cách khai báo biến đúng các khai báo sau: A Var x y : byte; B Var x, y : byte; C Var : x, y byte; D Var : x y byte Câu 4: Giả sử biến SN dùng để lu số ngày tháng bất kì năm, chọn cách khai báo biến SN đúng và tốn ít nhớ A Var SN: Word B Var SN: Real; C Var SN: Integer D Var SN: Byte; Câu 5: Hãy chọn cách viết biểu thức quan hệ đúng các biểu thức quan hệ sau: A ‘Tin hoc’ >= 3*x B 2*y <= ‘3ab’ C 2*x >= 5*y D sprt(b*b – 4*a*c) Câu 6: Chọn lệnh gán đúng cho biến x A x:-b/a; B x=-b/a; C x:=-b/a; D x:=-b/a II tù luËn Câu 1: Cho chơng trình sau hãy chỗ sai và sửa lại cho đúng Program BT3 Var T, N = Byte; Begin Write (‘Nhap gia tri cho T va N’); Readln (T ; N); T = 250 - N; Write (‘Gia tri cua T la “T”); Readln End Câu 2: Viết chơng trình tính tổng và hiệu số a và b bất kì đợc nhập vào từ bàn phÝm (44) §¸p ¸n – thang ®iÓm chÊm I tr¾c nghiÖm (3 ®iÓm) C©u C©u C©u C©u C©u C©u A A B D C C II tù luËn (7 ®iÓm) C©u 1:(2 ®iÓm) Var T,N: Byte 0,5 ®iÓm Write (‘Nhap gia tri cho N’); Readln (N); 0,5 ®iÓm T:= 250 – N; 0,5 ®iÓm Write (‘Gia tri cua cua T la’,T) 0,5 ®iÓm C©u 2: (5 ®iÓm) Program tonghieu; Var a, b, tong, hieu: real; Begin Write (‘Nhap gia tri cho a va b’); Readln (a,b); Tong := a+b; Hieu:= a- b; Write (‘Tong cua a va b la’,tong); Write (‘Hieu cua a va b la’,hieu); Readln End ®iÓm ®iÓm ®iÓm ®iÓm (45) Ngµy so¹n:…………………… …… TiÕt 11: ch¬ng III: CÊu tróc rÏ nh¸nh vµ lÆp §9 cÊu tróc rÏ nh¸nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: 1.KiÕn thøc - HiÓu nhu cÇu cña cÊu tróc rÏ nh¸nh biÓu diÔn thuËt to¸n - HiÓu c©u lÖnh rÏ nh¸nh - HiÓu c©u lÖnh ghÐp KÜ n¨ng - Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số bài toán đơn giản - Viết đợc câu lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đủ và áp dụng để thể đợc thuật toán số bài toán đơn giản Thái độ - H×nh thµnh phong c¸ch lµm viÖc chuÈn mùc, thao t¸c døt kho¸t, lu«n cã ý thøc ham häc hái - Gióp häc sinh thªm yªu thÝch vµ høng thó víi m«n häc II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Kh«ng kiÓm tra) (46) Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung RÏ nh¸nh GV: Em h·y lÊy mét c©u sö dông liªn tõ nÕu th× ? HS: Tr¶ lêi c©u hái VD1: ‘ NÕu Ch©u kh«ng häc bµi th× sÏ bÞ GV: đó là câu diễn đạt điều kiện, điểm kém’ câu đó nói có điều kiện không nói ®iÒu kiÖn ngîc lai Ta nói cách diễn đạt nh thuộc dạng thiÕu: NÕu th× - VËy c©u nãi cã c¶ ®iÒu kiÖn ngîc l¹i sÏ nh thÕ nµo ? HS: Tr¶ lêi c©u hái VD2: ‘ NÕu Ch©u kh«ng häc bµi th× sÏ bÞ ®iÓm kÐm, nÕu häc bµi th× sÏ cã ®iÓm cao’ GV:đó là diễn đạt thuộc dạng đủ Vậy Ta nói cách diễn đạt nh thuộc dạng cÊu tróc rÏ nh¸nh lµ g× ? đủ: NÕu th× , nÕu kh«ng th× HS: Tr¶ lêi c©u hái VËy cÊu tróc rÏ nh¸nh lµ thÓ hiÖn sù lùa chän c«ng viÖc phï hîp víi ®iÒu kiÖn GV: nhËn xÐt, bæ sung - XÐt VD ban ®Çu vÒ gi¶i PT bËc hai ta cã thuËt to¸n nh thÕ nµo ? HS: Tr¶ lêi c©u hái GV: Ta có thể diễn dạt sơ đồ khối nh sau : (treo tranh hoÆc b¶ng phô) - VËy Pascal th× c©u lÖnh rÏ nh¸nh đợc thể nào ? ta vào phần GV: Treo bảng phụ sơ đồ dạng (thiếu và Câu lệnh if-then (47) a, D¹ng thiÕu Có ph¸p: if <®iÒu kiÖn> then <c©u lÖnh> ; đủ) giải thích GV: vd kiÓm tra ®iÒu kiÖn delta<0 th× viÕt PT v« nghiÖm ? - H·y kiÓm tra ®iÒu kiÖn a cã chia hÕt cho kh«ng ? - H·y viÕt c©u lÖnh Pascal ? HS: HS: Tr¶ lêi c©u hái GV: Giải thích hoạt động câu lệnh qua b¶ng phô, - Yêu cầu HS diễn đạt số điều kiện sau; + KiÓm tra Delta nÕu Delta<0 th× ®a th«ng b¸o PT v« nghiÖ, ngîc l¹i ®a nghiÖm cña PT + KiÓm tra ®iÒu kiÖn sè A lµ sè ch½n, nÕu lµ sè ch½n th× th«ng b¸o A lµ sè ch½n, ngîc l¹i A kh«ng ph¶i lµ sè ch½n HS: Tr¶ lêi + dạng thiếu: điều kiện đợc tính và kiểm tra Nếu điều kiện đúng (có giá trị True) thì câu lệnh đợc thực hiện, ngợc l¹i th× c©u lÖnh sÏ bÞ bá qua b, Dạng đủ Có ph¸p : if <®iÒu kiÖn> then <c©u lÖnh 1> else <c©u lÖnh 2>; + §iÒu kiÖn lµ biÓu thøc l«gic + c©u lÖnh 1, c©u lÖnh lµ mét c©u lÖnh cña Pascal + dạng đủ: điều kiện đợc tính và kiểm tra Nếu điều kiện đúng thì câu lệnh đợc thực hiện, ngợc lại thì câu lệnh đợc thực VD1: if delta<0 then write(‘PT v« nghiÖm’); VD2: if a mod 3=0 then write(‘a chia het cho 3’) else write(‘a khong chia het cho 3’); Cñng cè: HÖ thèng l¹i kiÕn thøc - Nhu cÇu cña cÊu tróc rÏ nh¸nh biÓu diÔn thuËt to¸n - C©u lÖnh rÏ nh¸nh DÆn dß: - Tr¶ lêi c¸c c©u hái SBT - Häc bµi vµ chuÈn bÞ tríc néi dung phÇn tiÕp theo (48) Rót kinh nghiÖm ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… (49) Ngµy so¹n:…………………… …… TiÕt 12: §9 CÊu tróc rÏ nh¸nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: 1.KiÕn thøc - Hiểu câu lệnh ghép qua số ví dụ đơn giản - Củng cố kiến thức cấu trúc rẽ nhánh dạng thiếu và dạng đủ KÜ n¨ng - Viết đợc câu lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đủ và áp dụng để thể đợc thuật toán số bài toán đơn giản, biết vận dụng câu lệnh ghép để làm số bài tập đơn giản Thái độ - H×nh thµnh phong c¸ch lµm viÖc chuÈn mùc, thao t¸c døt kho¸t, lu«n cã ý thøc ham häc hái - Gióp häc sinh thªm yªu thÝch vµ høng thó víi m«n häc II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: C©u hái: H·y cho biÕt sù gièng vµ kh¸c cña hai d¹ng c©u lÖnh Bµi míi: if – then ? (50) Hoạt động Giáo viên và Học sinh Néi dung GV: Ta thÊy sau c©u lÖnh rÏ nh¸nh chØ C©u lÖnh ghÐp thực đợc lệnh Vậy muốn thực nhiều lệnh có đợc không ? HS: Tr¶ lêi c©u hái GV: Sau ®iÒu kiÖn delta >=0 ta ph¶i tÝnh nghiÖm v× vËy cã mÊy c©u lÖnh ? HS: Tr¶ lêi c©u hái GV: V× vËy nã thuéc lo¹i c©u lÖnh nµo ? HS: Tr¶ lêi c©u hái GV: Hãy viết câu lệnh đó ? HS: Tr¶ lêi c©u hái C©u lÖnh ghÐp cã d¹ng: Begin <c¸c c©u lÖnh> End; C©u lÖnh, c©u lÖnh 1, c©u lÖnh c©u lÖnh rÏ nh¸nh cã thÓ lµ c©u lÖnh ghÐp VD: if delta < then write(‘ Pt vo nghiem’); else begin x1:=(-b-sqrt(delta))/2/a; x2:= -b/a-x1; end; GV: Ta xÐt mét sè ch¬ng tr×nh hoµn 4, Mét sè vÝ dô thiÖn th«ng qua mét sè VD sau: VD1: T×m nghiÖm cña PT bËc - Hãy xác định Input và Output bài toán? ax2+bx+c=0 , víi a≠ HS: Tr¶ lêi c©u hái Input : c¸c sè a, b, c tõ bµn phÝm Output : th«ng b¸o nghiÖm (51) GV: CT cÇn khai b¸o nh÷ng biÕn g×? Program giai_ptb2; HS: Tr¶ lêi c©u hái Var a,b,c:real; GV: Treo sơ đồ khối lên và yêu cầu hs D,x1,x2:real; chuyÓn thµnh c¸c c©u lÖnh ? Begin HS: quan s¸t vµ tr¶ lêi Write(‘a,b,c:’); GV: yªu cÇu HS x©y dùng ch¬ng tr×nh Readln(a,b,c); theo c¸c bíc vµ gîi ý cña gi¸o viªn D:= b*b-4*a*c; If D<0 then writeln(‘ phuong trinh vo nghiem’); Else Begin X1:=(-b- sqrt(b*b-4*a*c))/(2*a); X2:= -b/a-X1; writeln(‘x1=’,x1:8:3,’x2=’,x2:8:3); End; Readln End VD2: Input : N nhËp tõ bµn phÝm Output : §a sè ngµy cña n¨m N GV: Hãy xác định Input và Output bài Program nam_nhuan; to¸n? Var n,sn:integer; HS: Tr¶ lêi c©u hái Begin Write(‘nam:’); Readln(n); If (n mod 400=0) or (n mod 4=0 ) and (n GV: CT cÇn khai b¸o nh÷ng biÕn g×? mod 100<>0) then sn:=366 HS: Tr¶ lêi c©u hái Else GV: Treo sơ đồ khối lên và yêu cầu hs Sn:=365; chuyÓn thµnh c¸c c©u lÖnh ? Writeln(‘so cua nam’, n,’la’, sn); HS: quan s¸t vµ tr¶ lêi readln GV: yªu cÇu HS x©y dùng ch¬ng tr×nh End theo c¸c bíc vµ gîi ý cña gi¸o viªn Cñng cè: (52) - Câu lệnh ghép là số câu lệnh đợc đặt cặp từ khoá begin, end - Yªu cÇu HS viÕt l¹i ch¬ng tr×nh ë VD1 xÐt Delta trêng hîp: Delta = 0, Delta > vµ Delta < DÆn dß: - VÒ xem l¹i cÊu tróc c©u lÖnh rÏ nh¸nh - Lµm bµi tËp 1->4 cuèi ch¬ng Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (53) Ngµy so¹n:…………………… …… TiÕt 13: bµi tËp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc: - KiÓm tra viÖc lµm bµi tËp vÒ nhµ cña häc sinh sau häc xong ch¬ng II - HÖ thèng hãa, cñng cè kiÕn thøc vÒ néi dung c¸c môc trªn - Củng cố nội dung đạt đựơc tiết thực hành - Cñng cã l¹i kiÕn thøc vÒ cÊu tróc rÏ nh¸nh, gi¶i mét sè bµi to¸n cã sö dông cÊu tróc rÏ nh¸nh KÜ n¨ng: - Biết xác định Input và Output - Vận dụng kiến thức đã học giải thành thạo làm các bài tập SGK T - RÌn luyÖn t tæng hîp vµ t häc nhãm Thái độ - Xác định thái độ nghiêm túc học tập làm quen với nhiều quy định nghiªm ngÆt lËp tr×nh; - Cã ý thøc cè g¾ng häc tËp vît qua nh÷ng khã kh¨n ë giai ®o¹n b¾t ®Çu häc c©u lÖnh rÏ nh¸nh vµ c©u lªnh ghÐp II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + m¸y tÝnh, m¸y chiÕu (54) Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: KiÓm tra 15 phót: Câu 1: Trình bày cấu trúc rẽ nhánh dạng thiếu và đủ Cho ví dụ Câu 2: Viết chơng trình nhập vào số kiểm tra tính chẵn lẻ số đó Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung Bµi 8/SGKtr36 GV: Hớng dẫn học sinh phát đợc Gîi ý : ((y<1) or (y=1) and ((y>abs(x)) đặc điểm toạ độ (x,y) điểm or (y=abs(x))) hoÆc (y<=1) and thuéc vïng g¹ch c¸c h×nh 2a vµ 2b (y>=abs(x)) cña Bµi 8/SGKtr36 a (y>=abs(x)) and (y<=1); b (abs(x)<=1) and (abs(y)<=1); GV: Híng dÉn häc sinh gi¶i Bµi Bµi 9/SGKtr36 9/SGKtr36 nh: t×m input, output, nhËn xÐt - NhËn xÐt diÖn tÝch phÇn g¹ch đặc điểm diện tích vùng gạch chéo hình b»ng diÖn tÝch h×nh trßn t©m SGK (b»ng ½ diÖn tÝch h×nh trßn 0(0,0) b¸n b¸n kÝnh b»ng a) Gäi HS lªn b¶ng viÕt ch¬ng tr×nh kÝnh R=a HS: ViÕt ch¬ng tr×nh * Lu ý : Sè π lµ mét h»ng Pascal GV: NhËn xÐt, chØnh söa và đợc kí hiệu là Pi Giá trị Pi là 3,1415926536 Ch¬ng tr×nh Program bai9; Var a : real ; Begin Write(‘ Nhap gia tri a (a>0): ’); Readln (a) Write (’Dien tich phan gach la:’, a*a*pi/2:20:4); Readln (55) End GV: Cã thÓ viÕt s½n ch¬ng tr×nh gi¶i bµi NÕu a=2, kÕt qu¶ sÏ lµ: 6.2832 10 trªn giÊy khæ lín, nhng ch¬ng tr×nh còn sai vài chỗ để học sinh tìm lỗi và Bài 10/SGKtr36 söa Uses crt ; HS: Quan s¸t vµ chØnh söa Const g = 9.8 ; GV: Kh¸i qu¸t l¹i néi dung Var v, h : real ; Begin Clrscr; Write(‘nhap cao cua vat h= ’); readln(h); V:=sqrt(2*g*h); Writeln(’van toc cham dat la v = ’,v:10:2,’ m/s’); Readln GV: Yªu c©u HS cho biÕt sù gièng vµ End kh¸c cña hai d¹ng c©u lÖnh if- Bµi tËp 1: H·y cho biÕt sù gièng vµ kh¸c then cña hai d¹ng c©u lÖnh if-then HS:Tr¶ lêi c©u hái Gièng nhau: Cïng lµ c©u lÖnh cÊu tróc rẽ nhánh, gặp điều kiện nào đó th× chän thùc hiÖn thao t¸c thÝch hîp Kh¸c nhau: Trong c©u lÖnh If – then dạng thiếu, điều kiện không đúng thì tho¸t khái cÊu tróc rÏ nh¸nh, thùc hiÖn c©u lÖnh tiÕp theo cña ch¬ng tr×nh cßn câu lệnh If – then dạng đủ, điều kiện không đúng thì thực công việc 2, sau đó thoát khỏi cấu trúc rẽ nh¸nh, thùc GV: Theo em c©u lÖnh ghÐp lµ g× ? T¹i hiÖn c©u lÖnh tiÕp theo cña ch¬ng tr×nh Bµi tËp 2: C©u lÖnh ghÐp lµ g× ? T¹i ph¶i cã c©u lÖnh ghÐp ? HS: Câu lệnh ghép là câu lệnh đợc phải có câu lệnh ghép ? hợp thành từ nhiều câu lệnh thành phần - Câu lệnh ghép là câu lệnh đợc hợp thành từ nhiều câu lệnh thành phần (đơn (56) hoÆc ghÐp) C©u lÖnh ghÐp nh»m thùc hiÖn thao t¸c gåm nhiÒu thao t¸c thµnh phÇn Mçi thao t¸c thµnh phÇn t¬ng øng với câu lệnh đơn câu lệnh ghÐp kh¸c - VÒ mÆt ng«n ng÷ lËp tr×nh c©u lÖnh ghÐp lµ mét c¸c yếu tố cần thiết để xây dựng chơng trình cã cÊu tróc (đơn ghép) Câu lệnh ghép nhằm thùc hiÖn thao t¸c gåm nhiÒu thao t¸c thµnh phÇn Mçi thao t¸c thµnh phÇn t¬ng ứng với câu lệnh đơn câu lệnh ghÐp kh¸c VÒ mÆt ng«n ng÷ lËp tr×nh c©u lÖnh ghép là các yếu tố cần thiết để x©y dùng ch¬ng tr×nh cã cÊu tróc Bµi tËp 4: ViÕt c©u lÖnh rÏ nh¸nh a, x2 +y2 nÕu x2 +y2 ≤ Z = x+y nÕu x2 +y2 >1 vµ y≥x 0.5 nÕu x2 +y2 >1 vµ y<x §¸p ¸n If (sqr (x) + sqr(y)) <=1 then z:= GV: Gäi HS lªn b¶ng ch÷a bµi tËp vµ sqr(x)+sqr(y) else bµi tËp SGK51, sè cßn l¹i tù lµm if y>=x then z:= x+y nh¸p else z: = 0.5; HS: Lªn b¶ng lµm bµi tËp |x| + | y| nÕu ®iÓm (x,y) b, GV: Ch÷a l¹i nh÷ng chç sai (nÕu cã) thuéc h×nh trßn b¸n Z= kÝnh r(r>0), t©m (a,b) x+y trêng hîp cßn l¹i §¸p ¸n if (sqr (x-a) + sqr (y-b)) <=sqr(r) then z: = abs (x) + abs (y) else z: =x+y; Cñng cè: - Hãy cho biết khác có đặt tên và biến - Hệ thống lại toàn các bài tập đã chữa, nhấn mạnh điểm cần chú ý DÆn dß: (57) - Tr¶ lêi c¸c c©u hái SBT - Häc bµi vµ chuÈn bÞ tríc néi dung bµi thùc hµnh Rót kinh nghiÖm ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Ngµy so¹n:…………………… …… (58) TiÕt 14,15 bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh - Làm quen với việc hiệu chỉnh chương trình - ViÕt mét ch¬ng tr×nh Pascal sö dông cÊu tróc rÏ nh¸nh - So¹n th¶o, lu, dÞch, söa lçi vµ thùc hiÖn ch¬ng tr×nh - §äc, hiÓu ®o¹n ch¬ng tr×nh KÜ n¨ng - Viết đúng các c©u lệnh rÏ nh¸nh - Rèn luyện cho HS có khả đọc hiểu chơng trình - Tổ chức phòng máy để HS có đợc các kỹ việc bớc đầu lµm quen víi “M«i trêng Turbo Pascal vµ lËp tr×nh sau nµy” T - T linh ho¹t x©y dùng ch¬ng tr×nh cã sö dông cÊu tróc rÏ nh¸nh Thái độ - H×nh thµnh ý thøc tù gi¸c, thao t¸c nhanh nhÑn, chÝnh x¸c; - Nghiªm tóc thùc hiÖn néi quy trªn phßng m¸y vi tÝnh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Ph¬ng ph¸p: Thuyết trình, hỏi đáp, lµm mÉu, híng dÉn - Ph¬ng tiÖn: + GV: ChuÈn bÞ phßng thùc hµnh, gi¸o ¸n, m¸y chiÕu, SGK, SGV, mét sè bµi tËp mÉu phôc vô cho bµi tËp vµ thùc hµnh 2; (59) + HS: ghi chép, đọc trớc nội dung bài thực hành mà GV đã cho từ tiết trớc III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Đánh giá kết qua quá trình làm các bài tập Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung Gõ chương trình sau: Program Pi_ta_go; GV: Yêu cầu học sinh gõ chương trình Uses Crt; bài thực hành số trang 49 SGK và thực Var a,b,c: Integer; các yêu cầu b, c, d, e, f, g, h a2, b2, c2: Longint; Begin Clrscr; Write(‘Nhap a,b,c: ‘); Readln(a, b, c); a2: = a; b2: = b; HS: Khởi động chương trình Pascal và c2: = c; nhập nội dung chương trình vào máy a2: = a2*a; b2: = b2*b; c2: = c2*c; If (a2 = b2+c2) OR (b2 = a2+c2) OR (c2 = a2+b2) Then Writeln(‘ ba so la bo so Pi_ta_go’) Else Writeln(‘ba so khong la bo so Pi_ta_go’); Readln End 2/ Thực các thao tác: b Lu chơng trình với tên Pitago lên đĩa GV: Hướng dẫn học sinh lưu vào đĩa: Nhấn F2 lu víi tªn lµ Pitago c Nhấn phím F7 để thực câu (60) HS: Dịch và hiệu chỉnh: Nhấn F9, quan sát và sửa lỗi có GV: Hướng dẫn học sinh nhấn phím F7 để thực câu lệnh chương trình và quan sát kết HS: + Nhấn F7 thực câu lệnh và nhập các giá trị: a =3, b = 4, c = + Chọn Debug, (nhấn phím CTRL + F4) mở cửa sổ hiệu chỉnh để xem giá trị: KQ: a=9, b2=16, c2=25 + Lặp các bước trên với liệu:a=700, b=1000, c=800 lÖnh cña ch¬ng tr×nh, nhËp c¸c gi¸ trÞ a2, b2, c2 d Vµo b¶ng chän Debug më cöa sæ hiÖu chỉnh để xem giá trị a2, b2, c2 e Nhấn phím F7 để thực các cau lÖnh tÝnh nh÷ng gi¸ trÞ nãi trªn, so s¸nh víi kÕt qu¶ a2=9, b2=16, c2=25 f Quan s¸t qu¸ tr×nh rÏ nh¸nh g lÆp l¹i bíc trªn víi bé d÷ liÖu a = 700, b= 1000, c = 800 GV: Nếu thay dãy lệnh: h Thay d·y lÖnh a2:=a; b2:=b; c2:=c; a2:=a; b2:=b; c2:=c; a2:=a2*a; b2:=b2*b; c2:=c2*c; a2:=a2*a; b2:=b2*b; c2:=c2*c; dãy lệnh: b»ng d·y lÖnh: a2:=a*a; b2:=b*b; a2:=a*a; b2:=b*b; c2:=c*c; thì kết có c2:=c*c gỡ thay đổi với liệu: a = 700, b = thì kết có gì thay đổi DL cho 1000, c= 800 ? c©u g HS: Thay đoạn chương trình trên SGK và thực chương trình, thông báo kết Cñng cè: Cấu trúc chương trình Pascal Cấu trúc câu lệnh rẽ nhánh Dặn dò: ôn lại toàn các thao tác, nhà đọc trớc phần và làm các bài tËp 1->5 SGKtr51 Rót kinh nghiÖm Ngµy so¹n:…………………… …… TiÕt 16: (61) §10 CÊu tróc lÆp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - HiÓu nhu cÇu cña cÊu tróc lÆp biÓu diÔn thuËt to¸n - HiÓu cÊu tróc lÆp víi sè lÇn biÕt tríc vµ c©u lÖnh For – - Biết vận dụng đúng đắn loại cấu trúc lặp vào tình cụ thể KÜ n¨ng: - Mô tả thuật toán số bài toán đơn giản có sử dụng lệnh lặp - Viết đúng các lệnh lặp kiểm tra điều kiện trớc, lệnh lặp với số lần định trớc - Viết thuật toán số bài toán đơn giản Thái độ: - Kh¬i dËy lßng ham thÝch häc lËp tr×nh cña HS II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: - T¹i ph¶i sö dông c©u lÖnh ghÐp? C©u lÖnh ghÐp Pascal cã d¹ng nµo? Bµi míi: Hoạt động Giáo viên và Học sinh GV: Đa các bài toán đặt vấn đề : Tính Lặp Néi dung (62) tæng S, víi a lµ sè nguyªn vµ a>2 1 1 - Víi bµi to¸n yªu cÇu HS ®a S= a + a+1 + a+2 + + a+ 100 c¸ch gi¶i Bµi to¸n 1: HS: Tr¶ lêi GV: Gi¶ng gi¶i nhËn xÐt - Giả sử với a = thì tổng S đợc tính 1 1 S= + + + .+ 3+1 3+2 3+100 Ban đầu S đợc gán giá trị 3+ N Sau đó cộng thêm vào S giá trÞ víi n = 1, 2,3… 100 Bµi to¸n 2: 1 1 S= + + + + + a+ N a a+1 a+2 < 0001 a+ N GV: Gäi HS ®a c¸ch gi¶i HS: tr¶ lêi GV: NhËn xÐt gi¶ng gi¶i Giả sử với a=50 thì S đợc tính S= 1 1 + + + 50 50+1 50+ 50+ N <0 0001 Víi N = 1, 2, 3,… ViÖc 50+ N tÝnh tæng S chØ dõng * C¸ch gi¶i (SGK) Trong lËp tr×nh cã nh÷ng thao t¸c ph¶i < 0001 Nh số lần lặp tính lặp lại nhiều lần, đó ta gọi là cấu trúc a+ N tæng S lµ cha biÕt tríc chØ dõng l¹i lÆp GV: §a mét sè vÝ dô thùc tÕ việc tính toán đợc lặp lại nhiều lần VD1: TÝnh tæng cña ®o¹n sè nguyªn (63) (kh«ng dïng c«ng thøc) VD2: Göi tiÒn vµo ng©n hµng: Gèc th¸ng sau = Gèc + l·i th¸ng tríc LÆp thêng cã lo¹i: lÆp víi sè lÇn biÕt tríc vµ lÆp víi sè lÇn cha biÕt tríc Ng«n ng÷ lËp tr×nh nµo còng cung cÊp số câu lệnh để mô tả cấu trúc lặp nh trên LÆp víi sè lÇn biÕt tríc vµ c©u lÖnh For – GV: Nêu cách giải bài toán để thấy đợc tổng tiến và tổng lùi - §a thuËt to¸n: Tong1a vµ - ThuËt to¸n: Tong_1a (SGK) Tong1b - ThuËt to¸n: Tong_1b (SGK) - Gi¶i thÝch HS: Chó ý quan s¸t thuËt to¸n vµ häc SGK GV: §Ó m« t¶ cÊu tróc lÆp víi sè lÇn biÕt tríc Pascal dïng c©u lÖnh For – víi d¹ng tiÕn vµ lïi nh sau: - §a d¹ng lÆp Pascal dïng c©u lÖnh lÆp For – cã d¹ng: * D¹ng lÆp tiÕn; For <Biến đếm> := <Giá trị đầu> to <Gi¸ trÞ cuèi <C©u lÖnh>; * D¹ng lÆp lïi; For <Biến đếm> := <Giá trị cuối> Downto <Gi¸ trÞ ®Çu> <C©u lÖnh>; GV: Giải thích cho HS biết biến đếm, gi¸ trÞ ®Çu, gi¸ trÞ cuèi - Giải thích hoạt động lệnh lặp tiến - Biến đếm là biến đơn, thờng có vµ lÆp lïi kiÓu nguyªn HS: Nghe vµ häc SGK - Gi¸ trÞ ®Çu, gi¸ trÞ cuèi lµ c¸c biÓu thức cùng kiểu với biến đếm giá trÞ ®Çu ph¶i nhá h¬n hoÆc b»ng gi¸ (64) trÞ cuèi *Hoạt động - D¹ng lÆp tiÕn: C©u lÖnh sau tõ kho¸ Do đợc thực với biến đếm nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trÞ cuèi - D¹ng lÆp lïi: C©u lÖnh sau tõ kho¸ Do đợc thực với biến đếm nhận giá trị liên tiếp giảm từ giá trị cuối đến gi¸ trÞ ®Çu GV: Đa chơng cài đặt các thuật toán Tong_1a vµ Tong_1b Ví dụ 1: Chơng trình cài đặt các thuật - Gäi HS cho biÕt ý nghÜa c¶u tõng to¸n Tong_1a vµ Tong_1b (SGK) dßng lÖnh - Gọi HS giải thích hoạt động ®o¹n lÖnh sau: For N:= to 100 S:= S + 1/(a + N); VÝ dô 2: Ch¬ng tr×nh sau thùc hiÖn viÖc HS: Tr¶ lêi nhËp vµo tõ bµn phÝm hai sè nguyªn d¬ng M vµ N (M<N) tÝnh vµ ®a mµn h×nh tæng c¸c sè chia hÕt cho hoÆc phạm vi từ M đến N (SGK) GV: Lấy ví dụ để phân tích yêu cầu bµi to¸n - Gọi HS giải thích hoạt động tõng c©u lÖnh HS: Tr¶ lêi Cñng cè: - NhÊn m¹nh d¹ng lÆp tiÕn vµ lÆp lïi - Yêu cầu HS cài đặt thuật toán tính tổng các số hạng phạm vi từ a ->b (a<b) với A và B đợc nhập vào từ bàn phím DÆn dß: - HS học bài và đọc trớc mục lặp với số lần cha biết trớc và câu lệnh While - Rót kinh nghiÖm (65) ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (66) Ngµy so¹n:…………………… …… TiÕt 17: §10 cÊu tróc lÆp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: 1.KiÕn thøc - Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán - Hiểu cấu trúc lặp với số lần cha biÕt trước - Biết vận dụng đúng đắn cấu trúc lặp vào tình cụ thể KÜ n¨ng - Mô tả thuật toán số bài toán đơn giản - Viết đúng các lệnh lặp với số lần cha biÕt trước Thái độ - Kh¬i gîi lßng ham thÝch gi¶i to¸n b»ng lËp tr×nh trªn m¸y tÝnh; - Rèn luyện cho HS tính cẩn thận, chu đáo, sáng tạo học tập và có thái độ nghiªm tóc häc tËp II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Phơng tiện: Thầy: SGK + giáo án + tài liệu giảng dạy, tranh minh hoạ sơ đồ lặp với số lần cha biết trớc, Sơ đồ khối thuật toán Tong_2 Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (67) ViÕt cÊu tróc d¹ng c©u lÖnh lÆp for- ? Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung LÆp víi sè lÇn cha biÕt tríc vµ c©u lÖnh while-do Cã thÓ x©y dùng thuËt to¸n Tong_2 nh sau để giải bài toán GV: Yêu cầu học sinh tìm hiểu thuật * ThuËt to¸n Tong_2 toán để giải bài toán B1: S 1/a; N0; {Khëi t¹o S vµ N} HS: Đọc SGK và tìm hiểu thuật toán ? B2: 1/(a+N) <0.0001 thì chuyển đến B5; B3: NN+1; B4: SS+1/(a+N) quay B2; B5: Đưa kết S màn hình kết GV: Tại giá trị khởi tạo N = 0? thúc Có thể N = ; N = ? HS: Vì giá trị khởi tạo S=1/a và thời điểm này chưa thực bước lặp nào nên giá trị N phải là GV: Điều kiện: 1/(a+N) <0.0001 có thể * Nh vËy viÖc lÆp víi sè lÇn cha biÕt tríc xét sau tăng giá trị N:=N+1 sÏ chØ kÕt thóc mét ®iÒu kiÖn cho trkhông ? ớc đợc thoả mãn - Trong thuật toán bước nào lặp lại nhiÒu lÇn? HS : B2, B3 và B4 GV: Thuật toán dừng nào ? HS: Đến nào điều kiện B2 thỏa mãn thì thuật toán dừng GV: Nh vËy viÖc lÆp víi sè lÇn cha biÕt tríc chØ kÕt thóc ®iÒu kiÖn cho tríc 1/ (a+N) <0.0001 thoả mãn GV: Đưa cấu trúc câu lệnh While – * Pascal dïng câu lệnh While-Do m« t¶ (68) Do Pascal, giải thích ý nghĩa các thành phần HS : Nghe gi¶ng, ghi bµi GV: Giải thích hoạt động câu lệnh: TP tÝnh gi¸ trÞ biÓu thøc, kiÓm tra nÕu ®k sai thì kết thúc vòng lặp, đk đúng th× thùc hiÖn c©u lÖnh sau tõ khãa råi quay l¹i kiÓm tra ®iÒu kiÖn => Nh đk luôn luôn đúng thì câu lệnh đợc thực mãi, ta gọi là vòng lÆp v« h¹n cÊu tróc lÆp với số lần chưa biết tríc : While<điều kiện> Do <câu lệnh>; - Trong đó: While, lµ c¸c tõ khãa Điều kiện là biểu thức quan hệ logic Cõu lệnh là câu lệnh đơn ghÐp - ý nghÜa: Khi điều kiện còn đúng thì còn thực câu lệnh sau Do sau đó lại quay kiểm tra điều kiện * Việc thực lệnh While đợc thể trên sơ đồ sau : Sai §iÒu kiÖn §óng GV: Yêu cầu học sinh quan sát sơ đồ thực lệnh While – Do (hình SGK_46) HS: Quan s¸t vµ tr¶ lêi GV: đặt các câu hỏi - CÇn khai b¸o c¸c biÕn nµo ? - Bíc cña thuËt to¸n viÕt thÕ nµo? ViÕt bíc 2, 3, th× dïng cÊu tróc lÆp nµo ? GV: Nh÷ng bíc nµo cña thuËt to¸n lÆp lại nhiều lần (b2,b3,b4) ? Lặp đến nµo(®iÒu kiÖn lÆp ?) GV: Gọi HS lên viết câu lệnh lặp Whiledo để kiểm tra đk lặp C©u lÖnh * Ví dụ 1: Sơ đồ khối và chơng trình cài đặt thuật toán Tong_2 + Sơ đồ khối (SGK) + Chơng trình cài đặt thuật toán Progam Tong_2 Uses crt; Var S: Real; a, N: Integer; Begin Write (‘Nhap vao a’); Readln (a); S:= 1/a; N:=0; While not (1/(a+N)<0.0001) (69) HS: Lªn b¶ng tr×nh bµy GV: Quan s¸t, nhËn xÐt vµ bæ sung - Gi¶i thÝch mét sè c©u lÖnh ch¬ng tr×nh GV: XÐt VD cho hai sè M,N nguyªn d¬ng h·y t×m UCLN cña M, N Begin N:= N+1; S:= S+1/(a + N); End; Writeln (‘Tong S la’, S:8:4); Readln End VÝ dô 2: T×m ƯCLN(M,N) GV: Em h·y nªu thuËt to¸n gi¶i bµi to¸n trªn ? HS: Tr¶ lêi * ThuËt to¸n Bíc 1: NhËp M, N Bíc 2: NÕu M = N th× lÊy gi¸ trÞ chung này làm UCLN chuyển đến bớc Bíc 3: NÕu M > N th× M <- M – N ngîc l¹i N <- N – M Bíc 4: Quay l¹i bíc Bíc 5: §a kÕt qu¶ UCLN råi kÕt thóc * Ch¬ng tr×nh t×m UCLN Program UCLN GV: Hãy chuyển thuật toán đó thành chUses crt; ¬ng tr×nh ? Var N, M: Integer; HS: Tr¶ lêi Begin clrscr; GV: VËy CT sö dông c©u lÖnh lÆp Write (‘M, N = ‘); d¹ng nµo ? Readln (M,N); HS: Tr¶ lêi While M<>N GV: Em h·y viÕt phÇn khai b¸o vµ nhËp if M>N then M:= M – N M, N? else N := N – M; Writeln (‘UCLN =’, M); HS: Tr¶ lêi Readln GV: §iÒu kiÖn cña vßng lÆp lµ g× ? End (70) HS: Tr¶ lêi GV: Trong vòng lặp ĐK còn đúng th× sÏ lµm g× ? HS: Tr¶ lêi GV: Khi §K sai kÕt thóc vßng lÆp th× lµm g× ? HS: Tr¶ lêi Cñng cè: Nh¾c l¹i cÊu tróc vßng lÆp kh«ng biÕt tríc sè lÇn Hoạt động câu lệnh là còn lặp ĐK còn đúng DÆn dß: Về xem lại hai loại câu lặp đã học Xem lại các CT đã viết Xem tríc bµi thùc hµnh Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (71) Ngµy so¹n:…………………… …… TiÕt 18: «n tËp häc k× I Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: Kiến thức Học sinh nắm toàn kiến thức đó học từ bài đến bài 11 HÖ thèng hãa kiÕn thøc c¬ b¶n cña ch¬ng I, ch¬ng II ch¬ng III Cñng cè kiÕn thức đã học học sinh đã học học kì I Nhấn mạnh vấn đề trọng tâm Kĩ Rèn luyên kĩ nhận xét, phân tích bài toán, viÕt ch¬ng tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - ThÇy: SGK + tµi liÖu gi¶ng d¹y, số chương trình bài tập - Trò: ôn kĩ nội dung đã học III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (KiÓm tra l¹i kiÕn thøc cò «n tËp) Néi dung «n tËp: Hoạt động Giáo viên và Học sinh Néi dung C©u 1: Cấu trúc chung chương GV: - Cấu trúc chung chương trình trình TP? TP? Mçi ch¬ng tr×nh nãi chung gåm hai (72) HS: Tham kh¶o SGK, tr¶ lêi c©u hái - Nêu tên các kiểu liệu chuẩn? - Nêu các nhóm phép toán đã học? - Các loại biểu thức? - Phép toán số học, phép toán quan hệ, phép toán logic - Biểu thức số học, biểu thức quan hệ và biểu thức logic - Dùng để tính toán biểu thức và gán giá trị cho biến - Hàm bình phương, hàm bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos - Chức và thực lệnh gán? - Nêu tên và chức số hàm số học? - Tổ chức vào/ra - Tổ chức rẽ nhánh - Tổ chức lặp phÇn : PhÇn khai b¸o vµ phÇn th©n ch¬ng tr×nh [<PhÇn khai b¸o>] <PhÇn th©n> - Tên các kiểu liệu chuẩn KiÓu nguyªn KiÓu thùc KiÓu kÝ tù KiÓu Logic - Nêu các nhóm phép toán đã học? - Các loại biểu thức? - Phép toán số học, phép toán quan hệ, phép toán logic - Biểu thức số học, biểu thức quan hệ và biểu thức logic - Dùng để tính toán biểu thức và gán giá trị cho biến - Hàm bình phương, hàm bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos - Chức và thực lệnh gán? - Nêu tên và chức số hàm số học? - Tổ chức vào/ra C©u 2: Khai b¸o biÕn GV: Mọi biến dùng chơng trình cÇn khai b¸o tªn vµ kiÓu d÷ liÖu cña biÕn, biến đợc khai báo lần - khai b¸o biÕn Pascal b¾t ®Çu - Gäi HS nh¾c l¹i cÊu tróc khai b¸o biÕn b»ng tõ kho¸ Pascal Var <danh s¸ch biÕn>: <kiÓu d÷ liÖu>; HS: Tr¶ lêi GV: lu ý đến phạm vi giá trị biến - Đa số bài toán đơn giản gọi HS xác định bài toán và xác định các biến (73) cÇn khai b¸o vµ kiÓu DL cña biÕn C©u 3: C¸c phÐp to¸n, biÓu thøc c©u lÖnh g¸n GV: Yêu cầu HS nắm đợc các phép toán, biểu thức Pascal, lấy đợc ví dụ - C©u lÖnh g¸n Pascal cã d¹ng HS: Nh¾c l¹i có ph¸p c¶u c©u lÖnh g¸n vµ <Tªn biÕn>:= <BiÓu thøc> cho vÝ dô - ý nghÜa cña c©u lÖnh g¸n: G¸n cho tªn biến bên trái giá trị đúng biểu thøc bªn ph¶i GV: Gäi HS nh¾c l¹i c¸c thñ tôc vµo/ra đơn giản Pascal Câu4: Các thủ tục vào đơn giản HS: Tr¶ lêi - Thñ tôc ®a d÷ liÖu vµo tõ bµn phÝm - Thñ tôc ®a d÷ liÖu mµn GV: Lu ý HS víi thñ tôc Write hoÆc h×nh Writeln cã thÓ cã quy c¸ch GV: Nhắc lại cấu trúc rẽ nhánh sau đó gọi HS cho biết hoạt động cấu trúc HS: Trả lời sau đó lấy ví dụ GV: NhËn xÐt vµ bæ xung C©u 4: Tổ chức rẽ nhánh VËy cÊu tróc rÏ nh¸nh lµ thÓ hiÖn sù lùa chän c«ng viÖc phï hîp víi ®iÒu kiÖn C©u lÖnh if-then * D¹ng thiÕu Có ph¸p: if<®iÒu kiÖn>then <c©u lÖnh> ; * Dạng đủ Có ph¸p : if <®iÒu kiÖn> then <c©u lÖnh 1> else <c©u lÖnh 2>; VËy cÊu tróc rÏ nh¸nh lµ thÓ hiÖn sù lùa chän c«ng viÖc phï hîp víi ®iÒu kiÖn C©u lÖnh if-then * D¹ng thiÕu (74) Có ph¸p: if<®iÒu kiÖn>then <c©u lÖnh> ; * Dạng đủ Có ph¸p : if <®iÒu kiÖn> then <c©u lÖnh 1> else <c©u lÖnh 2>; C©u 5: Tổ chức lặp LÆp víi sè lÇn biÕt tríc - D¹ng lÆp tiÕn - D¹ng lÆp lïi GV: Em h·y cho biÕt cÊu tróc cña LÆp víi sè lÇn biÕt tríc HS: Tr¶ lêi c©u hái - Đa hoạt động câu lệnh lặp với số lÇn biÕt tríc GV: §a mét sè bµi to¸n cã sö dông cÊu tróc lÆp víi sè lÇn biÕt tríc Cñng cè: - Tãm lîc néi dung cÇn ghi nhí, nhÊn m¹nh nh÷ng ®iÓm cÇn chó ý DÆn dß: - Về nhà ôn lại toàn kiến thức đã học, chuẩn bị trớc số hệ thống c©u hái tr¾c nghiÖm vµ mét sè bµI tËp, giê sau tiÕp tôc «n tËp (75) (76) TiÕt 20: Ch¬ng IV: KiÓu d÷ liÖu cã cÊu tróc §11 kiÓu m¶ng (TiÕt 1) Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - Häc sinh cÇn hiÓu râ: - KiÓu m¶ng lµ mét kiÓu d÷ liÖu cã cÊu tróc, rÊt cÇn thiÕt vµ h÷u Ých nhiÒu ch¬ng tr×nh; - M¶ng mét chiÒu lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu; - C¸c ng«n ng÷ lËp tr×nh th«ng dông cho phÐp x©y dùng kiÓu d÷ liÖu m¶ng mét chiÒu KÜ n¨ng - Khai b¸o thµnh th¹o m¶ng mét chiÒu Thái độ - Nghiªm tóc, ch¨m chØ - Gióp häc sinh thªm yªu thÝch vµ høng thó víi m«n häc II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (77) - Câu hỏi: Nêu cấu trúc câu lệnh rẽ nhánh và câu lệnh lặp và hoạt động các câu lệnh đó ? Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung GV: Đa bài toán tính nhiệt độ trung b×nh cña mét tuÇn vµ sè lîng ngµy cã nhiệt độ cao nhiệt độ TB - Yêu cầu HS xác định bài toán và xác định các biến cần khai báo HS: Tr¶ lêi GV: Với kiến thức đã học các em có thể làm đợc không? HS: … GV: NÕu sö dông nhiÒu biÕn nh vËy th× cã nh÷ng r¾c rèi nµo ? HS: GV: §Ó thuËn tiÖn h¬n ta cã thÓ sö dông cấu trúc để mô tả bài hôm ta häc, KiÓu m¶ng mét chiÒu - M¶ng mét chiÒu lµ mét d·y h÷u h¹n các phần tử có cùng kiểu mảng đợc đặt tªn vµ mçi phÇn tö m¶ng cã mét chØ sè * Với mảng chiều ta cần xác định: Tªn m¶ng mét chiÒu; GV: Qua KN m¶ng mét chiÒu th× m¶ng Sè lîng phÇn tö m¶ng; chiều xác định biết? KiÓu d÷ liÖu cña phÇn tö; C¸ch khai b¸o biÕn m¶ng mét HS: chiÒu; Cách tham chiếu đến phần tử * Ví dụ: Nhập vào nhiệt độ trung bình cña mçi ngµy tuÇn TÝnh vµ ®a màn hình nhiệt độ trung bình tuần GV: Ghi bảng số đoạn chơng trình và đếm số ngày có nhiệt độ lớn 10 11 (78) bài toán tính nhiệt độ trung bình tuần đa nhận xét độ phức tạp viết ct? HS: GV: Gi¶i thÝch mét sè c©u lÖnh ch¬ng tr×nh HS: Chó ý l¾ng nghe nhiệt độ trung bình Ch¬ng tr×nh1: Kh«ng sö dông kiÓu m¶ng Program Nhietdo_Tuan; Var t1, t2, t3, t4, t5, t6, t7, tb : Real; Dem : integer ; Begin Writeln (‘ Nhap vao nhiet cua : ’); Readln (t1, t2, t3, t4, t5, t6, t7) ; Dem := ; If t1>tb then dem := dem+1 ; If t2>tb then dem := dem+1 ; If t3>tb then dem := dem+1 ; If t4>tb then dem := dem+1 ; If t5>tb then dem := dem+1 ; If t6>tb then dem := dem+1 ; If t7>tb then dem := dem+1 ; Writeln (‘Nhiet trung binh cua tuan: ‘, tb:4:2); Writeln (‘So nhiet cao hon trung binh: ‘, dem ); Readln End GV: Ghi b¶ng ®a ch¬ng tr×nh cã sö * Ch¬ng tr×nh 2: Sö dông kiÓu m¶ng dông kiÓu m¶ng mét chiÒu còng cho h/s mét chiÒu nhËn xÐt ? Program Nhietdo_Nngay; HS: Const Max=366; {gia thiet N lon nhat la 366} Type kmang=array [1…max] of real ; Var Nhietdo: Kmang 1; N, dem, i: byte; Tong, trung_binh: real; (79) Begin Write(‘Nhap so ngay: ‘); Readln(N); Tong := 0; For i:=1 to N begin write(‘Nhiet thu ‘,i’: ‘); readln [i]; Tong:=Tong + Nhiet [i]; end; dem:=0; trung_binh := Tong / N; For i:=1 to N If Nhietdo [i] > trung_binh then dem:=dem+1; Writeln(‘Nhiet trung binh’,N,’ ngay: ‘,trung_binh :8:3); Writeln(‘So nhiet cao hon GV: Phân tích hai chơng trình học trungbinh la: ‘,dem); sinh thÊy sù tiÖn lîi sö dông m¶ng Readln HS: Nghe vµ quan s¸t End GV: §a c¸ch khai b¸o m¶ng mét chiÒu ng«n ng÷ pascal a/ Khai b¸o Trong ng«n ng÷ pascal m¶ng mét chiÒu đợc khai báo hai cách: C¸ch 1: Khai b¸o trùc tiÕp biÕn m¶ng mét chiÒu Var <Tªn biÕn m¶ng> : array [kiÓu chØ (80) sè] of <kiÓu phÇn tö>; C¸ch 2: Khai b¸o gi¸n tiÕp biÕn m¶ng qua kiÓu m¶ng mét chiÒu Type <Tªn kiÓu m¶ng> = array[<kiÓu chØ sè>] of <kiÓu phÇn tö>; Var <Tªn biÕn m¶ng>: <Tªn kiÓu m¶ng>; Trong đó: - Type là từ khoá dùng để khai báo biÕn - Array là từ khoá để khai báo mảng GV: Gọi HS lấy ví dụ để khái báo biến - KiÓu chØ sè thêng lµ ®o¹n sè nguyªn m¶ng mét chiÒu theo c¸ch liªn tôc cã n1 n2, víi n1 lµ chØ sè ®Çu vµ HS: lÊy vÝ dô n2 lµ chØ sè cuèi - KiÓu thµnh phÇn lµ kiÓu d÷ liÖu cña phÇn tö m¶ng - §Ó truy cËp vµo phÇn tö m¶ng ta viÕt: <Tªn biÕn m¶ng> [chØ sè] VÝ dô: Khai b¸o biÕn m¶ng th«ng qua kiÓu m¶ng,… Cñng cè: - Gäi mét em lªn nh¾c l¹i kh¸i niÖm m¶ng mét chiÒu - Nhắc lại cấu trúc câu lệnh cách chia bảng thành phần đồng thời gọi học sinh lªn b¶ng viÕt l¹i c¸c c¸ch khai b¸o DÆn dß: - Xem lại các ví dụ đã làm - Lµm c¸c bµi tËp SBT Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… Ngµy so¹n:…………………… …… (81) TiÕt 21: §11 kiÓu m¶ng (TiÕt 2) Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc - Häc sinh cÇn hiÓu râ: - C¸ch sö dông m¶ng mét chiÒu ch¬ng tr×nh thÓ hiÖn c¸c thuËt to¸n c¬ b¶n vÒ t×m kiÕm vµ s¾p xÕp: + Duyệt để tìm phần tử lớn dãy số nguyên; + Sắp xếp dãy số nguyên tráo đổi; + T×m mét sè h¹ng mét d·y sè nguyªn t¨ng b»ng thuËt to¸n t×m kiÕm nhÞ ph©n KÜ n¨ng - Hình thành kĩ sử dụng kiểu mảng cài đặt chơng trình Thái độ - Nghiªm tóc, ch¨m chØ - Gióp häc sinh thªm yªu thÝch vµ høng thó víi m«n häc II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (KiÓm tra 15 phót) C©u 1: (6 ®iÓm) - Nªu c¸ch khai bµo biÕn m¶ng mét chiÒu Pascal? Cho vÝ dô (82) C©u 2: (4 ®iÓm) Hãy lỗi sai chơng trình sau và sửa lại cho đúng Program Tong_mang; Const Nmax = 100; Type Kmang1 = Array [1; Nmax] of Integer; Var Kmang1: A; n,i,T: Integer; Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung b Mét sè vÝ dô VD1 (SGK T56-57) GV: Híng dÉn HS t×m hiÓu c¸c vÝ dô SGK trang 56-57 - Sau đó đa ví dụ khác HS: Chó ý l¾ng nghe vµ quan s¸t néi dung SGK GV: Qua đề bài em hãy xác định bài toán vµ cho biÕt cÇn khai b¸o nh÷ng biÕn nµo? HS: Tr¶ lêi c©u hái GV: H·y viÕt lÖnh nhËp gi¸ trÞ n? HS: Tr¶ lêi c©u hái GV: §Ó nhËp gi¸ trÞ cho m¶ng ta ph¶i nhËp cho tõng phÇn tö C¸c phÇn tö l¹i cã số làm nào ta nhập lần lợt đợc gi¸ trÞ cho tõng phÇn tö ? HS: Tr¶ lêi c©u hái GV: §Ó tÝnh trung b×nh ta tÝnh thÕ nµo ? VD1: NhËp n sè thùc tõ bµn phÝm vµ tÝnh trung b×nh céng d·y sè nµy Uses crt; Var i, n: integer; s: real; a: array [1 100] of real; Begin Clrscr; write(‘vao so phan tu:’); readln (n); for i:=1 to n Begin Write (‘vao a[,’i,’]=’); readln ([i]) End; s:=0; For i:=1 to n s:=s+a[i]; writeln (‘trung binh cong cua day so la:,’ s/n:13:5); readln; (83) end HS: Tr¶ lêi c©u hái GV: Để tính đợc tổng các số đó m¶ng ta ph¶i ¸p dông c©u lÖnh nµo ? HS: Tr¶ lêi c©u hái GV: Các em hãy xác định thuật toán để gi¶i bµi nµy ? HS: Tr¶ lêi c©u hái GV: C¸c em h·y viÕt phÇn nhËp N vµ nhËp c¸c sè nguyªn vµo m¶ng ? HS: Tr¶ lêi c©u hái GV: VËy em ¸p dông cÊu tróc lÆp nµo cho thuật toán để tính đợc tổng ? HS: Tr¶ lêi c©u hái GV: Qua c¸c c©u tr¶ lêi cña HS tæng kÕt híng dÉn HS viÕt ch¬ng tr×nh VD2: T×m sè nhá nhÊt d·y sè GV: Nh¾c l¹i thuËt to¸n t×m phÇn tö nhá nguyªn nhÊt d·y sè Input : sè nguyªn d¬ng N (N<=250) vµ - Gọi HS xác định bài toán và các biến dãy N số nguyên cÇn khai b¸o output: sè nguyªn nhá nhÊt HS: Tr¶ lêi Ch¬ng tr×nh: GV: Híng dÉn HS viÕt ch¬gn tr×nh Program VD2; var A: array[1 250] of integer; i,min,N: Integer; Begin write(‘ Nhap so luong phan tu N=’); readln(N); For i:=1 to N Begin (84) write(‘A[‘,i,’]=’); read(A[i]); end; min:=A[1]; For i:=2 to N If A[i] <min then min:=A[i]; writeln(‘ Gia tri lon nhat la :’,min); readln End Cñng cè: - Gäi mét em lªn nh¾c l¹i kh¸i niÖm m¶ng mét chiÒu - Duyệt để tìm phần tử lớn dãy số nguyên; DÆn dß: - Xem lại các ví dụ đã làm - Lµm c¸c bµi tËp SBT Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (85) Ngµy so¹n:…………………… …… TiÕt 22: §11 kiÓu m¶ng (TiÕt 3) Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc: - Củng cố lại kiến thứ thuật toán tìm kiếm nhị phân mà HS đã học lớp 10 - HS biết cách khai bao biến mảng chiều và biết cách tham chiếu đến phần tö cña m¶ng KÜ n¨ng: - HS minh hoạ đợc liệu nhỏ vào thuật toán tìm kiếm nhị phân - Tõ thuËt to¸n t×m kiÕm nhÞ ph©n x©y dùng thuËt to¸n tiµm kiÕm tuÇn tù cã minh ho¹ bé d÷ liÖu nhá Thái độ: - ThÊy ®cî tÇm quan träng cña thuËt to¸n t×m kiÕm nhÞ ph©n viÖc gi¶i quyÕt c¸c bµi to¸n t×m kiÕm II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: - Tõ thuËt to¸n t×m phÇn tö lín nhÊt x©y dùng thuËt to¸n t×m phÇn tö nhá nhÊt d·y Bµi míi: (86) Hoạt động Giáo viên và Học sinh Néi dung GV: LÊy vÝ dô ®a mét sè c«ng viÖc t×m kiÕm…… - §a c¸ch t×m kiÕm ¸p dông trêng hîp + T×m kiÕm tuÇn tù (d·y bÊt k×) + Tìm kiếm nhị phân (dãy đã đợc xÕp) GV: §a bµi to¸n t×m kiÕm nhÞ ph©n HS: Chó ý l¾ng nghe VÝ dô 3; T×m kiÕm nhÞ ph©n * Xác định bài toán - Input: D·y A lµ d·y t¨ng gåm n (n<=250) sè nguyªn d¬ng A1, A2…An GV: Gọi HS xác định bài toán vµ sè nguyªn K HS: Xác định bài toán - Output: ChØ sè i mµ Ai = K hoÆc th«ng b¸o “kh«ng t×m thÊy” NÕu kh«ng cã sè h¹ng nµo cã gi¸ trÞ b»ng k GV: §a thuËt to¸n t×m kiÕm nhÞ ph©n - Gọi HS xác định các biến cần khai b¸o HS: Tr¶ lêi GV: Nhận xét, lấy DL nhỏ để minh ho¹ cho HS hiÓu thuËt to¸n Với N = và dãy A gồm các phần tử đã đợc xếp 10 13 14 17 20 25 Víi k = 17 HS: Chó ý l¾ng nghe vµ häc tuËt to¸n SGK * ThuËt to¸n - B1: NhËp N, c¸c sè h¹ng A1, A2…An vµ kho¸ k - B2: Dau ← 1, cuoi ← N; ; B3: giua ← [ dau+cuoi ] - B4: NÕu Agiua = k th× th«ng bµo chØ sè giua råi kÕt thóc - B5: Nếu Agiua > K thì đặt cuoi = giua -1 chuyển đến bớc 7; - B6: Dau ← Giua +1; - B7: NÕu Dau>Cuoi th× th«ng b¸o day A kh«ng cã sè h¹ng cã gi¸ trÞ b»ng K, (87) råi kÕt thóc; - B8: Quay l¹i bíc 3; GV: Từ việc xác định bài toán và tìm hiểu thuËt to¸n yªu cÇu HS quan s¸t ch¬ng trình cài đặt thuật toán tìm kiếm nhị phân (SGK) - Híng dÉn gi¶ng gi¶i mét sè c©u lÖnh phøc t¹p ch¬ng tr×nh sau đó gọi HS trả lời số câu lệnh đơn giản chơng trình HS: Chó ý l¾ng nghe GV: Gi¶i thÝch mét sè c«ng viÖc ch¬ng tr×nh - Qu¸ tr×nh lÆp dõng l¹i mét sù kiÖn s¶y ra: §· t×m thÊy không gian tìm kiếm đã trở lªn b»ng rçng - Ph¹m vi t×m kiÕm trªn d·y lµ mét đoạn đợc xác định các biến nguyªn Dau vµ Cuoi - PhÇn cí b¶n ch¬ng tr×nh sÏ gåm cấu trúc lặp (Cha xác định số lÇn lÆp) - Ghi nhËn sù kiÖn t×m thÊy dïng biÕn Logic Tim_Thay - Khi cha t×m thÊy khëi t¹o lµ False, tìm thấy đổi giá trị biến Tim_thay thµnh True - Sau cÊu tróc lÆp dïng c©u lÖnh rÏ nh¸nh theo gi¸ trÞ cña biÕn Tim_thay để thông báo kết HS: Chó ý l¾ng nghe GV: Giíi thiÖu bµi to¸n T×m kiÕm tuÇn tù HS: X¸c ®inh bµi to¸n * Chơng trình cài đặt thuật toán (SGK T58-59) Dau:=1; Cuoi:= N; Giua := (Dau + Cuoi) div While (Dau <=Cuoi) and Not Tim_thay do… Tim_thay:= False If Tim_thay then Write… (88) - Tù x©y dùng thuËt to¸n t×m kiÕm tuÇn tù * ThuËt to¸n t×m kiÕm tuÇn tù GV: NhËn xÐt bæ xung gi¶ng gi¶i B1: NhËp N, c¸c sè h¹ng a1, a2… an vµ kho¸ K; B2: i ← 1; B3: NÕu = k th× th«ng b¸o chØ sè i råi kÕt thóc; B4: i ← i + 1; B5: NÕu i > N th× th«ng b¸o d·y A kh«ng cã sè h¹ng nµo cã gi¸ trÞ b»ng K, råi kÕt thóc; GV: Híng dÉn HS viÕt ch¬ng tr×nh B6: Quay l¹i bíc 3 Cñng cè: - GV nhắc lại kiểu mảng chiều là kiểu DL có cấu trúc đợc dùng nhiều lËp tr×nh, nh÷ng bµi to¸n t×m kiÕm, s¾p xÕp d·y c¸c phÇn tö lµ nh÷ng bµi to¸n thêng gÆp vµ cã ý nghÜa quan träng DÆn dß: - HS vÒ häc bµi x©y dùng ch¬ng tr×nh gi¶i bµi to¸n tÝnh tæng c¸c phÇn tö m¶ng A cã N phÇn tö (N<= 250) Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (89) Ngµy so¹n:…………………… …… TiÕt 23,24 bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng I Mục đích yêu cầu: KiÕn thøc Nắm đợc các câu lệnh đã học Cách khai báo và truy cập đến phần tử mảng Các thuật toán đã học KÜ n¨ng N©ng cao kÜ n¨ng sö dông mét sè c©u lÖnh vµ mét sèkiÓu d÷ liÖu th«ng qua viÖc t×m hiÓu vµ ch¹y thö c¸c CT cã s½n Biết giải số bài toán tính toán, tìm kiếm đơn giản Thái độ Có thái độ tích cực thực hành BiÕt vai trß quan träng cña giê thùc hµnh ®Çu tiªn Bảo quan phòng máy theo đạo GV II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Gợi ý, hớng dẫn, làm mẫu, vấn đáp - GV: ChuÈn bÞ phßng thùc hµnh, gi¸o ¸n, m¸y chiÕu, SGK, SGV, mét sè bµi tËp mÉu phôc vô cho bµi tËp vµ thùc hµnh 2; - HS: ghi chép, đọc trớc nội dung bài thực hành mà GV đã cho từ tiết trớc III TiÕn tr×nh lªn líp: KiÓm tra 15 phót: C©u 1: Tr×nh bµy c¸ch khai b¸o biÕn m¶ng mét chiÒu, cho vÝ dô C©u 2: ViÕt ch¬ng tr×nh nhËp vµo sè nguyªn d¬ng N (N<=100) vµ d·y B gåm N sè nguyªn ®a d·y võa nhËp Bµi míi: (90) Hoạt động Giáo viên và Học sinh Gv: Ph©n m¸y cho Hs Gv: Yªu c©u Hs thùc hiÖn bµi 1a Hs: nhËp CT vµ ch¹y Gv: Víi ý b cã cÇn nhËp k kh«ng ? Hs: Gv: Thay c¸c c©u lÖnh posi:=0; neg:=0; cho c¸c c©u lÖnh nµo ? Hs: Gv: §o¹n lÖnh If A[i] > then posi:= posi+1 else if A[i] < then neg := neg+1; lµ g× ? Hs: Gv: VËy th©y cho c¸c c©u lÖnh nµo ? Hs: Gv: Yªu c©u häc sinh t×m hiÓu, nhËp vµ ch¹y ch¬ng tr×nh Hs: Gv: Hãy sửa ct để thực ý b ? Hs: Néi dung Bµi 1:T¹o m¶ng A gåm n (n ≤ 100) sè nguyên, số nguyên có trị tuyệt đối kh«ng vît qu¸ 300 TÝnh tæng c¸c phÇn tö cña m¶ng lµ béi cña mét sè nguyªn d¬ng k cho tríc a H·y t×m hiÓu vµ ch¹y CT SGK T63 b posi, neg : intªger; ®a vµo phÇn khai b¸o posi:=0; neg:=0; thay vµo ®o¹n write(‘ nhap k=’); readln(k); s:=0; §a c¸c c©u lÖnh If A[i] > then posi:= posi+1 else if A[i] < then neg := neg+1; Thay c©u lÖnh if A[i] mod k =0 then s:=s+1; §a c¸c c©u lÖnh write(posi:4, neg:4); Thay c©u lÖnh write(‘tong can tinh la:’,s); Chó ý: Hµm chuÈn random(n) cho gi¸ trÞ lµ sè nguyªn ngÉu nhiª ®o¹n tõ đến n-1, còn thủ tục randomize khởi t¹o c¬ chÕ sinh sè ngÉu nhiªn Bµi 2: ViÕt CT t×m phÇn tö cã gi¸ trÞ lín nhÊt cña m¶ng vµ ®a mµn h×nh chØ sè và giá tri phần tử tìm đợc Nếu có nhiÒu phÇn tö cã cïng gi¸ trÞ lín nhÊt th× ®a phÇn tö cã chØ sè nhá nhÊt a, H·y t×m hiÓu vµ ch¹y CT SGK T64 b, Chỉnh sửa CT trên để đa số c¸c phÇn tö cã cïng gi¸ trÞ lín nhÊt Söa CT: Thay cau lÖnh write(‘ Chi so:’,j,’ Gia tri: ‘,A[j]:4); bëi : write(‘Gia tri lon nhat: ‘,A[j]:4); (91) for i:=1 to n if A[i]=A[j] then write(‘ co vi tri :’ ,i:4); Cñng cè: Nắm thêm đợc câu lệnh sinh số ngẫu nhiên Cách thực hiên CT và sửa các CT để đựơc CT DÆn dß: VÒ xem néi dung bµi thôc hµnh sè Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (92) Ngµy so¹n:…………………… …… TiÕt 25,26: Bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc - Nắm đợc các câu lệnh đã học - Cách khai báo và truy cập đến phần tử mảng - Các thuật toán đã học - Lµm quen víi d÷ liÖu cã cÊu tróc vµ bµi to¸n s¾p xÕp KÜ n¨ng - N©ng cao kÜ n¨ng sö dông mét sè c©u lÖnh vµ mét sèkiÓu d÷ liÖu th«ng qua viÖc t×m hiÓu vµ ch¹y thö c¸c CT cã s½n - Biết giải số bài toán xếp, tính toán đơn giản Thái độ - Có thái độ tích cực thực hành - BiÕt vai trß quan träng cña giê thùc hµnh - Bảo quản phòng máy theo đạo GV II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - GV: ChuÈn bÞ phßng thùc hµnh, gi¸o ¸n, SGK, SGV - HS: ghi chép, đọc trớc nội dung bài thực hành mà GV đã cho từ tiết tríc III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Lång giê thùc hµnh) - TiÕt 1: Thùc hµnh lµm bµi tËp (93) - TiÕt 2: Thùc hµnh lµm bµi tËp 2 Bµi míi: Hoạt động Giáo viên và Học sinh GV: Ph©n m¸y cho Hs Néi dung Bµi 1: a, Ch¹y thö CT thùc hiÖn thuËt to¸n s¾p xÕp d·y sè nguyªn b»ng thuËt to¸n tr¸o đổi với các giá trị khác n (SGK T65) GV: yªu c©u Hs thùc hiÖn bµi 1a HS: nhËp CT vµ ch¹y GV: Em h·y khai b¸o thªm biÕn Dem ? HS: Khai b¸o b, §Æt thªm vµo khai b¸o GV: Khởi tạo biến đếm bao nhiêu và đặt đâu ? HS: Dem:=0; sau lÖnh writeln; §Æt thªm lÖnh Dem:=0; sau lÖnh writeln; GV: Khi nµo th× biÕn Dem t¨ng vµ t¨ng bao nhiªu ? HS: Tr¶ lêi c©u hái GV: Vậy hãy đặt lệnh để tăng biến Dem vµ lÖnh viÕt mµn h×nh? HS : Tr¶ lêi GV: H·y ch¹y CT? HS: GV: Ch¹y thö Ct vµ nhËn xet n t¬ng đối lớn ? HS: GV: NÕu cho A 4 H·y tÝnh B ? HS: B Dem: word; Sau lÖnh begin thªm vµo lÖnh Dem:=Dem+1; §Æt thªm lÖnh write(‘ so lan trao ®oi:’ ,Dem: 4); sau lÖnh write(A[i]:7); Bµi 2: Cho m¶ng A gåm n phÇn tö H·y viết CT tạo mảng B[1 n], đó B[i] lµ tæng cña i phÇn tö ®Çu tiªn cña A a, Ch¹y thö CT b, Ph©n tÝch Ta cã B[1] = A[1] B[i] = B[i-1] + A[i] 1<i≤ n Thay lệnh đoạn lệnh từ bắt đầu đến kết (94) thóc t¹o B b»ng ®o¹n 11 19 28 28 31 38 B[1]: = A[1] ; GV: NhËn xet thÊy B[3] =? for i:=2 to n B[i]:= B[i-1]+A[i]; vµ B[4] = ? thực với n tơng đối lớn để xem CT B[4] = B[3] + ? nµo nhanh h¬n HS: GV: suy B[i] = ? HS:… GV: Em h·y thay vµo Ct vµ so s¸nh tèc độ tính toán ? HS: Thùc hµnh trªn m¸y Cñng cè: - Nắm thêm đợc cách phân tích để lựa chọn thuật toán tối u - Cách thực hiên CT và sửa các CT để đựơc CT DÆn dß: - VÒ xem tríc bµi 12 Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… TiÕt 27: §12 kiÓu x©u (95) Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Học sinh nắm đợc xâu là dãy kí tự (có thể coi xâu là mảng chiều) - Biết cách khai báo xâu, truy cập đến phần tử xâu - Sử dụng đợc số thủ tục, hàn thông dụng xử lí xâu KÜ n¨ng: - Cài đặt đợc số chơng trình đơn giản có sử dụng xâu Thái độ - HS có cái nhìn đúng đắn liệu các bài toán không thuộc kiểu số mà kiÓu phi sè II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Kh«ng kiÓm tra) Bµi míi: Hoạt động Giáo viên và Học sinh GV: §a bµi to¸n - NhËp vµo hä tªn cïng víi ®iÓm tin cña mét líp - Yêu cầu HS xác định đầu vào HS: Xác định Input Néi dung (96) GV: Gäi HS nhËn xÐt vÒ kiÓu DL cña bµi to¸n HS: Tr¶ lêi GV: DL c¸c bµi to¸n kh«ng chØ thuéc kiÓu sè mµ cã c¶ kiÓu phi sè hay kiÓu kÝ tù - §a kh¸i niÖm kiÓu x©u - LÊy vÝ dô vÒ x©u kÝ tù “Tin häc” - DL kiÓu x©u lµ d·y kÝ tù bé m· ASCII, mçi kÝ tù gäi lµ mét phÇn tö cña x©u GV: Ph©n tÝch vÝ dô trªn vÒ phÇn tö cña x©u, sè lîng kÝ tù, x©u rçng HS: Chó ý * Các ngôn ngữ lập trình có quy tắc cách thức cho phép xác định: + Tªn kiÓu x©u + C¸ch khai b¸o biÕn kiÓu x©u + Sè lîng kÝ tù cña x©u + C¸c phÐp to¸n trªn x©u + Cách tham chiếu đến phần tử xâu GV: Gi¶i thÝch thªm… Coi x©u lµ m¶ng mét chiÒu - Có thể tham chiếu đến phần tử * Tham chiếu đến phần tử xâu đợc x©u xác định Tẻn biến xâu [Chỉ số] - LÊy vÝ dô HS: Chó ý GV: §a c¸ch khai b¸o biÕn kiÓu x©u Khai b¸o biÕn kiÓu x©u Pascl Pascal - §Ó khai b¸o biÕn kiÓu x©u ta dïng tên dành riêng String để khai báo Var <Tªn biÕn x©u>: String [Dé dµi lín nhÊt cña x©u]; - §é dµi lín nhÊt cña x©u lµ 255 (97) GV: Gäi HS khai b¸o biÕn kiÓu x©u HS: Tr¶ lêi GV: Ghi b¶ng vµ nhËn xÐt - Có thể bỏ phần khai báo độ dài Độ dài ngầm định là 255 GV: Yªu cÇu HS lÊy vÝ dô HS: LÊy vÝ dô GV: NhËn xÐt - Gi¶i thÝch c¸c phÐp so s¸nh víi kiÓu x©u - Víi mçi hµm vµ thñ tôc gi¶i thÝch vµ minh ho¹ b»ng vÝ dô - Gäi HS lÊy thªm vÝ dô vµ gi¶i thÝch kÕt qu¶ cuèi cïng cña viÖc sö dông hàm thủ tục vào xâu đó HS: lÊy vÝ dô vµ häc SGK VÝ dô: Var a: String [30]; C¸c thao t¸c xö lÝ x©u: a Phép ghép xâu: Kí hiêu dấu (+) đợc sử dụng để ghép nhiều xâu thành xâu b C¸c phÐp so s¸nh x©u (SGK) c C¸c hµm vµ thñ tôc trªn kiÓu x©u (SGK) GV: Víi vÝ dô nµy minh ho¹ b»ng bµi toán cụ thể sau đó gải thích đoạn chơng trình với ví dụ đó Mét sè vÝ dô (SGK) - Gäi HS cho biÕt Hä tªn VÝ dô (SGK) - Gi¶i thÝch yªu cÇu cña bµi to¸n vµ gi¶i thÝch cÊu tróc rÏ nh¸nh so sánh độ dài xâu VÝ dô 2: (SGK) if length (a)>length (b) then Write (a) else Write (b); Cñng cè: GV NhÊn m¹nh víi HS cã thÓ coi x©u nh m¶ng mét chiÒu - C¸ch tham chiÕu tíi phÇn tö cña x©u (98) - Xâu có độ dài lớn có thể là xâu nhỏ DÆn dß: - HS vÒ häc bµi vµ nghiªn cøu kÜ nh÷ng vÝ dô cßn l¹i SGK Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (99) TiÕt 28: §12 kiÓu x©u Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè l¹i kiÕn thøc vÒ khaib¸o kiÓu x©u - Cñng cè l¹i kiÕn thøc vÒ c¸c hµm vµ thñ tôc trªn x©u KÜ n¨ng: - Khai b¸o biÕn kiÓu x©u - Sử dụng đợc các và thủ tục trên xâu giải các bài toán trên liệu kiÓu x©u Thái độ: - RÌn luyÖn t ngêi lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung GV: Giới thiệu cấu trúc chung hàm *Cấu trúc chung hàm Length length(st) lên bảng - Hỏi: Ý nghĩa Length và st? - Length: là tên hàm, có nghĩa là độ dài, st: là biểu thức xâu ký tự HS: trả lời Var st:string; (100) Begin st:= ‘Ha Noi’; Write(length(st)); readln; End GV: Hỏi: Kết chương trình in màn hình? HS: Trả lời - Thực chương trình để học sinh thấy kết GV: Hỏi: Chức hàm length() là gì? HS: Trả lời GV: Giới thiệu cấu trúc chung hàm Upcase(ch) Var ch:char; Begin ch:= ‘h’; Write(upcase(ch)); readln; End GV: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy GV: Chức hàm upcase()? GV: yêu cầu HS Viết chương trình nhập xâu, in màn hình xâu đó dạng in hoa - Quan sát chương trình để dự tính kết - Kết là: - Quan sát kết chương trình - Hàm cho số lượng ký tự xâu st * Cấu trúc chung hàm Upcase - Quan sát chương trình để dự tính kết - Kết là: H - Quan sát kết chương trình - Cho giá trị là chữ cái in hoa ch Var st:string; Begin readln(st); HS: Trả lời For i:=1 to length(st) write(upcase(st[i])); End GV Giới thiệu cấu trúc chung hàm *Cấu trúc chung hàm Pos và các ví Pos(s1,s2) dụ để biết chức - Chiếu chương trình ví dụ: Var vt:byte; - Quan sát chương trình để dự tính kết Begin vt:=Pos(‘cd’, ‘abcdefcd’); (101) Write(vt); readln; End HS: Quan sat chương trình - Kết là: GV: Kết chương trình in màn hình? - Quan sát kết chương trình GV: Giải thích kết thực chương trình để HS hiểu - Hàm cho giá tri là số nguyên là vị trí xâu st2 xâu st2 GV: Chức hàm pos? - Bằng không HS: Thay tham số hàm Pos chương trình Pos(‘k’, ‘abc’) GV: Hỏi kết hàm bao nhiêu? GV: Yêu cầu HS Viết chương trình nhập vào xâu st Xét xem xâu có dấu cách hay không? Var st:string; Begin readln(st); if pos(‘ ’, st)<>0 then write(‘Co’) else write(‘Khong’); End - Có thể sử dụng For để tìm dấu cách xâu Quan sát cấu trúc chug hàm copy GVi: Có cách giải nào khác? và ví dụ để biết chức - Quan sát chương trình để dự tính kết GV: Giới thiệu cấu trúc chung hàm copy(st,vt,n) Var st:string; Begin st:=copy(‘bai tap’,3,4); Write(st); readln; End HS: Quan sát chương trình GV:Kết chương trình in màn hình? - Thực chương trình để học sinh thấy - Kết là: ‘i ta’ - Quan sát kết chương trình - Hàm cho giá trị là xâu ký tự lấy xâu st, gồm n ký tự bắt đầu vị trí vt (102) kết GV: Chức hàm copy? HS: Thay các tham số hàm copy chương trình ví dụ trên sau và hỏi kết in màn hình: Copy(‘abc’,1,5) Copy(‘abc’,5,2) Copy(‘abc’,1,0) - Thực chương trình để học sinh thấy kết GV: Giới thiệu cấu trúc chung thủ tục delete(st,vt,n); - Đưa ví dụ Var st:string; Begin st:= ‘HaNoi’; delete(st,3,2); Write(st); readln; End GVi: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy kết -Hỏi chức thủ tục delete(); Cho giá trị là: ‘abc’ Cho giá trị là xâu rỗng Cho giá trị là xâu rỗng - Quan sát kết chương trình để kiểm nghiệm suy luận *Cấu trúc chung thủ tục Insert và các ví dụ - Quan sát chương trình để dự tính kết st=’Hai’ - Quan sát kết chương trình - Thủ tục thực việc xóa biến xâu st gồm n ký tự, vị trí vt HS: Thay lệnh gán st:= ‘HaNoi’; và thủ tục xóa các lệnh sau và hỏi kết in màn hình st:= ‘’; xâu rỗng st:=’abc’; Delete(st,1,5); st:= ‘abc’; st:=’abc’; Delete(st,5,2); st:= ‘abc’; st:=’abc’; Delete(st,1,0); HS: Viết chương trình nhập xâu và Var st:string; xoá các dấu cách thừa đầu xâu begin readln(st); (103) while st[1]= ‘ ’ delete(st,1,1); writeln(st); readln; end GV: Giới thiệu cấu trúc chung thủ tục Insert(st1,st2,vt); - Chiếu chương trình ví dụ: Var st1,st2:string; Begin st2:=‘HaNoi’; st1:= ‘ ’; insert(st1,st2,3); Write(st); readln; End - Hỏi: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy kết - Hỏi chức thủ tục insert(); *Cấu trúc chung thủ tục Insert - Quan sát chương trình để dự tính kết - Kết st2=’Ha Noi’ - Quan sát kết chương trình - Thủ tục thực việc chèn xâu st1 vào biến xâu st2 bắt đầu vị trí vt - Thay lệnh gán st2:=‘HaNoi’; và thủ tục chèn các lệnh sau và hỏi kết quả: st2= ‘efabc’; st2:=‘ef’; Insert(‘abc’,st2, 5); st2= ‘abcef’; st2:=‘ef’; Insert(‘abc’,st2, 0); Cñng cè: Những hàm và thủ tục liên quan đến xâu - Thủ tục Delete(st,vt,n); - Thủ tục Insert(st1,st2,vt); - Hàm Copy(st,vt,n) - Hàm Length(st) - Hàm Pos(st1,st2) DÆn dß: - HS chuẩn bị bài tập và thự hành 5 Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (104) ……………………………………………………………………………………………………………………………… (105) TiÕt 29 Bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Khắc sâu thêm phần kiến thức lý thuyết kiểu xâu ký tự, đặc biệt là các hàm và thủ tục liên quan - Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất ký tự Kĩ - Khai báo biến kiểu xâu - Nhập, xuất giá trị cho biến xâu - Duyệt qua tất các ký tự xâu - Sử dụng các hàm và thủ tuc chuẩn Thái độ - Tích cực, chủ động thực hành II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Ph¬ng ph¸p: Hướng dẫn làm mẫu - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + phòng máy thực hành Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Lång giê thùc hµnh) Bµi míi: HOẠT ĐỘNG CỦA GIÁO VIÊN Tìm hiểu đề bài - Giới thiệu nội dung đề bài lên bảng HOẠT ĐỘNG CỦA HỌC SINH Quan sát, đọc kỹ đề (106) - Diễn giải: Một xâu gọi là Palidrom ta đọc các ký tự từ phải sang trái giồng đọc từ trái sang phải - Yêu cầu học sinh cho hai ví dụ xâu palidrom và ví dụ không phải là palidrom Tìm hiểu chương trình gợi ý - Ghi tõng phÇn¼ng¬ng tr×nh lªn b¶ng - Hỏi: Chương trình sau đây có chức làm gì? Kết in màn hình nào? Phải: 12321 abccba Không phải: abcdea Quan sát chương trình, suy nghĩ phân tích để hiểu chương trình - Kiểm tra xâu có phải Palidrom hay không? - In ra: ‘xau la palidrom’ ‘Xau khong la palidrom’ - Thực chương trình để học sinh - Quan sát giáo viên thực chương kiểm nghiệm suy luận mình trình, nhập liệu và kết chương trình Cải tiến chương trình Chú ý theo dõi yêu cầu giáo viên, - Nêu yêu cầu mới: Viết lại chương trình trả lời số câu hỏi dẫn dắt mà không sử dụng biến trung gian p - Yêu cầu: Nhận xét các cặp vị trí - Các ký tự vị trí này giống đối xứng xâu palidrom? - Hỏi: Ký tự thứ i đối xứng với ký tự vị - Ký tự thứ i đối xứng với ký tự thứ trí nào? length()-i+1 - Hỏi: Cần phải so sánh bao nhiêu cặp ký - So sánh tối đa length() div tự xâu để biết xâu đó là palidrom? - Có thể dùng For While - Hỏi: Dùng cấu trúc lặp nào để so sánh? - Thực soạn thảo chương trình vào - Yêu cầu học sinh viết chương trình hoàn máy theo yêu càu cải tiến giáo viên chỉnh - Nhập liệu vào và thông báo kết - Yêu cầu học sinh nhập liệu cho sẵn giáo viên và thông báo kết - Xác nhận bài làm có kết đúng Cñng cè: (107) - Một số thuật toán đơn giản liên quan đến xâu ký tự: Kiểm tra xâu đối xứng, tìm tần suất xuất các ký tự có xâu DÆn dß: - HS chuẩn bị nội dung thực hành còn lại Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (108) TiÕt 30: Bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Khắc sâu thêm phần kiến thức lý thuyết kiểu xâu ký tự, đặc biệt là các hàm và thủ tục liên quan - Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất ký tự Kĩ - Khai báo biến kiểu xâu - Nhập, xuất giá trị cho biến xâu - Duyệt qua tất các ký tự xâu - Sử dụng các hàm và thủ tuc chuẩn Thái độ - Tích cực, chủ động thực hành II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Ph¬ng ph¸p: Hướng dẫn làm mẫu - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + phòng máy thực hành Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Lång giê thùc hµnh) Bµi míi: HOẠT ĐỘNG CỦA GIÁO VIÊN Híng dÉn HS t×m hiÓu bµi vµ bµi HOẠT ĐỘNG CỦA HỌC SINH (109) trang 73 yêu cầu HS đọc yêu cầu bài thực - HS đọc bài thực hành số hµnh sè Hỏi để đếm đợc số lần xuất cña mçi ch÷ c¸i tiÕng anh mét x©u mét em h·y lÊy vÝ dô Ph©n tÝch l¹i vÝ dô - LÊy mét vÝ dô vµ ph©n tÝch - Để làm viết đợc chơng tr×nh ta cÇn kh¸i b¸o gì? các biến có - Khai báo biến xâu, khai báo biến đếm, nhiÖm vô g×? biÕn, biÕn n Ta thÊy cÇn ghi nhËn sè lÇn xuÊt hiÖn cña mçi ch÷ c¸i, cã tÊt c¶ 26 ch÷ c¸i tµ A đến Z Có thể dùng mảng chiều với các phần tử đợc đánh số từ đến 26 dùng để ghi nhận số lần xuất xâu S các kí tự tơng ứng từ A đến Z §Ó ghi nhËn sè lÇn xuÊt hiÖn cña kÝ tù A dïng dem[1], §Ó ghi nhËn sè lÇn xuÊt hiÖn cña kÝ tù B dïng dem[2] - V× kh«ng ph©n biÖt ch÷ hoa hay ch÷ thêng nªn ta cã thÓ dïng hµm upcase Tù viÕt ch¬ng tr×nh vµ ch¹y thö Var st:string; dem: array ['A' 'Z'] of Integer; i:integer; ch:char; Begin Write ('Nhap xau'); readln (st); for i:=1 to length (st) dem[upcase(st[i])]:=dem[upcase(s t[i])]+1; write ('Cac ky tu chuoi la'); for ch:='A' to 'Z' if Dem[ch] >0 then write ('chu ',ch,' co: ',Dem[ch],' ky tu '); writeln; readln ** Híng dÉn HS t×m hiÓu bµi thùc end hµnh sè Gọi HS đọc nội dung bài - §äc néi dung bµi trang 73 (110) - Yªu cÇu HS tù lÊy vÝ dô để phân tích bài toán - Để làm đợc bài này ta cÇn khai b¸o nh÷ng biÕn nµo? - NhiÖm vô cña nh÷ng biÕn nµy lµ g×? - NhËn xÐt c©u tr¶ lêi cña HS vµ gi¶i thÝch l¹i cho đúng - Híng dÉn HS viÕt ch¬ng tr×nh Var a: Byte; a: String; Begin Write (‘Nhap mot xau’); Readln (a); x: = pos (‘Anh’, a); Delete (a,x,3); Insert (‘em’, a,x); Write (‘Ket qua la’,a); Readln; end - Lấy ví dụ để phân tích bai toán Híng dÉn vµ Yªu cÇu HS viÕt l¹i ch¬ng tr×nh mµ x©u cã nhiÒu h¬n mét tõ “Anh” theo dµn ý sau: * PhÇn phai b¸o Begin - NhËp x©u - Chõng nµo cßn t×m thÊy x©u “anh” x©u S cßn lµm viÖc sau: T×m vÞ trÝ b¾t ®Çu cña x©u “anh” Xo¸ x©u “anh” võa t×m thÊy -{PhÇn khai b¸o } - While pos(‘anh’,st) <> begin vt:=pos (‘anh’,st); delete(st,vt,3); Insert (‘em’,st,vt); end; Write (st); readln end - Tr¶ lêi: biÕn x©u a, biÕn x Var a: Byte; a: String; Begin Write (‘Nhap mot xau’); Readln (a); x: = pos (‘Anh’, a); Delete (a,x,3); Insert (‘em’, a,x); Write (‘Ket qua la’,a); Readln; end - HS viÕt l¹i ch¬ng tr×nh vµ ch¹y thö vµo m¸y (111) ChÌn x©u “em” vµo x©u S t¹i vÞ trÝ tríc ®©y xuÊt hiÖn “anh” In x©u S Cñng cè: -Một số thuật toán đơn giản liên quan đến xâu ký tự: Kiểm tra xâu đối xứng, tìm tần suất xuất các ký tự có xâu DÆn dß: - HS tìm hiểu lại chơng trình đã học và đọc trớc bài 13 kiểu ghi Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (112) TiÕt 34: Bµi tËp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè kiÕn thøc vÒ m¶ng mét chiÒu - Khai b¸o kiÓu m¶ng mét chiÒu KÜ n¨ng: - Viết đợc chởng trình đơn giản theo yêu cầu bài toán đa Thái độ: - Học sinh có thái độ học tập đúng đắn, rèn luyện t ngời lập trình II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp, hớng dẫn - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập + làm bài tập trớc nhà III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: C©u 1: Nªu c¸ch khai b¸o biÕn kiÓu x©u vµ cho vÝ dô, nªu c¸ch tham chiÕu tíi phÇn tö cña x©u vµ cho vÝ dô C©u 2: Cho x©u s1: ‘Em yeu truong em’ Thñ tôc Delete (s1, 1, 6) Cho kÕt qu¶ x©u s1 lµ g×? Hµm Length(s1) Cho kÕt qu¶ x©u s1 lµ g×? Hµm Copy (s1, 8,9) cho kÕt qu¶ x©u s1 lµ g×? Bµi míi: (113) Hoạt động Giáo viên và Học sinh Néi dung GV: yªu cÇu HS tr¶ lêi c©u hái tõ c©u đến câu SGK T79 - Hớng dẫn và gợi ý HS trả lời đúng c¸c c©u hái - yêu cầu HS đọc và phân tích yêu cÇu cña bµi HS: lấy ví dụ cấp số cộng để phân tích bµi GV: NhËn xÐt vµ ph©n tÝch thªm GV: D·y cãbao nhiªu phÇn tö vµ c¸c phÇn tö n»m trongph¹m vi nµo HS: Tr¶ lêi GV: híng dÉn HS viÕt ch¬ng tr×nh - Gäi HS viÕt khai b¸o m¶ng mét chiÒu - CÊp sè céng tho¶ m·n ®iÒu kiÖn sau: d:=A[2] – A[1] A[i] – A[i -1] = d Bµi 5: (SGK T79) Const Nmax = 100 Type mang1= Array [1 Nmax] Integer; Var N, i, d : Integer; A: mang1; Begin Write (‘Nhap N’); Readln (N); For i:=1 to N if A[i] - A [i - 1] = d then Write (‘Day A la cap so cong’); Readln End of (114) Bµi 6: (SGK T79) a §a sè lîng sè ch½n vµ sè lîng sè lÎ d·y GV: Lấy ví dụ để phân tích yêu cầu bµi HS: Chó ý l¾ng n ghe vµ x©y dùng tõng ®o¹n ch¬ng tr×nh - Khai b¸o m¶ng chiÒu - NhËp c¸c phÇn tö m¶ng mét chiÒu - X¸c ®inh cÊu tróc nµo dÓ kiÓm tra ®iÒu kiÖn mét sè lµ sè ch½n - KiÓm tra c¸c phÇn tö m¶ng cã ph¶i lµ sè ch½n hay kh«ng? - LÊy s« lîng sè d·y trõ ®i sè lîng sè ch½n sè lÎ Program bai6; const Nmax = 100; typr mang1 = Array [1 Nmax] of Integer; Var N, i, So_chan: Inetger; Begin Write (‘Nhap N’); Readln (N); for i:=1 to N Begin Write (‘Phan tu thu ‘,i,’=’); Readln (A[i]); End; So_chan := 0; For i := to N If A[i] mod = Then So_chan:= So_chan + 1; Write (‘So luong so chan la’, So_chan); Write (‘So luong so le la’,N-So_chan); (115) Readln End Cñng cè: - Yªu cÇu HS söa ®o¹n ch¬ng tr×nh ë bµi ý a thµnh ch¬ng tr×nh tÝnh tæng c¸c sè ch½n vµ sè lÎ d·y DÆn dß: - Häc sinh vÒ lµm bµi tËp ý b vµ c¸c bµi tËp cßn l¹i Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (116) Ngµy so¹n:…………………… …… TiÕt 35: Bµi tËp Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B6 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè kiÕn thøc vÒ m¶ng mét chiÒu - Khai b¸o kiÓu m¶ng mét chiÒu KÜ n¨ng: - Viết đợc chởng trình đơn giản theo yêu cầu bài toán đa Thái độ: - Học sinh có thái độ học tập đúng đắn, rèn luyện t ngời lập trình II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập + bài tập đã ch ẩn bị nhà III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (KiÓm tra giê bµi tËp) Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung Bµi 7: SGK T 79 (117) D·y F lµ d·y Phi_b«_na_xi nÕu F0 = 0, F1 = 1, Fn = Fn-1 + Fn - (víi N>=2) GV:Lấy ví dụ dãy Phi_bô_na_xi để ph©n tÝch cho HS hiÓu c«ng thøc F0= F1 = F2= F2-1 – F2-2 F3= F3-1 + F3-2 = 1+ 1= F4= F4-1+F4-2= 2+1 = F5= F5-1+F5-2 = 3+2=5 Fn = Fn-1 + Fn-2 HS: Chó ý vµ gh× bµi GV: Hái HS vËy ta cø lÆp l¹i c«ng viÖc nµo? cÇn khai b¸o nh÷ng biÕn nµo? HS: Tr¶ lêi GV: NhËn xÐt vµ yªu cÇu HS viÕt ch¬ng tr×nh theo híng dÉn cña gi¸o viªn Program bai7; Var N, i: Word; F1, F2, F: Word; Begin Write (‘Nhap so hang thu n = ’); Readln (N); F1:=1; F2:= 1; for i:= to N Begin F:= F1+F2; F1:= F2; F2:= F; end; Write (‘F’); (118) Readln GV: Lu ý HS ch¬ng tr×nh trªn chØ thùc End đợc với N = 24 Vì số Phi_bô_na_xi thø 25 lµ 75025, vît qu¸ ph¹m vi kiÓu Word Bµi (SGK T 79) GV: yªu cÇu Hs quan s¸t tõng ®o¹n ch¬ng tr×nh HS: Quan sát phần khai báo sau đó đó là khai báo mảng chiều hay hai chiÒu vµ cho biÕt - Tªn biÕn m¶ng lµ g×? - Tªn kiÓu m¶ng lµ gi? GV: NhËn xÐt vµ gi¶i thÝch thªm - §ã lµ m¶ng chiÒu gåm hµng vµ cét - KiÓu cña chØ sè hµng vµ chØ sè cét đợc đánh số nh nào? HS: Tr¶ lêi GV: Ph©n tÝch ®o¹n ch¬ng tr×nh nhËp vµo tõng phÇn tö m¶ng - Phân tích đoạn chơng trình hoán đổi vị trÝ For i:= to N For j:= to N-1 Begin GV: Hái HS cho biÕt ®o¹n ch¬ng tr×nh C:= A[i,j]; nµy lµm g×? A[i,j]:= A[N-i+1,J]; HS: Tr¶ lêi A[N-i+1,j]:=c; GV: NhËn xÐt ®a kÕt luËn End; - Hoán đổi dòng thứ i với dòng thứ Ni+1 tức là dòng dầu tiên với dòng cuối cïng, dßng thø tõ trªn xuèng víi dßng thứ từ dới lên việc hoán đổi đợc thực i nhận giá trị từ đến N làm cho mối dòng hoán đổi vị trí lần, vì (119) mảng A không có gì thay đổi, gi÷ nguyªn Bµi 10 (SGK T 80) GV: lấy ví dụ để phân tích yêu cầu bµi HS: Chó ý GV: Điều kiện để kiểm tra kí tự x©u cã ph¶i lµ ch÷ sè hay kh«ng lµ gi? HS: Tr¶ lêi GV: NhËn xÐt vµ híng dÉn HS x©y dùng tõng ®o¹n ch¬ng tr×nh Program bai10; Var s: String [100]; i, dem: integer; Begin Write (‘Nhap vao mot xau’); Readln (s); For i:= to length (s) if (s[i]>=’0’) and (s[i]<= ‘9’) then Dem:= dem+1; Write (‘Trong xau s co ‘,dem,’chu so’); readln End Cñng cè: - Từ bài yêu cầu HS sửalại chơng trình thành chơng tình hoán đổi vị trí dòng đối xøng - Tõ bµi 10 söa thµnh ch¬ng tr×nh tÝnh tæng c¸c kÝ tù lµ ch÷ sè d·y DÆn dß: HS vÒ lµm nh÷ng bµi tËp cßn l¹i Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… Ngµy so¹n:…………………… …… (120) TiÕt 36: §14 kiÓu d÷ liÖu tÖp §15 thao t¸c víi tÖp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc Biết đợc vai trò kiểu DL tệp BiÕt hai c¸ch ph©n lo¹i tÖp:theo c¸ch tæ chøc DL vµ theo c¸ch truy cËp Biết khai báo biến tệp và các thao tác tệp văn Biết các bớc làm việc với tệp:gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tÖp KÜ n¨ng DÇn dÇn h×nh thµnh kü n¨ng vÒ c¸c thao t¸c víi tÖp v¨n b¶n Thái độ RÌn luyÖn cho häc sinh cã ý thøc lu tr÷ DL mét c¸ch khoa häc,phßng chèng mÊt m¸t th«ng tin, nhiÔm virus II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Bµi míi: Hoạt động Giáo viên và Học sinh Gv: Em cho biÕt tÖp dïng lµm g× ? Néi dung Vai trß cña kiÓu tÖp (121) Hs: Tr¶ lêi c©u hái - Dữ liệu kiểu tệp đợc lu trữ lâu dài nhớ ngoài (đĩa tử,CD ) không bị mÊt ®iÖn - Lîng th«ng tin lu tr÷ trªn tÖp cã thÓ rÊt Gv: có loại tệp và chúng khác lớn và phụ thuộc vào dung lợng đĩa thÕ nµo ? - Cã hai lo¹i tÖp thêng dïng: Hs: Tr¶ lêi c©u hái + Tệp định kiểu: là tệp mà các phần tö cã cïng mét kiÓu Sè lîng phÇn tö không xác định trớc GV: Víi CT cña ta chi dïng laäi tÖp v¨n + Tệp văn bản: gồm các kí tự đợc b¶n ph©n chia thµnh mét hoÆc nhiÒu dßng - Ta chØ xÐt tÖp v¨n b¶n Khai b¸o tÖp v¨n b¶n Var <tªn biÕn tÖp>: text; GV: VËy ta ph¶i khai b¸o thÕ nµo ? VD: var tep1, tep2: text; Hs: Tr¶ lêi c©u hái Thao t¸c víi tÖp a, G¸n tªn tÖp GV: VËy ta cã nh÷ng thao t¸c nµo víi 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 Hs: Tr¶ lêi c©u hái VD1: assign(tep1,’dulieu.dat’); Biến tep1 đợc gắn liền với tệp dulieu.dat VD2: assign(tep2,’d:\tp\baitap.txt); Biến tep2 đợc găn với tệp baitap.txt th mục TP ổ đĩa D GV: NÕu em mu«n më mét tÖp th× em Chú ý: Phải viết đầy đủ đờng dẫn lµm thÕ nµo ? b, Më tÖp vµ ghi d÷ liÖu vµo tÖp Hs: Tr¶ lêi c©u hái + Mở tệp để ghi GV: Để tìm đợc tệp ta đầy Rewrite(<biÕn tÖp>); đủ đờng dẫn VD: rewrite(tep2); Nếu trên ổ D:\TP chưa có tệp BAITAP.txt, thì tệp tạo rỗng Nếu đã có, thì nội dung cũ bị xoá để chuẩn bị ghi liệu + Ghi d÷ liÖu lªn tÖp Write(<biÕn tÖp>,<danh s¸ch kÕt qu¶>); (122) Writeln(<biÕn qu¶>); tÖp>,<danh s¸ch kÕt Danh sách kết gồm hay nhiều phần tử Phần tử có thể là biến, xâu biểu thức VD: a:=3; b:=5; Write(tep2,a,b); Giá trị hai biến a=3, b=5 ghi tệp BAITAP.txt c, Mở tệp và đọc liệu + Mở tệp để đọc: Reset(<biÕn tÖp>); + §äc d÷ liÖu Read(<biÕn tÖp>,<danh s¸ch biÕn>); Readln(<biÕn tÖp>,<danh s¸ch biÕn>); Danh s¸ch biến là nhiều biến đơn VD: reset(tep2); Read( tep2,x,y); d, đóng tệp Close(<BiÕn tÖp>); C¸c vÝ dô VD1: Ghi d÷ liÖu lªn tÖp GV: Ta viÕt c¸c vÝ dô cô thÓ víi c¸c th¸o t¸c víi tÖp VD1 : Ghi d÷ liÖu lªn tÖp GV: Em h·y khai b¸o mét biÕn tÖp vµ biÕn kiÓu sè ? Hs: Tr¶ lêi c©u hái Program vd1; Uses crt; Var tep2: TEXT; a,b: integer; BEGIN Clrscr; ASSIGN(tep2,‘D:\TP\BAITAP.INP’); REWRITE (tep2); a:=3; b:=5; GV: em hãy viết lệnh gán tệp và mở để ghi ? WRITE (tep2,a,b); Close(tep2); (123) Hs: Tr¶ lêi c©u hái GV: em h·y g¸n cho a, b gi¸ trÞ vµ viÕt vµo tÖp ? Hs: Tr¶ lêi c©u hái GV : Song råi ta lµm g× ? Hs: Tr¶ lêi c©u hái Readln; END VD2: §äc d÷ liÖu tõ tÖp Program vd2; Uses crt; Var tep2: TEXT; x1,y1: integer; ASSIGN(tep2, ‘D:\TP\BAITAP.INP’); RESET (tep2); GV : Tơng tự em có thể viết CT đọc từ tÖp ? Hs: Tr¶ lêi c©u hái READLN(tep2, x1,y1); WRITE (‘Hai so la’ ,x1,y1); Close(tep2); Readln; END Củng cố: Qua bài này ta hình thành đợc nội dung bài nh sau: Gán tên tệp Mở tệp để ghi Mở tệp để đọc Ghi liệu tệp Đọc liệu từ tệp Đóng tệp DÆn dß: Về nhà em học theo sơ đồ trên và xem lại vd, xem trợc bài16 Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (124) (125) Ngµy so¹n:…………………… …… TiÕt 37: §16 VÝ dô lµm viÖc víi tÖp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè kiÕn thøc vÒ d÷ liÖu kiÓu tÖp: KÜ n¨ng: - Thực các thao tác làm việc với tệp gồm gắn tên tệp mở và đóng tệp Thái độ: HS thấy đợc tầm quan trọng liệu kiểu tệp, có ý thức bảo vệ và lu trữ tệp mộtc c¸ch khoa häc II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung VÝ dô (SGK T123) GV: Gọi HS đọc và phân tích yêu cầu vÝ dô (126) HS: Tr¶ lêi GV: NhËn xÐt vµ bæ xung Gäi kho¶ng c¸ch lµ d: - yªu cÇu HS quan s¸t ch¬ng tr×nh vµ d= Sqrt (x*x + y*y)= √ x2 + y đánh số các dòng để tìm hiểu chơng trình - Trong ch¬ng tr×nh nµy cÇn khai b¸o nh÷ng biÕn nµo HS: Tr¶ lêi GV: ý nghÜa cña ®o¹n ch¬ng tr×nh cÇn - CÇn khai b¸o nh÷ng biÕn d, f, x, y khai nh÷ng g×? - §o¹n ch¬ng tr×nh cã nhiÖm vô g×? Assign (F, ‘Trai.Txt’); HS: Tr¶ lêi Reset (F) GV: C©u lÖnh thø cã ý nghÜa g×? While not eof (F) HS: Tr¶ lêi Begin GV: NhËn xÐt vµ bæ xung Read (F, x, y); - Chõng nµo trá tÖp cha trá tíi d:= Sqrt (x*x + y*y) cuèi tÖp th× c©u lÖnh sau DO cßn Writeln (‘khoang cach’,d:10:2); thùc hiÖn end; - Dßng lÖnh thø 10 cã ý nghÜa g×? HS: Tr¶ lêi GV: NhËn xÐt vµ bæ xung VÝ dô (SGK T124) GV: §äc vµ ph©n tÝch yªu cÇu cña vÝ dô nµy HS: Quan s¸t h×nh 17 vµ cho biÕt c¸ch tính điện trở tơng đơng sơ đồ GV: CÇn khai b¸o nh÷ng biÕn nµo? Cã mÊy tÖp vµ mÊybiÕn tÖp - Gi¶i thÝch khai b¸o dßng - Từ dòng đến dòng 10 có ý nghĩa gi? HS: Tr¶ lêi * PhÇn khai b¸o Var a: Array [1 5] of Real; Assign (F1,’Resist.Dat’); Reset (F1); Assgin (F2’ Resist.EQU’); ReWrite (F2); While not Eof (F1) (127) - Gi¶i thÝch ý nghÜa cña dßng lÖnh thø 11 GV: NhËn xÐt vµ bæ xung Dßng lÖnh Readln (F1, R1, R2, R3) lµm g×? HS: Tr¶ lêi GV: Giải thích từ dòng lệnh 13 đến 28 Cñng cè: - Đa đoạn chơng trình để HSdự đáon kết Var F: text; S: String [9]; x: longint; Begin Assgin (F, ‘Thu.Txt’); Reset (F); Read (F,S,x); Writeln (S); Write (x); Readln End Gi¶ sö tÖp Thu.TXT chØ cã mét dßng abcdefghi1234 DÆn dß: - HS vÒ häc bµi vµ lµm bµi tËp SGK T89 giê sau ch÷a bµi tËp Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (128) Ngµy so¹n:…………………… …… TiÕt 38: bµi tËp Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - Củng cố lại kiến thức liệu kiểu tệp gồm các vấn đề kiểu tệp, biến tệp, thao tác với tệp, gắn tên tệp, mở tệp, đọc/ghi tệp, đóng tệp KÜ n¨ng: - Nhận biết đợc các thao tác trên tệp Thái độ: Học tập đúng đắn II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập + chuẩn bị bài tập SGK T89 III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: - H·y g¾n tÖp Baitap.TXT cho biÕn tÖp f - Mở tệp Baitap.TXT để ghi liệu - Mở tệp Baitap.TXT để đọc liệu Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung (129) C©u 1: Nªu mét sè trêng hîp cÇn ph¶i dïng tÖp GV: Hớng dẫn HS dựa vào kiến thức đã học để trả lời HS: Tr¶ lêi GV: NhËn xÐt vµ ghi b¶ng - Mét sè trêng hîp cÇn ph¶i dïng tÖp: Lîng th«ng tin lín, dïng l©u dµi C©u 2: Trong sơ đồ thao tác với tệp, cần nhËp DL tõ tÖp ph¶i dïng nh÷ng thao t¸c nµo? GV: §äc néi dïng bµi tËp råi gäi HS tr¶ lêi HS: Quan sát vào sơ đồ thao tác với tệp råi tr¶ lêi GV: NhËn xÐt vµ ®a c¸c thao t¸c thùc hiÖn - Trong sơ đồ thao tác với tệp, cần nhËp d÷ liÖu ttõ tÖp ph¶i dïng nh÷ng thao tác nh gắn tên tệp, mở tệp để ghi, ghi liệu vào tệp, đóng tệp để hoàn thµnh viÖc ghi tÖp GV: Gäi HS cho vÝ dô t¬ng øng víi c¸c VD: Assign (f,fi); thao t¸c Rewrite (f); HS: lÊy vÝ dô Write (f, x, ‘’,y, ‘’, z); GV: NhËn xÐt vµ ®a mét vÝ dô Close (f); GV: Gäi HS tr¶ lêi HS: Tr¶ lêi c©u hái GV: NhËn xÐt C©u 3: T¹i cÇn ph¶i cã c©u lÖnh më tÖp trớc đọc/ghi tệp Để trình dịch biết mục đích mở tệp để (130) HS: Tr¶ lêi đọc hay ghi, đồng thời đặt trở tệp vµo vÞ trÝ thÝch hîp C©u 4: Tại phải dùng câu lệnh đóng tệp sau đã kết thúc ghi liệu vào tệp - §Ó hÖ thèng hoµn tÊt viÖc ghi d÷ tÖp Cñng cè: - Cho dßng lÖnh sau: Assign(F1,’TepA.TXT’); Reset (F1); Assign (F2, ‘TepB.TXT’); Rewrite (F2); H·y cho biÕt c¸c theo t¸c trªn DÆn dß: HS học bài và đọc trớc bài 17 chơng trình Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (131) Ngµy so¹n:…………………… …… TiÕt 39: §17 ch¬ng tr×nh vµ ph©n lo¹i Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - HS cÇn biÕt ch¬ng tr×nhg thùc chÊt lµ mät khèi lÖnh nh»m gi¶i quyÕt mét bµi toán để đáp góp phần giải bài toán lớn chơng trình - HS biÕt sù kh¸c c¬ b¶n gi÷a lo¹i ch¬ng tr×nh thêng gÆp c¸c ng«n ng÷ lËp tr×nh KÜ n¨ng: - BiÕt c¸ch khai b¸o lo¹i ch¬ng tr×nh cïng víi c¸c tham sè h×nh thøc cña chóng - BiÕt c¸ch gäi ch¬ng tr×nh thùc hiÖn víi nh÷ng tham sè thùc sù ch¬ng tr×nh Thái độ: - HS thấy đợc phải viết chơgn trình dài phức tạp, việc sử dụng chơgn trình lµ hÕt søc cÇn thiÕt II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập + đọc trớc bài III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (kh«ng kiÓm tra) Bµi míi: (132) Hoạt động Giáo viên và Học sinh Néi dung Kh¸i niÖm ch¬ng tr×nh GV: Trong thùc tÕ c¸c ch¬ng tr×nh gi¶i mét sè bµi to¸n lµ rÊt dµi, cã thÓ gåm hàng trăm, nghìn lệnh dẫn đến việc qu¶n lÝ vµ theo dâi ch¬ng tr×nh gÆp khã kh¨n - Vấn đề đặt là phải cấu trúc chơng trình nh nào? để có thể dễ đọc, dễ hiÖu chØnh - §a bµi to¸n tÝnh tæng luü thõa Lthua= an +b m +c p +d q - Trong bµi to¸n nµy cã nh÷ng khèi lÖnh nào đợc viết tơng tự Bµi to¸n tÝnh tæng luü thõa HS: Tr¶ lêi Lthua= an +b m +c p +d q GV: Nh vËy lËp tr×nh gi¶i quyÕt c¸c bµi to¸n ta cã thÓ ph©n chia ch¬ng tr×nh Ch¬ng tr×nh chÝnh: - CT con: + CT + CT - CT - CT HS: Chó ý GV: §a kh¸i niÖm ch¬ng tr×nh * Kh¸i niÖm ch¬ng tr×nh con: Ch¬ng tr×nh lµ mét d·y lÖnh m« t¶ số thao tác định và có thể thực (đợc gọi) từ nhiều vị trí chơng tr×nh GV: §a ch¬ng tr×nh tÝnh tæng luü thõa SGk T92 và nhận xét chơng trình đó HS: Quan s¸t ch¬ng tr×nh SGK GV: Ta cã thÓ x©y dùng ch¬ng tr×nh (133) tổng quát “đại diện” cho nhiều đoạn lệnh t¬ng tù - Từ đó đa lợi ích việc sử dụng chơng trình con: * Lîi Ých cña viÖc sö dông ch¬ng tr×nh con: + Tránh đợc việc phải viết lặp lặp lại cïng mét d·y lÖnh + Hç trî viÖc thùc hiÖn c¸c ch¬ng tr×nh lín + Phôc vô qu¸ tr×nh trõu tîng ho¸ + Më réng kh¶ n¨ng ng«n g÷ + ThuËn tiÖn cho ph¸t triÓn, n©ng cÊp ch¬ng tr×nh GV: Ch¬ng tr×nh cã cÊu tróc ntn, Ph©n lo¹i cÊu tróc cña ch¬ng tr×nh GV: §a mét sè hµm vµ thñ tôc a Ph©n lo¹i - Hµm to¸n häc:+ Sqrt (x) + Sqr (x) - Thñ tôc Writeln, Delete - Hµm tr¶ lêi gi¸ trÞ th«ng qua tªn hµm - Thñ tôc kh«ng tr¶ vÒ gi¸ trÞ HS: Chú ý để phân biệt khác b¶n cña hµm vµ thñ tôc - Hµm (Function) lµ ch¬ng tr×nh thực số thao tác nào đó và trả vÒ mét gi¸ trÞ qua tªn cña nã - Thñ tôc (Procedure) lµ ch¬ng tr×nh con, thực số thao tác định nhng GV: Ch¬ng tr×nh cã cÊu tróc nh thÕ kh«ng tr¶ vÒ gi¸ trÞ qua tªn cña nã nµo? b CÊu tróc ch¬ng tr×nh - §a cÊu tróc ch¬ng tr×nh < PhÇn ®Çu> [<PhÇn th©m>] + PhÇn khai b¸o: khai b¸o cho biÕn d÷ < PhÇn th©n > liÖu vµo/ra, h»ng vµ biÕn dïng trogn ch- (134) ¬gn tr×nh + Ph©n th©n: lµ d·y lÖnh thùc hiÖn HS: Chó ý l¾ng nghe, ghi bµi - Tham số hình thức: là các biến đợc GV: ®a khai niÖm tham sè h×nh thøc khai b¸o cho d÷ liÖu vµo/ra ph©n biÖt cho häc sinh thÊy sù kh¸c - Biến cụ là các biến đợc khai báo gi÷a biÕn côc bé vµ biÕn toµn côc dïng riªng ch¬gn tr×nh GV: Ch¬ng tr×nh chÝnh vµ ch¬ng tr×nh khác không thể sử dụng đợc các biến cục bé cña ch¬ng tr×nh con, nhng mäi ch¬ng trình sử dụng đợc các biến ch¬ng tr×nh chÝnh HS: ChØ ®©u lµ biÕn côc bé vÝ dô - Mọi chơng trình sử dụng đợc môc c¸c biÕn cña ch¬ng tr×nh chÝnh, vËy các biến chơng trình chính đợc gọi lµ biÕn toµn côc GV: LÊy vÝ dô vÒ biÕn toµn côc ë vÝ dô môc * Lu ý HS: Mäi CT cã thÓ hoÆc kh«ng cã tham sè h×nh thøc, cã thÓ kh«ng c Thùc hiÖn ch¬ng tr×nh cã biÕn côc bé - Thùc hiÖn ch¬ng tr×nh con: Tªn ch¬ng tr×nh víi (tham s«) NÕu cã lµ c¸c GV: Ch¬ng tr×nh chØ cã thÓ thùc hiÖn h»ng vµ biÕn chøa d÷ liÖu vµo t¬ng cã lêi gäi no ứng với tham số hình thức đặt cặp HS: Chó ý vµ ghi bµi ngoặc tròn, các hằng, các biến này đợc GV: lÊy vÝ dô ph©n tÝch gäi lµ c¸c tham sè thùc sù Cñng cè: - GV híng dÉn HS x©y dùng ch¬gn tr×nh tÝnh Tonglythua ë vÝ dô DÆn dß: HS học bài và chuẩn bị đợc trớc bài 18 Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (135) Ngµy so¹n:…………………… …… TiÕt 40: §18 vÝ dô vÒ c¸ch viÕt vµ sö dông ch¬ng tr×nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - HS thÊy thñ tôc cã cÊu tróc t¬ng tù nh mét ch¬ng tr×nh - HiÓu mèi liªn quan gi÷a ch¬ng tr×nh vµ thñ tôc - Phân biệt đợc tham số giá trị và tham số biến khai báo tham số hình thức cảu mét thñ tôc KÜ n¨ng - HS nhận biết đợc các thành phần đầu thủ tục - Nhận biết đợc hai loại tham số hình thức đầu thủ tục - Nhận biết đợc lời gọi thủ tục chơng trình chính cùng các tham số thực Thái độ: - HS thấy đợc tầm quan trọng việc sử dụng chơng trình II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Cho biÕt sù kh¸c gi÷a hµm vµ thñ tôc, cÊu tróc cña ch¬ng tr×nh Bµi míi: (136) Hoạt động Giáo viên và Học sinh Néi dung GV: Trong môc nµy ta xÐt c¸ch viÕt vµ sö dông ch¬ng tr×nh - §a vÝ dô vÏ h×nh ch÷ nhËt nh SGK b»ng dÊu * C¸ch viÕt vµ sö dông thñ tôc * * * * * * * * * * * * * * - Gäi HS ®a c¸ch lµm VÝ dô vÏ h×nh ch÷ nhËt nh SGK GV: NhËn xÐt b»ng dÊu * - Dïng c©u lÖnh Writeln ( ) - Nh vËy mét ch¬ng tr×nh nÕu muèn * * * * * * vÏ hai hay nhiÒu h×nh ch÷ nhËt th× ph¶i sö * * dụng câu lệnh trên dấn đến chơng * * * * * * tr×nh dµi kh¼ n¨ng theo dâi khã - §a ch¬ng tr×nh cã sö dông thñ tôc SGKT96 HS: Quan s¸t CT SGK T96 GV: Ph©n tÝch CT cho HS thÊy thñ tôc (ch¬ng tr×nh con) lµ mét ®o¹n lÖnh chÞu tr¸ch nhiÖm gi¶i quyÕt mét bµi to¸n * §Ó vÏ nhiÒu h×nh ch÷ nhËt dïng thñ tôc gi¶i quyÕt bµi to¸n nµy - Cho HS quan s¸t ch¬ng tr×nh vµ cho biÕt cÊu tróc cña thñ tôc HS: Tr¶ lêi GV: NhËn xÐt vµ ®a kÕt luËn vÒ cÊu tróc cña thñ tôc a CÊu tróc cña thñ tôc Procudure <Tªn thñ tôc> [<Danh s¸ch tham sè>]; [<PhÇn khai b¸o>] Begin (137) [<D·y c¸c lÖnh>] End; - Ph©n tÝch cÊu tróc cña thñ tôc qua vÝ dô vµ yªu cÇu HS xem phÇn chó thÝch SGK HS: Chó ý nghe gi¶ng GV: §a vÝ dô SGK vÏ h×nh ch÷ nhËt víi kÝch thíc kh¸c cÇn cã thñ tôc Ve_hcn cã tham sè cho Dl vµo lµ chiÒu dµi vµ chiÒu réng b VÝ dô vÒ thñ tôc (SGK T97-98) GV: Phân tích đoạn chơng trình HS thÊy nhiÖm vô cô thÓ cña tõng ®o¹n ch¬ng tr×nh - Gäi HS cho vÝ dô cô thÓ vÒ chiÒu {ve canh tren cua hinh chu nhat} dµi vµ chiÒu réng cña h×nh ch÷ nhËt For i:=1 to chdai write (‘*’); Writeln; HS: Quan s¸t qua vÝ dô cô thÓ For j:=1 to chrong-2 (Ve canh ben); Begin Write (‘*’); For i:= to chdai – Write (‘ ‘); Write (‘*’); End; (Ve canh duoi) For i:= chdai Write (‘*’); Writeln; GV: - Tham sè chiÒu dµi vµ chiÒu réng gọi là tham số hình thức, tham số này đợc thay bëi tham sè thùc sù lêi gäi thñ tôc Ve_hcn (138) - Ph©n tÝch cho HS hiÒu thÕ nµo lµ tham trÞ vµ tham biÕn qua vÝ dô Các tham số hình thức đợc thay b»ng c¸c tham sè thùc sù t¬ng øng là các giá trị cụ thể đợc gọi là tham sè gi¸ trÞ (gäi t¾t lµ tham trÞ) Các tham hình thức đợc thay c¸c tham sè thùc sù t¬ng øng lµ tên các biến chứa DL đợc gọi là c¸c tham sè biÕn gäi t¾t lµ tham biÕn - VÝ dô Thambien1 (SGK T99) - VÝ dô Thambien (SGK T 100) GV:Ph©n tÝch thªm vÝ dô CT ThamBien1 HS: Quan sát ví dụ SGK để thấy đợc khác chơng trình dïng tham sè gi¸ trÞ vµ tham sè biÕn Cñng cè: - GV nh¾c l¹i cho HS thÊy thÕ nµo lµ tham s« gi¸ trÞ vµ tham sè biÕn DÆn dß: HS học bài và đọc trớc mục Cách viết và sử dụng hàm Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (139) Ngµy so¹n:…………………… …… TiÕt 41: §18 vÝ dô vÒ c¸ch viÕt vµ sö dông ch¬ng tr×nh Líp Ngµy gi¶ng SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 I Mục đích yêu cầu: KiÕn thøc: - HS biết đợc cách viết và sử dụng thủ tục - HS nắm đợc cấu trúc thủ tục - Phân biệt đợc thủ tục và hàm KÜ n¨ng: - HS nhận biết đợc các thành phần thành phần đầu hàm, nhận biết đợc c©u lÖnh sö dông hµm ë ch¬ng tr×nh cïng c¸c tham sè thùc sù Thái độ: - HS có thái độ học tập đúng đắn lập trình, thấy đợc lợi ích việc sử dụng chơng tình hàm và thủ tục II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: - Ph©n biÖt gi÷a tham sè vµ tham trÞ - Cho biÕt sù kh¸c khai b¸o tham sè vµ tham trÞ (140) Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung GV: Nh¾c l¹i c¸ch khai b¸o tham sè biÕn C¸ch viÕt vµ sö dông hµm vµ tham sè gi¸ trÞ GV: Gäi HS nh¾c l¹i sù kh¸c c¬ b¶n cña thñ tôc vµ hµm HS: Tr¶ lêi GV: Hµm cã c¸u tróc t¬ng tù nh thñ tôc, nhiªn cã kh¸c phÇn ®Çu - §a khai b¸o phÇn ®Çu cña hµm Function <Tªn hµm> [<Danh s¸ch tham sè>] : <KiÓu d÷ liÖu>; KiÓu DL lµ kiÓu DL cña gi¸ trÞ mµ hµm tr¶ vÒ - Víi thñ tôc vÏ HCN SGKT96 th× cã tham sã h×nh thøc kh«ng? HS: tr¶ lêi GV: Gièng thñ tôc, nÕu hµm kh«ng cã tham sè h×nh thøc th× kh«ng cÇn danh s¸ch tham s« - §a sù kh¸c th©n hµm cÇn cã lÖnh g¸n gi¸ trÞ tªn hµm GV: Phân tích ví dụ để HS thấy đợc c¸ch viÕt vµ sö dông hµm - LÊy vÝ dô vÒ viÖc rót gän ph©n s« cô thÓ lµ 8/6 cÇn t×m UCLN cña vµ - Trong th©n hµm cÇn cã lÖnh g¸n gi¸ trÞ cho tªn hµm <Tªn hµm> := <BiÓu thøc> (141) Gi¶ sö x=8 vµ y = thùc hiÖn chia Sodu :=x mod y Sodu:= mod = x:= y => x:= y:= Sodu => y:=2 x mod y => mod =0 Chõng nµo sè d y = th× dõng x:=2 ; y:= => UCLN = x - Gi¶i thÝch tõng ®o¹n ch¬ng tr×nh sau hái HS vÒ ý nghÜa cña tõng c©u lÖnh - Tªm hµm lµ g×? x vµ y lµ tham biÕn hay tham trÞ HS: Tr¶ lêi GV: NhËn xÐt vµ gi¶i thÝch ph©n th©n cña thñ tôc qua vÝ dô vÒ ph©n sè 8/6 ë trªn - Trong th©n thñ tôc cã lÖnh g¸n gi¸ trÞ cho tªn hµm (Gi¶i thÝch phÇn th©n ch¬ng tr×nh chÝnh gåm tªn thñ tôc cïng víi tham sè thùc sù) - §o¹n ch¬ng tr×nh rót gän ph©n s« GV: Gäi HS nh¾c l¹i c¸ch gäi tªn hµm HS: Tr¶ lêi GV: §a c¸ch sö dung hµm * VÝ dô1: XÐt ch¬ng tr×nh thùc hiÖn viÖc rút gọn phân số, đó sử dụng hàm tÝnh íc chung lín nhÊt (UCLN) cña sè nguyªn Function UCLN (x,y: Integer): Integer; Var Sodu: Integer; UCLN:= x; a:= UCLN(Tuso, mauso); if a>1 then Begin end * Sö dông hµm - LÖnh gäi hµm gåm tªn hµm vµ tham sè - Phân tích ví dụ để HS hiểu cách sử thực tơng ứng với các tham số hình thøc dông hµm Cñng cè: - Nh¾c l¹i c¸ch viÕt vµ sö dung hµm - Nh¾c l¹i sù kh¸c gi÷a hµm vµ thñ tôc DÆn dß: HS vÒ häc bµi vµ chuÈn bÞ Bµi tËp vµ thùc hµnh Rót kinh nghiÖm ………………………………………………………………………………………………………………… (142) ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (143) Ngµy so¹n:…………………… …… TiÕt 42: bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: Kiến thức Củng cố lại các kiến thức xâu ký tự, chương trình con; Kĩ Rèn luyện kĩ xử lý xâu việc tạo hiệu ứng chữ chạy trên màn hình; Nâng cao kĩ viết và sử dụng chương trình con; Thái độ Rèn luyện các phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu vì công việc chung II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp:Hớng dẫn gợi ý, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + Phßng m¸y thùc hµnh Trò: ghi chép + đồ dùng học tập + chuẩn bị nội dung thực hành III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: KiÓm tra kiÕn thøc giê thùc hµnh Bµi míi: Hoạt động Giáo viên Hoạt động Học sinh Tìm hiểu hai thủ tục catdan(s1,s2) và Quan sát thủ tục catdan() và trả lời (144) cangiua(s) câu hỏi giáo viên - Ghi nội dung thủ tục catdan(s1,s2) lªn b¶ng - Vào: xâu ký tự s1 - Hỏi: Đầu vào và đầu thủ tục - Ra: biến xâu ký tự s2 này ? -Thực việc tạo xâu s2 từ xâu s1 việc chuyển ký tự thứ đến vị - Hỏi: Chức thủ tục là gì? trí cuối xâu - Yêu cầu học sinh cho ví dụ minh - S1= ‘abcd’ thì S2= ‘bcda’ họa - Chiếu nội dung thủ tục: cangiua(s); - Quan sát, suy nghĩ và trả lời - Hỏi: Đầu vào thủ tục? - Đầu vào là xâu ký tự S không quá 79 ký tự - Hỏi: Thủ tục thực công việc gì? - Thủ tục thực thêm vào trước xâu s số ký tự trắng để đưa s màn - Giáo viên chú ý: Có thể nhắc học sinh hình ký tự S ban đầu không khai báo s là tham biến thì thủ dòng gồm 80 ký tự tục này không có hiệu lực gì vì lệnh đưa s màn hình không nằm thủ tục này Tìm hiểu chương trình câu b, sách giáo khoa, trang 103, 104 Quan sát chương trình trên bảng và - Ghi chương trình lên bảng theo dõi dẫn dắt giáo viên - Hỏi: Chức chương trình - Yêu cầu người sử dụng nhập xâu - Giới thiệu cho học sinh các thủ tục chuẩn: gotoxy(x,y); delay(n); và keypressed; ký tự Đưa xâu đó màn hình có dạng dòng chữ chạy màn hình văn 25*80 - Thực chương trình để giúp học - Quan sát trên b¶ng để đối chiếu với kết sinh thấy kết chương trình Tìm hiểu yêu cầu đề bài mà học sinh tự suy luận tính - Ghi nội dung yêu cầu lên bảng - Yêu cầu học sinh tìm vấn đề Quan sát yêu cầu trên bảng bài tập này - Về bản, giống nhiệm vụ mà câu - Yêu cầu học sinh lập trình trên máy b đã làm Chỉ khác là chương trình câu b - Yêu câu học sinh thực chương luôn cho xâu ký tự chạy dòng 12, còn trình và nhập liệu test bài này xâu ký tự phải chạy - Đánh giá kết quat lập trình học sinh dòng Vì phải truyền tham số quy định dòng chạy cho thủ tục (145) - Độc lập viết chương trình vào máy và báo cáo kết thử nghiệm - Nhập liệu theo test giáo viên và báo cáo kết Cñng cè: GV hÖ thèng l¹i c¸ch viÕt vµ sö dông thñ tôc qua bµi thùc hµnh DÆn dß: - Häc sinh vÒ t×m hiÓu l¹i ch¬ng tr×nh cña bµi thùc hµnh vµ chuÈn bÞ bµi tËp vµ thùc hµnh Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (146) Ngµy so¹n:…………………… …… TiÕt 43: bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè l¹i kiÕn thùc vÒ d÷ liÖu kiÓu b¶n ghi - Cñng cè l¹i kiÕn thøc vÒ c¸ch viÕt vµ sö dông hµm KÜ n¨ng: - N©ng cao kÜ n¨ng viÕt, sö dông ch¬ng tr×nh - Biết cách viết chơng trình có cấu trúc để giải bài toán trên máy tính Thái độ: RÌn luyÖn t ngêi lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: Phơng pháp: Đặt vấn đề, thuyết trình, hớng dẫn, vấn đáp Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y, phßng m¸y thùc hµnh Trò: ghi chép + đồ dùng học tập + nội dung thực hành III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: KiÓm tra 15 phót C©u 1: - Cho biÕt cÊu tróc cña hµm (Function) vµ thñ tôc (Procedure) C©u 2: - Cho biÕt ®iÓm kh¸c c¬ b¶n gi÷a hµm (Function) vµ thñ tôc (Procedure) C©u 3: (147) - Muèn khai b¸o x, y , z lµ tham sè biÕn (x, y, z thuéc kiÓu Integer) thñ tục có tên là “SoNguyen” thì khai báo nào sau đây là đúng A Procedure SoNguyen (x, y, z:Integer); B Procedure SoNguyen (Var x, y, z:Integer); C Procedure SoNguyen ( x: Integer; Var y, z:Integer); D Procedure SoNguyen (Var x: Integer; y, z:Integer); Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung T×m hiÓu viÖc x©y dùng c¸c hµm vµ thủ tục thực tính độ dài các cạnh, chu vi, diÖn tÝch, kiÓm tra c¸c tÝnh chÊt đều, cân, vuông tam giác đợc trình bµy bµi GV: Khi lËp tr×nh gi¶i quyÕt bµi to¸n nµy ta sö dông ch¬ng tr×nh con, chia bµi to¸n lín nµy thµnh c¸c bµi to¸n - Tam giác đợc xác định toạ độ đỉnh - Sö dông kiÓu b¶ng ghi m«t t¶ mét tam gi¸c Type - Khai b¸o Diem thuéc kiÓu g×? x, y lu tr÷ gi¸ trÞ cña ®iÓm coi lµ trêng End; ®cî kh«ng? HS: Tr¶ lêi GV: Ta cã thÓ nh×n mét ®iÓm dän biến với toạ độ thành phần Diem = Record x, y : Real; (148) - Ta cã thÓ coi tam gi¸c lµ mét b¶n ghi kh«ng? Trong b¶n ghi nµy cã b¸o nhiªu trêng? Tamgiac = Record HS: Tr¶ lêi A, B, C: Diem; GV: Coi tam gi¸c lµ mét b¶n ghi gåm End; trêng, mçi trêng cho th«ng tin vÒ mét đỉnh tam giác * Chơng trình (Thutuc) tính độ dài c¸c c¹nh Procedure Daicanh (Var R: Tamgi¸c; Var a, b, c: Real); GV: Tªn thñ tôc lµ gi? Danh s¸ch tham số đợc khai báo nh nào? HS: Tr¶ lêi GV: Nh÷ng ch¬ng tr×nh nµy tªn cña hµm hoÆc thñ tôc lµ gi? - Danh sách tham số đợc khai báo nh thÕ nµo * Hµm tÝnh chu vi tam gi¸c R HS: Tr¶ lêi Function Chuvi (Var R: Tamgiac) : Real; * Hµm tÝnh diÖn tÝch tam gi¸c Function Dientich (Var R: Tangiac) * Thñ tôc m« t¶ tÝnh chÊt cña tam gi¸c (Deu hay Can hay Vuong) Procedure Tinhchat (Var R: Tamgiac; Var deu, can, vuong: Boolean); * Thủ tục thị toạ độ ba đỉnh tam giac GV: Th«ng thêng cÇn thùc hiÖn mét Procedure Hienthi (Var R: Tamgiac) công việc nào đó ta dùng thủ tục, cần * Hàm tính khoảng cách điểm p, tÝnh to¸n ta dïng hµm Q Function Khoang_cach (P,Q:Diem) : Real; (149) GV: Cho HS nhËp ch¬ng tr×nh vµo m¸y vµ b T×m hiÓu vµ ch¹y thö ch¬ng tr×nh ch¹y thö HS: Thùc hiÖn ch¬ng tr×nh Cñng cè: GV nh¾c l¹i c¸ch viÕt vµ sö dông hµm DÆn dß: - HS vÒ t×m hiÓu l¹i ch¬ng tr×nh vµ chuÈn bÞ ý C giê sau thùc hµnh tiÕp (150) Ngµy so¹n:…………………… …… TiÕt 44: bµi tËp vµ thùc hµnh Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè l¹i kiÕn thùc vÒ d÷ liÖu kiÓu b¶n ghi - Cñng cè l¹i kiÕn thøc vÒ c¸ch viÕt vµ sö dông hµm KÜ n¨ng: - N©ng cao kÜ n¨ng viÕt, sö dông ch¬ng tr×nh - Biết cách viết chơng trình có cấu trúc để giải bài toán trên máy tính Thái độ: RÌn luyÖn t ngêi lËp tr×nh II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, hớng dẫn, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + phßng m¸y thùc hµnh Trò: ghi chép + đồ dùng học tập + nội dung thực hành III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: KiÓm tra giê thùc hµnh Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung (151) GV: Hớng dẫn học sinh thực hành gõ chơng trình vào máy và nhập đỉnh tam gi¸c theo dâi kÕt qu¶ vµ gi¶i thÝch cho HS b Tìm hiểu chơng trình nhập vào toạ độ HS: Thùc hiÖn ch¬ng tr×nh ba đỉnh tam giác và sử dụng các hàm, thủ tục đợc xây dựng dới đây để kh¶o s¸t tÝnh chÊt cña tam gi¸c GV: Gi¶i thÝch yªu cÇu cña bµi c ViÕt ch¬ng tr×nh sö dông c¸c hµm vµ thủ tục xây dựng để giải bài toán theo yªu cÇu (SGK T 108) HS: Chó ý l¾ng nghe GV: Híng dÉn HS viÕt ch¬ng tr×nh Ues crt; Type Diem = Reacord x, y: Real; End; Tamgiac = Record A, B, C : Diem; End; Const eps = 1.0E – Var T: Tamgiac; D, CN, V : Boolean; N, i, deu, can, vuong : Word; F: Text; - Cho tÖp DL tamgiac.Dat gåm c¸c dßng - NhËp DL tõ tÖp tamgiac.Dat ®a tÖp tamgiac.Out gåm dßng + Dòng đầu tiên là SL tam giác + Dßng thø lµ SL tam gi¸c c©n + Dßng thø lµ SL tam gi¸c vu«ng (152) Cñng cè: GV: Ph©n tÝch l¹i mét sè ®o¹n ch¬ng tr×nh DÆn dß: HS vÒ häc bµi 12, 13, 14 giê sau kiÓm tra mét tiÕt Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (153) Ngµy so¹n:…………………… …… TiÕt 45: KiÓm tra mét tiÕt Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè l¹i c¸ch khai b¸o vµ c¸c thao t¸c xö lÝ x©u - Cñng cè l¹i c¸ch khai b¸o vµ vµ sö dông kiÓu b¶n ghi - Cñng cè l¹i kiÕn thøc vÒ DL kiÓu tÖp KÜ n¨ng: - HS cã kÜ n¨ng gi¶i c¸c bµi to¸n vÒ x©u kÝ tù - Bµi to¸n qu¶n lÝ dïng kiÓu b¶n ghi vµ c¸c b¸i to¸n vÒ d÷ liÖu kiÓu tÖp Thái độ: HS có thái độ học tập đúng đắn tiếp xúc với kiểu DL xâu, ghi, kiểu tệp II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Ph¬ng ph¸p: KiÓm tra trªn giÊy - Ph¬ng tiÖn: ThÇy: §Ò kiÓm tra Trò: Kiến thức để kiểm tra III Néi dung kiÓm tra I Tr¾c nghiÖm: C©u 1: Trong các khai báo sau khai báo nào đúng A Var hoten: string [27]; B Var diachi: string (100); C Var ten = string [30]; D Var ho = string (20); C©u 2: (154) X©u s = ‘ABBA’ nhá h¬n x©u x©u: A ‘A’ B ‘B’ C ‘AAA’ D ‘ABA’ C©u 3: Trong Pascal để khai báo hai biến tệp văn f1, f2 ta viết: A Var f1, f2: Text; B Var f1, f2 : txt; C Var f1.txt, f2.txt; D Var f1.txt: f2.txt; C©u 4: XÐt ch¬ng tr×nh sau Var f: text; Begin Assign (f,’ABC.txt’); Rewrite (f); Write (f, 105+304-234); Close (f); End Sau thùc hiÖn ch¬ng tr×nh, tÖp ABC.txt cã néi dung nh thÕ nµo? A 105+304-234; B 105304234; C 105 304 234; D 175; II Tù luËn C©u 1: (3 ®iÓm) a Dữ liệu kiểu xâu là gì? Cho biết cách tham chiếu đến phần tử xâu, cho ví dụ b Nªu c¸ch khai b¸o biÕn kiÓu x©u, cho vÝ dô Cho x©u S gåm c¸c kÝ tù ‘Tin hoc’ thñ tôc Delete (S, 5, 3) cho kÕt qu¶ x©u S lµ g×? C©u 2: (3 ®iÓm) ViÕt ch¬ng tr×nh nhËp vµo mét x©u S tõ bµn phÝm T¹o x©u S1 tõ x©u S gåm kÝ tù liªn tiÕp b¾t ®Çu tõ vÞ trÝ thø 2, ®a mµn h×nh x©u võa t¹o C©u 3: (2 ®iÓm) a Có loại tệp? Thao tác tệp là gì? b Cho biến tệp f và tệp Vidụ.txt Hãy viết chơng trình để đọc liệu từ tệp Vidụ.txt vµo biÕn x vµ y DÆn dß: Rót kinh nghiÖm ………………………………………………………………………………………………………………… Ngµy so¹n:…………………… …… (155) TiÕt 46: § 19 th viÖn ch¬ng tr×nh chuÈn Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: Kiến thức Giới thiệu số thư viện chương trình chuẩn và cách sử dụng Kĩ Bước đầu sử dụng các thư viện đó lập trình Biết khai báo và sử dụng thư viện CRT, GRAPH II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Kh«ng kiÓm tra) Bµi míi: Hoạt động Giáo viên Hoạt động Häc sinh + Đặt vấn đề: Giới thiệu các thư viện chương trình ngôn ngữ lập trình + HĐ 1: Giới thiệu thư viện CRT - Yêu cầu học sinh đọc sách và kể tên chương trình + Các chương trình thư viện CRT thư viện CRT : - Clrscr, textcolor, Néi dung CRT - Chứa các thủ tục liên quan đến việc quản lí và khai thác màn hình, bàn phím máy tính (156) - Trình chiếu và cho chạy chương trình sau: Program xoamanhinh; Begin Clrscr; Writeln(‘Xoa man hinh’); Readln; End - Vì xuất lỗi chạy chương trình này? - Thêm : Uses CRT vào trước begin và chạy chương trình - Chức thủ tục Clrscr ? -Trình chiếu ch ương trình chứa thủ tục textcolor, yêu cầu học sinh quan sát và nhận xét chức lệnh này - Trình chiếu chương trình chứa thủ tục textbackground, yêu cầu học sinh quan sát và nhận xét chức lệnh này - Trình chiếu chương trình chứa thủ tục gotoXY, yêu cầu học sinh quan sát và nhận xét chức lệnh này + HĐ 2: Tìm hiểu thư viện Graph - ĐVĐ: thư viện Graph chứa các thủ tục liên quan đến chế độ đồ hoạ + Cho HS xem sách và trả lời: - Các dạng liệu nào có thể hiển thi trên màn hình? - Card màn hình có nhiệm vụ gì? - Các tệp điều khiển đồ hoạ có chức gì? textbackground, gotoXY - Quan sát - Clrscr: xoá màn hình - Chưa sử dụng thư viện CRT - Quan sát - Textcolor(n): đặt màu chữ, đó n là biến xác -Xoá màn hình định màu - Đặt màu chữ - Textbackground(n): đặt màu - Đặt màu - GotoXY(x,y): đưa trỏ đến cột x dòng - Đưa trỏ cột X y màn hình văn và dòng Y (157) - Khi nói đến màn hình phân giải - Nghe 640x480 là nói đến điều gì? + Để sử dụng thư viện đồ hoạ ta phải làm gì? - Để khởi tạo chế độ đồ hoạ ta sử dụng thủ tục nào? - Văn và hình ảnh - Khi không sử dụng chế độ đồ - Đảm bảo tương tác hoạ thì ta phải làm gì? vi xử lí và màn hình - Cung cấp các chương trình điều khiền tương ứng với các loại bảng mạch đồ hoạ - 640 dòng và 480 cột Graph - Chứa các hàm và thủ tục liên quan đến chế độ đồ hoạ a) Các thiết bị và chương trình hỗ trợ đồ hoạ - Có hai chế độ làm việc: văn và đồ hoạ - Bảng mạch điều khiển màn hình là thiết bị đảm bảo tương tác vi xử lí và màn hình - Khởi tạo chế độ đồ hoạ - Initgraph(var driver, mode: Integer; path: string); b) Khởi tạo chế dộ đồ hoạ - Initgraph(var driver, mode: Integer; path: - Trở chế độ văn string); + Trong đó: - driver: số hiệu chương trình điều khiển BGI - mode: số hiệu độ phân giải - path: đường dẫn đến tệp BGI - CloseGraph: Kết (158) thúc chế độ đồ hoạ Cñng cè: - GV nh¾c l¹i th viÖn ch¬ng tr×nh chuÈn vµ th viÖn Graph cã kh¶ n¨ng cung cÊp hỗ trợ xây dựng chơng trình đồ hoạ chho ngời lập trình Dặn dò: HS học bài và đọc trớc các mục còn lại Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (159) Ngµy so¹n:…………………… …… TiÕt 47: § 19 th viÖn ch¬ng tr×nh chuÈn Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I, Mục đích yêu cầu: Kiến thức Biết số thư viện chương trình Kĩ Bước đầu sử dụng các thư viện đó lập trình Khởi động chế độ đồ hoạ Sử dụng các thủ tục vẽ điểm, đường, hình tròn, hình ellips, hình chữ nhật II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Kh«ng kiÓm tra) Bµi míi: * HĐ 1: Khởi động và đóng chế độ đồ họa Hoạt động Giáo viên Hoạt động HS Néi dung - Trình chiếu ví dụ vẽ - Quan sát ví dụ và trả b Khởi động đồ họa (160) đường tròn Hãy đoạn chương trình khởi động đồ họa - Yêu cầu học sinh nghiên cứu SGK và ví dụ để nêu cấu trúc chung thủ tục khởi động đồ họa - Giải thích các thông số thủ tục lời - Cấu trúc chung thủ tục khởi động đồ họa Initgraph (driver, mode: integer, path: string); - Initgraph ( driver, mode: integer, path: + Driver: số hiệu string) chương trình điều khiển BGI, thường gán giá trị + Mode: là số hiệu độ phân giải + Path: đường dẫn - Muốn thoát khỏi chế độ đồ đến các tệp BGI họa dùng thủ tục gì? - Thủ tục kết thúc đồ họa: - Trình chiếu thêm ví dụ - Closegraph Closegraph minh họa - Quan sát *HĐ 2: Các thủ tục vẽ điểm, đoạn thẳng Hoạt động Giáo viên Hoạt động HS Néi dung Thủ tục Putpixel c.Các thủ tục vẽ điểm, - Trình chiếu ví dụ - Quan sát đoạn thẳng Use graph; Begin - Cho HS nêu kết Drive: = 0; - Gọi HS nêu cấu trúc chung - HS trả lời Initgraph ( drive, mode, thủ tục Putpixel ‘C: TP\BGI’); Putpixel(20,40,60); - Giải thích các thông số Readln; thủ tục - HS trả lời End - Chức Putpixel là - Cấu trúc chung: gì ? Putpixel (x, y: integer; color: word); Thủ tục Line: + x và y là tọa độ - Trình chiếu ví dụ điểm - Quan sát + color là màu điểm (161) - Cho HS nêu kết - HS trả lời - Gọi HS nêu cấu trúc chung thủ tục Line - Giải thích các thông số thủ tục - Chức Line là gì ? - HS trả lời Thủ tục Lineto: - Trình chiếu ví dụ - Quan sát - HS trả lời - Cho HS nêu kết - Gọi HS nêu cấu trúc chung thủ tục Lineto - Giải thích các thông số thủ tục - HS trả lời - Chức Lineto là gì? Thủ tục Linerel: - Trình chiếu ví dụ - Quan sát - HS trả lời - Cho HS nêu kết - Gọi HS nêu cấu trúc chung - HS trả lời thủ tục Linerel - Giải thích các thông số - Chức năng: Vẽ điểm màu color trên màn hình tọa độ (x,y) Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’); Line (20,40,30,60); Readln; End - Cấu trúc chung: Line (x1,y1,x2,y2: integer) - Chức năng: Vẽ đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2) Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20) Readln; End - Cấu trúc chung: Lineto (x,y: integer) - Chức năng: Vẽ đường thẳng từ điểm đến điểm có tọa độ (x,y) Use graph Begin Drive: = 0; Initgraph ( drive, mode, (162) thủ tục - Chức Linerel là gì? - Quan sát Thủ tục Setcolor: - Trình chiếu ví dụ - HS trả lời - Cho HS nêu kết - Gọi HS nêu cấu trúc chung - HS trả lời thủ tục Setcolor - Giải thích các thông số thủ tục - Chức Setcolor là gì? ‘C: TP\BGI’) Linerel (10,10); Readln; End - Cấu trúc chung: Linerel (dx,dy: integer) - Chức năng: Vẽ đường thẳng nối điểm với điểm có tọa độ tọa độ cộng với gia số (dx,dy) Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20); Setcolor (10); Lineto (20;-20); Readln; End - Cấu trúc chung: Setcolor (color: word) - Chức năng: Đặt màu cho nét vẽ *HĐ 3: Các thủ tục vẽ hình đơn giản và các thủ tục, hàm liên quan đến vị trí trỏ Hoạt động Giáo viên Hoạt động HS Néi dung Trình chiếu: ví dụ - Quan sát d Các thủ tục vẽ hình đơn giản Use graph; Begin Drive: = 0; (163) - Cho HS nêu kết - HS trả lời - Gọi HS nêu cấu trúc - HS trả lời chung các thủ tục Circle, Ellipse, Rectange - Giải thích các thông số - HS trả lời thủ tục - Chức thủ tục là gì? Giới thiệu các hàm xác định GTLN màn hình, thủ tục chuyển trỏ tới tọa độ (x, y) Initgraph ( drive, mode, ‘C: TP\BGI’) Circle (20, 20, 30); Elipse (50,50,30,120,50,100); Rectangle (100,100,100,200); Readln; End - Cấu trúc chung: + Hình tròn: Circle (x,y: integer; r:word) + Elipse: Ellipse(x,y:integer; stAngle, EndAngle, Xr, Yr: word) + Hình chữ nhật: Rectange(x1,y1,x2,y2:integ er) - Chức năng: + Circle:Vẽ đường tròn có tâm (x,y) và bán kính r + Elipse : Vẽ cung Elip có tâm điểm (x,y) với trục lớn xr, trục nhỏ yr, từ góc đầu StAngle đến góc cuối EndAngle + Rectange: Vẽ hình chữ nhật với (x1,y1) là tọa độ đỉnh trái trên; (x2,y2) là tọa độ đỉnh phải e Các thủ tục và hàm liên quan đến vị trí trỏ (164) - Hàm xác định GTLN cua màn hình: Function GetMaxX: integer; Function GetMaxY: integer; - Thủ tục chuyển trỏ tới tọa độ (x;y) Procedure MoveTo(x,y:integer); *HĐ 4:Tìm hiểu số thư viện khác Hoạt động Giáo viên Hoạt động HS - Hãy nêu số thư viện - System, Dos, khác Pascal? printer - Chức thư viện? - HS trả lời - Để sử dụng các thủ tục và hàm chuẩn thư viện nào - Khai báo đó ta phải làm gì? - Gọi HS nêu VD - uses crt,graph; Néi dung Một số thư viện khác: - System: chứa các hàm sơ cấp và các thủ tục vào - Dos: chứa các thủ tục tạo thư mục, thiết lập hệ thống - Printer: cung cấp các thủ tục làm việc với máy in Sử dụng thư viện: - Khai báo thủ tục và hàm chuẩn theo cấu trúc: Uses unit1, unit2, ,unit Cñng cè: Biết số thư viện chuẩn Biết số thủ tục đồ họa đơn giản Đọc thêm bài “Âm thanh” DÆn dß: HS vÒ häc bµi vµ chuÈn bÞ bµi tËp vµ thùc hµnh Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (165) Ngµy so¹n:…………………… …… TiÕt 48: Bµi tËp vµ thùc hµnh 8(TiÕt 1) Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: Kiến thức Biết đợc khả đồ hoạ Pascal Biết đợc số thủ tục, suy luận đợc kết chơng trình Kĩ Sử dụng đợc các thủ tục đồ hoạ để viết đợc chơng trình đơn giản; Thái độ Rèn luyện các phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu vì công việc chung II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + phßng m¸y thùc hµnh Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (KiÓm tra bµi thùc hµnh) Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung (166) Giíi thiÖu ch¬ng tr×nh c©u a Häc sinh quan s¸t néi dung ch¬ng GV: ChiÕu néi dung (Ghi néi dung lªn tr×nh; b¶ng) (sgktr 115) - Hµm Detectinit cã chøc n¨ng g× - Cho gi¸ trÞ kh¸c kh«ng nÕu cã lçi khëi HS: Tr¶ lêi động đồ hoạ; GV: Thñ tôc moveto (getmaxx div 2, getmaxy div 2) thùc hiÖn c«ng viÖc g× ? - Ch¬ng tr×nh nµy thùc hiÖn c«ng viÖc g× ? HS: Tr¶ lêi - Chuyển trỏ đồ hoạ đến vị trí tâm cña mµn h×nh; GV: Thực chơng trình để học sinh thÊy kÕt qña cña ch¬ng tr×nh nµy - Vẽ các đờng gấp khúc ngẫu nhiên nhờ thñ tôc Lineto, mçi ®o¹n cã mét mµu ngÉu nhiªn VÞ trÝ b¾t ®Çu vÏ lµ t©m cña mµn h×nh KÕt thóc viÖc vÏ b»ng c¸ch nhÊn mét phÝm bÊt k×; - Häc sinh quan s¸t gi¸o viªn thùc hiÖn vµ kiÓm nghiÖm suy luËn Giíi thiÖu ch¬ng tr×nh c©u b sgktr Quan s¸t néi dung ch¬ng tr×nh 116 Yªu cÇu häc sinh nghiªn cøu ch¬ng tr×nh vµ cho biÕt chøc n¨ng cña ch¬ng - VÏ h×nh ch÷ nhËt víi nÐt vÏ mµu vµng; tr×nh; - Vẽ đờng tròn màu xanh lá cây, tâm - Thực chơng trình để học sinh thấy 450, 100 vàbán kính 50; đợc kết nó - Quan s¸t kÕt qu¶ thùc hiÖn ch¬ng tr×nh GV: Yêu cầu học sinh thay đổi số và kiểm nghiệm suy luận; tham số màu vẽ, toạ độ và thực lại - Thực yêu cầu giáo viên Thực ch¬ng tr×nh chơng trình để biết đợc ý nghĩa c¸c thñ tôc vµ tham sè cña nã Củng cố: Hệ thống lại các thủ tục xử lí đồ hoạ (167) Yêu cầu học sinh nhà viết chơng trình vẽ hình vuông có độ dài cạnh là d và toạ độ đỉnh bên trái là (x, y) DÆn dß: HS chuẩn bị nội dung còn lại để sau thực hành Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (168) Ngµy so¹n:…………………… …… TiÕt 49: Bµi tËp vµ thùc hµnh 8(TiÕt 2) Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: Kiến thức Biết đợc khả đồ hoạ Pascal Học sinh sử dụng đợc các thủ tục xử lí đồ hoạ và công thức đổi trục toạ độ để lập trình vẽ đợc đồ thị hàm số Kĩ Sử dụng đợc các thủ tục đồ hoạ để viết đợc chơng trình đơn giản; Học sinh biết viết chơng trình vẽ hình vuông có độ dài cạnh 100 và toạ độ đỉnh góc trên trái là 50, 50 Thái độ Rèn luyện các phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu vì công việc chung II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp, gợi ý hớng dẫn - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y + phßng m¸y thùc hµnh Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: (Lång giê thùc hµnh) Bµi míi: (169) Hoạt động Giáo viên và Học sinh Néi dung Ch¬ng tr×nh díi ®©y minh ho¹ viÖc sử dụng các thru tục vẽ hình đơn giản Hãy chạy thử chơng trình thay đổi số tham sô nh màu vẽ, toạ độ và quan s¸t kÕt qu¶ trªn mµn h×nh GV: Yªu cÇu HS gâ ch¬ng tr×nh vµo m¸y tÝnh vµ gi¶i thÝch mét sè ®o¹n ch¬ng t×nh HS: Gâ ch¬ng tr×nh vµo m¸y tÝnh vµ nghe gi¸o viªn gi¶i thÝch ®o¹n ch¬ng tr×nh - VÏ h×nh ch÷ nhËt víi nÐt vÏ mµu vµng Setcolor (Yellow) Rectangle (10,10, xm, ym); GV: Tọa độ đỉnh trên bên trái là bao nhiªu? HS: Tr¶ lêi GV: Toạ độ đỉnh trên bên phải có rơi vào t©m mµn h×nh kh«ng? HS: Tr¶ lêi - Thêm vào chơng trình trên để vẽ đờng kính đờng tròn theo trục x và theo GV: Hớng dẫn HS tính tạo độ điểm đầu trôc y và điểm cuối đờng kính GV: Yêu cầu học sinh thay đổi góc khởi - Sửa lại đạon chơng trình vẽ Elip để vẽ ®Çu vµ gãc kÕt thóc ®o¹n ch¬ng đợc nửa Elip và vẽ 1/4 Elip tr×nh vÏ Elip Cñng cè: - GV yêu cầu HS lập trình vẽ hình vuông với toạ độ đỉnh trên bên trái là là (30,35) và đờng chéo hìng vuông DÆn dß: HS vÒ lµm bµi tËp SGK T117 Rót kinh nghiÖm (170) Ngµy so¹n:…………………… …… TiÕt 50: Bµi tËp (171) Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - Cñng cè l¹i kiÕn thøc vÒ ch¬ng tr×nh con, sù gièng vµ kh¸c gi÷a thñ tôc vµ hµm - Củng cố lại kiến thức xây dựng chơng trình để giải bài toán KÜ n¨ng: - HS viết đợc chơng trình đơn giản có sử dụng hàm và thủ tục Thái độ: HS có thái độ học tập đúng đắn II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Đặt vấn đề, thuyết trình, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III TiÕn tr×nh lªn líp: KiÓm tra bµi cò: Bµi míi: Hoạt động Giáo viên và Học sinh Néi dung C©u 1: Nªu sù gièng vµ kh¸c gi÷a thñ tôc vµ hµm GV: Gäi HS nh¾c l¹i kh¸i niÖm vÒ ch¬ng tr×nh hµm vµ thñ tôc HS: Tr¶ lêi vµ rót sù gièng gi÷a hµm vµ thñ tôc * Gièng nhau: §Òu lµ ch¬ng tr×nh con, (172) c¸ch thùc hiÖn ch¬ng tr×nh gåm tªn ch¬ng tr×nh vµ tham sè thùc sù - Cấu trúc giống nhau: có <PhÇn ®Çu> [<phÇn khai b¸o> <PhÇn th©n> GV: NhËn xÐt vµ ®a sù gièng GV: Gäi HS nªu sù kh¸c nhau: HS: Tr¶ lêi GV: NhËn xÐt * Kh¸c nhau: - §iÓm kh¸c gi÷a hµm vµ thñ tôc lµ viÖc thùc hiÖn hµm lu«n tr¶ vÒ gi¸ trÞ thuộc kiểu xác định - Kh¸c víi thñ tôc, th©n hµm cã lÖnh g¸n gi¸ trÞ cho tªn hµm GV: Gäi HS tr¶ lêi HS: Tr¶ lêi GV: NhËn xÐt GV: Gäi HS tr¶ lêi HS: Tr¶ lêi GV: NhËn xÐt C©u 2: Ch¬ng tr×nh cã thÓ kh«ng cã tham sè kh«ng cho vÝ dô? * Ch¬ng tr×nh cã thÓ kh«ng cã tham sè vÝ dô: ch¬ng tr×nh thùc hiÖn mét công việc nào đó C©u 3: H·y cho vÝ dô ch¬ng tr×nh cã nhiÒu h¬n mét kÕt qu¶ C©u 4: ViÕt ch¬ng tr×nh (hµm, thñ tôc) tÝnh béi chung nhá nhÊt cña sè nguyªn d¬ng a vµ b GV: Híng dÉn häc sinh viÕt ch¬ng tr×nh (173) tÝnh béi chung nhá nhÊt cña sè nguyªn d¬ng a vµ b - §Ó tÝnh b«i chung nhá nhÊt cña sè nguyªn d¬ng a vµ b cã thÓ thùc hiÖn theo c«ng thøc sau: ab/d (d lµ UCLN cña a vµ b) HS: Quan s¸t sù híng dÉn vµ viÕt ch¬ng tr×nh program b4; uses crt; Var a, b, d, n: integer; Function UCLN (x,y: integer) : integer; Var Sd: integer; Begin While y<> begin sd:= x mod y; x:= y; y:= sd; end; UCLN:= x; end; Beign Clrscr; Write (‘Nhap vao a va b’); Readln (a,b); d:= UCLN (a,b); N:= (a*b)/d; Write (‘BCNN la ’,n); Readln; End Cñng cè: GV: Nhắc lại khác hàm và thủ tục yêu cầu HS sửa chơng trình đợc viết bµi thµnh ch¬ng tr×nh cã sö dông thñ tôc DÆn dß: HS ôn bài 12, 13, 14, 15, 16 sau ôn tập để thi học kì (174) Rót kinh nghiÖm ………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… (175) Ngµy so¹n:…………………… …… TiÕt 50: «n tËp Líp Ngµy gi¶ng TiÕt TKB SÜ sè Häc sinh v¾ng 11B1 11B2 11B3 11B4 11B5 11B6 11B7 I Mục đích yêu cầu: KiÕn thøc: - Củng cố lại kiến thức cấu trúc rẽ nhánh rạng thiếu và đủ, cấu trúc vòng lặp (lÆp víi sè Çn biÕt tríµ cha biÕt tríc) - Cñng cè l¹i kiÕn thøc vÒ d÷ liÖu kiÓu m¶ng, d÷ liÖu kiÓu x©u, d÷ liÖu kiÓu b¶n ghi vµ mét sè tw viÖn chêng tr×nh chuÈn cña pascal KÜ n¨ng: - Giải đợc số bài toán có sử dụng cấu trúc rẽ nhánh và cấu trúc lặp, các bài toán trên liệu kiểu xâu, kiểu ghi, kiểu tệp và lập trình vẽ đợc số hình đơn giản Thái độ: HS có thái độ học tập đúng đắn Thấy đợc lợi tích việc học lập trình, cụ thể là làm quen với ngôn ngữ lập trình Pascal II Ph¬ng ph¸p, ph¬ng tiÖn d¹y häc: - Phơng pháp: Nêu vấn đề, vấn đáp - Ph¬ng tiÖn: ThÇy: SGK + gi¸o ¸n + tµi liÖu gi¶ng d¹y Trò: ghi chép + đồ dùng học tập III Néi dung «n tËp CÊu tróc rÏ nh¸nh * RÏ nh¸nh d¹ng thiÕu (176) if <®iÒu kiÖn> then <c©u lÖnh>; * Dạng đủ : if <điều kiện> then <câu lệnh 1> else <câu lệnh 2> - Hoạt động câu lệnh dạng thiếu: điều kiện đúng thì thực câu lệnh, điều kiÖn sai th× c©u lÖnh bÞ bá qua - Hoạt động câu lệnh dạng đủ: Nếu diều kiện đúng thì câu lệnh đợc thực ngîc l¹i ®iÒu kiÖn sai th× c©u lÖnh bÞ bá qua VÝ dô 1: a:= 5; b:=6 if a>b then Write (‘a’) VÝ dô 2: a:= 5; b:=6 if a>b then Wriet (‘a’) else Write (‘b’) CÊu tróc lÆp * CÊu tróc lÆp víi sè lÇn biÕt tríc - Dạng lặp tiến: For <biến đếm>:= <Giá trị đầu> to <giá trị cuối> <câu lÖnh> - Dạng lặp lùi: For <biến đếm>:= <Giá trị cuối> downto <giá trị đầu> <câu lÖnh> * Hoạt động: dạn g lặp tiến: Câu lệnh sau Do đợc thực với biến đếm nhận các gía tri liên tiếp từ giá trị đầu đến giá trị cuối * Hoạt động: dạng lặp lùi: Câu lệnh sau Do đợc thực với biến đếm nhận các gía tri liên tiếp từ giá trị cuối đến giá trị đầu VÝ dô 1: For i:=1 to 10 Write (‘i’) VÝ dô 2: For i:= 20 downto Write (‘i’) VÝ dô 3: For i:=1 to Write (‘*’) D÷ liÖu kiÓu m¶ng - C¸ch khai b¸o biÕn m¶ng mét chiÒu vµ hai chiÒu * C¸ch khai b¸o biÕn m¶ng mét chiÒu - Khai b¸o gi¸n tiÕp: Type <tªn kiÓu m¶ng>= Array [kiÓu chØ sè] of kiÓu phÇn tö; Var <tªn biÕn m¶ng>:<Tªn kiÓu m¶ng>; - Khai b¸o trùc tiÕp: Var <tªn biÕn m¶ng>:Array [kiÓu chØ s«] of kiÓu phÇn tö; * C¸ch khai b¸o biÕn m¶ng hai chiÒu - Khai b¸o gi¸n tiÕp:Type <tªn kiÓi m¶ng> =Array [kiÓu chØ sè hµng, kiÓu chØ sè cét] of <kiÓu phÇn tö>; Var <tªn biÕn m¶ng>:<Tªn kiÓu m¶ng>; (177) (178)