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

Xây dựng phần mềm hỗ trợ học phương pháp tính

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 (3.03 MB, 72 trang )

TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG
KHOA KỸ THUẬT – CÔNG NGHỆ
-----------------------

TRẦN THỊ THANH HƯỜNG

XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC
PHƯƠNG PHÁP TÍNH

KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC
Ngành: Cơng nghệ Thơng tin

Phú Thọ, 2017


TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG
KHOA KỸ THUẬT – CÔNG NGHỆ

TRẦN THỊ THANH HƯỜNG

XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC
PHƯƠNG PHÁP TÍNH

KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC
Ngành: Cơng nghệ Thơng tin

NGƯỜI HƯỚNG DẪN: ThS. Nguyễn Thị Hảo

Phú Thọ, 2017



i
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành tới các giảng viên khoa Kỹ thuật –
Công nghệ trường Đại học Hùng Vương đã tạo mọi điều kiện thuận lợi để em
hồn thành tốt khóa luận tốt nghiệp: “Xây dựng phần mềm hỗ trợ học Phương
pháp tính”. Đặc biệt là cô giáo ThS. Nguyễn Thị Hảo đã giành rất nhiều thời
gian quý báu, tận tình hướng dẫn em trong suốt q trình thực hiện khóa luận,
cơ đã dạy cho em tư duy lập trình, cách nhìn nhận vấn đề một cách tổng quát
và đồng thời rèn luyện tác phong làm việc khoa học.
Mặc dù đã rất cố gắng song khóa luận của em khơng tránh khỏi những
thiếu sót do cịn hạn chế về trình độ, thời gian nghiên cứu. Vì vậy, em rất
mong nhận được sự góp ý của các thầy giáo, cơ giáo và các bạn để khóa luận
của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Phú Thọ, tháng 05 năm 2017
Sinh viên
Trần Thị Thanh Hường

ĐẠI HỌC HÙNG VƯƠNG


ii
MỤC LỤC
A. MỞ ĐẦU ..................................................................................................... 1
1. Đặt vấn đề nghiên cứu................................................................................... 1
1.1. Sự cần thiết phải nghiên cứu................................................................ 1
1.2. Căn cứ khoa học và thực tiễn............................................................... 1
2. Mục tiêu nghiên cứu của đề tài ..................................................................... 2
2.1. Mục tiêu chung .................................................................................... 2
2.2. Mục tiêu cụ thể..................................................................................... 2

3. Đối tượng và phạm vi nghiên cứu................................................................. 2
3.1. Đối tượng nghiên cứu. ......................................................................... 2
3.2. Phạm vi nghiên cứu ............................................................................. 3
4. Phương pháp nghiên cứu............................................................................... 3
B. NỘI DUNG, KẾT QUẢ NGHIÊN CỨU .................................................. 4
CHƯƠNG 1: TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU .................................. 4
1.1. Cơ sở lý luận ........................................................................................ 4
1.1.1. Một số khái niệm khoa học............................................................ 4
1.1.2. Nội dung vấn đề nghiên cứu. ......................................................... 7
1.1.3. Đặc điểm của vấn đề nghiên cứu. .................................................. 8
1.1.4.Vai trò và ý nghĩa của vấn đề nghiên cứu ...................................... 8
1.2. Cơ sở thực tiễn ..................................................................................... 8
1.2.1. Trên thế giới................................................................................... 8
1.2.2. Ở Việt nam ..................................................................................... 9
1.3. Tổng quan về học phần phương pháp tính ........................................ 10
1.3.1. Sai số ............................................................................................ 10
1.3.2. Tính gần đúng nghiệm thực của một phương trình ..................... 13
1.3.3. Phương pháp tìm nghiệm của hệ phương trình ........................... 14
1.3.4. Nội suy và phương pháp bình phương bé nhất............................ 14
1.3.5. Tính gần đúng đạo hàm và tích phân xác định ............................ 16
1.4. Tổng quan về ngơn ngữ lập trình C# và cơng cụ lập trình ................ 19
1.4.1. Giới thiệu về ngơng ngữ lập trình C# .......................................... 19
1.4.2. Giới thiệu về cơng cụ lập trình Visual Studio ............................. 20
ĐẠI HỌC HÙNG VƯƠNG


iii
1.4.3. Giới thiệu về cơng cụ hỗ trợ lập trình DevExpress ..................... 21
CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG CỦA
PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH .............................................. 23

2.1. Một số phương pháp tìm nghiệm gần đúng của phương trình .......... 23
2.1.1. Phương pháp chia đơi .................................................................. 23
2.1.2. Phương pháp lặp .......................................................................... 26
2.1.3. Phương pháp tiếp tuyến (NewTon) ............................................. 29
2.1.4. Phương pháp dây cung ................................................................ 32
2.2. Một số phương pháp tìm nghiệm gần đúng của hệ phương trình đại số
tuyến tính .................................................................................................. 34
2.2.1. Phương pháp Gauss (Gaoxơ) ....................................................... 35
2.2.2. Phương pháp lặp đơn ................................................................... 37
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC
PHƯƠNG PHÁP TÍNH .................................................................................. 40
3.1. Tìm nghiệm gần đúng của phương trình ........................................... 41
3.1.1. Form tìm nghiệm gần đúng theo phương pháp chia đơi ............. 42
3.1.2. Form phương pháp lặp................................................................. 44
3.1.3. Form tìm nghiệm gần đúng theo phương pháp NewTon. ........... 45
3.1.4. Form tìm nghiệm gần đúng theo phương pháp dây cung. ........... 46
3.2. Tìm nghiệm gần đúng của hệ phương trình....................................... 47
3.2.1. Form tìm nghiệm gần đúng theo phương pháp Gauss ................ 47
3.2.2. Form tìm nghiệm gần đúng theo phương pháp lặp đơn .............. 48
3.3. Form lý thuyết. ................................................................................... 50
3.4. Kết quả thử nghiệm. ........................................................................... 51
3.4.1. Phương pháp tìm nghiệm gần đúng của phương trình. ............... 51
3.4.2. Phương pháp tìm nghiệm gần đúng của hệ phương trình. .......... 54
C. KẾT LUẬN CHUNG ............................................................................... 57
1. Kết quả đạt được ......................................................................................... 57
2. Hướng phát triển đề tài................................................................................ 57
D. TÀI LIỆU THAM KHẢO ....................................................................... 58
E. PHỤ LỤC
ĐẠI HỌC HÙNG VƯƠNG



