ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
________________
BÁO CÁO THU HOẠCH MÔN HỌC
LẬP TRÌNH TÍNH TOÁN HÌNH THỨC
( LẬP TRÌNH SYMBOLIC )
Đề tài:
Ứng dụng phần mềm Maple để giải và biện luận
phương trình bậc hai một ẩn theo một tham số
Giảng viên : PGS.TS. Đỗ Văn Nhơn
Sinh viên thực hiện: Tăng Chí Tâm
MSSV : CH1101130
TP. HCM, NĂM 2013
Mục Lục
1. Giới thiệu phần mềm Maple
Maple là một hệ thống tính toán trên các biểu thức đại số và minh
họa toán học
mạnh
mẽ
của công ty Warterloo Maple Inc
(http :
//www .
map l
e s
o f
t. c
om).
Maple ra đời năm 1991 đến nay đã phát triển đến phiên bản 16. Maple
có cách cài đặt đơn giản, chạy được
t
rên
nhiều hệ điều hành, có cấu trúc
linh hoạt để sử dụng tối ưu cấu hình máy và có trình
trợ
giúp (help) rất dễ
sử dụng. Qua các phiên bản, Maple cung cấp ngày càng nhiều các công cụ
trực quan, các gói lệnh tự học gắn liền với toán học phổ thông và đại học.
Ưu điểm đó làm cho nhiều
người
trên thế giới lựa chọn sử dụng Maple
cùng các phần mềm toán học khác áp
dụng
trong dạy học toán và các
công việc tính toán đòi hỏi của thực tiễn và sự phát triển của giáo dục.
C ó th ể nhận thấy rằng ngoài các tính năng tính toán và minh hoạ
rất mạnh mẽ bằng các câu lệnh riêng biệt
(thường
chỉ cho ta kết quả cuối
cùng), Maple còn là một ngôn ngữ lập trình hướng thủ tục
(procedure).
Thủ tục là một dãy các lệnh của Maple theo thứ tự mà
người
lập trình định
sẵn để xử lí một công việc nào đó, khi thực hiện thủ tục này Maple sẽ tự
động thực hiện các lệnh có trong thủ tục đó một cách tuần tự và sau đó trả
lại kết
quả
cuối
cùng.
Maple có các chức năng cơ bản sau:
-Là một hệ thống tính toán trên các biểu thức đại số.
-Có thể thực hiện được hầu hết các phép toán cơ bản trong
chương trình toán đại học và sau đại học.
-Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ
4
đồ thị động và tĩnh của các đường và mặt được cho bởi các hàm tùy ý và
trong các hệ tọa độ khác nhau.
-Là một ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả năng
tương tác với các ngôn ngữ lập trình khác.
-Cho phép trích xuất ra các định dạng khác nhau như word,
HTML…
-Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp
với các lớp học tương tác trực tiếp.
2. Bài toán giải và biện luận cho phương trình bậc hai một ẩn (x) theo
một tham số (m)
Cho phương trình bậc hai một ẩn (biến x) có dạng:
trong đó, các hệ số a,b,c có thể chứa một tham số ( như m) .
2.1 Yêu cầu
Viết hàm: ptbac2(pt,bien,thamso) để giải và biện luận theo tham số (thamso )
cho phương trình bậc hai (pt) có một ẩn (bien).
Input
ptbac2(pt,bien,thamso)
-pt: là phương trình bậc hai có duy nhất 1biến (bien), và có nhiều nhất
1 tham số (thamso) . Phương trình đã rút gọn về dạng chuẩn.
-Không cần xét (giải,biện luận) các trường hợp làm cho pt không còn
là phương trình bậc 2.
Ví dụ:
Output
-Xét hệ số a:
5
+Nếu hệ số a=0 : PT không phải PT bậc 2
+Nếu hệ số a có chứa tham số thì tìm giá trị của tham số {m1}
sao cho a=0, xuất thông báo: “PT đã cho không phải pt bậc 2 khi tham số thuốc tập
{m1}”
-Xét delta:
+ Nếu delta không chứa tham số thì tính delta. Tùy trường
hợp:
delta<0 : xuất thông báo”PT vô nghiệm”
delta=0 : xuất thông báo “pt có nghiệm kép: ”,tính giá trị
nghiệm
delta>0 :xuất thông báo “pt có hai nghiệm phân biệt”,
tính các giá trị nghiệm
+ Ngược lại nếu delta có chứa tham số:
TH1: PT đã cho vô nghiệm khi delta <0, tìm tập {m2}
của tham số thỏa điều kiện
TH2: PT đã cho có nghiệm kép khi delta=0, tìm tập
{m2} của tham số thỏa điều kiện. Thay các giá trị trong {m2} vào pt để tìm nghiệm
TH3: Pt đã cho có 2 nghiệm phân biệt khi delta>0, tìm
tập {m2} của tham số thỏa điều kiện. Tính giá trị các nghiệm theo tham số.
2.2 Cấu trúc dữ liệu
Sử dụng các cấu trúc dữ liệu có sẵn trong Maple.
6
2.3 Thuật giải
Bước 1: Xét hệ số a:
-Nếu a không chứa tham số và a=0 thì xuất thông báo: phương trình đã cho
không phải là phương trình bậc hai và dừng thực hiện chương trình.
-Ngược lại, hệ số a có chứa tham số thì tìm tập {m1} chứa các giá trị của
tham số sao cho a=0, xuất thông báo: “PT da cho khong phai pt bac hai khi tham so
thuoc tap {m1}”
Bước 2: Xét delta với delta = b^2 – 4ac:
-Nếu delta không chứa tham số thì:
Nếu delta <0 thì xuất thông báo “PT vo nghiem”
Ngược lại nếu delta =0 thì xuất thông báo “PT co nghiem kep: x=-b/
(2a)”
Ngược lại thì xuất thông báo “PT co 2 nghiem phan biet: ”
-Ngược lại, trong delta có chứa tham số thì :
TH1: PT đã cho vô nghiệm khi delta < 0:
Tìm tập {m2} chứa các tham số sao cho delta<0:
Nếu tập {m2} rỗng thì xuất thông báo “không tìm được tham số
thoả điều kiện”
Ngược lại thì xuất thông báo “với mọi tham số thuộc tập {m2}\
{m1}”
TH2: PT đã cho có nghiệm kép khi delta =0:
Tìm tập {m2} chứa các tham số sao cho delta=0:
Nếu tập {m2} rỗng thì xuất thông báo “không tìm được
tham số thoả điều kiện”
7
Ngược lại thì xuất thông báo “với mọi tham số thuộc tập
{m2}\{m1}”
Thay lần lượt các giá trị của tham số thuộc tập {m2}\
{m1} để tính nghiệm kép x=-b/(2a) tương ứng.
TH3: PT đã cho có 2 nghiệm phân biệt khi delta >0:
Tìm tập {m2} chứa các tham số sao cho delta>0:
Nếu tập {m2} rỗng thì xuất thông báo “không tìm được
tham số thoả điều kiện”
Ngược lại thì xuất thông báo “với mọi tham số thuộc tập
{m2}\{m1}”
“PT có 2 nghiệm phân biệt : ”
2.4 Giới thiệu các lệnh sử dụng trong chương trình
-Lệnh giải phương trình, bất phương trình:
Cú pháp: solve(equations,variables)
Trong đó:
-equations: phương trình, bất phương trình
-variables: biến số
Ý nghĩa: lệnh solve tìm nghiệm của biểu thức phương trình, bất phương trình
Ví dụ: >
8
-Lệnh lấy vế trái, vế phải của biểu thức:
Cú pháp: lhs(expr) và rhs(expr)
Trong đó: expr : biểu thức
Ý nghĩa: lhs(expr) thực hiện trả về vế trái của biểu thức expr, tương đương với
op(1,expr)
rhs(expr) thực hiện trả về vế phải của biểu thức expr, tương đương với
op(2,expr)
Ví dụ:
>
>
>
-Lệnh lấy hệ số một đa thức:
Cú pháp: coeff(p,x,n)
Trong đó:
p: đa thức chứa x
x: biến
n: số mũ của biến
Ý nghĩa: lấy hệ số của x^n trong biểu thức p
Ví dụ:
>
>
9
-Lệnh khai triển một biểu thức đại số:
Cú pháp : expand(expr)
Trong đó: expr: biểu thức đại số
Ví dụ:>
-Lệnh hiển thị giá trị của biểu thức:
Cú pháp: print(expr)
Trong đó: expr: biểu thức bất kỳ
Ví dụ:>
>
-Lệnh xuất một biểu thức theo một định dạng:
Cú pháp: printf(fmt,expr)
Trong đó:
-fmt: định dạng hiển thị
-expr: biểu thức được định dạng
Ví dụ:
>
>
x = +00.20
-Lệnh kiểm tra kiểu của một biểu thức:
Cú pháp: type(expr,t)
10
Trong đó:
-expr: biểu thức cần kiểm tra
-t: là tên loại như: numeric, set, string…
Ví dụ:
>
-Lệnh kết nối các biểu thức:
Cú pháp: cat(a,b,c,…)
Trong đó:
-a,b,c,… là các biểu thức bất kỳ
Ví dụ:
>
11
2.5 Chương trình
12
13
2.6 Các ví dụ minh họa
Ví dụ minh hoạ 1:
Để giải và biện luận theo tham số m, của phương trình bậc hai theo biến x:
Ta gõ lệnh trong maple như sau:
Kết quả:
Giai va bien luan so nghiem PT bac 2, 1 an x theo 1 tham so m
:
Ta co:
a = 0
b = m
c = -1
-PT da cho khong phai pt bac 2
Ví dụ minh hoạ 2:
Để giải và biện luận theo tham số m, của phương trình bậc hai theo biến x:
Ta gõ lệnh trong maple như sau:
Kết quả:
Giai va bien luan so nghiem PT bac 2, 1 an x theo 1 tham so m
:
14
Ta co:
a = 1
b = 2
c = -2
delta = b^2 - 4.a.c = 12
Xet delta:
-PT co 2 nghiem phan biet vi delta > 0 :
Ví dụ minh hoạ 3:
Để giải và biện luận theo tham số m, của phương trình bậc hai theo biến x:
Ta gõ lệnh trong maple như sau:
Kết quả:
Giai va bien luan so nghiem PT bac 2, 1 an x theo 1 tham so m
:
Ta co:
a = 1
b = m
c = 3*m
delta = b^2 - 4.a.c = m^2-12*m
Xet delta:
-TH 1: PT da cho vo nghiem khi: delta < 0 , tuc
la: voi moi m thoa dieu kien:
-TH 2: PT da cho co nghiem kep khi: delta = 0 ,
tuc la: voi moi m thoa dieu kien:
Khi {m = 0} , pt co nghiem kep: x = 0
15
Khi {m = 12} , pt co nghiem kep: x = -6
-TH 3: PT da cho co nghiem khi: delta > 0 , tuc
la: voi moi m thoa dieu kien:
PT co 2 nghiem phan biet :
x1 = (-b+sqrt(delta))/(2a)
x2 = (-b - sqrt(delta))/
(2a)
16
Tài liệu tham khảo
-Tập tài liệu bài giảng của Thầy Đỗ Văn Nhơn
-Mục Help trong Maple 16.
*Một số tài liệu được chia sẻ trên group :
- />-
17