1. Trang chủ
  2. » Tất cả

Xây dựng chương trình exammaker

74 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Chương trình Exammaker
Tác giả Nhóm tác giả
Người hướng dẫn Cô Phạm Huyền Linh
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật phần mềm
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2005
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 1,31 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Phần 1. Tổng quan (12)
  • Chơng 1. Tổng quan về chơng trình ExamMaker (13)
    • 1.1 Những điểm nổi bật của chơng trình ExamMaker.11 (13)
      • 1.1.1 ExamMaker cho phép tạo đề một cách tự động (14)
      • 1.1.2 ExamMaker cho phép tạo đề bán tự động (15)
      • 1.1.3 ExamMaker có khả năng tự động giải đề theo từng bíc. 12 (15)
      • 1.1.4 ExamMaker cho phép quản lý ngân hàng đề (16)
      • 1.1.5 ExamMaker đợc thiết kế theo công nghệ COM (16)
      • 1.1.6 ExamMaker tích hợp nhiều kỹ thuật khó (16)
      • 1.1.7 ExamMaker có giao diện đẹp, tiện dùng (16)
    • 1.2 ứng dụng của ExamMaker (17)
    • 1.3 Mục tiêu của ExamMaker (17)
    • 1.4 Hớng phát triển của ExamMaker (17)
  • Chơng 2. Những kỹ thuật đặc biệt dùng trong chơng trình ExamMaker (18)
    • 2.1 Kü thuËt lËp tr×nh COM (18)
      • 2.1.1 Giới thiệu (18)
      • 2.1.2 Kü thuËt (18)
    • 2.2 Kỹ thuật liên kết giữa .Net với Mathematica (18)
    • 2.4 Kü thuËt tr×nh VBA(Visual Basic for Application) (18)
  • Phần 2. Cơ sơ toán học cho chơng trình ExamMaker (19)
  • Chơng 1. Sai số_số xấp xỉ (20)
    • 1.1 Khái niệm số xấp xỉ, sai số tuyệt đối và tơng đối (20)
      • 1.1.1 Số xấp xỉ (20)
      • 1.1.2 Sai số tuyệt đối (20)
      • 1.1.3 Sai số tơng đối (21)
    • 1.2 Cách viết số xấp xỉ (22)
      • 1.2.1 Chữ số có nghĩa (22)
      • 1.2.2 Chữ số đáng tin (22)
      • 1.2.3 Cách viết số xấp xỉ (23)
    • 1.3 Sự quy tròn số và sai số quy tròn (23)
      • 1.3.1 Khái niệm về sự quy tròn và sai số quy tròn (23)
      • 1.3.2 Nguyên tắc quy tròn (24)
    • 1.4 Các định lý về sai số (24)
      • 1.4.1 Sai số của một tổng, hiệu (24)
      • 1.4.2 Sai số của một tích (24)
      • 1.4.3 Sai số của một thơng (25)
      • 1.4.4 Tổng quát (25)
    • 1.5 Sai số phơng pháp_sai số tính toán (25)
  • Chơng 2. Tính gần đúng nghiệm thực của phơng trình đại số và siêu việt (26)
    • 2.1 Đặt vấn đề (26)
    • 2.2 Khoảng phân ly nghiệm (26)
    • 2.3 Các phơng pháp tính gần đúng nghiệm (27)
      • 2.3.1 Phơng pháp chia đôi (27)
      • 2.3.2 Phơng pháp lặp (30)
      • 2.3.4 Phơng pháp tiếp tuyến(còn gọi là phơng pháp Niutơn) (35)
  • Chơng 3. Giải hệ phơng trình đại số tuyến tính (38)
    • 3.1 Đặt vấn đề (38)
    • 3.2 Các phơng pháp tính gần đúng nghiệm (38)
      • 3.2.1 Phơng pháp lặp đơn (38)
      • 3.2.2 Phơng pháp lặp Dâyđen (40)
  • Chơng 4. Đa thức nội suy và phơng pháp bình phơng tối thiÓu 39 (43)
    • 4.1 Bài toán nội suy (43)
    • 4.2 Tính giá trị của đa thức bằng sơ đồ HOóCNE (44)
    • 4.3 Đa thức nội suy Lagrăng (44)
      • 4.3.1 Thành lập đa thức nội suy Lagrăng (44)
      • 4.3.2 Đánh giá sai số (45)
      • 4.3.3 Sơ đồ khối của đa thức nội suy Lagrăng (45)
      • 4.3.4 u nhợc điểm của đa thức nội suy Lagrăng (46)
    • 4.4 Đa thức nội suy Niutơn (46)
      • 4.4.1 Đa thức nội suy Niutơn mốc tuỳ ý (46)
      • 4.4.2 Đa thức nội suy Niutơn mốc cách đều (47)
      • 4.4.3 Sơ đồ khối của phơng pháp (49)
      • 4.4.4 u nhợc điểm của phơng pháp (52)
    • 4.5 Phơng pháp bình phơng tối thiểu (52)
      • 4.5.1 Nội dung của phơng pháp (52)
      • 4.5.2 Sơ đồ khối của phơng pháp..................................49 Chơng 5. Tính gần đúng đạo hàm và tích phân xác định 50 (53)
      • 5.1.1 Đặt vấn đề (54)
      • 5.1.2 Công thức tính gần đúng đạo hàm cấp một (54)
      • 5.1.3 Sơ đồ khối của phơng pháp (54)
    • 5.2 TÝnh tÝch ph©n (54)
      • 5.2.1 Đặt vấn đề (54)
      • 5.2.2 Các công thức tính gần đúng tích phân (55)
      • 5.2.3 Sơ đồ khối của phơng pháp tính tích phân gần đúng 52 Chơng 6. Giải gần đúng phơng trình vi phân thờng (56)
    • 6.1 Đặt vấn đề (57)
    • 6.2 Phơng pháp ơle_phơng pháp ơle cải tiến (57)
      • 6.2.1 Phơng pháp ơle (57)
      • 6.2.2 Phơng pháp ơle cải tiến (57)
      • 6.2.3 Sơ đồ khối của phơng pháp (57)
      • 6.2.4 u nhợc điểm của phơng pháp (57)
    • 6.3 Phơng pháp Runge_Kutta (58)
      • 6.3.1 Runge_Kutta cÊp 3 (58)
      • 6.3.2 Runge_Kutta cÊp 4 (58)
      • 6.3.3 Sơ đồ khối của phơng pháp (59)
      • 6.3.4 u nhợc điểm của phơng pháp (59)
  • Phần 3. Xây dựng chơng trình ExamMaker (60)
  • Chơng 1. Khảo sát và xác lập giải pháp (61)
    • 1.1 Khảo sát mô hình ra đề thủ công (61)
      • 1.1.1 Mô hình ra đề thủ công (61)
      • 1.1.2 NhËn xÐt (61)
      • 1.1.3 Giải pháp (62)
    • 1.2 Khảo sát thực tế (62)
      • 1.2.1 Khảo sát các hệ thống ra đề hiện có (62)
      • 1.2.2 Khảo sát nhu cầu (62)
      • 1.2.3 KÕt luËn (63)
    • 1.3 Khảo sát các dạng bài môn phơng pháp tính (63)
      • 1.3.1 Bài toán 1 : Tính gần đúng nghiệm thực của phơng trình đại số và siêu việt (63)
      • 1.3.2 Bài toán 2 : Giải hệ phơng trình đại số tuyến tính 59 (64)
      • 1.3.3 Bài toán 3 : Đa thức nội suy và phơng pháp bình ph- ơng cực tiểu (65)
      • 1.3.4 Bài toán 4 : Tính gần đúng đạo hàm và tích phân. 59 (65)
      • 1.3.5 Bài toán 5 : Giải gần đúng phơng trình vi phân th- êng. 59 (65)
      • 1.3.6 Bài toán 6: bài toán dới dạng lý thuyết (65)
    • 1.4 Xác lập giải pháp (65)
      • 1.4.1 Phạm vi và quy mô (65)
      • 1.4.2 Các chức năng đặc biệt (65)
      • 1.4.3 Xác định công cụ và phơng pháp (65)
      • 1.4.4 Đánh giá sơ bộ và dự kiến kế hoạch thực hiện (65)
  • Chơng 2. Phân tích và thiết kế hệ thống (66)
    • 2.1 Phân tích hệ thống (66)
      • 2.1.1 Sơ đồ chức năng (66)
      • 2.1.2 Phân tích giao diện (interface) của các đối tợng (67)
  • COM 61 (0)
    • 2.1.3 Sơ đồ luồng dữ liệu ở các mức (70)
    • 2.1.4 Sơ đồ thực thể quan hệ (70)
    • 2.2 Thiết kế hệ thống (70)
      • 2.2.1 Thiết kế cơ sở dữ liệu (70)
      • 2.2.2 Thiết kế các đối tợng COM (72)
      • 2.2.3 Thiết kế chơng trình (72)
  • Tài liệu tham khảo (74)

