1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng giải và biện luận phương trình bậc 2 & giải toán tam giác

22 320 0

Đ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

Định dạng
Số trang 22
Dung lượng 609,5 KB

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

Nội dung

Thân mến, Nguyễn Văn Sang... #Ở bước này giải và biện luận theo nghiệm m trong phương trìnhdelta... if nghiemBPT không tồn tại then Bất phương trình vô nghiệm, suy ra 1 v

Trang 1

MỤC LỤC

Trang

LỜI NÓI ĐẦU 2

Chương I> Tổng quan về lập trình symbolic và công cụ lập trình Maple 3

1.1 Tổng quan về lập trình symbolic 3

1.2 Công cụ lập trình Maple 3

1.2.1 Tổng quan 3

1.2.2 Các tính năng cơ bản của Maple 3

Chương II> Xây dựng ứng dụng giải và biện luận phương trình bậc 2 & giải toán tam giác 4

2.1 Phát biểu bài toán về giải và biện luận phương trình bậc 2 4

2.2.1 Cách giải và biện luận phương trình bậc hai trong trường hợp tổng quát 4

2.2.2 Giải và biện luận phương tình bậc 2 của chương trình 5

3.1/ Phát biểu bài toán giải tam giác 12

3.2 Trình bày thuật giải 13

3.2/ Mô hình kiến trúc của chương trình 14

2/ Hướng dẫn sử dụng chương trình 19

4.1 Một số yêu cầu cài đặt cho việc chạy chương trình 19

4.2 Hướng dẫn chạy chương trình 19

Chương III> Kết luận & Hướng phát triển đề tài 21

1/ Kết luận : 21

2/ Hướng phát triển đề tài: 21

TÀI LIỆU THAM KHẢO 22

Trang 2

LỜI NÓI ĐẦU

Trong lĩnh vực “trí tuệ nhân tạo” người ta đã áp dụng ngôn ngữ lập tình Symbolicđể biểu diễn và xử lý tri thức đối với những bài toán liên quan tới tính toán trên cácký hiệu, những bài toán có tính suy luận cao để từ đó có thể tạo ra những chươngtrình thông minh ở một chừng mực nào đó, có thể xử lý một cách tự nhiên, tự độngnhư cách suy nghĩ và hành động của của con người để rồi từ đó phục vụ cho conngười

Trên thực tế khi giải quyết một bài toán người ta thường phải vận dụng một sốhiểu biết (tri thức, kinh nghiệm) nào đó có liên đến các yếu tố đang được xem xét đểsuy ra một số yếu tố mới và giải quyết được vấn đề Trong các môn học như toán, lýđể giải quyết một bài toán người ta thường đưa ra phương pháp giải bao gồm một sốbước mà cứ làm theo đó ta có thể giải quyết được vấn đề

Trong phạm vi bài tiểu luận này, em sẽ trình bày việc sử dụng lập trình Symbolicđể giải và biện luận phương trình bậc hai & ứng dụng phương pháp mạng tính toán đểgiải bài tập tam giác Chương trình được viết với sự kết hợp của ngôn ngữ lập trìnhSymbolic và C#, ứng với 2 công cụ Mapple 16 và Microsoft Visual Studio 2010 Nhân đây em cũng xin gửi lời cảm ơn chân thành đến thầy PGS.TS Đỗ Văn Nhơn,người đã tận tình giảng dạy và truyền đạt những kiến thức bổ ích trong lĩnh vực côngnghệ thông tin nói chung và bộ lập trình Symbolic cho trí tuệ nhân tạo nói riêng đểgiúp em hoàn thành tốt bài luận này

Mặc dù đã rất nỗ lực, cố gắng nhưng do kiến thức và thời gian có phần hạn chế,chắc chắn sẽ có những thiếu sót và bổ sung thêm Rất mong sự cảm thông và góp ýcủa thầy

Thân mến,

Nguyễn Văn Sang

Trang 3