iv
DANH MỤC CÁC BẢNG
Bảng 2.1. Bảng kết quả tìm nghiệm theo phương pháp chia đôi. ................... 24
Bảng 2.2. Bảng kết quả tìm nghiệm theo phương pháp NewTon................... 31
Bảng 2.3. Bảng kết quả tìm nghiệm theo phương pháp dây cung. ................. 33
Bảng 3.1. Kết quả thực nghiệm của phương pháp chia đơi. ........................... 52
Bảng 3.2. Kết quả tìm nghiệm của phương pháp NewTon............................. 53
Bảng 3.3. Kết quả tìm nghiệm của phương pháp dây cung. ........................... 53
Bảng 3.4. Bảng kết quả thực nghiệm tìm nghiệm của hệ phương trình. ........ 55

ĐẠI HỌC HÙNG VƯƠNG


v
DANH MỤC HÌNH ẢNH
Hình 1.1. Đồ thị hàm số y = f(x) ....................................................................... 5
Hình 1.2. Đồ thị hàm số y1 = f(x), y2 = g(x)...................................................... 6
Hình 1.4. Xét tính liên tục của hàm số y = f(x) xét trên [a, b]. ......................... 6
Hình 2.1. Đồ thị hàm số y1 = 2x, y2 = 4 – x. .................................................... 24
Hình 2.2. Lưu đồ phương pháp chia đơi. ........................................................ 26
Hình 2.3. Lưu đồ phương pháp NewTon. ....................................................... 31
Hình 2.4. Đồ thị biểu diễn phương pháp dây cung. ........................................ 32
Hình 2.5. Lưu đồ phương pháp dây cung. ...................................................... 34
Hình 3.1. Giao diện form chính. ..................................................................... 40
Hình 3.2. Quy trình chung của một chương trình máy tính. ........................... 40
Hình 3.3. Sơ đồ phân cấp chức năng của phần mềm. ..................................... 41
Hình 3.4. Form phương pháp chia đơi biết trước lần lặp n. ........................... 43
Hình 3.5. Giao diện form phương pháp chia đôi biết trước 𝜺......................... 43
Hình 3.6. Form mơ tả phương pháp lặp. ......................................................... 44

Hình 3.7. Form sơ đồ khối phương pháp lặp. ................................................. 45
Hình 3.8. Giao diện form phương pháp NewTon. .......................................... 46
Hình 3.9. Giao diện form phương pháp dây cung. ......................................... 47
Hình 3.10. Giao diện form phương pháp Gauss. ............................................ 48
Hình 3.11. Giao diện form phương pháp lặp đơn. .......................................... 50
Hình 3.12. Cách chọn giao diện đề cương in ra file PDF. .............................. 51
Hình 3.13. Cách chọn giao diện đề cương hiển thị trên phần mềm. ............... 51

ĐẠI HỌC HÙNG VƯƠNG


1
A. MỞ ĐẦU
1. Đặt vấn đề nghiên cứu
1.1. Sự cần thiết phải nghiên cứu
Học phần Phương pháp tính đang được giảng dạy tại trường Đại học
Hùng Vương, có rất nhiều bài tập, nhiều công thức phải ghi nhớ nên sinh viên
gặp rất nhiều khó khăn trong học tập. Do vậy cần có một cơng cụ hiệu quả
giúp đỡ người học mơn Phương pháp tính là một việc cần thiết. Trong lĩnh
vực giáo dục, đào tạo xuất hiện nhiều phần mềm hỗ trợ cho hoạt động giảng
dạy và học tập đem lại hiệu quả cao, đã có những phần mềm hỗ trợ việc học
tập và giảng dạy trong môn học như anh văn, toán học, xây dựng[6]... Tuy
nhiên phần mềm hỗ trợ cho việc học tập và giảng dạy học phần Phương pháp
tính tại trường Đại học Hùng Vương thì chưa có. Vì vậy, em quyết định xây
dựng phần mềm hỗ trợ học Phương pháp tính giúp cho người học có thể đồng
thời rèn luyện cơng thức tính tốn, cách trình bày logic trong phần bài tập ví
dụ và rèn luyện kỹ năng giải những bài tốn thơng thường, kiểm tra kết quả
nhanh và chính xác hơn.
1.2. Căn cứ khoa học và thực tiễn
Ở mỗi mơn học, các bài tốn, ví dụ có sẵn trong giáo trình, các tài liệu

tham khảo nói chung đã được chọn lọc, sắp xếp trình bày có hệ thống, phù
hợp với kiến thức và tư duy người học, đã phản ánh nội dung thực tiễn học
tập. Tuy nhiên, để giải các bài tốn theo từng mơn học, cụ thể là học phần
Phương pháp tính, là học phần có nhiều phương pháp tính tốn rất phức tạp,
đơi khi có kết quả rất nhỏ. Để vận dụng tốt các kiến thức trong môn học này
ta cần kết hợp các ví dụ minh họa hỗ trợ trên máy tính bằng những bài tốn cụ
thể, điển hình được kiểm nghiệm kết quả một cách chính xác, nhanh gọn.
Trên thực tế nếu chỉ dừng lại ở việc sử dụng các ví dụ có sẵn trong giáo trình
hoặc tài liệu hay các loại sách tham khảo thì việc học đơi khi khơng đạt hiệu
quả cao. Những giờ học được minh họa thêm ví dụ, bài tập mới, các thủ thuật
hay cùng một bài toán nhưng được giải bằng nhiều cách khác nhau, giúp cho

ĐẠI HỌC HÙNG VƯƠNG