Nội dung

Sở dĩ emchọ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ônvì phải tính toán rất nhiều với những con số dài, hơn th

Trang 1

Lời nói đầu

Trong quá trình giảng dạy, ngoài việc chuẩn bị giáo án, lênbụ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ệccủ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 Nhng 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ạiphả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ăndà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 Khoathâ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ácthầ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 Nhng 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ĩ emchọ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ônvì phải tính toán rất nhiều với những con số dài, hơn thế nữaviệ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à

Trang 2

bài tập cho sinh viên luyện tập và thi Nh vậy yêu cầu có một

ch-ơng trình trợ giúp ra đề phch-ơ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ọctậ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ổngquan đồ á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ánvững chắc cho đồ án tốt nghiệp, đồng thời cung cấp cácthuậ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ìnhbày về những nghiên cứu về mô hình ra đề hiện tại, khảoxát thực tế Và từ đó đa ra những giải pháp cho chơngtrì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ơngtrì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ênvẫ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

Trang 4

Lời cảm ơn

Sau mời bảy năm ăn học chuẩn bị đầy đủ hành trang bớcvào đời, em đã từng bớc qua rất nhiều những nấc thang để tiếntớ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 trongnhiề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ẫncủa em cô Phạm Huyền Linh!!! Cô là ngời đã dìu dắt em bớc lênnấ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ìnhdẫn dắt em trong suốt quá trình làm đồ án, ngay cả khi sứckhoẻ cô không đợc tốt Cô chính là chỗ dựa tinh thần và kiếnthứ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áotrong khoa Toán-Tin đã đóng góp ý kiến và động viên em trongnhững ngày tháng em học ở khoa

