Tải bản đầy đủ (.pdf) (64 trang)

trợ giúp ra đề phương pháp tính exammaker (examination maker)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (433.9 KB, 64 trang )

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:
/01234
05
6701
829!
: 7#;<
=01
>>
!?@
'A
B!C
1 D
 EF

6-@
0G@-H
/014
05
'9IJ

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. Những kỹ thuật đặc biệt dùng trong chương
trình ExamMaker.
2.1 Kỹ thuật lập trình COM
2.1.1 Giới thiệu
2.1.2 Kỹ thuật
2.2 Kỹ thuật liên kết giữa .Net với Mathematica
2.3 Kỹ thuật lập trình Mathematica
2.4 Kỹ thuật trình VBA(Visual Basic for Application)

Cơ sơ toán học cho chương trình ExamMaker

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 định nghĩa, định lý, phương pháp tính
đảm bảo cho việc xây dựng cá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ựng sơ đồ khối của thuật toán mà không đi sâu vào việc chứng
minh.
Ch¬ng 3. 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.
3.1 Khái niệm số xấp xỉ, sai số tuyệt đối và tương đối.
3.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ỉ.
a gọi là số xấp xỉ của số đúng A, ký hiệu a

A, 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ỉ thưa của A.
Thí dô : Số
2

1.414. Sè 1.414 chính là số xấp xỉ của số
2
.
3.1.2 Sai số tuyệt đối
Gọi A là số chính xác, a là số xấp xỉ.
Hiệu
aAa
−=∆
(hoặc
Aaa
−=∆
) gọi là sai số tuyệt đối của số xấp xỉ a. Trị tuyệt
đối:
aAa
−=∆=∆
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, do vậ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.

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
a

là sai số tuyệt đối giới hạn của số xấp xỉ a thì :
≤−=∆=∆
aAa
a

(*)
Từ đó suy ra:
aa
aAa
∆+≤≤∆−
Để đơn giản, ta thường viết dưới dạng
a
aA
∆±=
Trong thực hành, người ta thường chọn
a

là sè nhỏ nhất có thể được, thoả mãn
(*)
3.1.3 Sai số tương đối
Trong một số trường hợp sai số tuyệt đối, sai số tuyệt đối giới hạn không
thể hiện được mức độ chính xác của phép đo hoặc tính toán. Do đó người ta đưa
vào những khái niệm sau:

Sai số tương đối của số xấp xỉ a ký hiệu là
δ
:
A
aA
A

=

=
δ
Với giả thiết A

0.Từ đó:
δ
.A
=∆
.
Sai số tương đối giới hạn của một số xấp xỉ a, ký hiệu
a
δ
, là số không nhỏ hơn sai
số tương đối của số xấp xỉ a. Do đó:
δ

a
δ
nghĩa là:
A



a
δ
Suy ra
a
A
δ
.
≤∆
và ta có thể chọn
aa
A
δ
.
=∆

a
a
a

=
δ
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ụ hai phép đo sau:
Phép đo thứ nhất có a
1
=10m ,
1

=0.02 suy ra

1
δ
=
002.0
10
02.0
=
.
Phép đo thứ hai có a
2
=2m ,
2

=0.02 suy ra
2
δ
=
01.0
2
02.0
=
.

Ta thấy
1
δ
<
2
δ
, nghĩa là phép đo thứ nhất tốt hơn phép đo thứ hai.