Chương I> Tổng quan về lập trình symbolic và công cụ lập trình Maple

1.1 Tổng quan về lập trình symbolic

Lập trình symbolic hay còn gọi là lập trình hình thức, đây là hình thức lậptrình để có khả năng tính toán trên các ký hiệu (symbol), các phép toán (cộng,trừ, nhân, chia), các biểu thức đại số, tính toán chính xác hay gần đúng trênmột con số hữu tỉ ,…

1.2 Công cụ lập trình Maple

1.2.1 Tổng quan

Maple là một công cụ phần phềm được phát triển bởi công tyWaterloo Maple Inc, ra đời khoảng năm 1991, cho đến nay đã có phiênbản 16 Đây là công cụ lập trình mạnh và khá phổ biến trong trong lĩnhvực lập trình symbolic, với khả năng tính toán trên các biểu thức đại số,hỗ trợ nhiều hàm tính toán như giải phương trình, tính giới hạn, đạo hàm,tích phân, nguyên hàm, vẽ đồ thị hàm số, ,

1.2.2 Các tính năng cơ bản của Maple

 Cung cấp sẵn một hệ thống các thủ tục, hàm hay thư viện để hỗtrợ người dùng không cần biết về lập trình vẫn có thể sử dụngtrong phiên làm việc của mình Maple dựa trên phương pháp lậptrình hàm và có thể thực hiện được hầu hết các phép toán cơ bảntrong trương trình phổ thông và đại học và hỗ trợ với khả năngtương tác khi gọi hàm và cho ngay kết quả

 Hỗ trợ làm việc theo kiểu lập trình ngay tại phiên làm việc, có thểtạo ra những thư viện (gói chương trình) và đưa vào hệ thống đểtrở thành thư viện của hệ thống cho sử dụng sau này

 Cung cấp các công cụ minh họa bằng hình học trực quan bao gồm: vẽ đồ thị tĩnh và động, vẽ biểu đồ…

 Hỗ trợ lập trình giao diện đơn giản

 Có khả năng tương tác với ngôn ngữ lập trình khác như C# hayjava

Trang 4

Chương II> Xây dựng ứng dụng giải và biện luận phương trình bậc 2 & giải toán tam giác.

2.1 Phát biểu bài toán về giải và biện luận phương trình bậc 2.

Trong chương trình trung học phổ thông và một số bài tập có đề cập tới giải và biện luận phương tình bậc 2 bao gồm 2 dạng là có tham số hay không có tham số đi kèm.Thường thì bài toán này được giải theo một phương pháp hay là một khuân mẫu chuẩn được kiến nghị bởi sách giáo khoa hay sách thamkhảo mà đối tượng học sinh hay người giải toán cứ theo đó mà làm Bằng việc ứng dụng lập trình Symbolic cùng với sự hỗ trợ đắc lực của công cụ lập trình Maple, chúng ta có thể xây dựng được một chương trình giải bài toán dạng này một cách nhanh chóng, giúp ích cho các em học sinh có thể dùng để tham khảo cũng như có thể giúp cho các cán bộ giảng dạy đánh giá được bài toán trước khi ra bài tập cho học sinh của mình Trong phạm vi của bài viết này, trình bày phương pháp giải và biện luận phương trình bậc hai cho trường hợp tổng quát tham khảo sách và trình bày cách giải của chương trình

2.2.1 Cách giải và biện luận phương trình bậc hai trong trường hợp tổng quát.

Cho phương trình bậc hai: a2x + bx + c = 0 (1)

+ Nếu a = 0, ta được phương trình bậc nhất: bx + c = 0

Biện luận như sau:

a Nếu b ≠ 0 thì phương trình có nghiệm duy nhất: x b

2a



b Nếu b = 0 và c = 0 thì phương trình nghiệm đúng với mọi x thuộc R

c Nếu b = 0 và c ≠ 0 thì phương trình vô nghiệm

+ Nếu a ≠ 0 Đặt  b2 4ac