Để cho em đợc nh ngày hôm nay là cả một sự tảo tần, hysinh 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úckhó 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êngiú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ặngcho thầy cô, mẹ, anh chị và bạn bè Một lần nữa em xin cảm ơntất cả!!

Trang 5

Sơ đồ tóm tắt đồ án tốt nghiệp

Trang 6

Mục lục

Lời nói đầu 1

Lời cảm ơn 3

Sơ đồ tóm tắt đồ án tốt nghiệp 4

Mục lục 5

Phần 1 Tổng quan 10

Chơng 1 Tổng quan về chơng trình ExamMaker 11

1.1 Những điểm nổi bật của chơng trình ExamMaker.11 1.1.1 ExamMaker cho phép tạo đề một cách tự động 12

1.1.2 ExamMaker cho phép tạo đề bán tự động 12

1.1.3 ExamMaker có khả năng tự động giải đề theo từng bớc 12 1.1.4 ExamMaker cho phép quản lý ngân hàng đề 13

1.1.5 ExamMaker đợc thiết kế theo công nghệ COM 13

1.1.6 ExamMaker tích hợp nhiều kỹ thuật khó 13

1.1.7 ExamMaker có giao diện đẹp, tiện dùng 13

1.2 ứng dụng của ExamMaker 14

1.3 Mục tiêu của ExamMaker 14

1.4 Hớng phát triển của ExamMaker 14

Chơng 2 Những kỹ thuật đặc biệt dùng trong chơng trình ExamMaker 15

2.1 Kỹ thuật lập trình COM 15

2.1.1 Giới thiệu 15

2.1.2 Kỹ thuật 15

2.2 Kỹ thuật liên kết giữa Net với Mathematica 15

Trang 7

2.4 Kỹ thuật trình VBA(Visual Basic for Application) 15

Phần 2 Cơ sơ toán học cho chơng trình ExamMaker 16

Chơng 1 Sai số_số xấp xỉ 17

1.1 Khái niệm số xấp xỉ, sai số tuyệt đối và tơng đối 17

1.1.1 Số xấp xỉ 17

1.1.2 Sai số tuyệt đối 17

1.1.3 Sai số tơng đối 18

1.2 Cách viết số xấp xỉ 19

1.2.1 Chữ số có nghĩa 19

1.2.2 Chữ số đáng tin 19

1.2.3 Cách viết số xấp xỉ 19

1.3 Sự quy tròn số và sai số quy tròn 20

1.3.1 Khái niệm về sự quy tròn và sai số quy tròn 20

1.3.2 Nguyên tắc quy tròn 20

1.4 Các định lý về sai số 21

1.4.1 Sai số của một tổng, hiệu 21

1.4.2 Sai số của một tích 21

1.4.3 Sai số của một thơng 21

1.4.4 Tổng quát 21

1.5 Sai số phơng pháp_sai số tính toán 22

Chơng 2 Tính gần đúng nghiệm thực của phơng trình đại số và siêu việt 23

2.1 Đặt vấn đề 23

2.2 Khoảng phân ly nghiệm 23

2.3 Các phơng pháp tính gần đúng nghiệm 24

2.3.1 Phơng pháp chia đôi 24

2.3.2 Phơng pháp lặp 26

Trang 8

2.3.3 Phơng pháp dây cung (còn gọi là phơng pháp cát

tuyến) 29

2.3.4 Phơng pháp tiếp tuyến(còn gọi là phơng pháp Niutơn) 31

Chơng 3 Giải hệ phơng trình đại số tuyến tính 34

3.1 Đặt vấn đề 34

3.2 Các phơng pháp tính gần đúng nghiệm 34

3.2.1 Phơng pháp lặp đơn 34

3.2.2 Phơng pháp lặp Dâyđen 36

Chơng 4 Đa thức nội suy và phơng pháp bình phơng tối thiểu 39 4.1 Bài toán nội suy 39

4.2 Tính giá trị của đa thức bằng sơ đồ HOóCNE 39