3.2 Cách viết số xấp xỉ
3.2.1 Chữ số có nghĩa
Ở dạng thập phân thì một số được biểu diễn bởi nhiều chữ số ví dụ 50.25 có
4 chữ số; 0.05047 có 6 chữ số.
Những chữ số có nghĩa của nột số là những chữ số của số đó kể từ chữ số không
đầu tiên tính từ trái sang phải
Ví dô: số 50.25 có 4 chữ số có nghĩa, số 0.0547 cũng có 4 chữ số có nghĩa.
3.2.2 Chữ số đáng tin
Cho số thực a được biểu diễn dưới dạng:
)10 101010(
1
1
2
2
1
1
+++++±=
+−
+−




nm
nm
m
m
m
m
m

m
a
αααα
trong đó m là số nguyên, 0


9

i
α
(i=m-1, m-2,…), 0
<

9

m
α
.
Chữ sè
1
+−
nm
α
gọi là chữ số đáng tin nếu:
1
10.
2
1
+−
≤∆

nm
a
và gọi là chữ số nghi ngờ nếu :
1
10.
2
1
+−
>∆
nm
a
Ví dô: Số xấp xỉ a=3.7284 với
a
δ
=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
1
+−
nm
α
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
1
+−
nm
α
là chữ số nghi ngờ thì những chữ số ở bên
phải nó cũng là những số nghi ngờ.
3.2.3 Cách viết số xấp xỉ

Gọi sè a là số xấp xỉ của số đúng A với sai số tuyệt đối giới hạn là
a

. Số
xấp xỉ a được viết theo hai cách dưới đây:
Cách thứ nhất: viết số xấp xỉ a kèm theo sai số tuyệt đối giới hạn :
a
a
∆±
.
Ví dô: 99.999
±
0.001
$
Cách này thường được dùng để biểu diễn các kết quả tính toán hoặc phép đo.
Cách thứ hai: viết số xấp xỉ a theo quy ước: mọi chữ số có nghĩa đồng thời là
những chữ số đáng tin. Điều đó có nghĩa là sai số tuyệt đối giới hạn
a

không lớn
hơn một nửa đơn vị của chữ số ở hàng cuối cùng bên phải.
Ví dô: 50.25 thì
a


(1/2).10
-2
.
Cách này thường dùng trong các bảng số  bảng các hàm số lượng giác, bảng
lôgarit…

3.3 Sù quy tròn số và sai sè quy tròn.
3.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àm cho việc tính toán, ghi
chép trở nên khó khăn, ngưòi ta phải ngắt bỏ đi một vài chữ số ở cuối và nhận
được số a
1
. Việc là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 a
1
-a, ký hiệu là
1a
θ
.
aa
a
−=
11
θ
Sai sè quy tròn tuyệt đối giới hạn của số đã quy tròn a
1
, ký hiệu
1a

11 aaa
θ
−∆=∆
3.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 đối không lớn hơn
một nửa đơn vị của chữ số ở hàng giữ lại cuối cù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ếu chữ số bỏ di đầu tiên <5 thì để nguyên
chữ số giữ lại cuối cùng bên phải.
Ví dô: quy tròn số
3
=1.732050875688…đến chữ số có nghĩa thứ 6, thứ
5, thứ 4 là 1.73205, 1.7321, 1.732.
3.4 Các định lý về sai sè
Xét các số xấp xỉ x
1
, x
2
, x
3
,…có các sai số tuyệt đối giới hạn là
1x

,
2x

,
3x

…, và sai số tương đối giới hạn là
1x
δ
,
2x
δ

,
3x
δ
,…
3.4.1 Sai số của một tổng, hiệu
Xét tổng(hiệu) sau:

321
±±±±=
xxxu
&
Sai số tuyệt đối giới hạn của tổng(hiệu) trên là :

321
+∆+∆+∆=∆
xxxu

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

=
δ
.
Chó ý hiện tượng mất chính xác khi trừ hai số, nếu trừ hai số xấp xỉ x
1
và x
2
(x

1
>0,
x
2
>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 đối giới hạn của số trừ và của số bị trừ vẫn nhỏ.
3.4.2 Sai số của một tích
Xét tích sau:

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

321
+++=
xxxu
δδδδ
Sai số tuyệt đối giới hạn của tích trên là :
uu
u
δ
=∆

3.4.3 Sai số của một thương
Xét thương sau:
2
1
x
x

u
=
với (
2
x

0).
Sai số tương đối giới hạn của thương trên là :
21 xxu
δδδ
+=
Sai số tuyệt đối giới hạn của thương trên là :
uu
u
δ
=∆

3.4.4 Tổng quát
Xét trường hợp tổng quát : u=f(x
1
, x
2
, x
3
,…,x
n
) trong đó f liên tục, khả vi theo các
biến x
i
.

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



=∆

=
1

3.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 =


=


1
3
1

1
.)1(
n
n
n
Ta có : B =
∑∑

+
+
11 N
N
= B
N
+ R
N
Tính B
N
bá R
N
thì bài toán có sai số phương pháp.
K
Trong khi tính B
N
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ính toán.
L
Ch¬ng 4. Tính gần đúng nghiệm thực của phương
trình đại số và siêu việt
4.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ính xác nghiệm của phương trình lại không hề đơn giản, hay
không giải được đối với phương trình đại số bậc cao, hoặc siêu việt. Mặt khác các
thông số trong kỹ thuật cũng chỉ là số xấp xỉ.  vậy việc giải chính xác nghiệm
cũng không còn ý nghĩa. Do đó việc giải gần đúng nghiệm và đánh giá sai số của
nó là việc vô cùng quan 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. Đồng thời em cũng đã xây dựng được sơ
đồ khối cho mỗi phương pháp nhằm cung cấp thuật toán cho việc lập trình.
4.2 Khoảng phân ly nghiệm.
Khoảng [a,b] được gọi là khoảng phân ly nghiệm nếu nó chỉ chứa một nghiệm
của phương trình
Ví dô: cho phương trình :x
3
-x-1=0
Đồ thị hàm số là:
Từ đồ thị hàm số ta có khoảng phân ly nghiệm của phương trình trên là (1, 2).
M
-3 -2 -1 1 2 3
-2.5
-2
-1.5
-1
-0.5
0.5
Định lý sau cho ta cách xác định khoảng phân ly nghiệm của phươ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:
1) Phương pháp giải tích
2) Phương pháp hình học
4.3 Các phương pháp tính gần đúng nghiệm
Giả sử (a, b) là khoảng phân ly nghiệm của phương trình f(x)=0. Ta có thể
tìm nghiệm gần đúng của phương trình bằng một trong các phương pháp sau:
4.3.1 Phương pháp chia đôi
4.3.1.1 Nội dung phương pháp
Ta chia đôi khoảng (a, b) :
+ Nếu
0
2
=






