You are on page 1of 8

Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

MỘT SỐ ỨNG DỤNG CỦA MAPLE VÀO CÁC BÀI TOÁN


KHẢO SÁT HÀM SỐ VÀ TÍCH PHÂN TRONG DẠY HỌC TOÁN
Ở TRUNG HỌC PHỔ THÔNG VÀ CAO ĐẲNG SƯ PHẠM
Th.S HỒ XUÂN THẮNG
Trường CĐSP Quảng Trị

Mục tiêu của bài báo là giới thiệu một số ứng dụng của phần mềm
Maple để phân tích quy trình giải bài toán khảo sát hàm số và tính một số
dạng tích phân thường gặp trong chương trình Toán trung học phổ thông
(THPT) và cao đẳng sư phạm (CĐSP).

Maple là một hệ thống tính toán trên các biểu thức đại số và minh hoạ toán học mạnh
mẽ của công ty Warterloo Maple Inc. (http://www.maplesoft.com). Maple ra đời năm 1991
đến nay đã phát triển đến phiên bản 12. Maple có cách cài đặt đơn giản, chạy được trê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. Từ phiên bản 7, 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 nước 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
trong dạy học toán trước đòi hỏi của thực tiễn và sự phát triển của giáo dục.
Trong quá trình tiếp cận và nghiên cứu Maple, chúng tôi 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.
Trong khuôn khổ bài báo này, chúng tôi xin trình bày một vài kết quả đạt được trong
việc sử dụng Maple để lập thủ tục giải các bài toán khảo sát hàm số và tích phân ở chương
trình toán THPT và CĐSP.
1. BÀI TOÁN KHẢO SÁT HÀM SỐ
Bài toán khảo sát hàm số là một trong những bài toán cơ bản trong chương trình
toán ở THPT, luôn có trong các đề thi tốt nghiệp THPT và tuyển sinh ĐH – CĐ hàng năm.
Các bước để khảo sát hàm số y = f(x):
1) Tìm tập xác định của hàm số.
2) Xét sự biến thiên của hàm số:
a) Chiều biến thiên: Tính đạo hàm y’, xét dấu y’ để suy ra chiều biến thiên đồ thị hàm
số.
b) Cực trị: Dựa vào chiều biến thiên tìm các điểm cực trị (nếu có) của đồ thị hàm số.
c) Tính lồi, lõm và điểm uốn: Tính đạo hàm y’’ và xét dấu y’’ để tìm điểm uốn của đồ
thị hàm số (nếu có).

Conference on Information Technology Application in Education and Training 17


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

d) Giới hạn: Tính các giới hạn của hàm số. Tìm các tiệm cận của đồ thị hàm số (nếu
có).
3) Vẽ đồ thị hàm số:
- Vẽ các đường tiệm cận của đồ thị hàm số (nếu có).
- Xác định các điểm đặc biệt của đồ thị hàm số: cực trị, các giao điểm của
đồ thị với các trục toạ độ (nếu có).
- Vẽ đồ thị hàm số.
Dựa vào các bước để khảo sát hàm số trên, bằng cách sử dụng các lệnh cho sẵn của
Maple chúng tôi đã lập được thủ tục giải bài toán khảo sát hàm số đối với các hàm số:
ax + b
y = ax3 +bx2 +cx +d; y = ax4 +bx2 +c; y =
cx + d
và một số bài toán liên quan như: biện luận số nghiệm của phương trình: f(x) = km +h
(m tham số; k và h cho trước), viết phương trình tiếp tuyến, tìm giao của đồ thị và đường
thẳng,…
Sau đây là đoạn chương trình trong Maple thể hiện thủ tục khảo sát hàm số bậc ba:
y = ax3 +bx2 +cx +d.
> #Hàm số bậc ba: y=ax3+bx2+cx+d#
#Nhập các giá trị a,b,c, d#
a:=-1:b:=-3:c:=0:d:=4:
(`* Khảo sát hàm số: `); y:=a*x^3+b*x^2+c*x+d;
(`1) Tập xác định: R`);
(`2)Sự biến thiên:`); dh1:=diff(y,x):
print(`a) Chiều biến thiên: y' `=dh1);
if ({fsolve(diff(y,x)=0)}={}and a>0)then (`y > 0 với mọi x.`);(`Hàm số luôn đồng
biến.`); end if;
if ({fsolve(diff(y,x)=0)}={}and a<0) then (`y < 0 với mọi x.`);(`Hàm số luôn nghịch
biến.`); end if;
if ({fsolve(diff(y,x)=0)}<>{}and a>0 and max(solve(diff(y,x)=0))=
min(solve(diff(y,x)=0))) then
(`Đạo hàm y' = 0 tại x`= min(solve(diff(y,x)=0)));
(`y >= 0 với mọi x.`);(`Hàm số luôn đồng biếún.`);
end if;
if ({fsolve(diff(y,x)=0)}<>{}and a<0 and max(solve(diff(y,x)=0))=
min(solve(diff(y,x)=0))) then
(`Đạo hàm y' = 0 tại x`= min(solve(diff(y,x)=0)));
(`y <= 0 với mọi x.`);(`Hàm số luôn nghịch biếún.`);
end if;