4.3 Đa thức nội suy Lagrăng 40

4.3.1 Thành lập đa thức nội suy Lagrăng 40

4.3.2 Đánh giá sai số 40

4.3.3 Sơ đồ khối của đa thức nội suy Lagrăng 40

4.3.4 u nhợc điểm của đa thức nội suy Lagrăng 41

4.4 Đa thức nội suy Niutơn 41

4.4.1 Đa thức nội suy Niutơn mốc tuỳ ý 41

4.4.2 Đa thức nội suy Niutơn mốc cách đều 43

4.4.3 Sơ đồ khối của phơng pháp 44

4.4.4 u nhợc điểm của phơng pháp 48

4.5 Phơng pháp bình phơng tối thiểu 48

4.5.1 Nội dung của phơng pháp 48

4.5.2 Sơ đồ khối của phơng pháp 49 Chơng 5 Tính gần đúng đạo hàm và tích phân xác định 50

Trang 9

5.1.1 Đặt vấn đề 50

5.1.2 Công thức tính gần đúng đạo hàm cấp một 50

5.1.3 Sơ đồ khối của phơng pháp 50

5.2 Tính tích phân 50

5.2.1 Đặt vấn đề 50

5.2.2 Các công thức tính gần đúng tích phân 51

5.2.3 Sơ đồ khối của phơng pháp tính tích phân gần đúng 52 Chơng 6 Giải gần đúng phơng trình vi phân thờng 53

6.1 Đặt vấn đề 53

6.2 Phơng pháp ơle_phơng pháp ơle cải tiến 53

6.2.1 Phơng pháp ơle 53

6.2.2 Phơng pháp ơle cải tiến 53

6.2.3 Sơ đồ khối của phơng pháp 53

6.2.4 u nhợc điểm của phơng pháp 53

6.3 Phơng pháp Runge_Kutta 53

6.3.1 Runge_Kutta cấp 3 54

6.3.2 Runge_Kutta cấp 4 54

6.3.3 Sơ đồ khối của phơng pháp 54

6.3.4 u nhợc điểm của phơng pháp 54

Phần 3 Xây dựng chơng trình ExamMaker 55

Chơng 1 Khảo sát và xác lập giải pháp 56

1.1 Khảo sát mô hình ra đề thủ công 56

1.1.1 Mô hình ra đề thủ công 56

1.1.2 Nhận xét 56

1.1.3 Giải pháp 57

1.2 Khảo sát thực tế 57

Trang 10

1.2.1 Khảo sát các hệ thống ra đề hiện có 57

1.2.2 Khảo sát nhu cầu 57

1.2.3 Kết luận 57

1.3 Khảo sát các dạng bài môn phơng pháp tính 57

1.3.1 Bài toán 1 : Tính gần đúng nghiệm thực của phơng trình đại số và siêu việt 58

1.3.2 Bài toán 2 : Giải hệ phơng trình đại số tuyến tính 59 1.3.3 Bài toán 3 : Đa thức nội suy và phơng pháp bình ph-ơng cực tiểu 59

1.3.4 Bài toán 4 : Tính gần đúng đạo hàm và tích phân 59 1.3.5 Bài toán 5 : Giải gần đúng phơng trình vi phân th-ờng 59 1.3.6 Bài toán 6: bài toán dới dạng lý thuyết 59

1.4 Xác lập giải pháp 59

1.4.1 Phạm vi và quy mô 59

1.4.2 Các chức năng đặc biệt 59

1.4.3 Xác định công cụ và phơng pháp 59

1.4.4 Đánh giá sơ bộ và dự kiến kế hoạch thực hiện 59

Chơng 2 Phân tích và thiết kế hệ thống 60

2.1 Phân tích hệ thống 60

2.1.1 Sơ đồ chức năng 60

2.1.2 Phân tích giao diện (interface) của các đối tợng COM 61 2.1.3 Sơ đồ luồng dữ liệu ở các mức 64

2.1.4 Sơ đồ thực thể quan hệ 64

2.2 Thiết kế hệ thống 64

Trang 11

2.2.1 Thiết kế cơ sở dữ liệu 64

2.2.2 Thiết kế các đối tợng COM 66

2.2.3 Thiết kế chơng trình 66

Kết luận 67

Tài liệu tham khảo 68

Trang 12

PhÇn 1 Tæng quan

Trang 13

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:

Trang 14

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ớisinh viên kỹ thuật, là môn giúp sinh viên rèn luyện các phơngpháp và kỹ năng tính toán chính xác Do đó khối lợng bài tậpgiao cho sinh viên luyện tập và đề thi là rất lớn Để giảm tốithiểu thời gian ra đề, các thầy cô có thể nhờ chơng trình sinhngẫu nhiên đề bài

Do đặc trng của môn phơng pháp tính có rất nhiều dạngbài, và mỗi một dạng bài có nhiều phơng pháp tính khác nhau