2
người học dễ dàng so sánh và hiểu bài toán một cách tồn diện hơn. Từ đó tạo
hứng thú cho người học, góp phần nâng cao chất lượng giờ học.
Trong tốn học, cụ thể là mơn học Phương pháp tính đối với các bài
tốn tìm nghiệm gần đúng của phương trình và hệ phương trình đại số tuyến
tính, khi muốn tìm nghiệm gần đúng với sai số nhỏ tùy ý, người ta xây dựng
các công thức và thực hiện các phép tốn. Khi giải các bài tốn ta phải tính
tốn nhiều lần nghiệm cho đến khi thỏa mãn sai số đã cho rất mất thời gian.
Để giảm bớt việc tính tốn cũng như sử dụng máy tính cá nhân nhiều bước, ta
dựa vào những cơng thức đã có dùng các thuật tốn để mơ tả từng cơng thức
trong từng phương pháp tính và dùng phương pháp lập trình trên máy tính để
xây dựng ra phần mềm tìm được nghiệm gần đúng của phương trình và hệ
phương trình tuyến tính với sai số theo ý muốn. Sử dụng phần mềm này, kết
hợp với những bài tốn, ví dụ cụ thể để minh họa từng phương pháp tính, giúp
việc học mơn học này hiệu quả và sinh động hơn. Vì những lý do trên, và mục

đích góp phần nâng cao tinh thần học tập của sinh viên, em quyết định chọn
đề tài: “ Xây dựng phần mềm hỗ trợ học Phương pháp tính”.
2. Mục tiêu nghiên cứu của đề tài
2.1. Mục tiêu chung
Xây dựng phần mềm hỗ trợ học học phần Phương pháp tính chạy ổn
định, hiệu quả cho sinh viên trường Đại học Hùng Vương.
2.2. Mục tiêu cụ thể
Xây dựng phần mềm hỗ trợ học Phương pháp tính với các chức năng
như sau: tìm nghiệm gần đúng cho phương trình và hệ phương trình đại số
tuyến tính, cung cấp đề cương bài giảng, đề cương câu hỏi, bài tập ôn tập cuối
chương và giải một số bài tập điển hình.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu.
Đối tượng nghiên cứu: Nội dung học phần Phương pháp tính và đi sâu
tìm hiểu về các phương pháp tìm nghiệm.

ĐẠI HỌC HÙNG VƯƠNG


3
3.2. Phạm vi nghiên cứu
 Về nội dung: Tìm hiểu và nghiên cứu nội dung học phần mơn Phương
pháp tính hiện đang giảng dạy tại các lớp Đại học Công nghệ thông tin,
Cao đẳng Công nghệ thông tin, Đại học sư phạm Tốn, Đại học sư
phạm Vật lí ở trường Đại học Hùng Vương.
 Về không gian: Trường Đại học Hùng Vương.
 Về thời gian: 10/2016 – 04/2017.
4. Phương pháp nghiên cứu
 Phương pháp nghiên cứu lý luận: Tổng hợp tài liệu, nghiên cứu có liên
quan đến học phần Phương pháp tính nói chung và các cơng thức, giải

thuật tìm nghiệm gần đúng của phương trình và hệ phương trình đại số
tuyến tính nói riêng; ngơn ngữ lập trình C# và tham khảo các phần
mềm hỗ trợ học tập cho các mơn học đã có.
 Phương pháp thực nghiệm: Sử dụng cơng cụ Visual Studio 2012 cùng
với thư viện tốn học System.Math, DevExpress phiên bản 12.1 để xây
dựng phần mềm

ĐẠI HỌC HÙNG VƯƠNG


4
B. NỘI DUNG, KẾT QUẢ NGHIÊN CỨU
CHƯƠNG 1: TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU

1.1. Cơ sở lý luận
1.1.1. Một số khái niệm khoa học
a, Phương trình
Trong tốn học, phương trình là một mệnh đề chứa biến có dạng:
f( x1, x2, . . . ) = g( x, x, . . .)
h( x1, x2, . . .) ≡ f( x1, x2, . . .) – g( x1, x2, . . .)
h( x1, x2, . . .) = 0
Trong đó x1, x2, . . . được gọi là các biến số của phương trình.
Có nhiều cách để phân loại phương trình. Phân loại phương trình theo
số ẩn ta có: phương trình một ẩn, phương trình hai ẩn.... Phân loại phương
trình theo các phép tốn trong phương trình ta có phương trình vơ tỷ, phương
trình mũ, phương trình lơgarit[7] ...
Nghiệm của phương trình là bộ x1, x2, . . . tương ứng sao khi ta thay
vào phương trình thì ta có đó là một mệnh đề đúng.
Giải phương trình là tìm tập nghiệm của phương trình đó.
b, Hệ phương trình

Cho hệ phương trình tuyến tính:
a11 x1 + a12 x2 + ... + a1n xn = a1n +1
a21 x1 + a22 x2 + ... + a2n xn = a2n +1

(1.1)

……
an1 x1 + an2 x2 + ... + ann xn = ann +1
Hệ phương trình trên có thể được cho bởi ma trận:

Ann +1 =

a11 a12 ...

a1n

a1n +1

a21 a22 ...

a2n

a2n +1

(1.2)

.......................
an1 an2 ...

ann


ann +1

Việc tìm nghiệm của hệ (1.1) tương đương tìm vectơ nghiệm x = ( x1 ,... , xn )
ĐẠI HỌC HÙNG VƯƠNG


5
Trong toán học (cụ thể là trong đại số tuyến tính), một hệ phương
trình đại số tuyến tính hay đơn giản là hệ phương trình tuyến tính là một tập
hợp các phương trình tuyến tính với cùng những biến số[8]. Ví dụ:
3x + 2y – z =1
2x – 2y + 4z = -2
1

-x + y – z = 0
2

là hệ gồm ba phương trình với ba biến số x, y, z. Một nghiệm của hệ là một hệ
thống tuyến tính thỏa mãn các phương trình đã cho, một nghiệm của hệ trên
là:

