Transcript
Page 1: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

17

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ó).

Page 2: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

18

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ố:

y = ax3 +bx

2 +cx +d; y = ax

4 +bx

2 +c; y =

ax b

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 +bx

2 +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;

Page 3: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

19

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:`);

Page 4: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

20

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)

Page 5: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

21

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

a

P(x)sin(kx)dx∫ Tích phân từng phần:

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

b

a

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

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

b

mx

a

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

u = P(x); dv = emx

sin(kx)dx

b

mx

a

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

u = P(x); dv = emx

cos(kx)dx

b

a

P(x) ln (kx)dx∫ Tích phân từng phần:

u = ln(kx); dv = P(x)dx

b

kx

a

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

u = P(x); dv = ekx

dx

b

a

P(x) arctan(kx)dx∫ Tích phân từng phần:

u = arctan(kx); dv = P(x)dx

Page 6: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

22

b

a

P(x)arcsin(kx)dx∫ Tích phân từng phần:

u = arcsin(kx); dv = P(x)dx

b

a

P(x)dx

Q(x)∫ Phân tích P(x)

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.

Sau đây là đoạn chương trình thể hiện chu trình tính tích phân dạng

b

a

P(x)sin(kx)dx∫ :

> (`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);

Page 7: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

23

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ả:

Page 8: ite2009vi-02_ho_xuan_thang

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

Conference on Information Technology Application in Education and Training

24

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