Tải bản đầy đủ (.pdf) (27 trang)

Maple cho việc dạy và học toán

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 (554.32 KB, 27 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA TOÁN TIN ỨNG DỤNG
----- -----

TIỂU LUẬN
Đề tài: Maple cho việc dạy và học toán
Giáo viên hướng dẫn: Nguyễn Hữu Điển
Sinh viên thực hiện

: Đặng Văn Trường

Lớp: Toán – Tin 2-k51.

Hà Nội, tháng 11 năm 2009


Phần I. Cơ sở lý thuyết
I. Giới thiệu
1. Các tính năng cơ bản của Maple
• 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ệc đượ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ẽ đồ 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ệ tọa độ 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. Xây dựng và hiển thị một khung hình động
Hình ảnh là một thứ trực quan và dễ tác động vào não chúng ta nhất, vì
vậy trong giảng dạy người ta luôn cố gắng tạo ra và mô phỏng bằng hình
ảnh để hiệu quả cao tốt. Hiện nay có rất nhiều ứng dụng tạo ra những hoạt
cảnh rất sinh động và thứ vị như Flash , Java …, trong Maple cũng là một
công cụ rất thuật lợi hỗ trợ tạo ra các ảnh động, thông thương có 2 cách
để tạo ảnh động trong Maple:
9 Dùng các hàm có sẵn trong thư viện của maple: animate,
animatecurve, and animate3d có trong gói plot
9 Hoặc tự xây dựng các thủ tục bao gồm: tạo ra các dãy frame liên
tiếp sau đó xếp chồng chúng lên nhau và hiển thị đồng thời dãy liên
tục các hình ảnh.


II. Một số gói thủ tục
1. Plot 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 plottools 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,
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]()
Cú pháp:
plots[display](a,b,c...,insequence=true(false),options);
plots[display](L,insequence=true(false),options);

plots[display](A,options);
plots[display](P,options);
Các tham số:
a,b,c... là 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(false): 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ó tọa độ
pt_2d.


plottools[rotate](q,alpha,beta,gamma); quay đồ thị q quanh truc 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 quanh 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);

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 tọa độ
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 số thực (chính là tọa mới)

e.Đư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. 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 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 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 trình giảng dạy, cung cấp nhiều công cụ tương tác dưới dạng
Maplet và hỗ trợ việc làm
từng bước các phép toán cơ bản của vi tích phân.
• Gói lệnh Student có 3 gói lệnh con là
9 Calculus1
9 LinearAlgebra
9 Precalculus

Để nạp từng gói lệnh, làm như sau: with(Student[Precalculus]):


• Gói lệnh con :
Calculus1: 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 tích 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,v.v...
• 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ích tích phân
> with(Student[Calculus1]):
IntTutor()
Sau khi nhấn Enter, một cửa sổ Maplet 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 là tích phân xác định).

III. Một số lệnh thường dùng
1. Những câu lệnh có điều kiện

Một cấu trúc điều kiện if:
ƒ Các câu lệnh thực hiện nếu điều kiện đúng. Ngược lại, các câu lệnh
bị bỏ qua.
if condition then
statements
fi;
ƒ Khả năng có thể xảy ra là điều kiện có thể đúng hoặc sai:
if condition then
statements group1
else
statements group2
fi;
ƒ Có thể xảy ra trường hợp với các điều kiện khác nhau:
if condition 1 then
statements group 1
elif condition 2 then
statements group 2
…….
elif condition n then
statements group n
else


final statements group
fi;
Maple kiểm tra lần lượt các điều kiện, nếu điều kiện nào đúng thì làm
các câu lệnh nhóm đó. Trong trường hợp tất cả các câu lệnh đều sai thì
sẽ làm mệnh đề nhóm cuối cùng.

2. Vòng lặp

a. Vòng lặp For
Vòng lặp là cấu trúc được ứng dụng rộng rãi. Trong phần này chúng ta
quan tới cách sử dụng nó để tạo ra 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à thủ tục seq không thể biểu diễn rõ rang.Vòng lặp
for cúng 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ặ được chỉ ra bằng một biến có quy
luật như số đếm. Cú pháp chung là:
for i from m by j to n do
statement 1;
statement 2;
...
statement k
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 than 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 than vòng lặp
lại đượ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 đinh 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 trong trường hợp này. Nếu j là một số âm, thì I sẽ đếm ngược
từ m tới n, và kiểm tra để cho vào vóng lặp mỗi lần i>= n.
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ụungj 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 lặp thân vòng lặp với mỗi
giá trị của biến điều khiển trong 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
statement 1;
statement 2;
...
statement k
end do;

