Gi¶ thuyÕt khoa häc NÕu trong qu¸ tr×nh d¹y häc To¸n trung häc phæ th«ng nãi chung, d¹y học nội dung phương trình, bất phương trình nói riêng, giáo viên thực hiện theo một quy trình dạy [r]
(1)0 Lêi c¶m ¬n Tác giả xin chân thành cảm ơn các thầy cô giáo tổ Phương pháp dạy học toán, khoa Toán, trường Đại học Vinh đã giúp đỡ và có ý kiến đóng góp quý báu quá trình sưu tầm tư liệu, soạn thảo đề cương và hoàn thành luận văn Tác giả xin chân thành cảm ơn gia đình và bạn bè đã quan tâm, động viên và tạo điều kiện tốt để tác giả hoàn thành luận văn Đặc biệt, tác giả xin gửi lời biết ơn sâu sắc đến TS Chu Trọng Thanh, người đã trực tiếp hướng dẫn, bảo tận tình quá trình làm luận văn, để tác giả hoàn thành tốt luận văn thạc sỹ mình Vinh, ngµy 20 th¸ng 12 n¨m 2007 T¸c gi¶ Chu Hương Ly Lop10.com (2) Më ®Çu Lý chọn đề tài 1.1 Để phục vụ cho nghiệp công nghiệp hóa - đại hóa đất nước vµ b¾t kÞp sù ph¸t triÓn cña x· héi ®iÒu kiÖn bïng næ th«ng tin, ngµnh giáo dục và đào tạo phải đổi phương pháp dạy học cách mạnh mẽ nhằm đào tạo người có đầy đủ phẩm chất người lao động sản xuất tự động hóa như: động, sáng tạo, tự chủ, kỷ luật nghiêm, có tính tổ chức, tính trật tự các hành động và có ý thức suy nghĩ t×m gi¶i ph¸p tèi u gi¶i quyÕt c«ng viÖc Những định hướng đổi phương pháp dạy học đã thể c¸c NghÞ quyÕt héi nghÞ nh: NghÞ quyÕt héi nghÞ lÇn thø IV BCH trung ¬ng §¶ng Céng s¶n ViÖt Nam (khãa IV, 1993) nªu râ: Môc tiªu gi¸o dục đào tạo phải hướng vào việc đào tạo người lao động tự chủ, sáng tạo, có lực giải vấn đề thường gặp, qua đó mà góp phần tích cực thể mục tiêu lớn đất nước Về phương pháp giáo dục đào tạo, Nghị Hội nghị lần thứ II BCH TW Đảng cộng sản Việt Nam (khóa VIII, 1997) đã đề ra:"Phải đổi phương pháp đào tạo, khắc phục lối truyền đạt chiều, rèn luyện thành nếp tư sáng tạo người học Từng bước áp dụng phương pháp tiên tiến và phương tiện đại vào quá trình dạy học, đảm bảo điều kiện và thêi gian tù häc, tù nghiªn cøu" Điều 24, luật giáo dục (1998) quy định:" Phương pháp giáo dục phổ thông phải phát huy tính tích cực, tự giác chủ động, tư sáng tạo học sinh, , bồi dưỡng phương pháp tự học, rèn luyện kỹ vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho häc sinh" Muốn đạt điều đó, việc cần thiết phải thực qu¸ tr×nh d¹y häc lµ ph¸t triÓn t thuËt gi¶i cho häc sinh Lop10.com (3) 1.2 Hiện trường phổ thông đã tiến hành giáo dục tin học Tin học dạy tường minh nội dung và sử dụng máy tính điện tử công cụ dạy học Do đó vấn đề phát triển phát triển tư thuật giải môn toán giữ vị trí quan trọng giáo dục tin học Khẳng định này thể rõ mục đích giáo dục tin học: "Làm cho tất học sinh tốt nghiệp trung học nắm yếu tố tin học với t c¸ch lµ thµnh tè cña v¨n hãa phæ th«ng" "Gãp phÇn h×nh thµnh ë häc sinh nh÷ng lo¹i h×nh t liªn hÖ mËt thiÕt víi viÖc sö dông c«ng nghÖ th«ng tin nh t thuËt gi¶i, t ®iÒu khiÓn, ", "Gãp phÇn h×nh thµnh ë häc sinh phẩm chất người lao động sản xuất tự động hóa như: tÝnh kû luËt, tÝnh kÕ ho¹h hãa, tÝnh phª ph¸n vµ thãi quen tù kiÓm tra, " 1.3 Phát triển tư thuật giải là mục đích việc dạy học toán trường phổ thông vì: * Tư thuật giải tạo điều kiện tốt để học sinh tiếp thu kiến thức, rèn luyÖn c¸c kü n¨ng To¸n häc * T thuËt gi¶i ph¸t triÓn sÏ thóc ®Èy sù ph¸t triÓn c¸c thao t¸c trÝ tuệ (như: phân tích, tổng hợp, so sánh, trừu tượng hóa, khái quát hóa, ) phẩm chất trí tuệ (như : tính linh hoạt, tính độc lập, tính sáng tạo) * Tư thuật giải giúp học sinh hình dung quá trình tự động hóa diễn lĩnh vực khác người, đó có lĩnh vực xử lý thông tin Điều này làm cho học sinh thích nghi với xã hội tự động hóa, góp phần làm giảm ngăn cách nhà trường và xã hội 1.4 Ph¸t triÓn t thuËt to¸n m«n to¸n cã ý nghÜa vÒ nhiÒu mặt và môn toán chứa đựng khả to lớn phát triển tư thuật giải, nhưng, tư thuật giải chưa chú ý phát triển đúng mức nhà trường phổ thông Đã có số công trình nghiên cứu vấn đề này, số các công trình đó có thể kể tới luận án phó tiến sỹ Dương Vương Minh: "Ph¸t triÓn t thuËt gi¶i cña häc sinh d¹y häc c¸c hÖ thống số trường phổ thông" (1998) Luận án này đã xem xét việc phát triển Lop10.com (4) t thuËt gi¶i cho häc sinh d¹y c¸c hÖ thèng sè chø cha ®i s©u vµo viÖc ph¸t triÓn t thuËt gi¶i cho häc sinh d¹y häc néi dung phương trình LuËn v¨n cña th¹c sü NguyÔn ThÞ Thanh B×nh: "Gãp phÇn ph¸t triÓn t thuËt gi¶i cña häc sinh Trung häc phæ th«ng th«ng qua d¹y häc néi dung lượng giác 11" (2000) đã đề cập đến việc phát triển tư thuật giải cho học sinh dạy nội dung lượng giác 11 1.5 Nội dung phương trình là nội dung quan trọng và khó chương trình toán trung học phổ thông với nhiều biến đổi phức tạp, nhiều dạng toán, nhiÒu quy tr×nh vËn dông kü n¨ng tÝnh to¸n nhiÒu bµi to¸n cã tiÒm n¨ng cã thÓ chuyÓn vÒ mét thuËt gi¶i §ã lµ ®iÒu kiÖn thuËn lîi nh»m ph¸t triÓn t thuËt gi¶i cho häc sinh Với lý nêu trên, tôi chọn đề tài "Góp phần phát triển tư thuËt gi¶i cho häc sinh trung häc phæ th«ng th«ng qua d¹y häc mét sè néi dung phương trình" làm đề tài nghiên cứu khoa học mình Mục đích nghiên cứu Mục đích nghiên cứu luận văn là đề số biện pháp phát triển tư thuật giải quá trình dạy học số nội dung phương trình nhằm góp phần nâng cao hiệu dạy học Toán trường phổ thông Gi¶ thuyÕt khoa häc NÕu qu¸ tr×nh d¹y häc To¸n trung häc phæ th«ng nãi chung, d¹y học nội dung phương trình, bất phương trình nói riêng, giáo viên thực theo quy trình dạy học theo hướng phát triển tư thuật giải thì góp phần nâng cao chất lượng dạy học toán trường phổ thông NhiÖm vô nghiªn cøu Để đạt mục đích nêu trên, luận văn có nhiệm vụ trả lời các câu hái khoa häc sau: 4.1 T thuËt gi¶i lµ g× vµ v× nã cÇn ®îc ph¸t triÓn ë häc sinh m«n To¸n? Lop10.com (5) 4.2 TiÕn hµnh ph¸t triÓn t thuËt gi¶i cña häc sinh m«n to¸n dựa trên tư tưởng chủ đạo nào? 4.3 Có thể xây dựng quy trình dạy học phương trình theo hướng phát triÓn t thuËt gi¶i ®îc kh«ng? 4.4 Để phát triển tư thuật giải cho học sinh cần có định hướng sư phạm nào? 4.5 Có thể đưa thuật giải giải số dạng phương trình nhằm tập luyện hoạt động tư thuật giải cho học sinh không? 4.6 KÕt qu¶ thùc nghiÖm nh thÕ nµo? Phương pháp nghiên cứu 5.1 Nghiªn cøu lý luËn * Nghiên cứu các văn kiện Đảng và nhà nước, Bộ giáo dục đào tạo có liên quan đến việc dạy và học Toán trường phổ thông * Các sách báo, tạp chí có liên quan đến nội dung đề tài * Các công trình nghiên cứu các vấn đề có liên quan trực tiếp đến đề tài (các luận văn, luận án, chuyên đề ) 5.2 Nghiªn cøu thùc tiÔn * Dự giờ, quan sát dạy giáo viên và hoạt động học tập học sinh quá trình dạy học nói chung, dạy học nội dung phương trình nói riªng * Tæ chøc thùc nghiÖm kiÓm chøng th«ng qua c¸c líp häc thùc nghiÖm và đối chứng trên cùng lớp đối tượng §ãng gãp cña luËn v¨n 6.1 LuËn v¨n gãp phÇn lµm s¸ng tá néi dung kh¸i niÖm t thuËt gi¶i vµ vai trß vÞ trÝ cña viÖc ph¸t triÓn t thuËt gi¶i d¹y häc to¸n 6.2 Xây dựng các quy trình dạy học theo hướng phát triển tư thuËt gi¶i cho häc sinh 6.3 Xác định số định hướng sư phạm phát triển tư thuật gi¶i cho häc sinh Lop10.com (6) 6.4 Khai thác số dạng phương trình có thể giúp học sinh xây dùng ®îc thuËt gi¶i 6.5 LuËn v¨n cã thÓ dïng lµm tµi liÖu tham kh¶o cho gi¸o viªn to¸n trung häc phæ th«ng CÊu tróc luËn v¨n LuËn v¨n ngoµi phÇn më ®Çu, kÕt luËn vµ tµi liÖu tham kh¶o gåm cã chương Chương Tư thuật giải và vấn đề phát triển tư thuật giải cho häc sinh phæ th«ng 1.1 C¬ së lý luËn 1.2 Kh¸i niÖm thuËt to¸n 1.3 Kh¸i niÖm t thuËt gi¶i 1.4 Vấn đề phát triển tư thuật giải dạy học Toán Chương Một số định hướng sư phạm góp phần phát triển tư thuật giải cho học sinh trung học phổ thông dạy số nội dung phương trình 2.1 Các nguyên tắc dạy học theo hướng phát triển tư thuật giải 2.2 Một số định hướng phát triển tư thuật giải thông qua dạy học nội dung phương trình 2.3 Hướng dẫn học sinh xây dựng thuật giải cho số dạng phương trình Lop10.com (7) Chương Tư thuật giải và vấn đề phát triển tư thuËt gi¶i cho häc sinh th«ng qua m«n To¸n 1.1 C¬ së lý luËn 1.1.1 Quan điểm hoạt động phương pháp dạy học Chóng ta biÕt r»ng qu¸ tr×nh d¹y häc lµ mét qu¸ tr×nh ®iÒu khiÓn ho¹t động giao lưu học sinh nhằm thực mục đích dạy học Còn häc tËp lµ mét qu¸ tr×nh xö lý th«ng tin Qu¸ tr×nh nµy cã c¸c chøc n¨ng: ®a thông tin vào, ghi nhớ thông tin, biến đổi thông tin, đưa thông tin và điều phối Học sinh thực các chức này hoạt động mình Thông qua hoạt động thúc đẩy phát triển trí tuệ học sinh làm cho học sinh häc tËp mét c¸ch tù gi¸c, tÝch cùc Xuất phát từ nội dung dạy học ta cần phát hoạt động liên hệ với nó vào mục đích dạy học mà lựa chọn để tập luyện cho học sinh số hoạt động đã phát Việc phân tích hoạt động thành hoạt động thành phần giúp ta tổ chức cho học sinh tiến hành hoạt động với độ phức hợp vừa sức họ Việc tiến hành hoạt động nhiều đòi hỏi tri thức định, đặc biệt là tri thức phương pháp Những tri thức này lại là kết quá trình hoạt động khác Trong hoạt động, kết rèn luyện mức độ nào đó có thể lại là tiền đề để tập luyện và đạt kết cao Do đó cần phân bậc hoạt động theo mức độ khác làm sở cho việc đạo quá trình dạy học Trên sở việc phân tích trên phương pháp dạy học theo quan điểm hoạt động Luận văn nghiên cứu khuôn khổ lý luận dạy học, lấy quan điểm hoạt động làm tảng tâm lý häc Néi dung cña quan ®iÓm nµy ®îc thÓ hiÖn mét c¸ch tãm t¾t qua nh÷ng tư tưởng chủ đạo sau: * Cho học sinh thực và tập luyện hoạt động và hoạt động tương thích với nội dung và mục đích dạy học Lop10.com (8) * Hướng đích và gợi động cho các hoạt động * Truyền thụ tri thức, đặc biệt là tri thức phương pháp, phương tiện và kết hoạt động * Phân bậc hoạt động làm cho việc điều khiển quá trình dạy học 1.1.2 Mét sè quan ®iÓm kh¸c Luận văn lấy quan điểm hoạt động làm tảng tâm lý học để nghiên cøu nhng còng dùa vµo quan ®iÓm cña lý thuyÕt t×nh huèng vµ lý thuyÕt kiÕn t¹o bëi v× c¸c quan ®iÓm d¹y häc cña c¸c lý thuyÕt nµy cã sù giao thoa với quan điểm lý thuyết hoạt động Theo lý thuyết tình thì học là thích ứng (bao gồm đồng hóa và điều tiết) môi trường sản sinh nh÷ng m©u thuÉn, nh÷ng khã kh¨n, nh÷ng sù mÊt c©n b»ng Một tình thường liên hệ với quy trình hành động Một yếu tố tình mà thay đổi giá trị nó có thể gây thay đổi quy trình giải vấn đề học sinh Do đó quá trình dạy học ta cần soạn thảo tình tương ứng với tri thức cần dạy (tình cho tri thức đó nghĩa đúng) Sau đó ủy thác tình này cho học sinh Học sinh tiến hành hoạt động học tập diễn nhờ tương tác với môi trường Theo lý thuyết kiến tạo, học tập là hoạt động thích ứng người học Do đó dạy học phải là dạy hoạt động, tổ chức các tình học tập đòi hỏi thích ứng học sinh, qua đó học sinh kiến tạo kiến thức, đồng thời ph¸t triÓn ®îc trÝ tuÖ vµ nh©n c¸ch cña m×nh Nh vËy, nÕu ph©n tÝch râ quan ®iÓm d¹y häc theo lý thuyÕt t×nh và lý thuyết kiến tạo góp phần phát triển phương pháp dạy học phát triÓn t thuËt gi¶i cho häc sinh 1.2 Kh¸i niÖm thuËt to¸n Kh¸i niÖm t thuËt gi¶i liªn hÖ chÆt chÏ víi kh¸i niÖm thuËt to¸n Do đó trước đưa khái niệm tư thuật giải ta hãy nghiên cứu khái niÖm thuËt to¸n Lop10.com (9) 1.2.1 Nghiªn cøu kh¸i niÖm thuËt to¸n a Kh¸i niÖm bµi to¸n Trong tin học, người ta quan niệm bài toán là việc nào đó ta muốn máy tính thực Những việc đưa dòng chữ màn hình, giải phương tr×nh bËc hai, qu¶n lý c¸n bé cña mét c¬ quan lµ nh÷ng vÝ dô vÒ bµi to¸n Khi dùng máy tính giải toán, ta cần quan tâm đến hai yếu tố: Đưa vào máy thông tin gì (Input) và lấy thông tin gì (Output) Do đó để phát biểu mét bµi to¸n, ta cÇn ph¶i tr×nh bµy râ Input vµ Output cña bµi to¸n vµ mèi quan hÖ gi÷a Input vµ Output Ví dụ 1: Bài toán tìm ước chung lớn hai số nguyên dương Input: Hai số nguyên dương M và N Output: íc chung lín nhÊt cña M vµ N Ví dụ 2: Bài toán tìm nghiệm phương trình bậc 2: ax2 + bx + c = (a 0) Input: C¸c sè thùc a, b, c (a 0) Output: TÊt c¶ c¸c sè thùc x tháa m·n: ax2 + bx + c = ë ®©y Output cã thÓ lµ mét hoÆc hai sè thùc hoÆc c©u tr¶ lêi kh«ng cã sè thùc nµo nh vËy Qua c¸c vÝ dô trªn, ta thÊy c¸c bµi to¸n ®îc cÊu t¹o bëi hai thµnh phÇn c¬ b¶n: Input: Các thông tin đã có Output: C¸c th«ng tin cÇn t×m tõ Input b Kh¸i niÖm thuËt to¸n Việc cho bài toán là mô tả rõ Input cho trước và Output cần tìm Vấn đề là làm nào để tìm Output Việc tường minh cách tìm Output bài toán gọi là thuật toán (algorithm) giải bài toán đó Có nhiều định nghĩa khác thuật toán Dựa vào phân tích trên ta có thể định nghĩa thuật toán sau: Lop10.com (10) Thuật toán để giải bài toán là dãy hữu hạn các thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, tõ Input cña bµi to¸n, ta nhËn ®îc Output cÇn t×m VÝ dô: T×m gi¸ trÞ lín nhÊt cña mét d·y sè nguyªn + Xác định bài toán + Input: Số nguyên dương N và dãy N số nguyên a1, a2, an + Output: Gi¸ trÞ lín nhÊt Max cña d·y sè * ý tưởng: - Khëi t¹o gi¸ trÞ Max = a1 - Lần lượt với i từ đến N, so sánh giá trị số hạng với gi¸ trÞ Max, nÕu > Max th× Max nhËn gi¸ trÞ míi lµ * ThuËt to¸n: ThuËt to¸n gi¶i bµi to¸n nµy cã thÓ ®îc m« t¶ theo c¸ch liÖt kª nh sau: Bước 1: Nhập N và dãy a1, a2, ,an Bước 2: Max = ; i: = Bước 3: Nếu i > N thì đưa giá trị Max kết thúc Bước 4: + Bước 4.1 Nếu > Max thì Max: = + Bước 4.2 Nếu i: = i + quay lại bước Từ định nghĩa ta thấy thuật toán có các tính chất sau: * TÝnh dõng: ThuËt to¸n ph¶i kÕt thóc sau mét sè h÷u h¹n lÇn thùc hiÖn c¸c thao t¸c * Tính xác định: Sau thực thao tác thì là thuật toán kết thúc là có đúng thao tác xác định để thực * Tính đúng đắn: sau thuật toán kết thúc ta phải nhận Output cÇn t×m Ví dụ: Với thuật toán tìm Max đã xét: * Tính dừng: Vì giá trị i lần tăng lên đơn vị nên sau N lần thì i > N, đó kết phép so sánh bước xác định việc đưa gi¸ trÞ Max råi kÕt thóc Lop10.com (11) 10 * Tính xác định: Thứ tự thực các bước thuật toán mặc định là nên sau bước là bước 2, sau bước là bước Kết các bước so sánh bước và bước xác định bước cÇn thùc hiÖn * Tính đúng đắn: Vì thuật toán so sánh Max với số hạng dãy sè vµ thùc hiÖn Max: = nÕu > Max nªn sau so s¸nh hÕt N sè h¹ng cña d·y th× Max lµ gi¸ trÞ lín nhÊt Ví dụ: Tính tổng các số nguyên dương lẻ khoảng từ đến n - Xác định bài toán: + Input: N là số nguyên dương lẻ + Output: Tổng các số nguyên dương lẻ từ đến n * Thuật toán tính tổng các số nguyên dương lẻ từ đến N sau: Bước 1: Hỏi giá trị N Bước 2: S: = Bước 3: i = Bước 4: Nếu i = N+1 thì sang bước 8, ngược lại sang bước Bước 5: Cộng thêm i vào S Bước 6: Cộng thêm vào i Bước 7: Quay lại bước Bước 8: Tổng cần tìm chính là S Ta chú ý đến bước đây ta muốn kết thúc thuật toán giá trị i vượt quá N Thay vì viết "nếu i lớn N" thì ta viết điều kiện "i = N+1" không phải lúc nào đạt Vì ban đầu i là số lẻ, sau bước i lại tăng thêm đơn vị nên i luôn luôn là số lẻ Nếu N là số chẵn thì N + là số lẻ nên sau số bước định, i N + Tuy nhiên, N là số lẻ thì N + là số chẵn, i là số lẻ nên dù có qua bao nhiêu bước nữa, i khác N + Trong trường hợp đó, thuật toán trên bị quẩn (hay vi ph¹m tÝnh dõng) Tính "đúng" là tính chất khá hiển nhiên là tính chất khó đạt tới Thật vậy, giải số vấn đề bài toán, ta luôn mong muốn Lop10.com (12) 11 lời giải mình cho kết đúng không phải lúc nào đạt Mọi học sinh làm bài kiểm tra muốn bài làm mình có đáp số đúng, trên thực tế, lớp có số học sinh định là có khả đưa lời giải đúng 1.2.2 Các đặc trưng thuật toán Tính đơn trị Tính đơn trị thuật toán đòi hỏi các thao tác sơ cấp phải đơn trÞ, nghÜa lµ hai phÇn tö thuéc cïng mét c¬ cÊu, thùc hiÖn cïng mét thao t¸c trên cùng đối tượng thì phải cho cùng kết Ví dụ: Quy trình bước để giải bài toán Bước Tìm hiểu nội dung bài toán Bước Tìm đường lối giải toán Bước Thực chương trình giải toán Bước Kiểm tra kết và nghiên cứu lời giải Quy trình này không phải là thuật toán vì tính đơn trị bị vi phạm Chẳng hạn bước 1, bước 2, bước 3, bước không xác định vì người ta cã thÓ hiÓu vµ lµm theo nhiÒu c¸ch kh¸c Từ tính đơn trị, ta thấy tính hình thức hóa thuật toán Bất kể cấu nào, cần biết thực đúng trình tự quy định là đến kÕt qu¶ chø kh«ng cÇn ph¶i hiÓu ý nghÜa cña nh÷ng thao t¸c nµy TÝnh chÊt này quan trọng vì nhờ đó ta có thể giao cho thiết bị tự động thực thuật giải, làm số công việc thay cho người TÝnh hiÖu qu¶ Tính hiệu thuật toán đánh giá dựa trên số tiêu chuẩn như: khối lượng tính toán, không gian và thời gian thuật toán thực Tính hiệu thuật toán là yếu tố định để đánh giá, chọn lựa cách giải vấn đề - bài toán trên thực tế Có nhiều phương pháp để đánh giá tính hiệu thuật toán Độ phức tạp thuật toán là tiªu chuÈn ®îc dïng réng r·i Lop10.com (13) 12 TÝnh tæng qu¸t ThuËt to¸n cã tÝnh tæng qu¸t lµ thuËt to¸n ph¶i ¸p dông ®îc cho mäi trường hợp bài toán không phải áp dụng cho số trường hợp riêng lẻ nào đó Chẳng hạn thuật toán giải phương trình bậc hai sau đây Delta đảm bảo tính chất này vì nó luôn luôn giải với giá trị số thực a, b, c Tuy nhiên, không phải thuật toán nào đảm bảo tính tổng quát Trong thực tế, có lúc người ta xây dựng thuật toán cho dạng đặc trưng bài toán mà thôi Ví dụ: Thuật toán giải phương trình bậc hai: ax2 + bx + c = (a 0) Cho biÕt gi¸ trÞ ba hÖ sè a, b, c NÕu a = th×: 2.1 Yêu cầu bài toán không đảm bảo 2.2 KÕt thóc thuËt to¸n NÕu a th×: 3.1 TÝnh gi¸ trÞ = b2 - 4ac 3.2 NÕu > th×: 3.2.1 Phương trình có nghiệm phân biệt x1, x2 3.2.2 Gi¸ trÞ cña hai nghiÖm tÝnh theo c«ng thøc: x1 b , 2a x2 b 2a 3.2.3 KÕt thóc thuËt to¸n 3.3 NÕu = th× 3.3.1 Phương trình có nghiệm kép x0 3.3.2 Gi¸ trÞ cña nghiÖm kÐp lµ x0 3.3.3 KÕt thóc thuËt to¸n 3.4 NÕu < th×: 3.4.1 Phương trình vô nghiệm 3.4.2 KÕt thóc thuËt to¸n Lop10.com b 2a (14) 13 1.2.3 Các phương pháp biểu diễn thuật toán Khi chứng minh giải bài toán toán học, ta thường dùng nh÷ng ng«n ng÷ to¸n häc nh: "ta cã", "®iÒu ph¶i chøng minh","gi¶ thiÕt", và sử dụng các phép suy luận toán học phép kéo theo, phép tương ®¬ng, Thuật toán là phương pháp thể lời giải bài toán nên phải tuân theo số quy tắc định Để có thể truyền đạt thuật toán cho người khác hay chuyển thuật toán thành chương trình máy tính, ta phải có phương pháp biểu diễn thuật toán Có phương pháp biểu diễn thuật toán Ng«n ng÷ tù nhiªn vµ ng«n ng÷ to¸n häc Dùng lưu đồ - sơ đồ khối Dïng ng«n ng÷ pháng tr×nh Dïng ng«n ng÷ lËp tr×nh Ng«n ng÷ tù nhiªn vµ ng«n ng÷ to¸n häc Trong c¸ch biÓu diÔn thuËt to¸n theo ng«n ng÷ tù nhiªn vµ ng«n ng÷ toán học, người ta sử dụng ngôn ngữ thường ngày và ngôn ngữ toán học để liệt kê các bước thuật toán Các thuật toán mục viết dạng ngôn ngữ tự nhiên và ngôn ngữ toán học Phương pháp biểu diễn này không yêu cầu người viết thuật toán người đọc thuật toán phải nắm các quy tắc Tuy vậy, cách biểu diễn này thường dài dòng, không thể rõ cấu trúc thuật toán, đôi lúc gây hiểu nhầm khó hiểu cho người đọc Ta xÐt thªm vÝ dô sau: Ví dụ 1: Thuật toán xét dấu các nghiệm phương trình bậc hai: ax2 + bx + c = (víi gi¶ thiÕt abc 0) Bước 1: Xác định các hệ số a, b, c Bước 2: Kiểm tra điều kiện ac < + Nếu điều kiện đúng thì chuyển sang bước + Nếu điều kiện sai thì chuyển sang bước Bước 3: Kết luận: Phương trình có nghiệm trái dấu Lop10.com (15) 14 Chuyển sang bước 14 Bước 4: Tính = b2 - 4ac Bước 5: Kiểm tra điều kiện > + Nếu điều kiện sai thì chuyển sang bước + Nếu điều kiện đúng thì chuyển sang bước Bước 6: Kiểm tra điều kiện ab > + Nếu điều kiện đúng thì chuyển sang bước + Nếu điều kiện sai thì chuyển sang bước Bước 7: Kết luận: Phương trình có nghiệm dương Chuyển sang bước 14 Bước 8: Kết luận: Phương trình có nghiệm âm Chuyển sang bước 14 Bước 9: kiểm tra điều kiện = + Nếu điều kiện đúng thì chuyển sang bước 10 + Nếu điều kiện sai thì chuyển sang bước 13 Bước 10 Kiểm tra điều kiện ab > + Nếu điều kiện đúng thì chuyển sang bước 11 + Nếu điều kiện sai thì chuyển sang bước 12 Bước 12 Kết luận: Phương trình có nghiệm kép dương Chuyển sang bước 14 Bước 12 Kết luận: phương trình có nghiệm kép âm Chuyển sang bước 14 Bước 13: Kết luận: phương trình vô nghiệm Bước 14: Kết thúc Lưu đồ - Sơ đồ khối Lưu đồ hay sơ đồ khối là công cụ trực quan để diễn đạt các thuật toán Biểu diễn thuật toán lưu đồ giúp người đọc theo dõi phân cấp các trường hợp và quá trình xử lý thuật toán Phương pháp lưu Lop10.com (16) 15 đồ thường dùng thuật toán có tính rắc rối, khó theo dõi ®îc qu¸ tr×nh xö lý Để biểu diễn thuật toán theo sơ đồ khối, ta phải phân biệt hai loại thao tác: thao tác lựa chọn và thao tác hành động * Thao t¸c lùa chän Thao t¸c lùa chän ®îc biÓu diÔn b»ng mét h×nh thoi, bªn chøa biÓu thøc ®iÒu kiÖn: a=b =0 * Thao t¸c xö lý ®îc biÓu diÔn b»ng mét h×nh ch÷ nhËt, bªn chøa néi dung xö lý T¨ng i lªn Chän hép bÊt kú * §êng ®i Trong ngôn ngữ lưu đồ, thể các bước hình vẽ và có thể đặt các hình vẽ này vị trí nên ta phải có phương pháp để trình tự thùc hiÖn c¸c thao t¸c Bước Bước Bước Hai bước nối mũi tên hướng thực Từ thao tác chọn lựa có thể có hai hướng đi, hướng ứng với điều kiện đúng, hướng ứng với điều kiện sai Lop10.com (17) 16 S >0 § =0 Cã nghiÖm ph©n biÖt * §iÓm cuèi §iÓm cuèi lµ ®iÓm khëi ®Çu vµ kÕt thóc cña thuËt to¸n, ®îc biÓu diÔn nh sau: B¾t ®Çu KÕt thóc (Cã thÓ thay ch÷ b¾t ®Çu bëi Star/Begin) (Cã thÓ thay ch÷ kÕt thóc bëi End) Ngoµi cßn cã ®iÓm nèi, ®iÓm nèi sang trang dïng cho thuËt to¸n cã lưu đồ lớn Lop10.com (18) 17 Ví dụ: Lưu đồ thuật toán giải phương trình bậc hai B¾t ®Çu Hái gi¸ trÞ a, b , c = b2 - 4ac S § Cã nghiÖm ph©n biÖt x1 , x x1, b 2a S 0 § Cã nghiÖm kÐp xo V« nghiÖm x=-b/2a KÕt thóc Lưu đồ mô tả thuật toán cách trực quan lại cồng kềnh phải mô tả thuật toán phức tạp Một phương pháp khác để biểu diễn thuật toán khắc phục nhược điểm là ngôn ngữ trình Ng«n ng÷ pháng tr×nh Tuy sơ đồ khối thể rõ quá trình xử lý và phân cấp các trường hîp cña thuËt to¸n nhng l¹i cång kÒnh §Ó m« t¶ thuËt to¸n nhá ta ph¶i dùng không gian lớn Hơn nữa, lưu đồ phân biệt hai thao tác là rẽ Lop10.com (19) 18 nh¸nh (lùa chän cã ®iÒu kiÖn) vµ xö lý mµ trùc tÕ, c¸c thuËt to¸n cßn cã c¸c lÆp BiÓu diÔn thuËt to¸n b»ng ng«n ng÷ pháng tr×nh lµ c¸ch biÓu diÔn sù vay mượn các cú pháp ngôn ngữ lập trình nào đó (Pascal, Basic, C, C++, ) để thể thuật toán Ngôn ngữ trình đơn giản, gần gũi với người, dễ học vì nó sử dụng ngôn ngữ tự nhiên và chưa quá sa đà vào nh÷ng quy íc chi tiÕt MÆt kh¸c, nã còng dÔ chuyÓn sang nh÷ng ng«n ng÷ cho máy tính điện tử vì đã sử dụng cấu trúc và ký hiệu chuẩn hóa Ví dụ: Biểu diễn thuật toán giải phương trình bậc hai ngôn ngữ pháng tr×nh Begin If Delta > then begin x1 = (-b-sqrt(delta))/(2*a) x2 = (-b + sqrt (delta))/(2*a) inra: phương trình có nghiệm là x1, x2 End Else If Delta = then Inra: phương trình có nghiệm kép là x b 2*a Else (trường hợp Delta < 0) Inra: phương trình vô nghiệm End Trên đây, ta đã cách để biểu diễn thuật toán Trong trường hợp thuật toán viết ngôn ngữ máy tính, ta có chương trình Ng«n ng÷ lËp tr×nh Cã nhiÒu ng«n ng÷ lËp tr×nh nh Pascal, Basic, C, C++, Sau ®©y lµ vÝ dụ dùng ngôn ngữ lập trình Pascal để biểu diễn thuật toán giải phương trình bËc hai: Lop10.com (20) 19 Ví dụ Tìm nghiệm thực phương trình bậc hai: ax2 + bx + c = 0, (a 0) Input: C¸c hÖ sè a, b, c nhËp tõ bµn phÝm Outpt: Đưa màn hình các nghiệm thực thông báo “Phương tr×nh v« nghiÖm” Thuật toán: Thuật toán giải phương trình bậc hai ngôn ngữ lập tr×nh Pascal Program Giai-pt bËc hai; Uses Crt; Var a , b, c : real; , x1, x2 : real; Begin Clrscr; Write (‘a, b, c: ’); Readln (a, b, c) ; =b*b–4*a*c; if < then Writeln (‘Phương trình vô nghiệm’) Else Begin x1 = ( - b – sqrt ( ))/(2 * a); x1 = ( - b + sqrt ( ))/(2 * a); Witeln ( ‘x1 =’, x1 : 8:3 , ‘x2 = ’ , x2 : 8:3); End; Readln End 1.2.4 §é phøc t¹p cña thuËt to¸n Trong thùc tÕ cã nhiÒu thuËt to¸n, vÒ mÆt lý thuyÕt lµ kÕt thóc sau h÷u hạn bước, nhiên thời gian "hữu hạn" đó vượt quá khả làm việc chúng ta Do đó để đánh giá tính hiệu thuật toán, chúng ta phải Lop10.com (21)