Tải bản đầy đủ (.doc) (23 trang)

ỨNG DỤNG của MAPLE vào 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

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 (178.15 KB, 23 trang )

MỤC LỤC
MỤC LỤC 1
CHƯƠNG I 2
TỔNG QUAN MAPLE 2
CHƯƠNG II 12
ỨNG DỤNG CỦA MAPLE VÀO CÁC BÀI TOÁN 12
KHẢO SÁT HÀM SỐ VÀ TÍCH PHÂN 12
CHƯƠNG III 22
KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
LỜI NÓI ĐẦU
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. ().
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 dễ 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, em nhận thấy rằng ngoài các tính năng tính
toán và minh họa 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 luận văn này, em 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 Trung học phổ thông.
Em xin chân thành cảm ơn PGS.TS. Đỗ Văn Nhơn, giảng viên môn học
lập trình Symbolic đã truyền đạt những kiến thức vô cùng quý báu, em cũng xin


cảm ơn sự giúp đỡ, dạy bảo tận tình của các thầy cô giáo và những bạn học
trong suốt quá trình học tập cũng như thực hiện và hoàn thành luận văn. Do thời
gian và khả năng có hạn nên bài luận văn còn nhiều hạn chế trong thời gian tới
em sẽ tiếp tục nghiên cứu các vấn đề trong môn học mà trong bài luận văn này
chưa đề cập đến. em rất mong nhận được sự góp ý của các thầy cô và các bạn
quan tâm.
Em xin chân thành cảm ơn!
Trần Xuân Thái
CHƯƠNG I
TỔNG QUAN MAPLE
I. Lịch sử phát triển của Maple
Khái niệm đầu tiên về Maple xuất phát từ một cuộc họp vào tháng 11 năm
1980 tại Đại học Waterloo. Những nhà nghiên cứu tại đại học muốn mua một
máy tính đủ mạnh để chạy Macsyma. Thay vào đó, người ta quyết định họ sẽ
phát triển hệ thống đại số máy tính riêng để có thể chạy được những máy tính có
giá thành hợp lý hơn. Do đó, dự án bắt đầu với mục tiêu là tạo ra một hệ thống
đại số hình thức mà các nhà nghiên cứu và sinh viên có thể truy cập đựơc.
Sự phát triển đầu tiên của Maple được tiến hành rất nhanh với phiên bản
hạn chế đầu tiên xuất hiện vào tháng 12 năm 1980. Những nhà nghiên cứ đã thử
nghiệm và loại bỏ nhiều ý tưởng khác nhau để tạo ra một hệ thống liên tục và
cải tiến. Maple được trình diễn đầu tiên tại những hội nghị bắt đầu vào năm
1982.
2
Đến cuối năm 1983 trên 50 trường đại học đã cài Maple trên máy của họ.
Do số lượng hỗ trợ và yêu cầu giấy phép lớn vào năm 1984 nhóm nghiên cứu đã
sắp xếp với VATCOM Products Inc để cấp phép và phân phối Maple.
Vào năm 1988 do số lượng hỗ trợ ngày càng tăng, Waterloo Maple Inc
được thành lập. Mục tiêu đầu tiên của công ty là quản lý những bản phân phối
phần mềm. Cuối cùng công ty cũng phải mở ra phòng R&D ở đó khá nhiều sự
phát triển cho Maple được thực hiện đến ngày nay. Sự phát triển đáng kể của