-   0 : phương trình (1) vô nghiệm

-   0: phương trình (1) có nghiệm kép x b

2a



-   0: phương trình (1) có 2 nghiệm phân biệt:

bx2a

Trang 5

2.2.2 Giải và biện luận phương tình bậc 2 của chương trình.

a Quy định về cấu trúc dữ liệu

Phương trình nhập vào có dạng như sau : ax2 + bx + c = 0 (1), trongđó a, b, c là các hệ số, các hệ số này có thể chỉ là các là số thực hoặctham số, hoặc vừa có số thực và có tham số; x là biến hay là ẩn số củaphương trình cần tìm

Một số lưu ý:

-Tham số ở đây được hiểu ngầm định là tham số m

- Nếu hệ số a, b, c nếu có tham số m thì bậc của tham số m là bậc 1

- Phương trình (1) có thể khuyết thành phần b, c

 Ví dụ: các phương trình sau đây nhập vào là hợp lệ : (m+1)x2 + mx + 2 = 0, mx2 + 2x + m + 1 = 0, mx2 + (m-1)x – 1 =

0, x2 + 2x -1 = 0, ,

 Phương trình sau đây nhập vào là không hợp lệ : (m2 +2m-1)x2 + mx + 2 = 0, x2 + m2x + m + 1 = 0, mx + 2x + m2 -1 =0, ,

b Trình bày thuật giải

Thuật giải dựa trên quy định về cấu trúc dữ liệu ở mục a và thể hiệnviệc giải và biện luận phương trình bậc hai ở dạng tổng quát nhất

Nhập : nhập phương trình như quy định về cấu trúc dữ liệu ở mục a Xuất : xuất ra nội dung lời giải chi tiết.

 Bước 1 Khai báo các biến cục bộ cần thiết như :

a, b, c : là các hệ số của phương trìnhthamsa: tham số của a

nghiemm : giải nghiệm theo biến mdelta : delta

root: nghiệm của phương trình theo biến xXét vế trái của phương trình (1), gán các giá trị cho các biến a, b,c

+ Xét a = 0 Xác định hệ số a có tham số m hay không.

if (a có chứa m) then

Trang 6

- gán a = 0, tính nghiệm theo biến m và gán cho biến nghiemm

- thay nghiemm = 0 vào (1) để tính nghiệm cho (1)

if ( trong (1) chỉ chứa biến x và hằng số) then

if (cả 2 vế trái và vế phải của (1) đều bằng 0) then

- in ra kết quả : phương trình (1) có vô số nghiệm elif (vế trái (1) và vế phải (1) không bằng nhau) then

- in ra kết quả : phương trình (1) vô nghiệm.

end if;

else thay giá trị nghiemm vào (1) và giải phương trình theo biến x

ta được 1 nghiệm và in ra kết quả nghiệm root.

end if;

+ Xét a ≠ 0

thamsa giải phương trình a ≠ 0 theo biến m và in kết quả

Chuyển qua bước 2.

else

#Hệ số a không chứa tham số m

Chuyển qua bước 2.

end if;

Bước 2.

#Ở bước này giải và biện luận theo nghiệm m trong phương trìnhdelta

Nhập : nhập các hệ số a, b, c.

Xuất : xuất ra nội dung lời giải chi tiết.

- Khởi tạo các biến cục bộ : delta, tinhmm, mi, nghiemkep1,nghiemkep2, x1, x2, nghiemBPT;

- tính delta = b2 – 4ac;

if (delta chứa m) then + Xét delta = 0

if (delta là phương trình bậc 2 với ẩn m) then

- tinhm thông qua bước 3.

else

Trang 7

- tinhm  giải nghiệm delta = 0 theo m.

end if;

if (tinhm is empty) then

trường hợp này vô nghiệm m => (1) không có nghiệm kép

else

in ra nghiệm m và tính nghiệm kép ứng với nghiệm m, bằng

cách thay mỗi giá trị m trong tinhm vào biểu thức –b/2a