b. Vòng lặp While
While condition do
statement 1;
Vòng lặp white 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à:
statement 2;
...
statement k
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.
Mapke 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 như ví dụ dưới đây tìm
số nguyên đầu tiên có mũ 3 vượt quá 10!


3. Cấu trúc dữ liệu
Cấu trúc dữ liệu dãy :
Lệnh
seq

(

Tạo

f

Dãy

(i)

,

i=low..hight

);

Khai báo này sẽ tạo ra một dãy bằng cách thay thế gía 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

);

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 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à lệnh op có
thể

áp

dụng

được

,

chẳng

hạn

như

tổng

hay

tích


.

Dãy ( sequence ) 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 trong Maple
cho cho kết qủa 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 NULL thay thế cho dãy


trống ( dãy không chứa gì cả ) . Sự định giá hoàn toàn ( full evaluation )
được Maple tự động áp dụng trong qúa trình tạo ra dãy , do vậy dãy các
dãy được đơn giản thành một dãy . Chẳng hạn nếu biến s1 được gán bởi
dãy a,b,c trongd đó các biến a,b,c là các biến chứ được gán giá trị thì lệnh
s2:=s1,d sẽ gán cho biến s2 dãy a,b,c,d và s3:=s1,NULL,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á thành 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ụ như 2..4 là mảng các số
nguyên trong phạm vi từ 2 đến 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 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ị
của 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 :


Phần II. Một số ứng dụng
I. Mô phỏng hiện tương vật lý
1. Con lắc đơn
Một con lắc đơn có chiều dài dây treo là l (m), dao động với biên độ
góc α , độ lệnh ban đầu ϕ . Chọn gốc tọa độ tại VTCB, chiều dương
hướng từ VTCB sang phía phải, gốc thời gian lúc vật ở vị trí biên âm,bỏ
qua lực cản của không khí. Khảo sát dao động của con lắc
Bài làm:
Ta xây dựng thủ tục: conlacdon(l,anphal0,phi) để mô phỏng quá trình
chuyển động của con lắc.
Code:
conlacdon:=proc(l,anphal0,phi)
local g,omega,dia,conlac,d,hinh,Daodong,t,i;
g:=10;
omega:=evalf(sqrt(g/l));
dia:=plottools[disk]([0,0], 0.1, color=blue):
conlac:=t->plottools[translate](dia,6-l*sin(anphal0*cos(omega*t+phi)),6l*cos(anphal0*cos(omega*t+phi))):
d:=t->plottools[line]([6,6],[6-l*sin(anphal0*cos(omega*t+phi)),6l*cos(anphal0*cos(omega*t+phi))],color=red):
hinh:=t->plots[display](conlac(t),d(t)):
Daodong:=seq(hinh(i/20),i=0..180):
print("Mo phong dao dong cua con lac don");
plots[display](Daodong,insequence=true,scaling=constrained);
end proc:

Gọi chương trình quan sát mô phỏng chuyển động của con lắc với l=1
(m), α =


π

4

và ϕ =

π

6

>conlacdon(1,Pi/4,Pi/6);
"Mo phong dao dong cua con lac don"


6.0
5.8
5.6
5.4
5.2
5.0
5.2

5.4

5.6

5.8

6.0


6.2

6.4

6.6

6.8

5.2

5.4

5.6

5.8

6.0

6.2

6.4

6.6

6.8

6.0
5.8
5.6
5.4

5.2
5.0

2. Vật ném xiên

Một vật được ném xiên góc α 0 với vận tốc v0 , tại nơi có độ cao h và gia

tốc trọng trường g. Bỏ qua sức cản của không khí. Khảo sát chuyển động
vật.
Bài làm: Ta xây dựng thử tục: nemxien(v0,alpha,h) để mô phỏng quá
trình chuyển động của vật.
Code:
nemxien:=proc(v0,anphal,h)
local g,v0x,v0y,T,vnem,nem,nxien;
with(plots):
with(plottools):
g:=10:
v0x:=evalf(v0*cos(anphal)):
v0y:=evalf(v0*sin(anphal)):
T:=(v0y+sqrt(v0y^2+2*g*h))/g:
vnem:=plottools[disk]([0,0],1,color=red):
nem:=t->plottools[translate](vnem,v0x*t,h-g*t^2/2 + v0y*t):