x=1
y = -2
z = -2

nó làm cho ba phương trình trên đều thỏa mãn.
c, Nghiệm thực của phương trình một ẩn
Cho phương trình f(x) = 0 tìm các giá trị của x thỏa mãn phương trình.
Trong đó f(x) là một hàm đại số hoặc siêu việt bất kỳ là một bài toán

thường gặp trong ký thuật. Nếu f(x) = 0 là phương trình đại số bậc n :
a0xn + a1xn-1 + .... + an-1x1 + a0 = 0 (a ≠ 0)
Nghiệm thực của phương trình f(x) = 0 là một số thực  thoả mãn: f() = 0.
d, Ý nghĩa hình học của nghiệm
Xét các đồ thị của các hàm số y1 = f(x), y2 = 0.

Hình 1.1. Đồ thị hàm số y = f(x)
ĐẠI HỌC HÙNG VƯƠNG


6
Đồ thị của hàm số y1 = f(x) cắt trục hoành M (, 0) => x =  là một
nghiệm của phương trình f(x) = 0.

Hình 1.2. Đồ thị hàm số y1 = f(x), y2 = g(x).
Tìm nghiệm của phương trình f(x) = g(x), sử dụng phương pháp đồ thị, ta xét
đồ thị của hàm số y1 = f(x), y2 = g(x) được biểu diễn ở hình (1.2). Đồ thị cắt
tại M, ta có x = . Ta có: f() = g().
=>  là nghiệm của phương trình.
Khi tìm nghiệm gần đúng của một phương trình ta phải xét xem
phương trình đó có nghiệm khơng. Để làm việc đó ta dùng phương pháp đồ
thị hoặc áp dụng định lí sau:
Định lý[4]: Giả sử f(x) liên tục trên [a,b] và có f(a).f(b)<0. Khi đó trên [a,b]
tồn tại một nghiệm thực x  [a,b] của phương trình f(x) = 0. Nghiệm là duy
nhất nếu f’(x) tồn tại và không đổi dấu trên [a, b].
Minh hoạ bằng hình 1.3 (xét đồ thị trong khoảng [a, b] )

Hình 1.3. Xét tính liên tục của hàm số y = f(x) xét trên [a, b].
ĐẠI HỌC HÙNG VƯƠNG



7
e, Khoảng phân li nghiệm (còn gọi là khoảng tách nghiệm)
Định nghĩa[4]: Khoảng [a, b] gọi là khoảng phân li nghiệm của phương trình
f(x)= 0 nếu nó chứa một và chỉ một nghiệm của phương trình đó.
Định lý 1[4]: Nếu khoảng [a, b] là một khoảng trong đó hàm số f(x) liên tục
và đơn điệu, đồng thời f(a) và f(b) trái dấu thì [a, b] là khoảng phân li nghiệm
của phương trình f(x) = 0.
Ví dụ: Cho phương trình f ( x)  x 3  6 x  2  0 . Tìm khoảng phân li nghiệm của
phương trình f(x).
Ta có : f(x) liên tục và đơn điệu với x  R .
Vì f(0)=2, f(-3) = -7 nên f (1). f (3)  14  0 . Do đó, (-2,0) là khoảng phân li
nghiệm của phương trình.
Định lý 2[4]: Nếu khoảng [a, b] là một khoảng trong đó hàm số f(x) liên tục,
đạo hàm f’(x) không đổi dấu và f(a), f(b) trái dấu thì [a, b] là khoảng phân li
nghiệm của phương trình f(x) = 0.
Ví dụ: Cho phương trình x3 – x – 1 = 0
Xét hàm số f(x) = x3 – x – 1
f(x) xác định và liên tục với mọi x ∈ R.
f’(x) = 3x2 – 1, 3x2 – 1 = 0 tại x =  1 / 3
f’(x) > 0 với mọi x  (1 / 3 , + )
Nhận xét: f(1)= -1 < 0, f(2) = 5 > 0.
=> (1, 2) là khoảng phân li nghiệm của phương trình x3 – x – 1 = 0, nó chứa
một và chỉ một nghiệm duy nhất.
1.1.2. Nội dung vấn đề nghiên cứu.
 Nghiên cứu cơ sở lý luận, cơ sở thực tiễn.
 Nghiên cứu nội dung học phần Phương pháp tính.
 Tìm hiểu về ngơn ngữ C# và cơng cụ lập trình.
 Nghiên cứu các phương pháp tìm nghiệm gần đúng của phương trình
và hệ phương trình đại số tuyến tính.

 Thiết kế phần mềm.
 Xây dựng và cài đặt phần mềm.
ĐẠI HỌC HÙNG VƯƠNG


8
1.1.3. Đặc điểm của vấn đề nghiên cứu.
Học phần Phương pháp tính được đưa vào giảng dạy tại trường Đại học
Hùng Vương có khối lượng kiến thức nhiều, các cơng thức tìm nghiệm theo
từng phương pháp rất phức tạp, mất nhiều thời gian để giải các bài tốn.
Trong khi đó, sinh viên hay những người muốn bắt đầu tìm hiểu về học phần
này lại gặp rất nhiều khó khăn khi tính tốn, họ chưa biết được các bước giải
bài tốn và các trình bày khoa học. Khi giải các bài tốn ta phải tính tốn
nhiều lần nghiệm cho đến khi thỏa mãn sai số đã cho rất mất thời gian. Để
giảm bớt việc tính tốn cũng như sử dụng máy tính cá nhân nhiều bước, ta
dựa vào những cơng thức đã có dùng các thuật tốn để mơ tả từng cơng thức
trong từng phương pháp tính và dùng phương pháp lập trình trên máy tính để
xây dựng ra phần mềm tìm được nghiệm gần đúng của phương trình và hệ
phương trình tuyến tính với sai số theo ý muốn. Sử dụng phần mềm này, kết
hợp với những bài tốn, ví dụ cụ thể để minh họa từng phương pháp tính, giúp
việc học môn học này hiệu quả và sinh động hơn.
1.1.4.Vai trò và ý nghĩa của vấn đề nghiên cứu
Xây dựng phần mềm hỗ trợ học phương pháp tính để giúp sinh viên và
những ai yêu thích học phần Phương pháp tính có thể đồng thời rèn luyện kỹ
năng giải các dạng bài tốn thơng thường bao gồm hai phần: lý thuyết, bài tập
ơn tập và chương trình tìm nghiệm gần đúng. Giúp người học dễ dàng tìm
nghiệm, kiểm tra kết quả nhanh, chính xác và xác định cách tìm nghiệm logic
thông qua các bài tập minh họa đã được xây dựng trong phần mềm. Từ đó,
góp phần giúp việc học mơn phương pháp tính trở nên dễ dàng và tạo hứng
thú cho người học.