Conference on Information Technology Application in Education and Training 18


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

if ({fsolve(diff(y,x)=0)}<>{}and a>0 and max(solve(diff(y,x)=0))<>


min(solve(diff(y,x)=0))) then
dh1= factor(dh1);
(`Đạo hàm y' = 0 tại x`=solve(diff(y,x)=0));
(`Hàm số đồng biến trong các khoảng: `) (-
infinity,min(solve(diff(y,x)=0)))(`và`)(max(solve(diff(y,x)=0)),infinity);
(`Hàm số nghịch biến trong khoảng:`)
(min(solve(diff(y,x)=0)),max(solve(diff(y,x)=0)));
end if;
if ({fsolve(diff(y,x)=0)}<>{}and a<0 and max(solve(diff(y,x)=0))<>
min(solve(diff(y,x)=0))) then
dh1=factor(dh1);
(`Đạo hàm y' = 0 tại x`= solve(diff(y,x)=0)); (`Hàm số nghịch biến trong các
khoảng:`) (-infinity,min(solve(diff(y,x)=0)))(`và`)(max(solve(diff(y,x)=0)),infinity);
(`Hàm số đồng biến trong khoảng: `)
(min(solve(diff(y,x)=0)),max(solve(diff(y,x)=0)));
end if;
(`b) Cực trị:`);
if ({fsolve(diff(y,x)=0)}={})then (`Hàm số không có cực trị.`); end if;
if ({fsolve(diff(y,x)=0)}<>{} and max(solve(diff(y,x)=0))=
min(solve(diff(y,x)=0)))then (`Hàm số không có cực trị.`); end if;
if ({fsolve(diff(y,x)=0)}<>{}and a>0 and max(solve(diff(y,x)=0))<>
min(solve(diff(y,x)=0)))then
(`Hàm số có một điểøm cực đại và một điểm cực tiểu:`);
(` Điểm cực đại: `) (min(solve(diff(y,x)=0)),
simplify(eval(y,x=min(solve(diff(y,x)=0)))));
(`Điểm cực tiểøu: `) (max(solve(diff(y,x)=0)),
simplify(eval(y,x=max(solve(diff(y,x)=0)))));
end if;
if ({fsolve(diff(y,x)=0)}<>{}and a<0 and max(solve(diff(y,x)=0))<>
min(solve(diff(y,x)=0)))then
(`Hàm số có một điểm cực tiểu và một điểm cực đại:`);
(` Điểm cực tiểu: `) (min(solve(diff(y,x)=0)),
simplify(eval(y,x=min(solve(diff(y,x)=0)))));
(` Điểm cực đại: `) (max(solve(diff(y,x)=0)),
simplify(eval(y,x=max(solve(diff(y,x)=0)))))
end if;
(`c) Giới hạn:`);

Conference on Information Technology Application in Education and Training 19


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