nxien:=seq(nem(i/10),i=0..10*T):
print("Quy dao vat nem xien");
plots[display](nxien,insequence=true,scaling=constrained,labels=["ta
m xa(m)","do cao(m)"]);
end proc:


Gọi chương trình quan sát mô phỏng chuyển động vật ném xiên với vận
π

tốc ban đầu 20m/s, góc nghiêng , tại nơi có độ cao h=30m.
4

> nemxien(20,Pi/4,30);

40

30
do cao(m) 20

10

0

10

20

30
tam xa(m)

40

50

60


0

10

20

30
tam xa(m)

40

50

60

40

30
do cao(m) 20

10


40

30
do cao(m) 20

10


0

10

20

30
tam xa(m)

40

50

60

3. Sóng ngang
Xây dựng 1 hàm truyền song, tạo hạt vật chất của môi trường truyền sóng
và hiển thị kết quả:
Code:
hs:=(x,t)->piecewise(x<=12*t,2*sin(Pi*(t-x/5)),0):
dia:=(x,t,cl)->plottools[disk]([x,hs(x,t)],0.2,color=cl):
hinh:=t->seq(dia(i/2,t,blue),i=0..40):
hc:=t->plots[display](dia(6,t,red),hinh(t)):
day:=seq(hc(i/12),i=0..36):
plots[display](day,insequence=true,scaling=constrained);

2
0
2


2
0
2

2
0
2

5

5

5

10

10

10

15

15

15

20

20


20


II. Ứng dụng của Maple để dạy và học toán trong môi
trường tương tác
1. Giới thiệu sơ lược về dạy học tương tác và phần mềm Maple
a. Dạy học tương tác là xu hướng mới của giáo dục hiện nay. Hình
thức dạy học này mang đến cho người học một môi trường lý tưởng
để kiến tạo và tự chiếm lĩnh kiến thức thông qua các họat động được
thiết kế bởi người dạy. Người học có điều kiện phát triển mạnh mẽ
tính chủ động, tư duy sáng tạo và các kỹ năng sử dụng những công
cụ hiện đại của khoa học công nghệ, đáp ứng nhu cầu của thực tiễn
đối với sản phẩm đào tạo.
b. Trong các hình thức dạy học tương tác, sử dụng phần mềm và các
phòng học đa chức năng có nối mạng internet hoặc mạng nội bộ tỏ ra
có nhiều ưu điểm và được nhiều nước trên thế giới quan tâm theo
đuổi. Kết hợp với các hình thức seminar và thực hiện các tiểu luận
theo nhóm, dạy học tương tác tạo ra sự phát triển toàn diện và nâng
cao chất lượng giảng dạy.
c. Việc chọn lựa những phần mềm để tiến hành dạy-học tương tác phụ
thuộc vào mục tiêu, nội dung và đối tượng dạy học. Theo chúng tôi, các
phần mềm GSP, Cabri, Maple, Autograph…có thể là những lựa chọn
tốt nhất hiện nay cho giáo dục phổ thông. Tại Khoa Toán, ĐHSP Huế,
chúng tôi đã và đang sử dụng Maple để tạo ra các môi trường dạy-học cụ
thể trên lớp, sử dụng cho một số nội dung môn học thích hợp. Bài
viết này nhằm chia sẻ những kinh nghiệm bước đầu trong việc giảng
dạy của chúng tôi ở ĐHSP Huế, như những bước đi đầu tiên tại nước
ta trong việc ứng dụng công nghệ thông tin trong việc dạy học tương
tác. Những kinh nghiệm này hoàn toàn có thể ứng dụng cho dạy-học
phổ thông tại những nơi có điều kiện khoa học công nghệ thuận lợi.



d. 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
hình

học

mạnh

mẽ của

công

ty

Warterloo

Maple

Inc.

(), ra đời năm 1991, đã phát triển đến phiên
bản 13. Maple

chạy trên tất cả các hệ điều hành, 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 iền với toán phổ
thông và đại học. Ưu điểm đó khiến ngày càng có nhiều nước trên thế
giới lựa chọn sử dụng Maple trong dạy-học toán tương tác trước đòi

hỏi của thực tiễn và sự phát triển của giáo dục.
e. Các tính năng cơ bản của Maple.
Có thể nêu vắn tắt các chức năng cơ bản của Maple như 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ệc đượ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ẽ
đồ thị tĩnh và cộng của các đường và mặt được cho bởi các
hàm tùy ý trong nhiều hệ tọa độ 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. Sử dụng Maple trong dạy-học toán ở đại học
a. Trong dạy học tương tác ở đại học
Các phương án:
Phụ thuộc vào mục đích, nội dung và phương tiện dạy học, có thể nêu
ra 3 hình thức và mức độ sau đây:


a) Dạy trên lớp học High Class cả một môn học, một chương hoặc
một nội dung cụ hể. Hình thức dạy học này đòi hỏi phải có hệ
thống high class hiện đại.
b) Chỉ dùng lớp học High Class trong giờ thực hành kết hợp với
học lý thuyết bằng các phương pháp dạy học khác.
c) Giáo viên dùng LCD kết nối với máy tính để thực hiện một