Tạo đề bán tự

Thiết kế theo công nghệ COM

Tích hợp nhiều kỹ thuật khó

Giao diện

đẹp tiện dùng

Tạo đề tự

động

Ch ơng trình ExamMaker

Trang 15

trình đại số và siêu việt; Giải hệ phơng trình đại số tuyếntính…Nh vậy với mỗi dạng bài ExamMaker phải có cách sinh ngẫunhiên khác nhau Nhng sinh ngẫu nhiên mà vẫn đảm bảo tínhhợ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ácthầ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áccách nh sau:

 Cho trớc một vài tham số sau đó nhờ chơng trình tìm nốtcác tham số còn lại với điều kiện nào đó

Ví dụ nh 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à 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ố đốivớ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ủachơ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ếtquả trung gian ở từng bớc giải của bài toán Dới đây là nhữngkhả năng tự động giải đề của ExamMaker:

 ExamMaker hỗ trợ giải bài toán một cách đầy đủ theo từngbớc một, giống nh làm thủ công

Trang 16

 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ợpcá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, lu trữ, tìm kiếm , sắpxế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ơngtrình còn cho phép kết hợp các ngân hàng đề cá nhân thànhmộ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ạngbài, nhiều thuật toán giải, có thể tổng hợp các dạng bài khácnhau 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ấuthà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ữngyêu cầu mà bài toán đặt ra Ví dụ nh: 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ìnhMathematica, 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 saocho tiện dùng, đẹp quả là khó Vì môn phơng pháp tính có rấtnhiều công thức toán học, việc trình bày đề gặp phải rất nhều

Trang 17