Limit(y,x=-infinity)=limit(y,x=-infinity);
Limit(y,x=+infinity)=limit(y,x=+infinity);
(`Đồ thị không có tiệm cận.`);
(`d) Tính lồi, lõm và điểm uốn:`);
(`y''`=diff(diff(y,x),x));
(`Điểm uốn:U`) (solve(diff(diff(y,x),x)),simplify(eval(y,x=solve(diff(diff(y,x),x)))));
if (a>0)then (`Hàm số lồi trong khoảng: `)(-infinity,solve(diff(diff(y,x),x)));
(`Hàm số lõm trong khoảng: `)(solve(diff(diff(y,x),x)),infinity)
else (`Hàm số lõm trong khoảng: `)(-infinity,solve(diff(diff(y,x),x)));
(`Hàm số lồi trong khoảng: `)(solve(diff(diff(y,x),x)),infinity)
end if;
(`3) Đồ thị: Đồ thị có tâm đối xứng là điểm uốn.`);
(`Đồ thị cắt trục Ox tại các điểm có hoành độ: ` (fsolve(y=0)));
(`Đồ thị cắt trục Oy tại điểm ` (0, d));
plot(y,x=-5..5,-10..10)
Khi thực hiện ta chỉ cần nhập các giá trị a, b, c, d và ra lệnh, Maple sẽ thực hiện thủ
tục trên và cho kết quả như sau (ở đây chúng tôi sử dụng hàm số đã nhập ở trên)

Conference on Information Technology Application in Education and Training 20


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

2. Tính một số dạng tích phân: Trong chương trình toán THPT và CĐSP chúng ta
gặp nhiều dạng tích phân mà khi tính toán có một thuật toán (đổi biến, tích phân từng
phần,…) có sẵn. Vì vậy, bằng việc sử dung Maple, chúng tôi đã lập được qui trình tính một
số tích phân như thế, cụ thể là các dạng sau:

Dạng Phương pháp giải


b Tích phân từng phần:
∫ P(x) sin(kx)dx
a u = P(x); dv = sin(kx)dx
b Tích phân từng phần:
∫ P(x)cos(kx)dx
a u = P(x); dv = cos(kx)dx
b Tích phân từng phần:
∫ P(x)e sin(kx)dx
mx

a u = P(x); dv = emx sin(kx)dx


b Tích phân từng phần:
∫ P(x)e cos(kx)dx
mx

a u = P(x); dv = emx cos(kx)dx


b Tích phân từng phần:
∫ P(x) ln (kx)dx
a u = ln(kx); dv = P(x)dx
b Tích phân từng phần:
∫ P(x)e
kx
dx
a u = P(x); dv = ekxdx
b Tích phân từng phần:
∫ P(x) arctan(kx)dx
a u = arctan(kx); dv = P(x)dx

Conference on Information Technology Application in Education and Training 21


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

b Tích phân từng phần:


∫ P(x) arcsin(kx)dx
a u = arcsin(kx); dv = P(x)dx
b
P(x) P(x)
∫ Q(x)dx
a
Phân tích
Q(x)
thành tổng của các

phân thức đơn giản nhất.


Trong bảng này: P(x), Q(x) là các đa thức hệ số thực; a, b, k, m là các số thực.
b
Sau đây là đoạn chương trình thể hiện chu trình tính tích phân dạng ∫ P(x) sin(kx)dx :
a