số khâu trong bài giảng. Sinh viên thực hành các tính toán bằng
tay theo kịch bản của giáo viên.
Bình luận:
• Rất khó thực hiện với lớp có số lượng sinh viên trên 50.
• Mức độ a) thích hợp nhất với các đối tượng sinh viên không
phải chuyên ngành toán. Với sinh viên toán, cần kết hợp với xây
dựng và chứng minh lý thuyết, nghĩa là nên sử dụng hình thức b)
hoặc c).
• đòi hỏi phương tiện giảng dạy hiện đại, ít nhất là LCD.
• chỉ phát huy tốt ở những môn học hoặc nội dung đòi hỏi nhiều
tính toán. ở mức độ này chúng tôi đã sử dụng cho các môn: Toán cao
cấp, đại số tuyến tính, đại số đa thức, mở rộng trường, Lý thuyết
Galois.
b. Sử dụng Maple hỗ trợ trong quá trình dạy học truyền thống
™ 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 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 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
trình giảng dạy, cung cấp nhiều công cụ tương tác dưới dạng


Maplet và hỗ trợ việc làm từng bước các phép toán cơ bản của vi
tích phân.
• Gói lệnh Student có 3 gói lệnh con là Calculus1,
LinearAlgebra và Precalculus. Để nạp từng gói lệnh, làm như sau:
with(Student[Precalculus]):

• Gói lệnh con Calculus1 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 tích 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,v.v...
Ví dụ: Khảo sát hình học và thể tích của vật thể tròn xoay. >
with(Student[Calculus1]):
> VolumeOfRevolution(cos(x) + 3, sin(x) + 2, x=0..4*Pi);
20 π2
> VolumeOfRevolution(cos(x) +
3, sin(x) + 2,
x=0..4*Pi,output=integral);

2
2

π ( cos(x) + 6 cos(x) + 5 − sin(x) − 4 sin(x) ) dx
⌡0
> VolumeOfRevolution(cos(x) + 3, sin(x) +
2, x=0..4*Pi, output=plot):
Lệnh cuối cùng tính thể tích của mặt tròn xoay xác định bởi hàm
trên, kèm theo với hình vẽ.
• 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ích tích phân
> with(Student[Calculus1]): IntTutor()
Sau khi nhấn Enter, một cửa sổ Maplet 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 là tích phân xác định).



Maplet này có thể giúp đưa ra các biến đổi từng bước cho bài toán
tính phân và tính ra kết quả cuối cùng.
• Sử dụng Maple như một phương tiện minh họa các khái niệm
toán học và đối tượng hình học.
Ví dụ: Minh họa hình ảnh tự nhiên của các đường conic như
giao tuyến của một mặt nón và mặt phẳng cắt nó.
> with(plots):
>animate(plot3d,[y/3-10,x=20..t,y=20..t,color=red,style=PATCHNOGRID],t=18..17,axes
=fr amed,background=plot3d([z*cos(t),z*sin(t),z],z=-20..0,t=Pi..Pi));
Warning, the name changecoords has been redefined


Kích chuột trên hình vẽ, ta có thể xem từ nhiều góc độ khác nhau. Bằng
cách thay đổi phương trình thích hợp của mặt phẳng ta có thiết diện là
đường hyperbol hay parabol.
™ Sử dụng Maple để hình thành các khái niệm toán học. Ví dụ:
Khái niệm tích phân xác định và ý nghĩa hình học của nó. >
with(plots):with(student):
> f:=x->x*sin(x);

f := x → x sin( x )
> f:=x->x-2*sin(x);
f := x → x − 2 sin( x )
> display(seq(middlebox(f(x),x=2..2,SoHinh),SoHinh=6..80),insequence=true);