1.2. Cơ sở thực tiễn
1.2.1. Trên thế giới
Hiện nay, trên thế giới công nghệ thông tin phát triển mạnh mẽ trong
mọi lĩnh vực, nhiều ứng dụng to lớn trong thực tiễn của đời sống con người.
Công nghệ thông tin giúp con người làm việc một cách nhanh chóng, chính
xác, hiệu quả các cơng việc, thay thế giảm bớt sức lao động của cong người
ĐẠI HỌC HÙNG VƯƠNG


9
tiết kiệm được thời gian và kinh tế. Trong lĩnh vực giáo dục nói chung, trong
việc dạy và học nói riêng, phương tiện kỹ thuật hỗ trợ dạy và học là cơng cụ
cần thiết, có rất nhiều phần mềm hỗ trợ học tập như là: phần mềm hỗ trợ tiếng
anh, phần mềm hỗ trợ giao tiếp, phần mềm chuyển giao ngôn ngữ, các phần
mềm phục vụ giảng dạy, phần mềm hỗ trợ tính tốn... .....được lập trình trên
máy tính và điện thoại thơng minh. Cịn trong lĩnh vực tốn học nói riêng, đã
có rất nhiều phần mềm hỗ trợ tính toán ra đời để giúp đỡ người dùng học toán
hiệu quả hơn. Một số phần mềm hỗ trợ tính tốn phổ biến hiện nay: Matlab –
phần mềm hỗ trợ nhập các cơng thức tốn học, iCalcy – cơng cụ tính tốn trên
máy tính, SpeedCrunch – phần mềm thực hiện các phép tính phức tạp, Math
Studio – phần mềm hỗ trợ dạy và học toán, Handicap Manager for Excel –
phần mềm hỗ trợ tính tốn trong Excel[5], Algebra calculator – cơng cụ hỗ trợ
tính tốn nhanh ... Các phần mềm nêu trên hỗ trợ người dùng tính tốn tương
đối hiệu quả, chúng đều là những cơng cụ hữu ích cho cả người dạy và người
học; hỗ trợ tính tốn nâng cao, tính tốn nhanh với các cơng thức số học có
sẵn; cho phép nhập và tính tốn nhiều dạng thức tốn số với cơ dữ liệu phong
phú ...
1.2.2. Ở Việt nam
Việt Nam, đất nước tươi đẹp mà cha ông chúng ta đã bảo vệ và xây
dựng đang trên đà phát triển, hội nhập sánh ngang với các cường quốc năm

châu. Bước vào từng thời kỳ của cơng cuộc cơng nghiệp hóa, hiện đại hóa đất
nước, chúng ta chú trọng phát triển vào một số lĩnh vực chính, trong đó phát
triển về giáo dục con người và phát triển về công nghệ đang là hai trong số
những lĩnh vực chính được chính phủ ưu tiên hàng đầu. Kết hợp giữa giáo dục
và Công nghệ thông tin sẽ tạo ra được những ứng dụng thiết thực phục vụ nhu
cầu dạy và học cho giáo viên cũng như học sinh, sinh viên. Một số phần mềm
của Việt Nam như là: iMath hay phần mềm interactive Math là phần mềm
dành cho giáo viên và học sinh cấp tiểu học dạy và học mơn Tốn trên máy
tính, phần mềm iQB Lion 8.0 là phần mềm Ngân hàng đề thông minh dành
cho trường đại học và cao đẳng, Geo Math Lesson 1.5 là phần mềm thiết kế
ĐẠI HỌC HÙNG VƯƠNG


10
các tệp bài giảng cho mơn Tốn cấp THCS, THPT... Đây là những phần mềm
hữu ích cho cả người dạy và người học, được ứng dụng phổ biến. Tuy nhiên
những phần mềm này chỉ được sử dụng khi các thiết bị được kết nối với
Internet hoặc cịn mang tính chất bản quyền, người dùng có nhu cầu sử dụng
thì họ phải mua hoặc chỉ được dùng thử trong thời gian nhất định. Đã có rất
nhiều phần mềm hỗ trợ học tập được xây dựng nhưng số lượng các phần mềm
hỗ trợ học cho từng học phần riêng biệt chỉ có số lượng rất ít. Là những sinh
viên, chúng em mong muốn có nhiều phần mềm hỗ trợ học tập chuyên dụng
cho từng học phần, giúp sinh viên có thể nắm chắc tồn bộ kiến thức của mơn
học. Em nhận thấy rằng, học phần Phương pháp tính đang được giảng dạy tại
Trường Đại học Hùng Vương có khối lượng kiến thức lớn và cần có một phần
mềm hỗ trợ học học phần này. Vì vậy, em quyết định xây dựng phần mềm hỗ
trợ học Phương pháp tính để giúp người dùng học tập hiệu quả hơn.
1.3. Tổng quan về học phần phương pháp tính
1.3.1. Sai số
a, Sai số tuyệt đối và sai số tương đối

