Mục lục
Chương 1: DẠY HỌC TOÁN VỚI SỰHỖTRỢCỦA CÔNG NGHỆTHÔNG TIN
VÀ TRUYỀN THÔNG (ICT) .1
1.1. Vấn đềkhai thác sửdụng ICT trong dạy học toán .1
1.2. Tổchức dạy học toán trong môi trường ICT .4
1.3. Nhận định.12
Chương 2 SỬDỤNG PHẦN MỀM GRAPH .13
2.1. Giới thiệu vềphần mềm Graph.13
2.2. Làm việc với Graph .13
2.3. Giới thiệu hệthống Menu .14
2.4. Một sốchức năng cơbản .16
2.5. Thưviện các hàm của Graph .20
2.6. Khai thác phần mềm Graph .21
2.7 Bài tập: .21
Chương 3 SỬDỤNG PHẦN MỀM HÌNH HỌC ĐỘNG.22
3.1. Giới thiệu sơlược vềphần mềm Cabri Geometry.22
3.2. Các vấn đềcơbản đểlàm việc với Cabri Geometry .22
3.3. Thao tác với hệthống các công cụcủa Geometry Cabri .26
3.4. Giới thiệu phần mềm The Geometer's Sketchpad .38
3.5. Vẽhình với phần mềm hình học Cabri.46
3.6. Sửdụng Cabri minh hoạbài toán quỹtích .47
3.7. Khai thác phần mềm hình học động Cabri hỗtrợdạy học toán .50
3.8. Thảo luận và bài tập.58
Chương 4 .59
HƯỚNG DẪN SỬDỤNG PHẦN MỀM MAPLE.59
4.1. Tổng quan chung vềphần mềm Maple.59
4.2. Làm việc với Maple .59
4.3. Giao diện của cửa sổlàm việc của Maple .60
4.4. Các thao tác cơbản trong với Maple .61
4.5. Sửdụng các lệnh của Maple .66
4.5. Khai báo hàm tựtạo.85
4.6. Các cấu trúc cơbản được sửdụng trong lập trình của Maple .86
4.7. ứng dụng maple trong khảo sát hàm số.88
4.8. Sửdụng Maple hỗtrợkiểm tra kết quảtính toán. .119
4.8.2 Kiểm tra tính lũy tính của một ma trận vuông.120
4.9 Sửdụng Maple hỗtrợsuy luận trong quá trình học toán. .123
4.10. Khai thác Maple trong Xác suất thống kê .132
4.11. Maple với bài toán quy hoạch.136
4.12. Khai thác Maple trong hình học .139
Tài liệu trích dẫn, tham khảo .182
189 trang |
Chia sẻ: netpro | Lượt xem: 4558 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Ứng dụng công nghệthông tin trong dạy học toán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
:=n->int(sin(x)^(2*n),x=0..Pi/2); ↵
màn hình sẽ hiện kết quả như sau:
Để tính giá trị tích phân với một n cụ thể ta chỉ việc gõ .lệnh [>T(n) ↵, chẳng hạn với
với n = 100, ta có :
và cần tính , ta chỉ gõ [>l (2004) ↵
Đồ thị (Graph): Maple cho phép vẽ và hiển thị đồ thị trong trang công tác, tính năng
này được gọi là “Khả năng đồ hoạ trực tiếp”
Ví dụ: vẽ đồ thị hàm số với m = 0 (Đề thi tuyển sinh vào
ĐHTN - năm học 1999 - 2000, khối A, B). Ta sử dụng lệnh phụ như sau
[> plot(x^3/3-x+2/3,x=-3..2); ↵. Kết quả ta được đồ thị như sau:
4.5. Sử dụng các lệnh của Maple
Nội dung này, bạn đọc cần tham khảo những tài liệu của nhóm tác giả Phạm Huy
Điển, Đinh Thế Lục, Tạ Duy Phượng [l], [2], ở đây chúng tôi chỉ liệt kê lại một số câu lệnh
đơn giản thường sử dụng trong chương trình toán phổ thông và chương trình toán ở trường
Đại học.
Làm quen với các lệnh của Maple:
+ Lệnh [> restart; ↵
Lệnh restart có công dụng xoá đi tất cả các biến nhớ của việc tính toán trước đó và
khởi động một quy trình tính toán mới.
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
67
Để xác định giá trị cho một biến, một hằng, một hàm hoặc khai báo một thủ tục Maple
sử dụng câu lệnh gán ":=", ví dụ:
Xác định biến n nhận giá trị bằng 5:
[> n := 5; ↵
Khai báo hàm f(x)= x2:
[> f := x->x ^2; ↵
f:= x-x2
Sau khi khai báo hàm f(x), để biết giá trị của f(x) tại một điểm xo nào đó ta chỉ việc gõ
tên hàm và giá trị x0 trong ngoặc, ví dụ tính giá trị f(x) tại x0=3:
[> f(3); ↵
9
Khai báo một chương trình con (procedure) có tên là p với 2 tham số hình thức là a, b.
Kết quả thực hiện thủ tục cho ta giá trị của a2 + b2, ví dụ:
[> p := proc(a, b) # chú ý nhấn phím Shift+Enter để xuống dòng
local c; c := a^2 + b^21 c; # trả lại giá trị cuối cùng
end proc:
Để tính giá trị của thủ tục p nói trên với tham số thực sự là 2 và y, ta gõ lệnh:
[> p(2, y); ↵
4 + y2
Maple cung cấp một hệ thống các hàm hầu như phủ khắp các lĩnh vực của toán học, ta
có thể kể một số hàm thông dụng:
[> factor(6*x^2 + 18*x - 24); #Phân tích một đa thức thành tích các nhân tử ↵
6 (x + 4 ) (x - 1)
[> expand((x + 1 )^3); #Triển khai một biểu thức ↵
x3 + 3x2 + 3x + 1
[> normal( (x^2 - y^2)/(x - y)^3 ); #Đưa một biểu thức về dạng chuẩn hoá
[> simplify(4^(1/2) + 3); #Đơn giản, rút gọn một biểu thức ↵
[> z := (x^2 + 1)/(x - y); #Khai báo dạng tổng quát cua Z ↵
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
68
[> numer(z); #Tách tử số của một phân thức ↵
x2 + 1
[> denom(z); #Tách mẫu số của một phân thức ↵
x - y
[> eval(x^3 + 2*x^2 - 7*x + 5, x=3); #Tính giá trị của một biểu thức ↵
29
[> solve(x^2 + x : 1,x); #Giải phương trình hoặc hệ phương trình ↵
[> solve({u + v + w = 1, 3*u+v=3, u-2*v-w=0});↵
[> fsolve(tan(sin(x)) = 1, x ); #Giải phương trình, hệ phương trình lấy nghiệm ở dạng
thập phân ↵
0.9033391108
[> diff(x^2 + x^4 - 3*x + 2, x), #Lấy đạo hàm của một biểu thức theo một biến ↵
2x + 4x3 -3
[> int(sin(x), x); #Lấy tích phân của một hàm số ↵
-cos( x )
[> limit(sin(x)/x, x=0); #Tính giới hạn của một hàm số ↵
1
[> limit(g(x), x = infinity; ↵
[>plot(sin(x),x=0..2*pi); # Lệnh vẽ đồ thị trong mặt phẳng ↵
[>plot3d(sin(x*y), x=0..1, y=0..1); # Lệnh vẽ đồ thị trong không gian ↵
Như vậy, có thể thấy việc sử dụng câu lệnh của Maple rất đơn giản, trực quan. Bản
thân phần mềm Maple cũng có một hệ thống trợ giúp (Help) rất phong phú đủ cho những ai
có lòng nhiệt tình muốn tìm hiểu Maple.
4.5.1. Nhóm các lệnh tính toán xử lý các vấn đề trong số học, đại số
+ Các phép toán số học: cộng, trừ, nhân, chia, luỹ thừa...được Maple quy định với các
ký hiệu như sau: phép cộng(+), phép trừ (-), phép nhân (*), phép chia (/), phép luỹ thừa (^),
các phép toàn lấy phần nguyên, phần dư,... ta gõ biểu thức cần tính toán và Maple sẽ thực
hiện tức thì. Ví dụ:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
69
[> (1245.67+2345.34^2)/(123.45^3+234.23); ↵
+ Lệnh tìm UCLN: gcd(a,b);, ví dụ [> gcd(55,100);
+ Lệnh tìm bội chung nhỏ nhất: lcm(a,b);,ví dụ [> lcm(4,6); ↵
+ Lệnh phân tích một số ra thừa số nguyên tố:ifactor(a); Ví dụ:
[> ifactor(2061962); ↵
(2) (7) (147283 )
+ Lệnh tìm số nguyên tố đứng trước số nguyên a đã xác định: prevprime(a);
Ví dụ, với a = 100, ta gõ lệnh:
[> prevprime(100); ↵
với a =127859746, ta gõ lệnh: [ > prevprime(127859746); ↵
+ Lệnh tìm số nguyên tố đứng sau số nguyên a: nextprime(a),
Ví dụ a = 100, ta gõ lệnh: [> nextprime(100); ↵
với a = 27859746, ta gõ lệnh [ > nextprime(127859746); ↵
+ Lệnh tìm nghiệm nguyên của phương trình: isolve(f, { x,y. . . } ); Trong đó f là biểu
thức của phương trình hoặc hệ phương trình, { x,y... } là danh sách các ẩn.
Ví dụ, tìm nghiệm nguyên của bài toán cổ vừa gà vừa chó bó lại cho tròn 36 con 100
chân chẵn. Gọi số gà là x, số chó là y ta thực hiện lệnh:
[> isolve({2*x+4*y=100,x+y=36},{x,y}) ↵
{y = 14. x = 22 }
Kết quả cho ta đáp số của bài toán là: số gà là 22, số chó là 14.
+ Lệnh tìm thương và phần dư: iquo(a,b); và irem(a,b); trong đó a, b là các biểu thức.
Ví dụ với a = 23, b = 4, ta gõ lệnh:
[> Thuong = iquo(23,4); ↵
Thuong = 5
[> Du = irem(23,4); ↵
Du = 3
+ Lệnh tìm số nhỏ nhất và số lớn nhất trong một dãy số min(); và max(); trong dấu
ngoặc đơn cần liệt kê các số, biểu thức số cần thao tác.
Ví dụ, tìm số lớn nhất, nhỏ nhất trong 3 giá trị { 3/2, 1 .49,Pi/2 }
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
70
+ Lệnh tính tổng vô hạn và tổng hữu hạn các số hạng sum(f,n=a..b); trong đó f là biểu
thức của số hạng tổng quát, a,b …∈ N là cận dưới, cận trên của giới hạn tính tổng, ví dụ:
+ Lệnh tính tích hữu hạn và vô hạn các số Product(f, n=a..b); trong đó f là biểu thức
của số hạng tổng quát, a,b …∈ N là cận dưới, cận trên của giới hạn tính tích, ví dụ:
+ Xác định độ chính xác của các phép tính số học: evalf(f,n); trong đó f là biểu thức, n
là số các chữ số sau dấu phẩy, ví dụ:
[> eval(Pi,30); ↵
3.14159265358979323846264338328
+ Tính toán với các số phức được Maple thực hiện theo quy tắc thông thường, ví dụ:
+ Chuyển số phức x về dạng toạ độ cực: convert((x),polar), ví dụ:
+ Lệnh khai triển biểu thức đại số: expand(f)
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
71
ví dụ:
+ Lệnh phân tích đa thức thành nhân tử: ractor(f),
ví dụ:
+ Lệnh xác định bậc của đa thức : degree(f),
ví dụ:
+ Lệnh viết đa thức dưới dạng bình phương của tổng: completesquare() (lệnh này
phải phải mở gói công cụ student), ví dụ:
+ Lệnh sắp xếp đa thức theo bậc: collect(f,x), trong đó f là biểu thức, x là ẩn chọn để
xếp theo thứ bậc, ví dụ:
+ Lệnh đơn giản (rút gọn) biểu thức: simplify(),
+ Lệnh tối giản phân thức: normal().
+ Lệnh khử căn thức ở mẫu số: readlib(). Trước khi thực hiện lệnh này cần mở thư
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
72
viện readlib(rationalize), ví dụ:
+ Khai báo hàm số: Để định nghĩa hàm số ta dùng dấu gán (:=).
ví dụ:
Sau khi đã định nghĩa hàm số ta có thể tính giá trị của hàm số, ví dụ tính giá trị của
hàm số tại x=0.1 2345 :
[> f(0.12345); ↵
-0.8677073006
+ Giải phương trình solve(f, { d/s biến } )
Bước 1 : định nghĩa phương trình bởi lệnh gán :=, ví dụ :
Bước 2: giải phương trình bằng lệnh solve();
+ Giải hệ phương trình solve( { d/s, pt }, { d/s ẩn } ).
Bước 1 : định nghĩa các phương trình bằng lệnh gán :=, ví dụ
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
73
Bước 2: giải phương trình bằng lệnh solve.
+ Giải bất phương trình solve() :
Bước 1 : định nghĩa các bất phương trình bằng lệnh gán :=
Bước 2: dùng lệnh solve():
Ta có thể giải trực tiếp bất phương trình trên như sau :
+ Giải hệ bất phương trình với lệnh solve(), ví dụ :
Bước 1 : định nghĩa các bất phương trình:
Bước 2: dùng lệnh :
[> solve({Bpt1,Bpt2},x); ↵
{l <x,x <4}, {8 <x~x <10}
Hoặc ta có thể đưa trực tiếp bất phương trình vào trong câu lệnh như sau:
4.5.2. Nhóm các lệnh tính toán xử lý trong đại số tuyến tính
Để khai thác thế mạnh của Maple trong lĩnh vực đại số tuyến tính, ta khởi động
chương trình bằng lệnh restart và nạp gói công cụ chuyên ngành linalg
+ Lệnh khai báo ma trận: matrix() hoặc array(),ví dụ:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
74
+ Lệnh so sánh hai ma trận có cùng số chiều: equal()
Trước tiên ta khai báo sử dụng gói công cụ đại số linalg bởi lệnh
Thực hiện phép so sánh các ma trận trên bởi lệnh:
+ Lệnh tính tổng của hai ma trận: evalm() hoặc add(), ví dụ
+ Lệnh nhân ma trận: multiply(), ví dụ với hai ma trận A, B như đã khai báo ở trên, ta
có:
+ Lệnh tìm tích trong của ma trận và véc tơ: innerprod(), ví dụ:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
75
+ Lệnh tính tích vô hướng của hai véc tơ: dotprod(), ví dụ:
+ Lệnh hoán vị dòng (cột) của ma trận swaprow(), swapcol(), ví dụ:
+ Lệnh nhân một dòng của ma trận với một biểu thức mulrow(), mulcol(), ví dụ:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
76
+ Lệnh tìm ma trận chuyển vị: transpose(), ví dụ:
+ Lệnh tìm bất biến của ma trận permanent(), ví dụ:
+ Lệnh tính giá trị riêng và véc tơ riêng của ma trận eigenvectors (), ví dụ:
Kết quả của lệnh eigenvectors được xắp xếp như sau: số đầu tiên trong mỗi móc
vuông của dòng là giá trị riêng, số thứ hai là bội đại số của giá trị riêng, và cuối cùng là tập
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
77
các véc tơ cơ sở của không gian riêng ứng với giá trị riêng đó. Mỗi móc vuông ứng với một
giá trị riêng của ma trận, cụ thể:
+ Lệnh tìm ma trận đặc trưng charmat(), ví dụ:
+ Lệnh tìm đa thức đặc trưng của ma trận: charpoly(), ví dụ:
+ Lệnh tính hạng của ma trận rank(), ví dụ:
+ Lệnh tính định thức det (), ví dụ:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
78
+ Lệnh giải phương trình đại số tuyến tính Ax=u: linsolve (), ví dụ:
4.5.3. Các câu lệnh vẽ đồ thị của Maple
Bắt đầu khởi động chương trình bằng lệnh [>restart: và tiến hành nạp chức năng vẽ
đồ thị bằng lệnh [>with(plots); [>with(plottools);
* Vẽ đồ thị trong không gian hai chiều plot().
Ví dụ 1 : vẽ đồ thị hàm số x4+2x3-x2+ 1
Ví dụ 2: Vẽ đồ thị hàm số | x4+2x3-x2+ 1|
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
79
Ví dụ 3: Vẽ đồ thị hàm số y= x4+2x3-x2+ l và y=2x3-2*x+2 trên cùng hệ trục toạ độ:
*Vẽ đồ thị hàm ẩn implicitplot().
Ví dụ: vẽ elip có phương trình x2/9 + y2/4 = 1 .
* Vẽ đồ thị hàm xác định từng khúc:
Trước hết cần, khai báo hàm từng khúc với câu lệnh: piecewise(),
sau đó dùng lệnh vẽ đồ thị:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
80
* Vẽ đồ thị hàm sin, cos theo tham số t [> plot([sin(t),cos(t)],t=-Pi..Pi); ↵
* Vẽ đồ thị trong không gian ba chiều
Trước tiên ta khởi động chương trình và nạp thư viện
[> restart: with(plots): with(plottools): ↵
Tiếp theo vẽ mặt hai chiều trong không gian ba chiều bằng lệnh plot3d()
[> c1:= [cos(x)-2*cos(0.4*y), sin(x)-2*sin(0.4*y), y]:
c2:= [cos(x)+2*cos(0.4*y), sin(x)+2*sin(0.4*y), y]:
c3:= [cos(x)+2*sin(0.4*y), sin(x)-2*cos(0.4*y), y]:
c4:= [cos(x)-2*sin(0.4*y), sin(x)+2*cos(0.4*y), y]:
plot3d({c1, c2, c3, c4}, x=0..2*Pi, y=0..10, grid=[25,15], style=patch, color:sin(x)); ↵
* Sự vận động của đồ thị.
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
81
Maple có chức năng hỗ trợ sự vận động (animation)
của đồ thị hai chiều và đồ thị ba chiều với cú pháp
[>animate (cho đồ thị hai chiều), và cú pháp [>animate3d
(cho đồ thị ba chiều). Ví dụ:
Vẽ đồ thị hàm y = tsin(xt).
Muốn cho đồ thị chuyển động thì tại khung đồ thị ta nhấn chuột phải sau đó chọn ->
Animation -> Play
Muốn cho đồ thị chuyển động liên tục không ngừng trên thanh công cụ:
nhắp chuột vào nút thì đồ thị sẽ chuyển động liên tục, nút đúng sự vận động. Tương
tự như vậy ta có thể cho đồ thị ba chiều vận động.
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
82
4.5.4. Các câu lệnh của Maple hỗ trợ giải các bài toán giải tích.
+ Tính giới hạn của hàm số f(x) khi x tiến tới a: limit(f,x=a); giá trị dương vô cùng,
âm vô cùng được viết là infinity, - infinity. Ví dụ:
+ Tính đạo hàm của hàm số f(x) theo biến x: diff(f(x),x); Diff(f(x),x);
+ Tính đạo hàm bậc n của hàm số f(x) theo biến x: diff(f(x),xu);
+ Tìm nguyên hàm của hàm số f(x) theo biến x: int(f(x),x); Int(f(x),x);. Ví dụ:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
83
+ Tính tích phân xác định của hàm số f(x) trên đoạn [a,b]: int(f(x),x=a..b);
+ Tính giá trị lớn nhất, nhỏ nhất của hàm số trên miền D: minimize(f,x=a..b);
maximize(f,x=a..b);Ví dụ:
+ Để xác định nguyên hàm của một hàm số, ta có thể sử dụng đoạn lệnh sau:
[> with(Maplets): with(Maplets[Elements]):
integrationMaplet3:= Maplet( Window('title'="TINH NGUYEN HAM", [["NGUYEN
HAM: ", TextField['TF1']()],[“BIEN XÁC DINH TRONG NGUYEN HAM:”,
TextField['TF2'](3)], MathMLViewer['TB1'](), ["Do thi ham va nguyên ham cua no"],
Plotter['PL1'](), [Button("NGUYEN HAM", Evaluate(TB1 = 'MathML[Export](int(TF1,
TF2))')),Button("DO THI", Evaluate('PL1'='plot([TF1, eval(int(TF1,TF2)) ], x=-2..2)')),
Button("OK", Shutdown(['TF1', 'TF2']))]] ) ):
[> Maplets[Display]( integrationMaplet3 );
Khi đó trên màn hình xuất hiện cửa sổ, ta nhập dạng biểu thức của hàm số cần tìm
nguyên hàm và tên biến, ta sẽ nhận được biểu thức của nguyên hàm. Nếu nhấn nút "Đồ thị"
ta sẽ thu được dạng đồ thị của f(x) và nguyên hàm F(x) của nó:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
84
+ Để xác định tích phân xác định của hàm số f(x) trên đoạn [a,b], ta có thể sử dụng
đoạn lệnh sau:
[> restart:
with(Maplets):with(Maplets[Elements]):with(student):
TICH_PHAN:= Maplet( Window('title'="TINH TICH PHAN",[[“NHAP HAM SO CAN
TINH TICH PHAN: ”, TextField[' rFi']()],["NHAP CAN DUOI: ", TextField['
rF2'](4)],["NHAP CAN TREN: ", TextField['TF3'](3)], MathMLViewer['TB1'](),["DO THI
CUA HAM DA NHAP "], Plotter['PL1'](ld),[Button("TICH PHAN", Evaluate(TB1 =
MathML[Export](int(TF1, X=TF2..TF3))')), Button("DO THI", Evaluate('PL1
middlebox(TF1,x= -5..5,colour = red)')), Button("OK", Shutdown(['TF1', 'TF2','TF3']))]] ) ):
[>Maplets[Display](TICH_PHAN );
Khi đó trên mầm hình xuất hiện cửa sổ để nhập dạng biểu thức của hàm số cần tìm tích
phân xác định và cận lấy tích phân, ta sẽ nhận được kết quả. Nếu nhấn nút "Đồ thị" ta sẽ thu
được dạng đồ thị của f(x)
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
85
4.5. Khai báo hàm tự tạo
4.5.1. Khai báo hàm bằng toán tử "->"
Để khai báo một hàm (f) được xác định bởi biểu thức (bt(x)), trong Maple sử dụng
toán tử "->" với cú pháp như sau:
[> tên hàm := x-> biểu thức xác định hàm f (đối số).Ví dụ
Sau khi đã khai báo hàm, để tính giá trị của hàm tại một giá trị nào đó, ta chỉ việc thay
giá trị cụ thể đó vào lời gọi hàm [> f(value);, ví dụ:
[> f(3); ↵
4.5.2. Khai báo hàm tự tạo bằng proco..... end
Giữa proc(d/s tham số)... end: là các câu lệnh của hàm.
ví dụ:
[> Max:=proc(a,b,c)
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
86
if a < b then
if b < c then c else b fi;
elif a < c then c
else a fi;
end: ↵
Sau đó nếu gọi hàm Max với các số cụ thể sẽ được kết quả ví dụ: l> Max(23,5,87)l
4.6. Các cấu trúc cơ bản được sử dụng trong lập trình của Maple
4.6.1. Cấu trúc lặp điều kiện trước
While Do
od;
Vòng lặp While sẽ thực hiện lặp đi lặp lại các câu lệnh giữa do và od nếu điều kiện
sau từ khoá While còn đúng. Nếu muốn thoát sớm khỏi vòng lặp cần phải sử dụng các lệnh
Return, Break, Quit.
Ví dụ 1 : Thuật toán Ơclit tìm ước số chung lớn nhất của hai số tự nhiên:
[> restart; ↵
[> a:=126:b:=34: # khai bao hai so tu nhien a=126, b=34
[> while b 0 do
d:=irem(a,b);
a:=b;
b:=d;
od;
print(' USCLN cua hai so la:');
value(a); ↵
Ví dụ 2: Viết ra màn hình n số hạng đầu của dãy Fibonacci
[>restart;
f(0):=1;
f(1):=1 ;
n:=2;
while n <= 20 do
f(n):=f(n-1)+f(n-2),
n:=n+1 ;
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
87
od;
seq(f(i),i=3..2); ↵
4.6.2. Cấu trúc lặp biết trước số lần
For from by to
Do ; od;
Hoặc
For in
Do ; od;
Ví dụ: Tính tổng bình phương các số chẵn trong mảng:
[> restart,
mang:=[2,5,7,8,9,23,45,67,89,24,36,42];
tong:=0;
for i in mang do
if irem(i,2)=0 then tong:=tong+i^2;
fi;
od;
print(' tong can tim la:',tong); ↵
Khi thực hiện ta được kết quả:
mang := [2, 5, 7, 8, 9,23, 45, 67, 89, 24, 36, 42]
tong :=0
tong can tinh la:, 3704
4.6.3. Cấu trúc rẽ nhánh
if then ;
elif then ;
else ; fi;
Ví dụ: giải phương trình bậc 2, trước tiên ta khai báo một proc() :
[> ptb2::proc(a,b,c)
local delta,x1,x2;
delta:=b*b-4*a*c;
if delta < 0 then
print(' phuong trinh da cho vo nghiem’)
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
88
elif delta = 0 then
x1 :=-b/(2*a);
pint(' phuong trinh co nghiem kép:x1=',x1);
else
x1:=(-b-sqrt(delta))/(2*a);
x2:=(-b+sqrt(delta))/(2*a);
print(' phuong trinh da cho co 2 nghiem phan biet :');
print(x1);
print(x2):
Để giải phương trình bậc hai, ta chỉ cần gọi tên proc() với các hệ số thực sự, ví dụ:
[> ptb2(1, 2, 1 ); phuong trinh co nghiem kep: x1= - 1
[> ptb2(1,2,-1); phuong trinh da cho co 2 nghiem phan biet:
[> ptb2(1,2,3); ↵ phuong trinh da cho vo nghiem
4.6.4. Bài tập:
Bài 1 : Lập trình giải phương trình trùng phương.
Bài 2: Lập trình giải hệ phương trình bậc nhất hai ẩn
Bài 3: Lập trình kiểm tra một số có là số nguyên tố hay không?
Bài 4: Lập trình phân tích một số nguyên dương thành tích các thừa số nguyên tố.
Lưu ý: bốn bài tập trên chỉ có ý nghĩa cho các bạn làm quyên với việc lập trình với
Maple.
Để tìm hiểu về lập trình với Maple, bạn đọc sẽ tìm thấy những hướng dẫn chi tiết
chuyên sâu trong các tài liệu [l],[2],[3],[4].
4.7. ứng dụng maple trong khảo sát hàm số
4.7.1. Các lệnh của Maple có thể vận dụng trong khảo sát hàm số
Ta có thể sử dụng các hàm của Maple khi khảo sát hàm số, chẳng hạn như: xác định
miền giá trị, khoảng đơn điệu, miền lồi, cực trị và điểm uốn, vẽ đồ thị,...
* Xác định miền xác định của hàm số f(x):
Để xác định miền giá trị của các hàm phân thức được trình bày trong sách giáo khoa
giải tích lớp 12, trước tiên ta dùng lệnh denom() để tách lấy mẫu số. Miền xác định của hàm
số chính là tập các giá trị làm cho mẫu số có nghĩa. Ví dụ tìm miền xác định của hàm số:
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
89
Ta dùng nhóm các lệnh sau:
[> restart;
Y:=simplify(Y):
print('Tap xac dinh cua ham so la:');
a:=solve(denom(Y)=0,x):
if(type(denom(Y),realcons)=true)or(coeff(denom(y),x^2)0 and type(a[1],realcons)
=falssel then D=R;fi:
if coeff(denom(y),x^2)=0 and coeff(denom(y),x)0 then D={xa};fi; ↵
Kết quả thực hiện chương trình:
* Tìm khoảng đơn điệu của hàm số.
Bước 1: Tìm đạo hàm của hàm số với lệnh: [> diff(f(x),x);
Bước 2: Xác định chiều biến thiên:
Xác định khoảng đồng biến của hàm số (tức là tìm nhưng khoảng mà đạo hàm của
hàm số không âm), ta sử dụng lệnh: [> dhbn := bieuthuc r(x) >=0;
Bước 3 : Giải phương trình bằng lệnh [> solve(dhbn, { x } ) ;
Xác định khoảng nghịch biến của hàm số, tương tự như trên, ta dùng lệnh:
[> dhbn : = bieuthuc f’(x) solve(dhbn,{x});
Thí dụ: Tìm khoảng đơn điệu của hàm số: y = x3 - 6 x2 + 4 x - 8
Bước 1: Tính đạo hàm:
Bước 2: Thiết lập bất phương trình
dhbn:= 0 ≤ 3x2 - 12x +4
Bước 3: Giải bất phương trình: [> solve(dhbn,{x}); ↵
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
90
* Tìm miền lồi, miền lõm của hàm số
Bước 1: Tính đạo hàm bậc nhất: [> dhb1:=diff(f(x),x);
Bước 2: Tính đạo hàm bậc hai: [> dhb2:=diff(dhbl,x);
Bước 3: Giải bất phương trình .f”x) ≥ 0 để tìm miền lồi của hàm số, bằng lệnh:
(dhb2>=0,x);
ví dụ xét hàm số
Bước 1 : Tìm đạo hàm bậc nhất:
Bước 2 : Tìm đạo hàm bậc 2 :
Bước 3 : Giải phương trình tìm miền dương của đạo hàm bậc 2 (miền lồi của hàm số)
* Tìm cực đại, cực tiểu:
Để xác định cực đại, cực tiểu của hàm số ta xét đạo hàm bậc nhất và tính đơn điệu của
hàm số hoặc dùng tính lồi thông qua đạo hàm bậc hai, cụ thể:
Bước 1 : Tìm đạo hàm của hàm số: [> diff(f(x), x);
Bước 2: Giải phương trình f’(x)=0 để trên các điểm nghi ngờ là cực trị.
[> solve(f(x)=0, x);
Bước 3: Tìm khoảng đồng biến và nghịch biến của hàm số:
[> solve(f(x)>=, x);
Bước 4: Xét xem tại xo :
1) Nếu đạo hàm đổi dấu từ dương sang âm thì xo là điểm cực đại.
2) Nếu đạo hàm đổi dấu từ âm sang dương thì xo là điểm cực tiểu.
3) Nếu qua xo đạo hàm không đổi dấu thì xo không phải là điểm cực trị.
Ví dụ tìm cực trị của hàm số
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
91
Bước 4:
Qua nênđạo hàm bậc nhất đổi dấu từ dương sang âm nên là
điểm cực đại, còn qua đạo hàm bậc nhất đổi dấu từ âm sang dương nên
là điểm cực tiểu của hàm số
Nếu dựa vào đạo hàm bậc hai ta có thể tiến hành các bước sau:
Bước 1: Tìm đạo hàm của hàm số: [> dhb1:=diff(f(x),x);
Bước 2: Giải phương trình f’(x)= 0 để tìm các điểm nghi ngờ là cực trị.
[> solve(dhb1=0,x);
Bước 3: tìm đạo hàm bậc hai: [> dhb2:=diff(dhbl,x);
Thí dụ Tìm cực trị của
Bước 1 :
Bước 2: Tìm những điểm mà đạo hàm bậc nhất bằng 0:
Bước 3: Tìm đạo hàm bậc hai:
Bước 4: Tính giá trị của đạo hàm bậc hai tại những điểm mà tại đó đạo hàm bậc nhất
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
92
bằng không:
Bước 5: Xét giá trị của đạo hàm bậc hai và kết luận, chẳng hạn ở ví dụ này, ta
nên là điểm cực tiểu, còn y’’,
nên là điểm cực đại của hàm số.
* Tìm điểm uốn:
Điểm uốn là điểm mà tại đó đạo hàm bậc hai đổi dấu. Để xác định điểm uốn của hàm
số, ta lần lượt thực hiện các câu lệnh sau:
Bước 1. Tính đạo hàm bậc nhất: [> dhbl:=diff(f(x),x);
Trong đó f(x) là hàm số mà ta cần khảo sát
Bước 2: Tính đạo hàm bậc hai: [> dhb2:=diff(dhbl,x);
Bước 3: Điểm xã là điểm uốn của hàm số nếu xo là nghiệm chung của hai bất phương trình:
[> solve(dhb2>=0); và [> solve(dhb2<=0);
Ví dụ: Tìm điểm uốn của hàm số x4 - 2x2
Kết luận: là hai điểm uốn của đồ thị hàm số đã cho.
* Tìm giá trị nhỏ nhất lớn nhất của hàm sô.
Các hàm minimize(expr, vars, ranges) và maximize(expr, vars,ranges) dùng để tìm
giá trị nhỏ nhất, lớn nhất của hàm số được xác định bởi biểu thức expr theo giá trị của các
đối số được liệt kê (vars) trong một phạm vi nào đó (ranges).Ví dụ :
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
93
*Xác định cực trị địa phương của hàm số extrema(f,{},x).
Ví dụ xác định giá trị cực tiểu, cực đại của hàm số x4- 2x2
[> y:=x^4-2*x^2 :# khai báo hàm số ↵
[> extrema(y,{},x);# xác định cực đại, cực tiểu của hàm số ↵
{ -1, 0 }
* Xác định các đường tiệm cận:
Ta sử dụng lệnh tách mẫu số của f(x) bởi lệnh denom(), dùng lệnh solve( tìm
nghiệm của mẫu số ta được tiệm cận đứng.
Lần lượt tính các giới hạn a= lim(f(x)/x) và b=lim(f(x)-ax) khi x tiến tới vô cùng
nếu các giới hạn này tồn tại sẽ cho ta tiệm cận xiên y=ax+b. Ví dụ xác định tiện cận
của hàm số :
[> Y:=(x^2+x+1)/(2*x+2);
a:=limit(y/x,x=infinity);
b:=limit(y-a*x,x=infinity);
ms:=solve(denom(y)=0,x);
if ainfinity or a -infinity then
print('tiem can dung:',x=ms);
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
94
print(tiem can xien y=',x*a+b); fi; ↵
Kết quả thực hiện chương trình:
* Xác định giao điểm của đồ thị hàm số Y=f(x )với các trục toạ độ.
Sử dụng gói công cụ student, sau đó dùng các lệnh: Tìm giao điểm với trục tung
intercept(y=Y,x=0,{x,y}), tìm giao điểm với trục hoành: intercept(y=Y,y=0,{x,y}), ví
dụ xác định giao điểm với các trục toạ độ của hàm số:
[> restart:with(student):
Y:=(x^2+x+1)/(2*x+2); # mở gói công cụ và khai báo hàm
[> intercept(y=Y,y=0,{x,y}); # giao điểm với trục hoành
intercept(y=Y,x=0,{x,y}); # giao điểm với trục tung ↵
Kết quả thực hiện chương trình:
Như vậy đồ thị hàm số không cắt trục hoành mà chỉ có một giao điểm duy nhất
với trục tung tại điểm có toạ độ x = 0, y = 1/2.
* Vẽ đồ thị hàm sô.
Vẽ đồ thị là một trong
những chức năng mạnh của
MaDle. Để vẽ đồ thị hàm số
f(x) trên đoạn [a,b], ta sử
dụng lệnh [> plot(f(x),x-
a..b); ví dụ với hàm số x4-2x2
trên đoạn [-2, 2]:
[> plot(x^4-2*x^2,x=-
2..2); ↵ Kết quả ta được đồ
thị như hình vẽ.
Giáo trình: Sử dụng Công nghệ thông tin trong dạy học toán
95
Qua hình dạng đồ thị, một lần nữa chứng tỏ việc xác định chiều biến thiên, điểm
uốn, chiều lồi, lõm, cực đại, cực tiểu .. với các câ
Các file đính kèm theo tài liệu này:
- Luận văn tốt nghiệp ứng dụng công nghệ thông tin trong dạy học toán.pdf