Thuyết trình đến đây ta đã có thuật toán của bài toán công việc tiếp theo là phải chuyển đổi thuật toán đó sang chương trình ta xét bước viết chương Thuạt toán của bài toán này không[r]
(1)Gi¸o ¸n: Tin häc 10 ================= Gi¸o viªn: TrÇn ThÞ Kim Dung Ngµy so¹n: 26/10/2008 TiÕt 18: Bµi 6: Gi¶i bµi to¸n trªn m¸y tÝnh I- Môc tiªu: KiÕn thøc: - HiÓu râ c¸ch tæ chøc gi¶i bµi to¸n trªn m¸y tÝnh, tøc lµ c¸ch dïng m¸y tÝnh thùc hiÖn c¸c c«ng viÖc cÇn lµm - Hiểu rõ các khái niệm: Bài toán, thuật toán, chương trình KÜ n¨ng: - Thực số bước để giả bài toán đơn giản trên máy tính Thái độ: - Rèn luyện thái độ học tập nghiêm túc, suy luận khoa học và sáng tạo II- ChuÈn bÞ: - Mét vµ bµi tËp vÝ dô ®îc lËp tr×nh b»ng ng«n ng÷ Pascal - M¸y chiÕu projector hoÆc tranh vÏ nÕu cã III- Hoạt động dạy học: Hoạt động giáo viên Hoạt động học sinh ổn định lớp: B¸o c¸o sÜ sè Bµi cò: ? Nêu ưu và nhược điểm ngôn ngữ máy, Hợp Suy nghĩ và trả lời ng÷? Bµi míi: ThuyÕt tr×nh: Ta biÕt r»ng m¸y tÝnh lµ c«ng cô Suy nghÜ vµ tr¶ lêi: hỗ trợ người nhiều sống khả Bước 1: Xác định bài toán khai thác máy tính phụ thuộc nhiều vào Bước 2: Lựa chọn thiết kế thuật toán hiểu biết người dùng Việc giải bài toán Bước 3: Viết chơng trình Bước 4: Hiệu chỉnh trªn m¸y tÝnh ®îc thùc hiÖn nh thÕ nµo? Hoạt động 1: Giúp học sinh thấy tính ưu Bước 5: Viết tài liệu viÖt cña viÖc gi¶i bµi to¸n b¨ng m¸y tÝnh Bài toán đặt vấn đề T×m íc sè chung lín nhÊt (UCLN) cña hai sè nguyên dương M và N Víi c¸c gi¸ trÞ: M = 25; M = 88; M = 997; M = 2006; H·y chØ nh÷ng u N = N = 121 N = 29 N=1998 L¾ng nghe gi¸o viªn gi¶ng bµi vµ ghi nhí ®iÓm cña viÖc gi¶i bµi to¸n b»ng m¸y tÝnh so víi c¸ch gi¶i toán thông thường? 58 Lop10.com (2) Gi¸o ¸n: Tin häc 10 ================= Gi¸o viªn: TrÇn ThÞ Kim Dung Th¶o luËn råi tr×nh bµy Gi¸o viªn tæng hîp ý kiÕn cña häc sinhvµ ph©n Nhanh, chÝnh x¸c h¬n,… tÝch kü h¬n: Trong vÝ dô trªn ta cã thÓ t×m UCLN cña rÊt nhiÒu cÆp sè M,N kh¸c Thùc chÊt ®©y lµ gi¶i bµi o¸n víi nhiÒu bé Input kh¸c ( líp c¸c bµi to¸n) V× vËy nh÷ng bµi to¸n trªn m¸y tÝnh cã tÝnh tæng qu¸t Hoạt động 2: Nªu tiÕn tr×nh thùc hiÖn gi¶i bµi to¸n trªn m¸y Nghe gi¶ng vµ ghi bµi tÝnh ? Xác định bài toán là ta xác định vấn đề nµo? VÝ dô: Bµi to¸n t×m íc chung lín nhÊt cña hai sè Xác định bài toán: nguyên dương M, N Nghiªn cøu s¸ch gi¸o khoa th¶o luËn råi tr×nh bµy Bước 1: Xác định bài toán Xác định hai thành phần INPUT, OUTPUT Thuyết trình: Bước lựa chọn thuật toán là quan trọng để giải bài toán VÝ dô: Bước 2: Lựa chọn thiết kế thuật toán INPUT: M , N là hai số nguyên dương OUTPUT: CLN(M, N) a Lùa chän thuËt to¸n Lùa chän mét thuËt to¸n tèi u VÝ dô: NÕu M = N - đúng ưCLN = M (hoặc N) Kết thúc; - Sai XÐt: nÕu M > N - đúng M = M – N; - Sai N = N – M; Quá trinh này lặp lại M = N Lùa chän hoÆc thiÕt kÕ thuËt to¸n Nghiªn cøu s¸ch gi¸o khoa th¶o luËn råi tr×nh bµy ? Thuật toán viết dạng liệt kê thê nào? ? Viết thuật toán dạng sơ đồ khối? ? Theo em thuËt to¸n cña bµi to¸n nµy cã thÓ gi¶i 61 Lop10.com Cách 1: Liệt kê các bước B1: NhËp M, N; B2: NÕu M = N lÊy UCLN = M (hoÆc N), chuyển đến B5; B3: NÕu M >N th× M M - N råi quay l¹i B2; B4: N N – M råi quay B2; B5: §a kÕt qu¶ CLN; KÕt thóc (3) Gi¸o ¸n: Tin häc 10 ================= Gi¸o viªn: TrÇn ThÞ Kim Dung cho bµi to¸n kh¸c hay kh«ng? Mçi thuËt to¸n chØ dïng gi¶i mét bµi to¸n, Nghiªn cøu s¸ch gi¸o khoa th¶o luËn råi tr×nh mọt bài toán có thể cs nhiều thuật toán để bày gi¶i VËy ta ph¶i chän thuËt to¸n tèi u nhÊt C¸ch 2: DiÔn t¶ t¶ thuË thuËt to¸ to¸n b» b»ng s¬ sơ đồ khố khèi nh÷ng thuËt to¸n ®a Lượt M NhËp M= 25, MN,N= 10 25 10 N 15 10 10 5 § §a ¦SLN M(25,10) ; KÕt thóc =5 25 15 M=5==N ?? 10 =10 5? ? Mét thuËt to¸n tèi u cã nh÷ng tiªu chÝ nµo? S § M M25 15 M 10 N10 15 M 25 >>>10 >10 10 N? S N N = 10 M Thuyết trình đến đây ta đã có thuật toán bài toán công việc là phải chuyển đổi thuật toán đó sang chương trình ta xét bước viết chương Thuạt toán bài toán này không thể giải bài tr×nh to¸n kh¸c ®îc ? Vậy viết chương trình là gì? Tiªu chÝ lµ: Việc viết chương trình là tổng hợp việc lựa - DÔ hiÓu - Tr×nh bµy dÔ nh×n chän c¸ch tæ chøc d÷ liÖu vµ sö dông ng«n ng÷ lËp - Thêi gian ch¹y nhanh trình để diễn đạt đúng thuật toán Chiếu chương trình đã viết lên bảng để học - Ýt tèn bé nhí Viết chương trình sinh theo dâi Bước 3: Viết chương trình Lµ tæng hîp gia viÖc: Lùa chän c¸ch tæ chøc d÷ liÖu Sử dụng ngôn ngư lập trinh để diễn đạt đúng thuËt to¸n Lµ viÖc lùa chän cÊu tróc d÷ liÖu vµ ng«n ng÷ lập trình để diễn đạt thuật toán trên máy M« phá pháng thuË thuËt to¸ to¸n tim ¦CLN Lượt NhËp M= 25M,N,N= 10 M N § 25 15 M=5==N ?? 10 =10 5? 25 10 15 10 10 5 §a ¦CLN M(25,10) ; KÕt thóc =5 S § 15 M 25 >>>10 >10 10 N? Chương trình viết không phải lúc nào đảm bảo là hoàn toàn là đúng đắn Do đó phải thử chương trình với INPUT đặc trưng để phá sai sãt ? VËy hiÖu chØnh lµ g×? M M25 15 M 10 N10 S N N = 10 M 58 Lop10.com (4) Gi¸o ¸n: Tin häc 10 ================= Gi¸o viªn: TrÇn ThÞ Kim Dung HiÖu chØnh: Nh»m ph¸t hiÖn lçi vµ söa lçi ? C¸ch lµm nh thÕ nµo? Sau chương trình đã hoàn thiện thì công việc là viết tài liệu mô tả thuật toán chương trình và hướng dẫn sử dụng chương trình Bước 4: Hiệu chỉnh Thử chương trinh cách thực nó với số INPUT tiêu biểu (TEST) để kiểm tra kết quả, cã sai sãt thi hiÖu chØnh l¹i TEST: M = 8; M = 25; M = 88; M = 17; ? VËy viÕt tµi liÖu lµ g×? N = CLN = N = 10 CLN = N = 121 CLN = 11 N = 13 CLN = ViÕt tµi liÖu: Bước 5: Viết tài liệu M« t¶ chi tiÕt vÒ bµi to¸n, thuËt to¸n, chương trinh và kết thử nghiệm, hướng dẫn cách sử dụng Từ tài liệu này, người sử dụng đề xuất các khả nang hoµn thiÖn thªm IV- Cñng cè bµi: Nhắc lại kiến thức chính đã học bài Các bướ c gi¶ bước gi¶i bµ bµi to¸ to¸n trª trªn m¸ m¸y tÝnh Bước 1: Xác định bài toán Bước 2: Lựa chọn thiết kế thuật toán Bước 3: Viết chương trinh Bước 4: Hiệu chỉnh Bước 5: Viết tài liệu 58 Lop10.com (5)