Sai số tuyệt đối[4]: Hiệu Δa = A – a (hoặc Δa = a- A) gọi là sai số của
số xấp xỉ a.
Giá trị ước lượng Δa sao cho: | a-A| ≤ Δa được gọi là sai số tuyệt đối
của số gần đúng a.
Sai số tuyệt đối nhỏ nhất có thể biết được gọi là sai số tuyệt đối giới
hạn của a. Thông thường ước lượng sai số tuyệt đối giới hạn là rất khó và
nhiều khi không cần thiết nên người ta chỉ cần ước lượng sai số tuyệt đối đủ
nhỏ và dùng từ 1 đến 3 chữ số có nghĩa (là số chữ số bắt đầu từ chữ số khác
không đầu tiên từ trái sang phải) để biểu diễn sai số tuyệt đối của số gần đúng.
Thay cho biểu thức | a-A| ≤ Δa người ta còn dùng biểu diễn sau để chỉ
sai số tuyệt đối: a = A ± Δa

(1.3)

Và công thức | a-A| ≤ Δa có thể tương đương a - a ≤ A ≤ a + a
Sai số tương đối[4]: Hai số gần đúng có sai số tuyệt đối bằng nhau sẽ
có mức độ chính xác khác nhau nếu số độ lớn của chúng khác nhau. Số bé
ĐẠI HỌC HÙNG VƯƠNG


11
hơn sẽ có độ chính xác kém hơn.
Định nghĩa: Sai số tương đối của số gần đúng a (được ký hiệu là δa) là
tỷ số giữa sai số tuyệt đối và giá trị tuyệt đối của a: a = a/ a

(1.4)

Gọi là sai số tương đối giới hạn của a ( cịn gọi là sai số tương đối).
Cơng thức (1.4) tương đương với a = aa


(1.5)

Nên chỉ cần biết một trong hai loại sai số là tính đợc loại kia.
Từ (1.3) và (1.5) ta có: A = a(1 ± a)

(1.6)

Thường sai số tương đối được biễu diễn dưới dạng phần trăm với 2 hoặc 3
chữ số.
Ví dụ: Nếu a = 57 và Δa = 0,5 thì δa= 0,0087719 hoặc 0,88%.
b, Cách viết số xấp xỉ
Chữ số có nghĩa[4]: Trong một số thập phân, chữ số có nghĩa là chữ số kể từ
chữ số khác khơng đầu tiên tính từ trái sang phải.
Ví dụ: 2,75 có 3 chữ số có nghĩa
0,07048 có 4 chữ số có nghĩa.
Chữ số đáng tin[4]: Mọi số thập phân có dạng a = ±  s.10s
s là các chữ số từ 0…9
Nếu s là chữ số đáng tin thì những chữ số có nghĩa bên trái s cũng là chữ
số đáng tin.
Nếu s là chữ số khơng đáng tin thì những chữ số có nghĩa bên phải s cũng
là chữ số không đáng tin.
Cách viết số xấp xỉ[4]: A có giá trị gần đúng a, sai số tuyệt đối a có 2 cách
viết số xấp xỉ:

A = a ± a , A = a(1 ± a)

Hoặc viết theo quy ước: Mọi chữ số có nghĩa đều là chữ số đáng tin s.
c, Sai số quy tròn
Cho a, A , a. Gọi a’ là số quy tròn của a. Sai số quy tròn tuyệt đối là a’.
a’ - a≤ a’

Tính a’ của a’ : a’ - a≤ a’ - a + a - A≤ a’ + aChọn a’ = a + a’ ;
a’ > a như vậy việc quy tròn làm tăng sai số tuyệt đối quy trịn.
d, Các quy tắc tính sai số
ĐẠI HỌC HÙNG VƯƠNG


12
Xét hàm số u = f(x,y). Biết sai số của x và y tính sai số của u.
x, y các số gia,

dx, dy, du là vi phân của x, y, u.

x, y, u là các sai số tuyệt đối của x, y, u. Xác định u và sai số tương đối
giới hạn u của hàm số u.
Gọi U là giá trị đúng của số xấp xỉ u, X, Y là giá trị đúng của số xấp xỉ x, y.
Ta có:

(1.7)
Vậy có thể lấy :
df
df
du
du
x 
y 
x 
y
dx
dy
dx

dy

u 

Chia hai vế của (1.7) cho

u

(1.8)

thì ta có :

df
df
u dx
d
d
dy
u 

x 
 y  ln f ( x, y)  x  ln f ( x, y)  y
u
u
u
dx
dy
Do đó :

(1.9)

Cơng thức tổng quát:

u  f ( x1 , x2 ,..., xn )
n

u  
i 1

u 

df
xi
dxi

u
u

Ví dụ: Tính sai số tuyệt đối và sai số tương đối của thể tích hình cầu
V = d3 / 6,  = 3,14  0,0016 , d = 3,7  0,05 cm
, d là các đối số của V, áp dụng tính sai số của một tích ta có:
ĐẠI HỌC HÙNG VƯƠNG


13
V =  + 3.d
 = 0,0016 / 3,14 = 0,0005
d = 0,05 / 3,7 = 0,0135
Suy ra V = 0,04
Mặt khác: V = d3 / 6 = 26,5 cm3
Vậy V = 1,06  1,1