+
ba
f
thì
2
ba
+
=
ξ
là nghiệm đúng của phương trình f(x)=0.

+Nếu
0
2







+
ba
f
, ta chọn một trong hai khoảng (a,
2
ba
+
) và (
2
ba
+
, b) mà tại
hai nút của khoảng hàm số f(x) có dấu khác nhau, làm khoảng cách ly nghiệm
mới. Ta gọi khoảng này là (a
1
, b
1
) nó có độ dài bằng nửa khoảng (a, b).
Ta lại chia đôi khoảng (a
1

, b
1
) và tiếp tục làm  trên…
4.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ện vô hạn lần việc
chia đôi liên tiếp khoảng phân ly (a, b).
4.3.1.3 Sai số của nghiệm gần đúng
N
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à hưu hạn). Khi đó :
nn
ba
≤≤
ξ

)(
2
1
abab
n
nn
−=−
.
Ta có thể lấy nghiệm gần đúng  sau:
x

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

)(
2
1
ababa
n
nnn
−=−≤−
ξ
.
x

b
n
khi đó sai số của nghiệm gần đúng là:
)(
2
1
ababb
n
nnn
−=−≤−
ξ
.
x

2
ba
+
khi đó sai số của nghiệm gần đúng là:
)(

2
1
)(
2
1
2
1
abab
ba
n
nn
nn
−=−≤−
+
+
ξ
4.3.1.4 Sơ đồ khối của phương pháp
Vào:
Hàm sè f(x) cho trước
Khoảng phân ly nghiệm a,b
Sai sè cho phép ξ
Ra:
Nghiệm gần đúng x
n
của phương trình f(x)=0
Lưu đồ:

Lưu đồ thuật toán tìm nghiệm gần đúng bằng phương pháp chia đôi
4.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 đặt trên máy tính, vì mỗi lần áp

dụng phương pháp chia đôi ta chỉ phải tính một giá trị của hàm số tại điểm giữa
của khoảng.
Nhược điểm: Phương pháp chia đôi có tốc độ hội tụ chậm.
4.3.2 Phương pháp lặp
Phương pháp là một trong những phương pháp quan trọng để giải gần đúng
nghiệm của phương trình f(x)=0, có khoảng phân ly nghiệm (a, b).
4.3.2.1 Nội dung phương pháp
Bước 1: đưa phương trình f(x)=0 về phương trình tương đương: x=
)(x
ϕ
.

OP0Q


RS2

R2
T

UR
ξ
.>!
@#=


T

T



UN
2

R



R

+
+
-
-
+-
Bước 2: chọn x
0


[a, b] làm nghiệm gần đúng ban đầu. Thay x=x
0
vào phương
trình x=
)(x
ϕ
, ta nhận được nghiệm gần đúng thứ nhất: x
1
=
)(
0

x
ϕ
.
Bước 3: Từ bước hai ta có x
1
, thay x=x
1
vào phương trình x=
)(x
ϕ
ta được
nghiệm gần đúng thứ hai là x
2
=
)(
1
x
ϕ
.
Lặp lại nhiều lần bước 3, ta nhận được các nghiệm gần đúng:
x
3
=
)(
2
x
ϕ

x
4

=
)(
3
x
ϕ
… (*)
x
n
=
)(
1

n
x
ϕ

Dãy nghiệm gần đúng {x
n
}, 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à :
)()(
11
limlimlim


+∞→

+∞→+∞→
==
n
n
n
n
n
n
xxx
ϕϕ
Hay :
)(
ξϕξ
=
4.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ọn hàm số
)(x
ϕ
.
Định lý sau đây sẽ cho ta cách chọn
)(x
ϕ
để dãy{x
n
}, 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ương trình f(x)=0;
)(x
ϕ


)(' x
ϕ
là những hàm số liên tục trong (a, b), với
)(x
ϕ
được xác định bởi
phương trình x=
)(x
ϕ
, tương đương với phương trình f(x)=0. Nếu
1)('
<≤
qx
ϕ

đối với
],[],,[
0
baxbax
∈∈∀
thì dãy {x
n
}, n=1,2,3…nhận được từ (*) hội tụ về
nghiệm đúng
ξ

.
4.3.2.3 Sai số của nghiệm gần đúng
Để đánh giá độ lệch giữa nghiệm gần đúng x
n
, nhận được bằng phương
pháp lặp, và nghiệm đúng
ξ
ta có các công thức sau:
Công thức thứ nhất:
1
1



≤−
nnn
xx
q
q
x
ξ

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 x
n
với sai sè mong muốn.
01
1
xx
q

q
x
n
n


≤−
ξ
4.3.2.4 Sơ đồ khối của phương pháp
Vào:
Hàm ϕ(x) của phương trình x=ϕ(x) là dạng thay thế của phương trình f(x)=0
Nghiệm gần đúng ban đầu x
0
Sai sè cho phép ξ
Ra:
Nghiệm x của phương trình f(x)=0
Lưu đồ:
Lưu đồ thuật toán tìm nghiệm gần đúng bằng phương pháp lặp
4.3.2.5 Ưu nhược điểm của phương pháp
Ư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.

OP0Q
R
N


URξ
.>!
@#=

R

+
-


Rϕ
+-
4.3.3 Phương pháp dây cung (còn gọi là phương pháp cát tuyến)
4.3.3.1 Nội dung phương pháp
Cho f(x)=0 và khoảng phân ly nghiệm (a, b):
Để 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 x
0
=a và d=b nếu f(b) cùng dấu với f”(x). ( chọn x
0
=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 (x
0
, f(x
0
)) và (d, f(d)) cắt Ox tại x
1
( hình vẽ trên).
Bước 3 : Lại nối tiếp các điểm (x
1
, f(x
1

)) và (d, f(d)) cắt Ox tại x
2
.

Bước n : Cát tuyến nối (x
n-1
, f(x
n-1
) và (d, f(d)) cắt Ox tại x
n
.
Dãy {x
n
} n=1,2,3… là nghiệm gần đúng của phương trình f(x)=0.
Công thức tính x
n
: Từ phương trình cát tuyến nối (x
n-1
, f(x
n-1
) và (d, f(d)) ta có công
thức tính x
n
là:
)()(
))((
1
11
1


−−



−=
n
nn
nn
xfdf
xdxf
xx

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

2


T

$
,

2


T




×