giao diện mạnh nh bộ Developer Express Inc.NET, em đã xâydự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

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àmtăng chất lợng dạy và học Các thầy cô sẽ nhàn hơn trong côngviệ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 kinhnghiệ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êmmodun (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ôngchỉ 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

Trang 19

PhÇn 2 C¬ s¬ to¸n häc cho ch¬ng

tr×nh ExamMaker

Trang 20

Cơ sở toán học cho chơngtrình ExamMaker chính là lýthuyết môn phơng pháp tính Nó cung cấp rất nhiều địnhnghĩa, định lý, phơng pháp tính đảm bảo cho việc xây dựngcác thuật toán trên máy tính.

Lý thuyết môn phơng pháp tính đã đợc trình bày chi tiết

ở các sách giáo trình ở đây em chỉ nêu lên các khái niệm,

định lý, công thức tính và công thức sai số [1] nhằm xây dựngsơ đồ khối của thuật toán mà không đi sâu vào việc chứngminh

Chơng 1 Sai số_số xấp xỉ

Chơng này sẽ giới thiệu cho chúng ta các khái niệm về sai

số, số xấp xỉ Bởi môn phơng pháp tính cung cấp các công cụtính toán gần đúng nên việc xem xét sai số, số xấp xỉ là vôcùng quan trọng

1.1 Khái niệm số xấp xỉ, sai số tuyệt đối và tơng

đối.

1.1.1 Số xấp xỉ

Trong thực tế chúng ta làm việc chủ yếu với số xấp xỉ

Định nghĩa1.1: a gọi là số xấp xỉ của số đúng A, ký hiệu aA, nếu a khác A không đáng kể và đợc dùng thay cho A trong tính toán.

Nếu a<A thì a gọi là xấp xỉ thiếu của A Nếu a>A thì a gọi là xấp xỉ tha của A.

Thí dụ : Số 1.414 Số 1.414 chính là số xấp xỉ của số

1.1.2 Sai số tuyệt đối

Gọi A là số chính xác, a là số xấp xỉ

Định nghĩa1.2: Hiệu (hoặc ) gọi là sai số tuyệt

đối của số xấp xỉ a Trị tuyệt đối:

Trang 21

gọi là sai số tuyệt đối của số xấp xỉ a.

Trong thực tế, ta không thể xác định đợc số đúng A, dovậy mà ta cũng không thể có đợc sai số tuyệt đối của số xấp xỉ

a Vì vậy, cùng với khái niệm sai số tuyệt đối ngời ta thêm vào khái niệm sai số tuyệt đối giới hạn.

Định nghĩa1.3: Sai số tuyệt đối giới hạn của một số xấp xỉ a là

số không nhỏ hơn sai số tuyệt đối của số xấp xỉ a.

Do đó, nếu gọi là sai số tuyệt đối giới hạn của số xấp xỉ athì :

(*)

Từ đó suy ra:

Để đơn giản, ta thờng viết dới dạng

Trong thực hành, ngời ta thờng chọn là số nhỏ nhất có thể đợc,thoả mãn (*)

1.1.3 Sai số tơng đối

Trong một số trờng hợp sai số tuyệt đối, sai số tuyệt đốigiới hạn không thể hiện đợc mức độ chính xác của phép đohoặc tính toán Do đó ngời ta đa vào những khái niệm sau:

Định nghĩa1.4: Sai số tơng đối của số xấp xỉ a ký hiệu là :

Với giả thiết A 0.Từ đó:

Định nghĩa1.5: Sai số tơng đối giới hạn của một số xấp xỉ a, ký hiệu , là số không nhỏ hơn sai số tơng đối của số xấp xỉ a Do

đó:

nghĩa là:

Trang 22

Suy ra và ta có thể chọn và

Trong thực hành, ngời ta thờng sử dụng sai số tơng đối vàsai số tơng đối giới hạn để đánh giá các phép đo Ví dụ haiphép đo sau:

 Phép đo thứ nhất có a1=10m , =0.02 suy ra =

Ví dụ: số 50.25 có 4 chữ số có nghĩa, số 0.0547 cũng có 4 chữ

số có nghĩa

1.2.2 Chữ số đáng tin

Định nghĩa1.7: Cho số thực a đợc biểu diễn dới dạng:

trong đó m là số nguyên, 0 (i=m-1, m-2,…), 0 .

Chữ số gọi là chữ số đáng tin nếu:

và gọi là chữ số nghi ngờ nếu :

Trang 23

Ví dụ: Số xấp xỉ a=3.7284 với =0.0047 có 3 chữ số đáng tin là

3, 7, 2 và 2 chữ số nghi ngờ là 8, 4

Rõ ràng nếu là chữ số đáng tin thì những chữ số ởbên trái nó cũng là những chữ số đáng tin, nếu là chữ sốnghi ngờ thì những chữ số ở bên phải nó cũng là những số nghingờ

đơn vị của chữ số ở hàng cuối cùng bên phải

Ví dụ: 50.25 thì (1/2).10-2

Cách này thờng dùng trong các bảng số nh bảng các hàm số lợnggiác, bảng lôgarit…

1.3 Sự quy tròn số và sai số quy tròn.

1.3.1 Khái niệm về sự quy tròn và sai số quy tròn

 Sự quy tròn: trong trờng hợp số a có quá nhiều chữ số làmcho việc tính toán, ghi chép trở nên khó khăn, ngòi ta phảingắt bỏ đi một vài chữ số ở cuối và nhận đợc số a1 Việclàm đó đợc gọi là sự quy tròn số

 Sai số quy tròn tuyệt đối : chính là trị tuyệt đối của hiệu

a1-a, ký hiệu là

Trang 24

 Sai số quy tròn tuyệt đối giới hạn của số đã quy tròn a1, ký

hiệu

1.3.2 Nguyên tắc quy tròn

Phép quy tròn phải đảm bảo cho sai số quy tròn tuyệt đốikhông lớn hơn một nửa đơn vị của chữ số ở hàng giữ lại cuốicùng bên phải

Điều đó có nghĩa là: nếu chữ số bỏ đi đầu tiên 5 thìthêm vào chữ số giữ lại cuối cùng bên phải là một đơn vị; nếuchữ số bỏ di đầu tiên <5 thì để nguyên chữ số giữ lại cuối cùngbên phải

Ví dụ: quy tròn số =1.732050875688…đến chữ số cónghĩa thứ 6, thứ 5, thứ 4 là 1.73205, 1.7321, 1.732

1.4 Các định lý về sai số

Xét các số xấp xỉ x1, x2, x3,…có các sai số tuyệt đối giới hạn

là , , …, và sai số tơng đối giới hạn là , , ,…

1.4.1 Sai số của một tổng, hiệu

Xét tổng(hiệu) sau:

Sai số tuyệt đối giới hạn của tổng(hiệu) trên là :

Sai số tơng đối giới hạn của tổng(hiệu) trên là :

Chú ý hiện tợng mất chính xác khi trừ hai số, nếu trừ hai số xấp

xỉ x1và x2 (x1>0, x2>0) có giá trị gần bằng nhau thì sai số tơng

đối giới hạn của hiệu có thể rất lớn, trong khi đó sai số tơng đốigiới hạn của số trừ và của số bị trừ vẫn nhỏ

1.4.2 Sai số của một tích

Xét tích sau:

Trang 25

Sai số tơng đối giới hạn của tích trên là :

Sai số tuyệt đối giới hạn của tích trên là :

1.4.3 Sai số của một thơng

Xét thơng sau: với ( 0)

Sai số tơng đối giới hạn của thơng trên là :

Sai số tuyệt đối giới hạn của thơng trên là :

1.4.4 Tổng quát

Xét trờng hợp tổng quát : u=f(x1, x2, x3,…,xn)trong đó f liên tục, khả vi theo các biến xi

Sai số tuyệt đối giới hạn của u là :

1.5 Sai số phơng pháp_sai số tính toán.

Sai số phơng pháp sinh ra do dùng phơng pháp gần đúng.Sai số tính toán sinh ra do quá tình tính phải làm tròn số Sai sốcủa bài toán là tổng hai sai số trên

Ví dụ: tính chuỗi đan dấu B =

Ta có : B = = BN + RN

Tính BN bỏ RN thì bài toán có sai số phơng pháp

Trong khi tính BN ta làm tròn số có sai số tính toán

Sai số cuẩ bài toán trên là tổng sai số phơng pháp và sai số tínhtoán

Trang 26

Chơng 2 Tính gần đúng nghiệm thực của phơng trình đại số và siêu việt

2.1 Đặt vấn đề

Bài toán tìm nghiệm của phơng trình f(x)=0, trong đó f

là hàm số đại số hoặc hàm số siêu việt bất kỳ, đóng một vai tròquan trọng trong khoa học kỹ thuật Tuy nhiên việc giải chínhxác nghiệm của phơng trình lại không hề đơn giản, hay khônggiải đợc đối với phơng trình đại số bậc cao, hoặc siêu việt Mặtkhác các thông số trong kỹ thuật cũng chỉ là số xấp xỉ Nh vậyviệc giải chính xác nghiệm cũng không còn ý nghĩa Do đó việcgiải gần đúng nghiệm và đánh giá sai số của nó là việc vô cùngquan trọng

Chúng ta hãy cùng xem xét về khoảng phân ly nghiệm vàcác phơng pháp giải gần đúng nghiệm trong chơng này Đồngthời em cũng đã xây dựng đợc sơ đồ khối cho mỗi phơng phápnhằm cung cấp thuật toán cho việc lập trình

Trang 27

Từ đồ thị hàm số ta có khoảng phân ly nghiệm của phơngtrình trên là (1, 2).

Định lý sau cho ta cách xác định khoảng phân ly nghiệm củaphơng trình

//Định lý: Cho y=f(x) liên tục trong (a,b) có đạo hàm f’(x)

Nếu + f(a), f(b) trái dấu ((f(a).f(b)<0)

+f’(x) không đổi dấu trên khoảng (a,b)

thì (a,b) là khoảng phân ly nghiệm của phơng trình

Có hai cách xác định khoảng phân ly nghiệm:

Trang 28

+ Nếu thì là nghiệm đúng của phơng trìnhf(x)=0.

+Nếu , ta chọn một trong hai khoảng (a, ) và ( ,b) mà tại hai nút của khoảng hàm số f(x) có dấu khác nhau, làmkhoảng cách ly nghiệm mới Ta gọi khoảng này là (a1, b1) nó có

độ dài bằng nửa khoảng (a, b)

Ta lại chia đôi khoảng (a1, b1) và tiếp tục làm nh trên…

2.3.1.2 Sự hội tụ của ph ơng pháp.

Dễ dàng thấy phơng pháp chia đôi hội tụ khi ta thực hiệnvô hạn lần việc chia đôi liên tiếp khoảng phân ly (a, b)

2.3.1.3 Sai số của nghiệm gần đúng

Trong thực hành ta không thể thực hiện phơng pháp chia

đôi vô hạn lần, mà ta chỉ có thể thực hiện đợc n phép chia đôi

và lấy nghiệm gần đúng mà thôi (n nguyên dơng và hu hạn) Khi

Ta có thể lấy nghiệm gần đúng nh sau:

 x an khi đó sai số của nghiệm gần đúng là:

Trang 29

= 

KÕt thócNghiÖm

lµ xn

f(an)f(xn)<0bn=xn

an=xn

+

+

-

Trang 30

-2.3.1.5 u nh ợc điểm của ph ơng pháp

 u điểm: phơng pháp chia đôi là đơn giản, dễ cài đặttrên máy tính, vì mỗi lần áp dụng phơng pháp chia đôi tachỉ phải tính một giá trị của hàm số tại điểm giữa củakhoảng

 Nhợc điểm: Phơng pháp chia đôi có tốc độ hội tụ chậm

Bớc 2: chọn x0 [a, b] làm nghiệm gần đúng ban đầu Thayx=x0 vào phơng trình x= , ta nhận đợc nghiệm gần đúngthứ nhất: x1 =

Bớc 3: Từ bớc hai ta có x1, thay x=x1 vào phơng trình x= ta

đợc nghiệm gần đúng thứ hai là x2=

Lặp lại nhiều lần bớc 3, ta nhận đợc các nghiệm gần đúng:

x3=

x4= … (*)

xn=

…Dãy nghiệm gần đúng {xn}, n=1,2,3… hội tụ về nghiệm đúng của phơng trình f(x)=0 khi n + Có nghĩa là :

Trang 31

Hay :

2.3.2.2 Sự hội tụ của ph ơng pháp lặp.

Sự hội tụ của phơng pháp lặp phụ thuộc vào cách chọnhàm số Định lý sau đây sẽ cho ta cách chọn đểdãy{xn}, n=1,2, hội tụ về nghiệm đúng

//Định lý : Giả sử (a, b) là khoảng phân ly nghiệm của phơngtrình f(x)=0; và là những hàm số liên tục trong (a, b),với đợc xác định bởi phơng trình x= , tơng đơng với ph-

ơng trình f(x)=0 Nếu đối với thìdãy {xn}, n=1,2,3…nhận đợc từ (*) hội tụ về nghiệm đúng

2.3.2.3 Sai số của nghiệm gần đúng

Để đánh giá độ lệch giữa nghiệm gần đúng xn, nhận đợcbằng phơng pháp lặp, và nghiệm đúng ta có các công thứcsau:

Công thức thứ nhất:

Công thức thứ hai: công thức này cho phép ta xác định đợc số

b-ớc lặp cần thiết để có đợc xn với sai số mong muốn

Trang 32

 u điểm : tốc độ hội tụ nhanh, dễ cài đặt trên máy tính.

 Nhợc điểm: Tính toán phức tạp hơn phơng pháp chia dôi

2.3.3 Phơng pháp dây cung (còn gọi là phơng pháp

cát tuyến) 2.3.3.1 Nội dung ph ơng pháp

Cho f(x)=0 và khoảng phân ly nghiệm (a, b):

x1<=

Kết thúcNghiệm

là xx=x1

+ -

x1=(x)

+

Trang 33

-Để dễ cho việc tính toán ta thêm điều kiện f’(x), f”(x) không

đổi dấu trên khoảng phân ly (a, b)

Bớc 1: Chọn x0=a và d=b nếu f(b) cùng dấu với f”(x) ( chọn x0=b

và d=a nếu f(a) cùng dấu với f”(x))

Bớc 2: Cát tuyến nối điểm (x0, f(x0)) và (d, f(d)) cắt Ox tại x1 (nhhình vẽ trên)

Bớc 3 : Lại nối tiếp các điểm (x1, f(x1)) và (d, f(d)) cắt Ox tại x2

Bớc n : Cát tuyến nối (xn-1, f(xn-1) và (d, f(d)) cắt Ox tại xn

Dãy {xn} n=1,2,3… là nghiệm gần đúng của phơng trìnhf(x)=0

Công thức tính xn: Từ phơng trình cát tuyến nối (xn-1, f(xn-1) và(d, f(d)) ta có công thức tính xn là:

2.3.3.2 Sự hội tụ của ph ơng pháp dây cung.

Nếu f(x) có f’(x), f’’(x) không đổi dấu trên khoảng phân ly(a, b), nếu chọn x0 sao cho f(x0) khác dấu với f”(x) thì phơngpháp dây cung hội tụ về nghiệm đúng

2.3.3.3 Sai số của nghiệm gần đúng

Để đánh giá độ lệch giữa nghiệm gần đúng xn, nhận đợcbằng phơng pháp dây cung và nghiệm đúng ta có các côngthức sau:

Trang 35

-Hình 3 Lu đồ thuật toán tìm nghiệm gần đúng bằng phơng pháp

dây cung

2.3.3.5 u nh ợc điểm của ph ơng pháp

 Ưu điểm : Số lơng tính toán ít ( khi đã biết xn để tính xn+1

ta chỉ phải tính một giá trị của hàm f tại điểm xn với n>0 )

 Nhợc điểm : Tốc độ hội tụ chậm chỉ hội tụ tuyến tính

2.3.4 Phơng pháp tiếp tuyến(còn gọi là phơng pháp

Niutơn) 2.3.4.1 Nội dung ph ơng pháp

Cho f(x)=0 và khoảng phân ly nghiệm (a, b): chọn x

Tiếp tuyến tại (x0, f(x0)) cắt Ox tại x1

Tiếp tuyến tại (x1, f(x1)) cắt Ox tại x2

Tiếp tuyến tại (xn-1, f(xn-1)) cắt Ox tại xn

Dãy {xn} n=1,2,3… là nghiệm gần đúng của phơng trìnhf(x)=0

Công thức tính xn: Từ phơng trình tiếp tuyến tại (xn-1, f(xn-1) ta

có công thức tính xn là:

Quá trình dừng lại khi nhận đợc nghiệm gần đúng đạt độchính xác yêu cầu

2.3.4.2 Sự hội tụ của ph ơng pháp tiếp tuyến.

Nếu f(x) có f’(x), f’’(x) không đổi dấu trên khoảng phân ly(a, b), nếu chọn x0 sao cho f(x0) cùng dấu với f”(x) thì phơng phápdây cung hội tụ về nghiệm đúng

2.3.4.3 Sai số của nghiệm gần đúng

Trang 36

-Để đánh giá độ lệch giữa nghiệm gần đúng xn, nhận đợcbằng phơng pháp tiếp tuyến và nghiệm đúng ta có các côngthức sau:

Trang 37

Hình 4 Lu đồ thuật toán tìm nghiệm gần đúng bằng phơng pháp

+

Ngày đăng: 02/02/2023, 14:19

w