V = 26,5  1,1 cm3
e, Sai số tính tốn và sai số của từng phương pháp
Khi giải một bài toán phức tạp ta phải thay nó bằng bài tốn đơn giản
hơn, phương pháp như vậy gọi là phương pháp gần đúng, sai số do phương
pháp gần đúng tạo ra gọi là sai số phương pháp.
Khi giải một bài tốn đơn giản ta phải quy trịn các kết quả trung gian, sai số
tạo ra tất cả các lần quy trịn gọi là sai số tính tốn[4].
1.3.2. Tính gần đúng nghiệm thực của một phương trình
a, Tìm nghiệm gần đúng
Để tìm nghiệm gần đúng của phương trình f(x) = 0 chúng ta tiến hành
qua 2 bước:
- Tìm nghiệm: Xét tính chất nghiệm của phương trình, phương trình có
nghiệm hay khơng, có bao nhiêu nghiệm, các khoảng chứa nghiệm nếu có.
Đối với bước này, ta có thể dùng phương pháp đồ thị, kết hợp với các định lý
mà tốn học hỗ trợ.
- Chính xác hố nghiệm: Thu hẹp dần khoảng chứa nghiệm để hội tụ
được đến giá trị nghiệm gần đúng với độ chính xác cho phép[4].
Phương pháp đồ thị[4]: Trong trường hợp đồ thị của hàm số y = f(x) dễ vẽ, để
tìm những khoảng cách li nghiệm của phương trình f(x) = 0, ta vẽ đồ thị của
hàm số y = f(x) trên giấy kẻ ô vng. Hồnh độ các giao điểm của đồ thị với
trục hồnh Ox cho ta các giá trị thơ của các nghiệm thực của phương trình
trên. Từ đồ thị, ta dễ dàng tìm được các khoảng cách ly nghiệm của phương
trình f(x) = 0.
Nếu đồ thị của hàm số y = f(x) khó vẽ, ta đưa phương trình f(x) = 0 về
ĐẠI HỌC HÙNG VƯƠNG


14
phương trình tương đương: g(x) = h(x) sao cho đồ thị của hai hàm số y = g(x),
y = h(x) dễ vẽ. Ta vẽ hai đồ thị đó trên giấy kẻ ô vuông và trên cùng một hệ

trục tọa độ. Hoành độ các giao điểm của hai đồ thị cho ta các giá trị thô của
các nghiệm thực của phương trình f(x) = 0. Từ đồ thị, ta cũng dễ dàng tìm
được các khoảng cách ly nghiệm của phương trình f(x) = 0.
b, Phương pháp tìm nghiệm gần đúng của phương trình
Từ phương trình đã cho xác định khoảng phân li nghiệm, ấn định sai số
cho trước hoặc số lần lặp tùy vào từng phương pháp tính để tìm nghiệm gần
đúng của phương trình và cụ thể sẽ được trình bày ở chương 2.
1.3.3. Phương pháp tìm nghiệm của hệ phương trình
- Phương pháp đúng (Krame, Gauss, khai căn): Đặc điểm của các
phương pháp này là sau một số hữu hạn các bước tính, ta nhận được nghiệm
đúng nếu trong q trình tính tốn khơng làm trịn số
- Phương pháp gần đúng (lặp đơn): Thông thường ta cho ẩn số một giá
trị ban đầu, từ giá trị này tính giá trị nghiệm gần đúng tốt hơn theo một qui tắc
nào đó. Q trình này được lặp lại nhiều lần và với một số điều kiện nhất
định, ta nhận được nghiệm gần đúng.
1.3.4. Nội suy và phương pháp bình phương bé nhất
a, Vấn đề nội suy và sự tồn tại nghiệm
Định lí[4]: Đa thức nội suy pn(x) của hàm f(x) xác định ở trên nếu tồn tại thì
chỉ có một mà thơi.
Chứng minh: Giả sử có hai đa thức nội suy của hàm f(x) là pn(x) và qn(x),
pn(x) và qn(x) là các đa thức bậc nhỏ hơn hoặc bằng n.
Khi đó: pn(xi) = yi và qn(xi) = yi , với mọi i = 0, 1, .., n
pn(xi) – qn(xi) = yi – yi = 0 với mọi i = 0, 1, .., n
Do đó : pn(x)  qn(x).
Sai số nội suy và vấn đề chọn nút nội suy[4]: Nếu hàm f(x) liên tục trên [a,b]
và có đạo hàm liên tục đến bậc n + 1 trong khoảng đó thì sai số nội suy
rn(x) = f(x) – pn(x), trong đó:

rn(x) = f n+1(c)  ( x) , c  [a, b]
(n  1)!


(x) = (x – x0)(x - x1).....(x - xn)
ĐẠI HỌC HÙNG VƯƠNG


15
Điều công nhận ở trên chứng tỏ khi thay f(x) bằng pn(x) tại các nút đã
cho ta có một sai số tính theo cơng thức trên. Như vậy rn(x) phụ thuộc vào

(x) tức là phụ thuộc vào sự phân bố các nút xi trên đoạn [x0 , xn ].
b, Đa thức nội suy Lagrange
Giả sử f(x) nhận giá trị yi tại các điểm tương ứng xi với i = 0, 1, .., n
Xây dựng đa thức nội suy kiểu Lagrange của f(x) là đa thức bậc n và
được xác định theo công thức sau:
Li(x) = (x – x0)(x- x1)....(x – xi -1)(x – xi +1)......(x – xn)/ (xi – x0)(xi- x1).....
(xi – xi -1)(xi – xi +1)......(xi – xn)
1 khi i = j
Li(x) =
0 khi i ≠ j
p(nx) = ∑yi*Li(x),  i = 0,...,n
Là đa thức bậc n và pn(xj) = yj
Khi đó pn(x) gọi là đa thức nội suy Lagrange của y = f(x).
c, Đa thức NewTon
Đa thức nội suy NewTon với các nút cách đều
Các nút cách đều xi = x0 + ih, i = 0, n , h là bước nội suy.
Sai phân tiến
Sai phân tiến cấp 1 tại i: yi = yi+1 – yi
Sai phân tiến cấp 2 tại i: 2yi = (yi)= yi+2 – 2yi+1 + yi
.....................
Sai phân tiến cấp n tại i: nyi = (n -1yi)

Do đó:

y [x0,,x1 ] = y0 / h
y [x0,,x1 ,x2] = 2y0 / 2h2
........................
y [x0,,x1,..... ,xn] = ny0 / n!hn

Đa thức nội suy NewTon tiến xuất phát từ x0
Thay x = x0 + ht vào công thức trên ta có:
pn(x) = y0 + ty0 +

t (t  1) 2
t (t  1).....(t  n  1) n
 y0 +....+
 y0
2!
n!
ĐẠI HỌC HÙNG VƯƠNG


16
với n = 1 ta có: P1(x) = y0 + ty0 , x = x0 + ht
với n = 2 ta có: P2(x) = y0 + ty0 +