end if;

+ Xét delta > 0 nghiemBPT  giải bất phương trình delta > 0 theo nghiệm m.

if (nghiemBPT không tồn tại) then

Bất phương trình vô nghiệm, suy ra (1) vô nghiệm

elif (nghiemBPT luôn đúng với mọi m) then phương trình (1) có 2 nghiệm phân biệt Tính x1, x2.

x1  (-b - sqrt(delta)) / 2a x2  (-b + sqrt(delta)) / 2a

in kết quả x1, x2

end if;

+ Xét delta < 0

nghiemBPT  giải bất phương trình delta < 0 theo biến m

if (nghiemBPT không tồn tại) then

Bất phương trình vô nghiệm => (1) vô nghiệm

elif (nghiemBPT thỏa với mọi m) then

Trang 8

Bất phương trình luôn đúng => (1) vô nghiệm

else

m nằm trong khoảng sau thì phương trình vô nghiệm giải bất phương trình delta < 0

end if;

# trường hợp delta không chứa tham số m

elif (delta = 0) then

Phương trình có nghiệm kép Nghiemkep1  -b / 2a

elif (delta > 0) then

Phương trình có 2 nghiệm phân biệt x1, x2.

Tính x1, x2

x1  (-b - sqrt(delta)) / 2a x2  (-b + sqrt(delta)) / 2a

in kết quả x1, x2

elif (delta < 0) then

Phương trình đã cho vô nghiệm vì delta < 0

Xuất : danh sách nghiệm.

Khai báo vào khởi tạo giá trị cho các biến cục bộ : vt, delta, bien,nghiemkep, x1, x2, a, b, c, roots

vt  ax2 + bx + c;

delta  b2 – 4ac

if (delta = 0) then

nghiemkep  -b/2a

Thêm nghiemkep vào roots

elif (delta > 0) then

Trang 9

x1  (-b – sqrt(delta)) / 2a x2  (-b + sqrt(delta)) / 2a Thêm x1, x1 vào roots.

Thủ tục được hiện thực bằng mã nguồn trên công cụ lập trình Maple

16 được đính kèm trong file : giaiPTBac2.mw, trong thư mục

CH1101128-NguyenVanSang/ma_nguon(source_code)/Maple, hàm chính : giaiPTBac2.

d Chạy minh họa một vài mẫu ví dụ trên công cụ Maple.

>

phuong trinh da cho :

+ neu a = 0hay : m+1 = 0 => m = -1phuong trinh co 1 nghiem la: x = -1/2 + neu a khac 0, hay :

+ Tinh delta, ta co delta = -4*m^2-12*m-4+ neu delta = 0

m co nghiem: m1 = 1/2*5^(1/2)-3/2, 1/2*5^(1/2)

m2=-3/2-+ phuong trinh co nghiem kep tuong ung voi m la

x = -2/(5^(1/2)-1) voi m1 = 1/2*5^(1/2)-3/2

x = 2/(5^(1/2)+1) voi m2 = -3/2-1/2*5^(1/2)+ neu delta > 0, hay 0 < -4*m^2-12*m-4

=> m nam trong khoang sau:

Trang 10

phuong trinh co 2 nghiem phan biet x1, x2 x1 = -(1+(-m^2-3*m-1)^(1/2))/(m+1)

x2 = (-1+(-m^2-3*m-1)^(1/2))/(m+1)+ neu delta < 0, hay -4*m^2-12*m < 4 => m nam trong khoang sau thi phuong trinh vo

nghiem

>

phuong trinh da cho :

+ neu a = 0hay : m+1 = 0 => m = -1phuong trinh co 1 nghiem la: x = 0 + neu a khac 0, hay :

+ Tinh delta, ta co delta = 4

+ delta = 4 > 0, phuong trinh co 2 nghiem phan biet x1, x2

x1 = -2/(m+1)x2 = 0

>

phuong trinh da cho :

+ neu a = 0hay : m+1 = 0 => m = -1phuong trinh vo nghiem+ neu a khac 0, hay :