Maple tiếp tục diễn ra tại những phòng thí nghiệm trường đại học, bao gồm:
Phòng thí nghiệm tính toán hình thức tại Đại học Waterloo; Trung tâm nghiên
cứu tính toán hình thức Ontario tại Đại học Tây Ontario; và những phòng thí
nghiệm khắp nơi trên thế giới.
Vào năm 1989 giao diện đồ họa người dùng đầu tiên của Maple được phát
triển và bao gồm trong bản 4.3 dành cho Macintosh. Những phiên bản trước của
Maple chỉ gồm giao diện dòng lệnh với ngõ ra hai chiều. Bản X11 và Windows
với giao diện mới tiếp bước vào năm 1980 với Maple V.
Vào năm 1999 với việc phát hành Maple 6, Maple đã đưa một số thư viện
số học NAG, đựơc mở rộng chính xác ngẫu nhiên.
Vào năm 2003 giao diện “chuẩn” hiện nay được giới thiệu trong Maple 9.
Giao diện này được viết chủ yếu băng Java (mặc dù có nhiều phần, nhưng luật
cho việc gõ công thức toán học đựơc viết bằng ngôn ngữ Maple). Giao diện
Java bị phê phán là chậm; những sự phát triển được thực hiện trong các bản sau,
mặc dù tài liệu Maple11 documentation khuyến cáo giao diện (“cổ điển”) trước
đây dành cho với bộ nhớ vật lý ít hơn 500MB. Giao diện cổ điển này không còn
được bảo trì.
Giữa năm 1995 và 2005 Maple đã mất khá nhiều thị phần vào tay đối thủ
do giao diện ngừơi dùng yếu hơn. Những năm 2005, Maple giới thiệu “chế độ
văn bản” mới, như một phần giao diện chuẩn. Tính năng của chế độ này là phép
toán được đưa vào bằng ngõ nhập hai chiều, do đó nó xuất hiện tương tự như
công thức trong sách.
3
Vào năm 2008 Maple 12 đã có thêm những tính năng người dùng giống
như mathematica gồm có những kiểu trình bầy theo mục đích đặc biệt, quản lý
phần đầu và cuối trang, so trùng mở đóng ngoặc, vùng thực hiện tự động khởi
tạo, mẫu hoàn thành lệnh, kiểm tra cú pháp và vùng tự động khởi tạo. Những
tính năng khác được thêm để làm cho Maple dễ dùng hơn như một hộp công cụ
Maple.
II. Tìm hiểu về phần mềm Maple