t (t  1) 2
 y0, x = x0 + ht
2!

Đa thức nội suy Newton lùi xuất phát từ xn
Tương tự ta có sai phân lùi tại i

Sai phân lùi cấp 1 tại i:

yi = yi – yi -1

Sai phân lùi cấp 2 tại i:

2yi = (yi)= yi – 2yi -1 + yi - 2

........................
Sai phân lùi cấp n tại i:

nyi = (n -1yi)

pn(x) = yn + tyn +

t (t  1).....(t  n  1) n
t (t  1) 2
 yn +....+
 yn
n!
2!

d, Phương pháp bình phương bé nhất
Giả sử có 2 đại lượng (vật lý, hoá học, …) x và y có liên hệ phụ thuộc
nhau theo một trong các dạng đã biết sau:
1. y = ax + b
2. y = a + bx + cx2
3. y = a + bcosx + csinx
4. y = aebx
5. y = axb

Nhưng chưa xác định được giá trị của các tham số a, b, c. Để xác định
được các tham số này, ta tìm cách tính một số cặp giá trị tương ứng (xi, yi), i =
1, 2, …, n bằng thực nghiệm, đo đạc sau đó áp dụng phương pháp bình
phương bé nhất ở dưới đây để xác định các tham số.
1.3.5. Tính gần đúng đạo hàm và tích phân xác định
a, Tính gần đúng đạo hàm
Để tính gần đúng đạo hàm của f(x) tại x ta thay thế f(x) bằng đa thức nội
suy p(x). Tìm p’(x) lấy p’(x) làm giá trị gần đúng của f’(x).
Ví dụ: p3(x) = 8x3 + 15x2 + 23x - 15
Từ đó ta có: f(x)  p3’(x) = 24x2 + 30x + 23
Chú ý: Cách tính này chỉ áp dụng khi  xi +1 - xi nhỏ nếu khơng sai số có thể
sẽ rất lớn.
Áp dụng cơng tức Taylo cho hàm số số f(x) xác định và có đạo hàm đến cấp
ĐẠI HỌC HÙNG VƯƠNG


17
n +1 tại x0 và lân cận của nó, ta có cơng thức khai triển TayLo bậc n của f(x)
tại x0[4].
f(x) = f(x0) + (x – x0)f’(x0) +

( x  x0 ) n1 n+1
( x  x0 ) 2
( x  x0 ) n n
f”(x0) +....+
f (x0) +
f (c)
2!
n!
(n  1)!


Với c = x0 +  (x – x0), 0 <  < 1, (c là trung gian của x0 và x)
Áp dụng Tay lo ta có:
2
f(x + h) = f(x0 +h) + (x – x0)f’(x0 + h) + ...+f(x + h) = f(x) + h*f’(x) + h f”(c)

2!

với c = x + h , 0 <  < 1
2
Khi h càng nhỏ thì h f”(c) càng nhỏ ta có thể bỏ qua số hạng này, ta có:

2!

f(x + h)  f(x) + h*f’(x)
hay f’(x) 

f ( x  h)  f ( x )
h

b, Tính gần đúng tích phân
Sơ đồ tóm tắt cơng thức hình thang
Phương án 1: Cho trước khoảng chia n
b

Bước 1: Xét tích phân I =  f ( x)dx
a

Bước 2: Ấn định số khoảng chia n
Bước 3: Chia [a, b] thành n đoạn bằng nhau với khoảng cách h = (b - a) / n

theo các điểm xi = x0 + ih
h = (b – a) / n
với y = f(x) và yi = xi với mọi i = 1, n
Bước 4: Tính IT = h[

y0  yn
+ y1 + y2 +.......+ yn – 1]
2

Bước 5: Kết quả I  IT
với sai số công thức hình thang là:
I  IT 

M 2
h (b  a )
12

M = Max f '' ( x)

với a ≤ x ≤ b

Phương án 2: Cho trước sai số
b

Bước 1: Xét tích phân I =  f ( x)dx
a

ĐẠI HỌC HÙNG VƯƠNG



18
Bước 2: Ấn định sai số 
Bước 3: Dùng công thức I  IT 
M = Max f '' ( x)

M 2
h (b  a )
12

với a ≤ x ≤ b, để xác định khoảng chia n sao cho sai số nhỏ

hơn sai số cho phép.
Bước 4: Chia [a, b] thành n đoạn bằng nhau với khoảng cách h = (b - a) / n
theo các điểm: xi = x0 + ih; h = (b – a) / n
với y = f(x) và yi = xi với mọi i = 1, n
Bước 5: Tính IT = h[

y0  yn
+ y1 + y2 +.......+ yn – 1 ]
2

Bước 6: Kết quả I  IT
với sai số là:  I – IT  < 
Sơ đồ tóm tắt cơng thức Simpson
Phương án 1: Cho trước khoảng chia n
b

Bước 1: Xét tích phân I =  f ( x)dx
a


Bước 2: Ấn định số khoảng chia 2n
Bước 3: Chia [a, b] thành 2n đoạn bằng nhau với khoảng cách h = (b - a) / 2n
theo các điểm xi = x0 + ih, h = (b – a) / 2n
với y = f(x) và yi = xi với mọi i = 1, 2n
Bước 4 : Tính IS =

h
[y0  y2 n + 4(y1 + y3 +...+ y2n – 1) + 2(y2 + y4 +...+ y2n – 2)]
3

Bước 5: Kết quả I  IS
với sai số công thức Simpson là: I  I S 
M = Max f 4 ( x)

M 4
h (b  a )
180

với a ≤ x ≤ b

Phương án 2: Cho trước sai số
b

Bước 1: Xét tích phân I =  f ( x)dx
a

Bước 2: Ấn định sai số 
Bước 3: Dùng công thức I  I S 
M = Max f 4 ( x)


M 4
h (b  a )
180

với a ≤ x ≤ b, để xác định khoảng chia 2n sao cho sai số nhỏ
ĐẠI HỌC HÙNG VƯƠNG


×