Trang 11

+ Tinh delta, ta co delta = -36*m-36+ neu delta = 0

truong hop nay vo nghiem m, nen phuong trinh da

cho khong co nghiem kep+ neu delta > 0, hay 0 < m^2+4

=> Bat phuong trinh luon dung voi moi m

=> phuong trinh co 2 nghiem phan biet x1, x2 x1 = -1/2*m-1/2*(m^2+4)^(1/2)

x2 = -1/2*m+1/2*(m^2+4)^(1/2)

+ neu delta < 0, hay m^2 < -4

=> Bat phuong trinh vo nghiem, suy ra phuong

trinh da cho vo nghiem

>

phuong trinh da cho :

Trang 12

+ He so a khong co tham so m.

+ Tinh delta, ta co delta = 25

+ delta = 25 > 0, phuong trinh co 2 nghiem phan biet x1, x2

x1 = -2x2 = 1/2

3.1/ Phát biểu bài toán giải tam giác

Trong một số bài tập có liên quan tới bài toán tam giác ở cấp cơ sởChúng ta thấy rằng tất cả các đại lượng cần tính toán như : độ dài một cạnh,góc, tam giác, chu vi,…, đều có các công thức tính toán liên quan Chẳng hạncông thức tổng ba góc A, B, C của một tam giác bằng 90 độ, các công thứctính diện tích tam giác thông qua đường cao và cạnh tương ứng, , để giải đượcbài toán dạng này đòi hỏi chúng ta cần phải nhớ và vận dụng tất cả các côngthức có liên quan tới các đại lượng cần tính là có thể có được lời giải

Với mô hình mạng tính toán, chúng ta có thể xây dựng được một chươngtrình để giải bài tập khi yêu cầu tìm một đại lượng nào nào đó qua một số đạilượng đã biết thể hiện trong những công thức tính toán liên quan

3.2 Trình bày thuật giải

3.2.1 Sơ lượt về mạng tính toán

a Khái niệm

Mạng tính toán là một dạng biểu diễn tri thức về các vấn đề tínhtoán và được áp dụng một cách có hiệu quà để giải quyết một số dạng bàitóan Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và nhữngquan hệ có thể cài đặt sử dụng cho việc tính toán Cụ thể một mạng tínhtoán gồm một tập hợp các biến cùng với một tập hợp các quan hệ tínhtoán giữa các biến (các luật hay các công thức liên hệ tính toán giữa cácbiến)

b Cấu trúc mạng tính toán

Mạng tính tóan gồm tập M và F

Trang 13

M: tập các biến xi, ,xn ,nN trong miền giá trị sớ thực Ta có:

M = x1,x2, ,xn, F: tập các quan hệ fi, ,fm , mN giữa các biến Ta có:

F = f1,f2, ,fm

Ví dụ: Mợt quan hệ f giữa 3 đại lượng là cường đợ dòng điện I, hiệuđiện thế U (đơn vị V (vơn)) và điện trở R (đơn vị Ω (ơm)) được cho bởicơng thức tính toán theo định luật Ơm như sau: f : I = U/R (Đơn vị Ampe(mA))

Đới với mỡi f  F, ta ký hiệu M(f) là tập các biến có liên hệ trongquan hệ f Và M(f) là tập con của M: M(f)  M Nếu viết f dưới dạng f :u(f)  v(f)

thì ta có M(f) = u(f)  v(f)

Thuật toán sử dụng suy diễn tiến để tìm được lời giải cho bài toán.

Thuật toán tìm mợt lời giải cho bài toán A  B :

Nhập: Mạng tính toán (M,F), giả thiết A  M, tập cần tính B  M

Xuất : Lời giải cho bài toán A  B

Solution_found  false;

3 Repeat

Aold  A;

Chọn ra mợt f  F chưa xem xét;

while not Solution_found and (chọn được f) do

Ngày đăng: 10/04/2015, 08:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w