> (`Tính tích phân với hàm dưới dấu tích phân dạng: P(x)sin(ax); với P(x) là một
đa thức. `);
(`Nhập P(x), a và các cận c1< c2`): P1:= 5*x^2: a:=4: c1:=0: c2:=pi/2:
(`*Tính tích phân: ` ( Int(P1*sin(a*x),x= c1..c2)));
if (degree(P1) = 0) then
Int(P1*sin(a*x),x= c1..c2)= simplify(Eval(int(P1*sin(a*x),x),x=[c1,c2]));
print(`= ` (simplify(int(P1*sin(a*x),x=c1..c2))));
end if;
u:=P1:
if (degree(diff(P1,x))<>0 and degree(P1)<>0) then
(`Ta sẽ tính tích phân này bằng phương pháp tích phân từng phần:`);
(`Đặt: u = `(P1)); (` dv = ` (sin(a*x)*dx)); (`Ta có: `);
du:=diff(P1,x) ;v:=int(sin(a*x),x);
Int(P1*sin(a*x),x= c1..c2)= Eval(u*v,x=[c1,c2]) + Int(-du*v,x=c1..c2) ;
(`= ` (value(eval(u*v,x=c2)) -value(Eval(u*v,x=c1))+ Int(-du*v,x=c1..c2)));
(`Để tính tích phân :` (Int(-du*v,x=c1..c2))); (` ta đặt u = ` ((1/a)*du)); (`dv = ` (-
a*v*dx));
( `và làm tương tự như trên bằng phương pháp tích phân từng phần, cho đến khi du
= const.`);
(`Kết quả: ` (Int(P1*sin(a*x),x=c1..c2)=int(P1*sin(a*x),x=c1..c2)));
end if;
if (degree(diff(P1,x))=0 and degree(P1)<>0) then
(`Ta sẽ tính tích phân này bằng phương pháp tích phân từng phần:`);
(`Đặt: u = `(P1)); (` dv = ` (sin(a*x)*dx));
(`Ta có: `); du:=diff(P1,x) ;v:=int(sin(a*x),x);

Conference on Information Technology Application in Education and Training 22


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

Int(P1*sin(a*x),x=c1..c2)= Eval(u*v,x=[c1,c2]) + Int(-v*du,x=c1..c2);(`= `


(value(eval(u*v,x=c2)) -value(Eval(u*v,x=c1))+ Eval(int(-v*du,x),x=[c1,c2])));
print(`= `( eval(u*v,x=c2)-eval(u*v,x=c1) + int(-v*du,x=c1..c2)))
end if;
Với việc nhập các giá trị như trên, ta có kết quả:

Conference on Information Technology Application in Education and Training 23


Quang Tri Teacher Training College, Vietnam – Ubon Ratchathani Rajabhat University, Thailand

KẾT LUẬN
Bài báo này đã trình bày được một vài ứng dụng của Maple trong dạy học toán ở
THPT và CĐSP. Từ những kết quả này, chúng tôi nhận thấy rằng nếu khai thác tốt các tính
năng của Maple sẽ đem lại một công cụ rất hiệu quả trong dạy học, trong nghiên cứu khoa
học và trong nhiều lĩnh vực khác nữa.
Để kết thúc bài viết, chúng tôi xin được chia sẻ một vài ý tưởng về việc sử dụng
Maple cho các hoạt động giảng dạy của giáo viên toán (theo PGS.TS Nguyễn Chánh Tú –
Khoa Toán - Trường ĐHSP Huế):
1) Dùng Maple để soạn các hệ thống bài tập, đề thi theo ý muốn.
2) Kiểm tra các kết quả của các bài toán tính toán để dự đoán các chứng minh.
3) Soạn giáo án, vẽ hình chính xác phục vụ cho giảng dạy và các hoạt động
chuyên môn.
4) Công cụ hỗ trợ bồi dưỡng học sinh, sinh viên giỏi hoặc tập dượt nghiên cứu
khoa học.
5) Là nguồn dữ liệu phong phú để lựa chọn các kịch bản lên lớp.
6) Maple là một nguồn mở cho phép người dùng tạo ra các lệnh và chương trình
riêng của mình bằng các modun lệnh có sẵn và ráp nối bằng các lệnh đơn giản.

TÀI LIỆU THAM KHẢO


[1] Phạm Huy Điển, Tính toán, lập trình và giảng dạy toán học trên Maple – NXB KH và
KT, 2002.
[2] Nguyễn Chánh Tú, Ứng dụng Maple trong đổi mới phương pháp học tập và giảng dạy
toán học - Kỷ yếu hội thảo KH – ĐHSP Huế, 2007.
[3] Nguyễn Chánh Tú, Giáo trình Maple – ĐHSP Huế.
[4] Hồ Xuân Thắng, Bài giảng:Sử dụng phần mềm dạy học toán – CĐSP Quảng Trị, 2008.
[5] Các website: http://www.maplesoft.com; http://maplevn2008.wordpress.com

Conference on Information Technology Application in Education and Training 24

You might also like