Khi ta kích chuột trên hình vẽ, trên thanh công cụ sẽ xuất hiện
thanh điều khiển hình vẽ. Kích chuột trên thanh điều khiển, số
hình chữ nhật của tổng Riemann sẽ tăng từ 6 lên 80 và dần dần
phủ kín phần mặt giới hạn bởi đường cong.

™ Sử dụng Maple để dự đoán các kết quả toán học. Ví dụ: dãy hội
tụ và không hội tụ
> restart;
>with(plots):pointplot([seq([n,sin(n)/(n+1)],n=1..150)],color=blue);

>pointplot([seq([n,abs(sin(n)+1/n)^(sqrt(n))],n=1..1000)],color=blue);


™ Maple hỗ trợ giáo viên trong các hoạt động giảng dạy khác.
Có thể nêu vài ý tưởng về việc sử dụng Maple cho các hoạt động giảng dạy
khác của giáo viên toán như sau:
9 Dùng Maple để tìm và soạn hệ thống bài tập, đề thi theo ý muốn.
9 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 (ví dụ về các bài toán giải phương trình, phân tích hoặc rút gọn đa
thức, phân thức...)
9 Soạn giáo án, vẽ các đồ thị chính xác phục vụ giảng dạy hoặc sinh hoạt
chuyên môn; viết các báo cáo khoa học.
9 Công cụ hỗ trợ trong bồi dưỡng học sinh giỏi hoặc hoạt động tập dượt
nghiên cứu khoa học.
9 Là nguồn dữ liệu phong phú để lựa chọn các kịch bản lên lớp.


9 Maple là một nguồn mở, cho phép người dùng dễ dàng tạo ra các lệnh và
chương trình cho riêng 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.
Ví dụ: Tìm một ma trận vuông có định thức cho trước
và phần tử không quá 5.
> restart; with(linalg):
Warning, the protected names norm and trace have
been redefined and unprotected

> matran:=proc(n)
local i,j,G,r,A;
do G:=matrix(n,n):r:=rand(-5..5): for i to n do for j to n
do G[i,j]:=r() od od:
if det(G)=-1 then
RETURN(evalm(G)) fi od; end:
> matran(4);
⎡3

⎢-5


⎢-1

⎢3


-1
1
1
0

2
3
-4
-5

4⎤

-2⎥⎥


1⎥⎥
3⎥⎦

Ví dụ: Thiết kế một chương trình trắc nghiệm:
Trước khi ta soạn bài trắc nghiệm thì chúng ta cần tìm hiểu qua các thành phần
của Components:
Thành phần này nằm ở cột phía bên trái của giao diện Maple, ta chỉ việc click vào
các biểu tượng của nó (hình bên dưới).

Ta làm ví dụ sau, trong đó các thành phần mô tả như hình vẽ bên dưới:


ƒ Tạo các nút check box: chọn nút check box trên thành phần
components, nhấn chuột trái, bên trong giao diện của
worksheet sẽ có nút check box hiện ra (Lưu ý: nếu chúng ta
muốn nút xuất hiện tại vị trí nào thì chỉ cần con trỏ đến vị trí
đó và sau đó click chuột trái lên nút mà chúng ta muốn sử
dụng). Tương tự như thế ta tạo 4 check box như hình vẽ 2.
Sau mỗi check box ta viết nội dung của câu.
* Để thay đổi các thuộc tính của check box ta làm như sau:
chọn check box, nhấp chuột phải, chọn Componet
Properties...

* Trong ô Name nhập vào A1, trong ô Caption nhập vào A.
Tương tự như thế với B1(B), C1(C),D1(D)...
ƒ Tạo nút Button: tương tự như check box, ta tạo nút button
và thay đổi thuộc tính của nó như hình:



Chú ý: Sau khi thay đổi thuộc tính, ta chọn mục Action When
Clicked ở chữ Edit.., và copy đoạn code sau vào mục Action
When Clicked:
use DocumentTools in
myProc:=proc()
if parse(DocumentTools[GetProperty]('C1', 'value')) then
DocumentTools[SetProperty]('Text1', 'value',"Đúng");
else
DocumentTools[SetProperty]('Text1', 'value', "Sai");
end if;
end proc:
myProc();
end use;

Chọn Ok là xong. Bây giờ ta chỉ việc tạo Text Area (với name
là Text1) để hiện kết quả đúng - sai.


×