Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
433,9 KB
Nội dung
Trợ giúp ra đề phương pháp tính ExamMaker (Examination Maker) Lời nói đầu Trong quá trình giảng dạy, ngoài việc chuẩn bị giáo án, lên bục giảng thì việc ra đề thi, ra bài tập cho sinh viên luyện tập là việc làm không thể thiếu đối với mỗi thầy cô. Và công việc của các thầy cô còn vất vả hơn gấp bội khi phải ra những đề đòi hỏi khối lượng tính toán lớn, đòi hỏi độ chính xác đến 6-7 số lẻ sau dấu phảy. Mặc dù hiện nay các thầy cô có máy tính điện tử cùng các chương trình phần mềm tính toán rất mạnh hỗ trợ như: Mathematica, Maple, Mathlap Nhưng các chương trình này chỉ hỗ trợ tính toán ra kết quả cuối cùng trong khi đó đáp án của một đề thi thì lại đòi hỏi giải theo từng bước. Do đó các thầy cô lại phải tính tay vật lộn với những con số, và mồ hôi lại tiếp tục lăn dài mỗi khi mùa thi tới. Sau năm năm học tập, em sắp phải xa mái trường Bách Khoa thân yêu, xa thầy cô không quản vất vả cho em những kiến thức để vững chắc bước vào đời. Với những tình cảm sâu sắc mà các thầy cô giành cho em, đã giúp em vượt qua rất nhiều khó khăn để hoàn thành đồ án tốt nghiệp với chương trình: “Trợ giúp ra đề phương pháp tính ExamMaker (Examination Maker). Đề tài này chính là món quà nhỏ em dành tặng các thầy cô giúp các thầy cô vơi đi nỗi vất vả trong công việc ra đề thi, ra bài tập. Chương trình có thể trợ giúp các thầy cô ra đề tự động, tạo đáp án đầy đủ… Do thời gian làm đồ án có hạn nên em không thể tạo hệ thống trợ giúp ra đề cho tất cả các môn học. Nhưng em cũng đã xây dựng được một mô hình ra đề có tính mở cho phép ra đề bất cứ môn học nào bằng việc viết thêm các môdun cho môn học đó. Hệ thống sẽ tự động cập nhật môdun đó vào. Sở dĩ em chọn môn phương pháp tính để ứng dụng mô hình trên vì: việc ra đề phương pháp tính có lẽ là vất vả nhất trong tất cả các môn vì phải tính toán rất nhiều với những con số dài, hơn thế nữa việc tính toán còn đòi hỏi độ chính xác cao. Mặt khác môn phương pháp tính là môn học cơ sở mà tất cả sinh viên trường kỹ thuật nào cũng phải học. Do đó cần một khối lượng lớn đề thi và bài tập cho sinh viên luyện tập và thi. vậy yêu cầu có một chương trình trợ giúp ra đề phương pháp tính là hết sức cần thiết và cấp bách. Qua đồ án tốt nghiệp này, em cũng đã được nghiên cứu, học tập và thử sức mình với một đề tài thực tế, với rất nhiều kỹ thuật khó. Trong báo cáo này em xin trình bày năm phần lớn sau: Phần 1. Tổng quan: phần này giới thiệu một cách tổng quan đồ án tốt nghiệp. Tổng quan về chương trình trợ giúp ra đề phương pháp tính, về các kỹ thuật đặc biệt mà em đã sử dụng để tạo ra chương trình. Phần 2. Cơ sở toán học : phần này cung cấp cơ sở toán vững chắc cho đồ án tốt nghiệp, đồng thời cung cấp các thuật toán(dưới dạng sơ đồ khối) cho chương trình. Phần 3. Khảo xát và xác lập giải pháp : phần này sẽ trình bày về những nghiên cứu về mô hình ra đề hiện tại, khảo xát thực tế. Và từ đó đưa ra những giải pháp cho chương trình. Phần 4. Phân tích thiết kế: phần này sẽ trình bày chi tiết về việc phân tích và thiết kế nhằm xây dựng chương trình. Phần 5. Hướng dẫn sử dụng chương trình. Ngoài ra còn có các phụ lục: Phụ lục 1: Kỹ thuật lập trình COM. Phụ lục 2: Tổng quan về XML. Để hoàn thành được đồ án tốt nghiệp đúng kỳ hạn, em đã vận dụng hết kiến thức, khả năng và nỗ lực của mình. Tuy nhiên vẫn không thể tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp từ phía các thầy cô và các bạn để chương trình được hoàn thiện hơn. Em xin chân thành cảm ơn! Hà nội tháng 5 năm 2005 Lời cảm ơn Sau mười bảy năm ăn học chuẩn bị đầy đủ hành trang bước vào đời, em đã từng bước qua rất nhiều những nấc thang để tiến tới thành công. Và người đã dìu dắt em lên những bậc thang đó không ai khác chính là tất cả những thầy cô đã dạy em trong nhiều năm qua. Em xin gửi lời cảm ơn chân thành nhất tới tất cả các thầy cô! Em xin được bày tỏ lòng biết ơn sâu sắc tới cô giáo hướng dẫn của em cô Phạm Huyền Linh!!! Cô là người đã dìu dắt em bước lên nấc thang quan trọng nhất của cuộc đời. Cô đã đưa em đến với đề tài này, tiếp cận với những vấn đề thực tế và nhiệt tình dẫn dắt em trong suốt quá trình làm đồ án, ngay cả khi sức khoẻ cô không được tốt. Cô chính là chỗ dựa tinh thần và kiến thức vững chắc nhất cho em hoàn thành đồ này. Bên cạnh đó em còng xin cảm ơn tất cả các thầy cô giáo trong khoa Toán- Tin đã đóng góp ý kiến và động viên em trong những ngày tháng em học ở khoa. Để cho em được ngày hôm nay là cả một sự tảo tần, hy sinh của mẹ. Em xin được gửi lời cảm ơn sâu sắc tới mẹ của em! Và em xin hứa sẽ đạt kết quả cao trong học tập để mẹ vui lòng. Cuối cùng em xin gửi lời cảm ơn chân thành tới các anh chị, bạn bè đã luôn ở bên cạnh động viên, giúp đỡ em trong những lúc khó khăn. Cảm ơn các anh chị ở nhóm Yapi, líp Tin quản lý K44 đã cung cấp cho em những kinh nghiệm quý báu của những người đi trước. Cảm ơn bạn Phạm Quang Huy! bạn đã luôn động viên giúp đỡ em trong việc nghiên cứu các kỹ thuật lập trình khó. Đồ án tốt nghiệp của em chính là món quà em giành tặng cho thầy cô, mẹ, anh chị và bạn bè. Một lần nữa em xin cảm ơn tất cả!! Sơ đồ tóm tắt đồ án tốt nghiệp Mục lục ợ đề ươ ờ đầ ! ờ ả ơ " ơ đồ ắ đồ ố ệ !# !ụ ụ $ % ổ & ' ( !!! )ơ ơ ọ ươ *+,- ! )ự ươ $ . # ế ậ & # à ệ ả & $ Tổng quan & Ch¬ng 1. Tổng quan về chương trình ExamMaker Chương trình ExamMaker là một chương trình trợ giúp ra đề, ra bài tập cho môn phương pháp tính. Ý tưởng của ExamMaker là tạo ra một chương trình có thể trợ giúp thầy cô ra đề thi, hoặc ra bài tập, tạo một đáp án đầy đủ với lời giải cụ thể theo từng bước của bài toán. Đồng thời chương trình còn có khả năng quản lý ngân hàng đề. 1.1 Những điểm nổi bật của chương trình ExamMaker Nhìn một cách tổng quan, chương trình ExamMaker có các điểm nổi bật sau: /01234 05 6701 829! : 7#;< =01 >> !?@ 'A B!C 1 D EF 6-@ 0G@-H /014 05 '9IJ K 1.1.1 ExamMaker cho phép tạo đề một cách tự động. Môn phương pháp tính là một môn cơ sở bắt buộc đối với sinh viên kỹ thuật, là môn giúp sinh viên rèn luyện các phương pháp và kỹ năng tính toán chính xác. Do đó khối lượng bài tập giao cho sinh viên luyện tập và đề thi là rất lớn. Để giảm tối thiểu thời gian ra đề, các thầy cô có thể nhờ chương trình sinh ngẫu nhiên đề bài. Do đặc trưng của môn phương pháp tính có rất nhiều dạng bài, và mỗi một dạng bài có nhiều phương pháp tính khác nhau. Ví dụ các dạng bài : Tính gần đúng nghiệm thực của phương trình đại số và siêu việt; Giải hệ phương trình đại số tuyến tính…Như vậy với mỗi dạng bài ExamMaker phải có cách sinh ngẫu nhiên khác nhau. Nhưng sinh ngẫu nhiên mà vẫn đảm bảo tính hợp lý của đề bài quả thật là việc vô cùng phức tạp. Trong trường hợp đề bài được sinh tự động không vừa ý các thầy cô các thầy cô có thể chuyển sang phần ra đề bán tự động. 1.1.2 ExamMaker cho phép tạo đề bán tự động. ExamMaker cho phép các thầy cô tạo đề bán tự động bằng các cách sau: Cho trước một vài tham sè sau đó nhờ chương trình tìm nốt các tham số còn lại với điều kiện nào đó. Ví dô trong trường hợp giải gần đúng hệ phương trình đại số tuyến tính Ax=b: các thầy cô cho hệ số ma trận A, véctơ b, yêu cầu sai số giả sử là 4 10 − . Các thầy cô có thể nhờ chương trình xác định được x (0) sao cho số bước lặp chỉ là 3. Trợ giúp xác định khoảng phân ly bằng đồ thị hàm số đối với dạng bài Tính gần đúng nghiệm thực của phương trình đại số và siêu việt. Trợ giúp ra đề từ đề đã có sẵn bằng việc thay đổi một số hệ số. 1.1.3 ExamMaker có khả năng tự động giải đề theo từng bước. Khi đề bài đã được tạo, các thầy cô sẽ nhờ ExamMaker tự động giải bài toán đó. Đây là một chức năng rất độc đáo của chương trình vì các phần mềm tính toán hiện nay hầu như chỉ đưa ra được kết quả cuối cùng mà không trình bày được những kết quả trung gian ở từng bước giải của bài toán. Dưới đây là những khả năng tự động giải đề của ExamMaker: L ExamMaker hỗ trợ giải bài toán một cách đầy đủ theo từng bước một, giống làm thủ công. Chương trình cũng trợ giúp chức năng tạo đáp án cho một đề thi hoàn chỉnh. ExamMaker còn hỗ trợ giải lấy kết quả ngay trong trường hợp các thầy cô chỉ muốn xem kết quả để điều chỉnh đề bài. 1.1.4 ExamMaker cho phép quản lý ngân hàng đề. ExamMaker hỗ trợ cơ chế bảo mật, lưu trữ, tìm kiếm , sắp xếp đề một cách khoa học. Cho nên nó giúp cho các thầy cô quản lý ngân hàng đề một cách an toàn và dễ dàng. Chương trình còn cho phép kết hợp các ngân hàng đề cá nhân thành một kho đề chung cho khoa. 1.1.5 ExamMaker được thiết kế theo công nghệ COM. Để tiện cho việc nâng cấp, thích ứng với nhiều loại dạng bài, nhiều thuật toán giải, có thể tổng hợp các dạng bài khác nhau thành một đề hoàn chỉnh, chương trình đã được thiết kế theo công nghệ COM (Component Object Model Technologies) của Microsoft. Theo công nghệ này thì ExamMaker được cấu thành từ nhiều modun. Các modun này có chung mét interface để tương tác với chương trình ExamMaker và tương tác với nhau. ExamMaker tự động thêm một modun nào đó nếu nó được cài. Do đó chương trình ExamMaker hết sức linh động. 1.1.6 ExamMaker tích hợp nhiều kỹ thuật khó. Việc xây dựng chương trình ExamMaker đòi hỏi em phải sử dụng rất nhiều công nghệ khó thì mới đáp ứng được với những yêu cầu mà bài toán đặt ra. Ví dụ : Kỹ thuật lập trình COM, kỹ thuật liên kết giữa .Net với Mathematica, kỹ thuật lập trình Mathematica, kỹ thuật trình VBA(Visual Basic for Application)… 1.1.7 ExamMaker có giao diện đẹp, tiện dùng. Việc thiết kế giao diện cho chương trình ExamMaker sao cho tiện dùng, đẹp quả là khó. Vì môn phương pháp tính có rất nhiều công thức toán học, việc trình bày đề gặp phải rất nhều khó khăn. Tuy nhiên với việc kết hợp các công nghệ, các control giao diện mạnh như bộ Developer Express Inc.NET, em đã xây dựng được một hệ thống tương tác với người dùng hết sức thân thiện và bắt mắt. M 1.2 Ứng dụng của ExamMaker ExamMaker sẽ là một công cụ mạnh giúp các thầy cô ra đề, ra bài tập phương pháp tính. Thông qua đó nó sẽ góp phần làm tăng chất lượng dạy và học. Các thầy cô sẽ nhàn hơn trong công việc ra đề, và sinh viên sẽ có nhiều bài tập hơn để luyện tập. Với tính thiết thực của chương trình, em hy vọng ExamMaker sẽ được ứng dụng rộng rãi trong các trường đại học kỹ thuật. 1.3 Mục tiêu của ExamMaker Mục tiêu thứ nhất của chương trình là tạo ra một hệ thống ra đề thi phương pháp tính trợ giúp được các thầy cô trong việc ra đề. Mục tiêu quan trọng nhất của chương trình ExamMaker, là đã cho em cơ hội học tập phương pháp làm việc khoa học để giải quyết một vấn đề thực tế. Ngoài ra sau khi hoàn thành chương trình ExamMaker em cũng đã nắm bắt được rất nhiều kỹ thuật thiết kế, lập trình khó, và cũng đã rót ra được nhiều kinh nghiệm cho bản thân. 1.4 Hướng phát triển của ExamMaker . Chương trình ExamMaker là một chương trình mở. Do đó việc phát triển chương trình rất dễ dàng, bằng việc viết thêm modun (các modun này được viết độc lập với chương trình), chương trình sẽ tự động cập nhật modun trên. Chương trình ExamMaker được thiết kế thành một mô hình ra đề hoàn thiện. Nếu áp dụng mô hình này, thì ta có thể tạo được chương trình ra đề cho bất kỳ một môn nào đó chứ không chỉ riêng môn phương pháp tính. Trong tương lai không xa, ExamMaker sẽ trở thành chương trình mà có thể ra đề bất cứ môn học nào. N [...]...Chơng 2 2.1 Nhng k thut c bit dựng trong chng trỡnh ExamMaker K thut lp trỡnh COM 2.1.1 Gii thiu 2.1.2 K thut 2.2 K thut liờn kt gia Net vi Mathematica 2.3 K thut lp trỡnh Mathematica 2.4 K thut trỡnh VBA(Visual Basic for Application) - 11 - C s toỏn hc cho chng trỡnh ExamMaker - 12 - C s toỏn hc cho chngtrỡnh ExamMaker chớnh l lý thuyt mụn phng phỏp tớnh Nú cung cp rt nhiu nh ngha,... a, ký hiu a , l s khụng nh hn sai s tng i ca s xp x a Do ú: a ngha l: A a a Suy ra A a v ta cú th chn a = A a v a = a Trong thc hnh, ngi ta thng s dng sai s tng i v sai s tng i gii hn ỏnh giỏ cỏc phộp o Vớ d hai phộp o sau: Phộp o th nht cú a1=10m , Phộp o th hai cú a2=2m , =0.02 suy ra = 1 1 2 =0.02 suy ra 2 = - 14 - 0.02 = 0.002 10 0.02 = 0.01 2 Ta thy < 2 , ngha l phộp o th nht tt hn... tng quỏt : u=f(x1, x2, x3,,xn) trong ú f liờn tc, kh vi theo cỏc bin xi n Sai s tuyt i gii hn ca u l : u = i =1 3.5 f xi xi Sai s phng phỏp_sai s tớnh toỏn Sai s phng phỏp sinh ra do dựng phng phỏp gn ỳng Sai s tớnh toỏn sinh ra do quỏ tỡnh tớnh phi lm trũn s Sai s ca bi toỏn l tng hai sai s trờn ( 1 Vớ d: tớnh chui an du B = ) n= 1 N 1 n3 1 n 1 N +1 Ta cú : B = + = BN + RN Tớnh BN bỏ RN thỡ... thờm vo khỏi nim sai s tuyt i gii hn - 13 - Sai s tuyt i gii hn ca mt s xp x a l s khụng nh hn sai s tuyt i ca s xp x a Do ú, nu gi a l sai s tuyt i gii hn ca s xp x a thỡ : = = A a a a (*) T ú suy ra: a a A a + a n gin, ta thng vit di dng A = a a Trong thc hnh, ngi ta thng chn a l số nh nht cú th c, tho món (*) 3.1.3 Sai s tng i Trong mt s trng hp sai s tuyt i, sai s tuyt i gii hn khụng th... bn an = x 1 (b a ) 2n a +b khi ú sai s ca nghim gn ỳng l: 2 an + bn 1 1 (bn an ) = n +1 (b a ) 2 2 2 4.3.1.4 S khi ca phng phỏp Vo: Hm số f(x) cho trc Khong phõn ly nghim a,b Sai số cho phộp Ra: Nghim gn ỳng xn ca phng trỡnh f(x)=0 Lu : - 21 - 1 (b a ) 2n Bắt đầu an=a; bn=b f(xn) . trình ExamMaker Chương trình ExamMaker là một chương trình trợ giúp ra đề, ra bài tập cho môn phương pháp tính. Ý tưởng của ExamMaker là tạo ra một chương trình có thể trợ giúp thầy cô ra đề. Trợ giúp ra đề phương pháp tính ExamMaker (Examination Maker) Lời nói đầu Trong quá trình giảng dạy, ngoài việc chuẩn bị giáo án, lên bục giảng thì việc ra đề thi, ra bài tập cho. cô giành cho em, đã giúp em vượt qua rất nhiều khó khăn để hoàn thành đồ án tốt nghiệp với chương trình: Trợ giúp ra đề phương pháp tính ExamMaker (Examination Maker). Đề tài này chính là