1. Các tính năng cơ bản của Maple
Có thể viết tắt các tính năng cơ bản của Maple như sau:
- Là một hệ thống các 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ông cụ minh họa hình học thuận tiện gồm: vẽ đồ thị tĩnh và
động của các đường và mặt được cho bởi các hàm tùy ý trong nhiều hệ toạ độ
khác nhau;
- 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ư Latex, 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;
- Một trợ giáo hữu ích cho học sinh và sinh viên trong việc tự học.
2. Một số gói thủ tục
2.1. Student
Gói lệnh Student hỗ trợ cho việc dậy và học toán
- Từ Maple 8, gói lệnh Student được phát triển từ gói lệnh Student trước
đó nhằm hỗ trợ cho việc dậy học và học toán ở đại học và phổ thông. Khai thác
khả năng của gói lệnh này sẽ đem đến cho giáo viên rất nhiều công cụ hỗ trợ
mới trong phương pháp dậy học. Có thể nói rằng gói lệnh này đã đề cập đến tất
4
cả các nội dung toán học của đại học và phổ thông, cung cấp nhiều lệnh và thủ
tục cho các phép toán và algorithm xuất hiện trong chương tình giảng dậy, cung
cấp nhiều công cụ tương tác dưới dạng Maple và hỗ trợ việc làm
- Gói lệnh Student có 3 gói lệnh con là
+ Calculusl
+ LinearAlgebra
+ Precalculus
Để nạp từng gói lệnh làm như sau: With (Student [Precalculus]:

- Gói lệnh con:
Precalculus1: là gói lệnh quan trọng nhất của Student. Nó chứa các công cụ
hỗ trợ từ hướng dẫn thực hiện các phép tính vi phân cho đến khảo sát và vẽ đồ
thị hàm; từ việc minh họa vẽ tiếp tuyến đừng cong cho đến việc tính diện tích,
thể tích mặt tròn xoay…
- Sử dụng các Tutor trong các gói của Student và các hỗ trợ tính toán từng
bước
Ví dụ: Tính tích phân
>With (Student[Precalculus1]:
IntTutor()
Sau khi nhấn Enter, một cửa sổ Maple hiện ra, cho phép ta nhập hàm và
các khoảng cần tính tích phân (nếu ta tính tích phân xác định).
2.2. Gói Plots và Plottools
Gói Plots chứa các lệnh cho phép vẽ hình trong không gian 2 và 3 chiều,
gói Plotsttools công cụ chứa các lệnh cho phép làm việc với các đối tượng hình
ảnh:
a. Sự vận động của đồ thị
animate3d(ham_co_tham_so,x=gt_dau gt_cuoi,y=gt_dau gt_cuoi,y=gt
_dau gt_cuoi,tham_so=gt_dau gt_cuoi);
Ý nghĩa: Hiển thị sự biến đổi, vận động của đồ thị khi tham số thay đổi
trong khoảng cho trước
b. Lệnh plots[display]()
5
Cú pháp:
plots [display](a,b,c…insequence=true(fase),options;
plots [display] (L…insequence=true(fase),options;
plots [display] (A, options);
plots [display] (P, options);
Các tham số: a, b, c…là các đồ thị riêng biệt
L: dẫy (list) các đồ thị (ví dụ L:=a, b, c;)

A: Mảng một chiều hoặc hai chiều của các đồ thị
P: Đồ thị dưới dạng vận động
Insequence=true (fase): nó cho phép hiện từng đồ thị trong dẫy
(list) theo trình tự của dẫy
Options: các tính chất cơ bản của các lệnh vẽ như plot/options
c. Lệnh plottools[rotate](): quay đồ thị 2D, 3D
Cú pháp:
plottools [rotate](p,ang,pt,2d): quay một góc ang quanh điểm có toạ
độ pt_2d .
plottools[rotate](q, alpha, beta,gamma);quay đồ thị q quanh trục x,
y, z với các góc tương ứng.
plottools[rotate](q,alpha, [pt_3d1_pt_3d2]); quay đồ thị q quanh
trục qua [pt_3d1_pt_3d2]
Các tham số:
p: cấu trúc đồ thị 2D
q: cấu trúc đồ thị 3D
ang: góc quay
pt_2d: tọa độ điểm làm gốc
alpha, beta,gamma: gốc quay trục x,y,z.
[pt_3d1,pt_3d2]:
d. Lệnh plottools[scale](): co giãn đồ thị
Cú pháp:
Plottools [scale](p,a,b,pt_2d);
6
Plottools [scale](p,a,b,c,pt_3d);
Các tham số:
a,b,c: là hệ số co giãn theo các trục x,y,z.
pt_2d,pt_3d: tâm co giãn
e. Lệnh plottools[translate](p,a,b): Lệnh tịnh tiến đồ thị
Lệnh này tác động lệnh đồ thị p cho kết quả là tịnh tiến đồ thị này đến toạ

độ mới (a,b)
Cú pháp:
plottools [translate](p,a,b); “dịch chuyển tịnh tiến trong 2D”
plottools [translate](q,a,b,c); “dịch chuyển tịnh tiến trong 3D”
Các tham số:
p,q: cấu trúc đồ thị cần dịch chuyển tịnh tiến
a,b,c: là các tham số thực (chính tọa độ mới)
đ. Đưa chữ vào chuyển động
Trong cả hình vẽ 2 và 3 chiều bằng gói plot chúng ta đều có thể đưa tiêu
đề của hình vẽ vào bằng lựa chọn options: title= “text”. Trong đó “text” là một
xâu ký tự.
Chúng ta cũng có thể chỉ định phông chữ và cỡ chữ cho tiêu đề đó bằng
options: titlefont
Mặc định thì title chỉ hiển thị trên một dòng, điều đó sẽ khó khăn nếu title
quá dài. Để title có thể trải trên 2 hay nhiều dòng, chúng ta có thể thêm lệnh \n
vào trong “text” để đưa đoạn text tiếp theo xuống dòng mới.
2.3 Một số lệnh
2.3.1 Cấu Trúc Dữ liệu dẫy
Lệnh tạo dẫy
seq(f(i),i=low hight);
Khai báo này sẽ tạo ra một dẫy bằng cách thay thế giá trị i trong f(i) bởi
các số nguyên liên tiếp nằm trong giới hạn từ low đến hight seq (f(x),
x=expression;
7
Khai báo này sẽ tạo ra một dẫy mà mỗi thành phần của nó đựợc sinh ra
bằng cách cho hàm f tác dụng lên một thành phần (operand) của biểu thức
expression. Giá trị của expression thường là một tập hợp hay danh sách nào đó,
và cũng có thể là bất cứ cấu trúc dữ liệu nào khác mà op có thể áp dụng đựơc,
chẳng hạn như tổng hay tích.
Dẫy (senquence) là một nhóm những đối tựơng của Maple được sắp xếp

có thứ tự và ngăn cách nhau bởi dấu phẩy. Chẳng hạn như a,b,c là một biểu thức
dẫy. Dẫy có thể được gán làm giá trị cho các biến, ví dụ ta có thể gán dẫy a,b,c
cho biến x bằng lệnh: x:=a,b,c
Dẫy được dùng vào nhiều mục đích khác nhau trong Maple: Dẫy được
dùng để xây dựng tập hợp và danh sách, dẫy cũng được dùng trong việc truyền
đối số cho các hàm có nhiều tham biến. Một số hàm Maple cho kết quả dưới
dạng dẫy. Chẳng hạn hàm solve() đôi khi cho một dẫy các đáp số khi bài toán có
nhiều hơn một nghiệm. Khi hàm op() nhận đối số là một biểu thức, nó cũng cho
một dẫy bao gồm tất cả các thành phần trong biểu thức nhập vào. Ký hiệu đặc
biệt NULLthay thế cho dẫy trống (dẫy không chứa gì cả). Sự định giá hoàn hảo
(full evaluation) được Maple tự động áp dụng trong quá trình tạo ra dẫy, do vậy
các dẫy được đơn giản bằng một dẫy. Chẳng hạn biến s1 đựợc gán bởi dẫy
a,b,c trong đó các biến a,b,c là các biến chưa đựơc gán giá trị thì lệnh s2=s1,d sẽ
gán biến cho s2 dẫy a,b,c,d và s3:=s1NULL, s1 sẽ gán cho biến s3 dẫy
a,b,c,a,b,c.
Các hàm op() và nops() không được phép sử dụng cho dẫy. Nguyên nhân
là do Maple dùng các dẫy làm đối số truyền cho các hàm. Do đó lời gọi hàm
op(s1) được định giá bằng op( a,b,c), nhưng do hàm op chỉ nhận nhiều nhất 2 đối
số: đối số đầu là một số nguyên hay một phạm vi số (tức là một mảng số nguyên
liên tiếp, thí dụ 2…4 là mảng số nguyên trong phạm vi từ 2…4), còn đối số thứ
2 là một biểu thức do đó lệnh trên sẽ bị Maple báo lỗi. Hàm seq() rất thuận tiện
cho việc tạo ra một dẫy các phần tử phụ thuộc tham số. Như trình bầy ở phần
khai báo seq()sẽ tạo ra một dẫy các phần tử theo một công thức hay một phép
gán nào đó. Thông qua sự biến đổi các chỉ số trong phạm vi các số nguyên cho
8
một biểu thức ta thu đực một dẫy (hay nói cách khác trong trường hợp này có thể
xem dẫy như là tập giá trị của một hàm trên một dải số nguyên nào đó). Lệnh
seq() thực hiện khá giống lệnh sum() trong việc áp dụng mỗi giá trị chỉ mục
trong phạm vi cho trước vào hàm để thu được các phần tử của dẫy. Lệnh seq()
tạo ra một dẫy bằng cách tác dụng hàm f lên mỗi thành phần của danh sách cho

trước x:
2.3.2 Vòng lặp for
Vòng lặp là cấu trúc được ứng dụng rộng dãi. Trong phần này chúng ta
quan tâm tới các sử dụng nó để tạo dẫy cấu trúc đồ thị để hiển thị như hình ảnh
trong sản xuất hoạt ảnh. Vòng lặp rất hữu ích khi cấu trúc của dẫy là đủ phức tạp
mà các thủ tục seq không thể biểu diễn rõ ràng . Vòng lặp for cung cấp một cấu
trúc lặp lại việc thực hiện một nhóm các câu lệnh. Một trong các dạng của nó là
số lần lặp đựơc chỉ ra bằng một biến có quy luật như số đếm.
Cú pháp chung là:
Statement1;
Statement2;

Statementk;
End
Giả thiết rằng j là số dương và biến lặp i được khởi tạo từ m, nếu i<=n thì
các câu lệnh từ 1 tới k trong thân vòng lặp đựơc thực hiện. Sau đó i được tăng
lên bởi j và nếu i<=n thì dẫy các câu lệnh trong thân vòng lặp được thực hiện
một lần nữa. Nó còn đựợc tiến hành tới khi kiểm tra i<=n là sai, tại điểm đó thân
vòng lặp không đựợc thực hiện nữa và phép lặp kết thúc. Bất kỳ một giá trị mà
có thể được yêu cầu để xác định n chỉ được thực hiện một lần khi bắt đầu vòng
lặp, và không thay đổi sau mỗi lần lặp. Chỉ số mặc định lặp là 1 j=1 và có thể bỏ
qua đặc tả by j. Thực tế m được mặc định là 1 cũng khá nhiều, khi đó đặc tả
from m cũng có thể bỏ qua trường hợp này. Nếu j là một số âm thì i sẽ đếm
ngược từ m đến n và kiểm tra để cho vào vòng lặp mỗi lần i>=n.
9
Thông thường bản chất của việc lặp của một vòng lặp là sử dụng j giá trị
tích lũy của cái gì đó hoặc của đối tượng.
Ví dụ:
Trong phương pháp tương tự ta có thể sử dụng vòng lặp để sinh ra một
dẫy. Một dạng khác của vòng lặp for là thực hiện vòng lặp thân vòng lặp với mỗi

giá trị của biến điều khiển trong khoảng T, T là một dẫy, danh sách hay tập hợp.
Bất cứ giá trị nào có thể đựơc yêu cầu xác định T chỉ được thực hiện duy nhất
một lần lúc bắt đầu vòng lặp và không thay đổi trong quá trình lặp.
Cú pháp chung là:
For i in T do
Statement1;
Statement2;

Statementk;
End do;
2.3.3 Vòng lặp while
While condition do
Statement1;
Vòng lặp while thực hiện lặp nhóm câu lệnh miễn là điều kiện lặp còn
đúng.
Cú pháp chung là:
Statement2;

Statementk;
end do
Nếu điều kiện lặp sai, thân vòng lặp sẽ không được thực hiện và vòng lặp
kết thúc.
Maple cũng cho phép nhóm câu lệnh trong thân chương trình lặp là rỗng.
Nó cũng cho phép dùng hỗn hợp lặp for…while
10
11
CHƯƠNG II
Ứ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
I. Bài toán khảo sát hàm số

1. Giới thiệu bài toán
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 ở Trung học phổ thông, luôn có trong các đề thi tốt nghiệp và
Trung học phổ thông 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ó).
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 tọa độ (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ố:
12
y = ax
3
+bx
2
+cx +d; y = ax
4

+bx
2
+c; y =
dcx
b ax
+
+
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,…
2. 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: > fsolve (equ, var)
Trong đó: + equ: là biểu thức của phương trình, bất phương trình
+ var: là biến số (ẩn)
Ý nghĩa: Lệnh này sau khi thực hiện sẽ cho ta nghiệm của phương tình,
bất phương trình ta đưa vào.
- Lệnh tín đạo hàm:
Cú pháp: >diff (equ, var)
Trong đó: + equ: là biểu thức của phương trình
+ var: là biến số để tính đạo hàm
Ý nghĩa: Lệnh này sau khi thực hiện sẽ cho ta đạo hàm của phương trình
mà ta đưa vào
- Lệnh rút gon biểu thức:
Cú pháp: simplify (equ)
Trong đó: equ: biểu thức cần rút gọn
Ý nghĩa: Viết lại biểu thức dưới dạng rút gọn
- Lệnh tính giá trị của một biểu thức:
Cú pháp: eval (equ, val)
Trong đó: + equ: là biểu thức

+ val: giá trị biến đưa vào biểu thức
3. Chương trình
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:
13
y = ax
3
+bx
2
+cx +d.
> #Hàm số bậc ba: y=ax
3
+bx
2
+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;
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)));
14
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áckhoả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;
15
(`c) Giới hạn:`);
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ểmuốn:U`)
(solve(diff(diff(y,x),x)),simplify(eval(y,x=solve(diff(diff(y,x),x)))));
if(a>0)then (`Hàmsố 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)
end;
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)
4. Lưu thủ tục
Để lưu thủ tục trở thành thư viện ở dạng file ta dùng lệnh
Save khao_sat_ham_so, `c:\\khaosat.m`;
5. Sử dụng thủ tục đã lưu
Để nạp thư viện đã có sẵn vào bộ nhớ ta dùng lệnh
Read `c:\\khaosat.m`;
Lúc này muốn thực hiện công việc ta chỉ cần gõ lệnh: khao_sat_ham_so
(a, b, c, d);
16
Trong đó (a, b, c, d) là các tham số trong phương trình
6. Ví dụ áp dụng
* Khảo sát hàm số:
y = -x
3
– 3x
2
+ 4
1) Tập xác định: R
2) Sự biến thiên:
a) Chiều biến thiên: y’ = -3x
2
– 6x = -3x(x+2)
Đạo hàm y’ = 0 tại x = (0,-2)
Hàm số nghịch biến trong khoảng (-∞, -2) và (0,∞)

