- Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể.. - Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn n[r]
(1)Gi¸o ¸n: Tin häc Người soạn: Đoàn Thị ánh Nguyệt TuÇn 11 Tiết 21 - 22: từ bài toán đến chương trình I Mục đích, yêu cầu: - Biết người dẫn cho máy tính thực công việc thông qua lệnh - Biết chương trình là cách để người dẫn cho máy tính thực nhiều công việc liên tiếp cách tự động - Biết viết chương trình là viết các lệnh để dẫn máy tính thực các công việc hay giải bài toán cụ thể - Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn ngữ lập trình - Biết vai trò chương trình dịch - HS nghiªm tóc häc tËp vµ nghiªn cøu bµi häc II/ ChuÈn bÞ cña häc sinh vµ gi¸o viªn: GV: Một số chương trình mẫu HS: Nghiên cứu trước bài III/ TiÕn tr×nh d¹y häc: Bµi míi: Hoạt động GV + HS Néi dung ghi b¶ng Hoạt động 1: Thuật toán và mô tả thuật toán §a vÝ dô: ViÖc pha trµ mêi kh¸ch cã thể nêu thành các bước sau: Bước 1: Tráng ấm chén nước sôi Bước 2: Cho trà vào ấm Bước 3: Rót nước sôi vào ấm và đợi kho¶ng 3-4 phót Bước 4: Rót trà chén để mời khách Cách liệt kê các bước trên là phương pháp thường dùng để mô tả thuËt to¸n ? VËy ThuËt to¸n lµ g×? ThuËt to¸n lµ d·y c¸c thao t¸c cÇn thùc hiÖn theo trình tự xác định để thu kết - §a vÝ dô 1trªn b¶ng cần tìm từ điều kiện cho trước Trường THCS Sơn Hoá Lop8.net (2) Gi¸o ¸n: Tin häc Người soạn: Đoàn Thị ánh Nguyệt VD1: Bài toán giải phương trình bậc dạng tæng qu¸t bx + c = 0: Bước Nếu b = chuyển tới bước Bước Tính nghiệm phương trình x =– c chuyển tới bước b Bước Nếu c 0, thông báo phương trình đã cho vô nghiệm Ngược lại (c = 0), thông báo phương trình có vô số nghiÖm Bước Kết thúc thuật toán Hoạt động 2: Một số ví dụ thuật toán GV ®a VD c¸ch tÝnh diÖn tÝch h×nh VÝ dô Mét h×nh A ®îc ghÐp tõ mét h×nh ch÷ A nhËt víi chiÒu réng 2a, chiÒu dµi b vµ mét h×nh bán nguyệt bán kính a hình đây: ? Làm nào để tính đựoc diện tích h×nh A Thuật toán đơn giản để tính diện tích hình A có thể gồm các bước sau: INPUT: a lµ 1/2 chiÒu réng vµ b lµ chiÒu dµi cña h×nh ch÷ nhËt, a lµ b¸n kÝnh cña h×nh b¸n ? Trình bày các bước để tính diện tích nguyệt OUTPUT: DiÖn tÝch cña A h×nh A Bước Tính S1 = 2a b diÖn tÝch h×nh ch÷ nhËt} {TÝnh Bước Tính S2 = π a2/2 {TÝnh diÖn tÝch h×nh b¸n nguyÖt} Bước Tính kết S = S1 + S2 * Trong biểu diễn thuật toán, người ta thường sử dụng kí hiệu a A để phép gán giá trị cña sè hoÆc biÓu thøc A cho biÕn a VÝ dô: Trường THCS Sơn Hoá Lop8.net (3) Gi¸o ¸n: Tin häc Người soạn: Đoàn Thị ánh Nguyệt x c/b (biÕn x nhËn gi¸ trÞ b»ng c/b); i i + (biÕn i ®îc g¸n b»ng gi¸ trÞ hiÖn t¹i i cộng thêm đơn vị) GV ®a VD2 VÝ dô 2: TÝnh tæng cña 100 sè tù nhiªn ®Çu tiªn ? Input? INPUT: Dãy 100 số tự nhiên đầu tiên (từ đến ? OutPut? 100) ? H·y nªu c¸ch tÝnh tæng 100 sè tù OUTPUT: Gi¸ trÞ SUM = + + + 100 nhiªn ®Çu tiªn Bước 1: Gán SUM 1; i - GV nªu c¸ch tÝnh Bước 2: Gán i i + Hướng dẫn hs xem sgk §a vÝ dô lªn b¶ng phô NhËn xÐt vµ ®a input, output trªn mµn h×nh Bước 3: Nếu i ≤ 100, thì SUM SUM + i và chuyển lên bước Trong trường hợp ngược lại (i > 100), kÕt thóc thuËt to¸n c VÝ dô : Cho hai sè thùc a vµ b H·y ghi kÕt so sánh hai số đó, chẳng hạn “a > b”, “a < b”, hoÆc “a = b” (SGK) §a thuËt to¸n lªn mµn h×nh vµ ph©n d VÝ dô : tÝch §æi gi¸ trÞ cña hai biÕn x vµ y cho §a vÝ dô (SGK) e VÝ dô : Nêu ý tưởng để xếp x, y, z tăng dần Cho hai biến x và y có giá trị tương ứng là a, b víi a < b vµ biÕn z cã gi¸ trÞ c H·y s¾p xÕp ba ? biến x, y và z để chúng có giá trị tăng dần §a thuËt to¸n vµ ph©n tÝch.Yªu cÇu Hs (SGK) viÕt INPUT, OUTPUT cña bµi to¸n? f VÝ dô : T×m sè lín nhÊt d·y A c¸c sè a1, a2, , an §a mµn h×nh : cho trước + M« pháng thuËt to¸n t×m sè lín nhÊt dãy số cho trước (SGV) * Xác định bài toán : Trường THCS Sơn Hoá Lop8.net (4) Gi¸o ¸n: Tin häc Người soạn: Đoàn Thị ánh Nguyệt INPUT: D·y A c¸c sè a1, a2, , an (n 1) OUTPUT: Gi¸ trÞ SMAX = max {a1, a2, , an } H : Nghiên cứu để đưa bước * Mô tả thuật toán : thuËt to¸n Bước 1: Nhập số n và dãy A; gán SMAX a1; i Bước 2: i i + Bước 3: Nếu i > n, kết thúc thuật toán (khi đó SMAX lµ gi¸ trÞ phÇn tö lín nhÊt cña d·y A) Trong trường hợp ngược lại (i ≠ n), thực bước Bước 4: Nếu > SMAX, thay đổi giá trị SMAX: SMAX chuyển bước Trong trường hợp ngược lại (SMAX ai), giữ nguyên SMAX và chuyển bước Cñng cè: Bµi tËp Sgk Gi¶ sö x vµ y lµ c¸c biÕn sè H·y cho biÕt kÕt qu¶ cña viÖc thùc hiÖn thuËt to¸n sau: Bước x x + y Bước y x - y Bước x x - y BT: H·y chØ INPUT vµ OUTPUT cña c¸c bµi to¸n sau: a) Xác định số học sinh lớp cùng mang họ Trần b) Tính tổng các phần tử lớn dãy n số cho trước Tìm số các số có giá trị nhỏ n số đã cho HDVN: Häc bµi theo Sgk vµ lµm c¸c bµi tËp Tæ chuyªn m«n ký duyÖt ngµy / / 2009 c) TTCM NguyÔn ThÞ An Trường THCS Sơn Hoá Lop8.net (5)