Hàm số đồng biến trong khoảng (-2, 0)
b) Cực trị:
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: (-2,0)
Điểm cực đại: (0,4)
c) Giới hạn:
Đồ thị không có tiệm cận.
d) Tính lồi, lõm và điểm uốn:
y’’ = -6x – 6
Điểm uốn: U(-1,2)
Hàm số lõm trong khoảng: (-∞,-1)
Hàm số lồi trong khoảng: (-1, ∞)
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 (-2,0) và (1,0)
Đồ thị cắt trục Oy tại điểm (0,4).
Đồ thị hàm số được vẽ như sau
17
II. 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ử dụng 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

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


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

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

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

P(x) ln (kx)dx

a
b

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

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

P(x) arcsin(kx)dx
a
Tích phân từng phần:
u = arcsin(kx); dv = P(x)dx
b


Q(x)
P(x)
dx
a

Phân tích
Q(x)
P(x)
thành tổng 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 chương trình tính tích phân dạng
b

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;
19
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 dat 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);
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ả:
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.
• Tính tích phân:
20
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=(5x
2
)
dv = (sin(4x)dx)
Ta có du = 10xdx
v = - cos(4x)
=
x=[0, ]
+
=
Để tính tích phân
Ta đặt u = [

dv = (cos(4x)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ả:
= + cos(2
21
CHƯƠNG III
KẾT LUẬN
Bài luận văn này đã trình bầy được một vài ứng dụng của Maple trong
dậy học toán ở Trung học phổ thông. Từ những kết quả này, em 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 luận văn, em 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.
- Dùng Maple để soạn các hệ thống bài tập, đề thi theo ý muốn.
- 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.
- 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.
- 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.
- Là nguôn dữ liệu phong phú để lựa chọn các kịch bản lên lớp.
- 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.
22
TÀI LIỆU THAM KHẢO
[1] M.B. monagan, K.O. Geddes, G. Labahn, S.M. Vorkoetter, J.
Maccarron, P. Demarco. Maple 9 – Introductory Programming Guide. Waterloo
Maple Inc. (2003).

[2] M.B. monagan, K.O. Geddes, G. Labahn, S.M. Vorkoetter, J.
Maccarron, P. Demarco. Maple 9 – advanced Programming Guide. Waterloo
Maple Inc. (2003).
[3] Heck .A, Introduction to Maple,Springer -Verlag, New York, Inc. 1996.
[4] Hoàng Kiếm, Giáo trình Các hệ Cơ sở Tri thức, NXB ĐHQG, 2006.
[5] Stuart Russell & Peter Norvig, Artificial Intelligence – A modern
approach (second edition), Prentice Hall, 2003.
Nhon Van Do, Model for Knowledge Bases of Computational Objects,
IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 3, No 8,
May 2010
[6] 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.
[7] Nguyễn Chánh Tú, Ứng dụng Maple trong đổii mới phương pháp học
tap và giảng dạy toán học.
[8] Cácwebsite: ;

23

×