[21] lnvestigatin'g transformation using Geometer's sketchpad through coopeerative learning - SM-106 SEAMEO.[r]
(1)ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC SU PHẠM
KHOA TOÁN
Trịnh Thanh Hải (Chủ biên) GIÁO TRÌNH
ỨNG DỤNG CƠNG NGHỆ THƠNG TIN TRONG DẠY HỌC TỐN
(2)Lời cảm ơn
Để hồn thành tập giáo trình này, chúng tơi xin trân trọng bày tỏ lòng biết ơn tới
các cộng thuộc khoa Toán trường ĐHSP-ĐHTN trực tiếp biên soạn, góp ý
sửa chữa nội dung giáo trình
Chúng tơi xin trân trọng cảm ơn em sinh viên khoa toán khoá K34, K35
trong năm học 2002-2003 2003-2004 thử nghiệm học tập góp ý cho
bản thảo giáo trình chương trình học phần “Tin học ứng dụng”dành
cho sinh viên toán, tin.
Chúng tơi xin trân trọng cảm ơn Ban giám hiệu, Phịng Đào tạo NCKH-QHQT
trường ĐHSP-ĐHTN tạo điều kiện để chúng tơi có dịp giới thiệu hướng dẫn
300 cán giáo viên mơn tốn tỉnh Hà Giang, Sơn La, Bắc Kạn, Lạng Sơn,
Cao Bằng Thái Nguyên làm quen thực hành theo số nội dung giáo trình
này.
Chúng tơi xin trân trọng cảm ơn trường THPT Lương Ngọc Quyến- TP Thái
Nguyên, THPT ĐẠI TỪ, THCS Thị trấn Đại Từ - huyện Đại Từ, trường THPT Thái
Nguyên thuộc ĐHSP Thái Nguyên tạo điều kiện cho thử nghiệm sư phạm.
(3)Lời Nói Đầu
Hiện chứng kiến phát triển vũ bão công nghệ
thông tin truyền thông (ICT) Với đời Intemet thực mở kỷ
nguyên ứng dụng công nghệ thông tin truyền thông lĩnh vực đời sống xã hội, kinh tế, Trong khung cảnh đào tạo giáo dục coi “mảnh đất mầu mỡ” ứng dụng ICT phát triển, điều tạo thay đổi sâu sắc công nghệ đào tạo giáo dục Những công nghệ tiên tiến đa phương tiện, truyền thông băng rộng, CD - ROM, DVD Intemet mang đến biến đổi có tính cách mạng quy mơ tồn cầu lĩnh vực đào tạo, giáo dục dẫn đến thay đổi phương pháp dạy học
Việc ứng dụng công nghệ thông tin ngành giáo dục Đảng, Nhà nước Bộ Giáo dục Đào tạo đặc biệt quan tâm, đơn cử:
+ Chỉ thị số 58 Bộ Chính trị, ký ngày 17/10/2000, vềđẩy mạnh ứng dụng phát triển công nghệ thông tin phục vụ nghiệp cơng nghiệp hố, đại hố nêu
rõ: "Đẩy mạnh ứng dụng công nghệ thông tin công tác giáo dục đào tạo
cấp học, bậc học, ngành học Phát triển hình thức đào tạo từ xa phục vụ cho nhu
cầu học tập toàn xã hội Đặc biệt tập trung phát triển mạng máy tính phục vụ cho
giáo dục đào tạo, kết nối Intemet tới tất sở giáo dục đào tạo"
+Quyết định thủ tướng Chính phủ Số: 47/2001/QĐ-TTg phê duyệt "Quy hoạch mạng lưới trường đại học,cao đẳng giai đoạn 2001 - 2010" Hà Nội, ngày 04 tháng năm 2001 rõ: "Tăng cường lực nâng cao chất lượng hoạt động thư
viện; hình thành hệ thống thư viện điện tử kết nối trường bước kết nối
và hệ thống thư viện trường đại học, thư viện quốc gia nước khu
vực giới Mở cổng kết nôi Intemet trực tuyến cho hệ thống giáo dụi đại
học".
+Chỉ thị số 29 Bộ trưởng Bộ Giáo dục Đào tạo ký ngày 30/7/2001 việc tăng cường giảng dạy, đào tạo ứng dụng công nghệ thông tin ngành giáo dục giai đoạn 2001-2005 nêu rõ: "Đối với giáo dục đào tạo, công nghệ thơng tin có tác
động mạnh mẽ, làm thay đổi nội dung, phương pháp phương thức dạy học CNTT
là phương tiện để tiên tới một “xã hội học tập” Mặt khác giáo dục đào tạo đóng
vai trị quan trọng bậc thúc đẩy phát triển CNTT thông qua việc cung cấp
nguồn nhân làm cho CNTT”
(4)"Tích cực áp dụng cách sáng tạo phương pháp tiên tiến, đại, ứng dụng
công nghệ thông tin vào hoạt động dạy học."
Mơn tốn mơn có liên hệ mật thiết với tin học Toán học chứa đựng nhiều yếu tố để phục vụ nhiệm vụ giáo dục tin học, ngược lại tin học công cụđắc lực cho trình dạy học tốn
Với hỗ trợ MTĐT đặc biệt Intemet phần mềm dạy học q trình dạy học tốn có nét chẳng hạn:
Giáo viên khơng cịn kho kiến thức Giáo viên phải thêm chức tư vấn cho học sinh khai thác cách tối ưu nguồn tài nguyên tri thức mạng CD-ROM
- Tiến trình lên lớp khơng cịn máy móc theo sách giáo khoa hay nội dung giảng truyền thống mà tiến hành theo phương thức linh hoạt Phát triển cao hình thức tương tác giao tiếp: học sinh - giáo viên, học sinh - học sinh, học sinh - máy tính, trọng đến q trình tìm lời giải, khuyến kích học sinh trao đổi, tranh luận, từđó phát triển lực tư học sinh
Như với mục tiêu nâng cao chất lượng đào tạo, đổi phương pháp giảng dạy biện pháp khả thi biết kết hợp phương pháp dạy học truyền thống khơng truyền thống có dựng CNTT yếu tố tách rời
Với mục tiêu khiêm tốn cung cấp thông tin ban đầu để bạn đọc
khai thác phần mềm tốn học vào cơng việc giảng dạy, học tập llluul mạnh dạn biên soạn tài liệu: Ứng dụng Công nghệ thông tin dạy học tốn.
giáo trình gồm:
Với nội dung " Hướng dẫn sử dụng khai thác số phần mềm phổ biến trong dạy học tốn "
Đây cơng việc mẻ "quá tải" nên tránh
được sai sót Rất mong tha thứ đóng góp ý kiến bạn đọc, đặc biệt Thầy, Cô giáo em học sinh, sinh viên - nguồn tư liệu q giá để chúng tơi hồn thiện tài liệu
Chúng xin trân trọng cảm ơn
(5)Mục lục
Chương 1: DẠY HỌC TỐN VỚI SỰ HỖ TRỢ CỦA CƠNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG (ICT)
1.1 Vấn đề khai thác sử dụng ICT dạy học toán
1.2 Tổ chức dạy học toán môi trường ICT
1.3 Nhận định 12
Chương SỬ DỤNG PHẦN MỀM GRAPH 13
2.1 Giới thiệu 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 16
2.5 Thư viện hàm Graph 20
2.6 Khai thác phần mềm Graph 21
2.7 Bài tập: 21
Chương SỬ DỤNG PHẦN MỀM HÌNH HỌC ĐỘNG 22
3.1 Giới thiệu sơ lược phần mềm Cabri Geometry 22
3.2 Các vấn đề để làm việc với Cabri Geometry 22
3.3 Thao tác với hệ thống công cụ 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ạ tố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 tập 58
Chương 59
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MAPLE 59
4.1 Tổng quan chung phần mềm Maple 59
4.2 Làm việc với Maple 59
4.3 Giao diện cửa sổ làm việc Maple 60
4.4 Các thao tác với Maple 61
4.5 Sử dụng lệnh Maple 66
4.5 Khai báo hàm tự tạo 85
4.6 Các cấu trúc sử dụng lập trình Maple 86
4.7 ứng dụng maple khảo sát hàm số 88
4.8 Sử dụng Maple hỗ trợ kiểm tra kết tính tốn .119
4.8.2 Kiểm tra tính lũy tính ma trận vuông 120
4.9 Sử dụng Maple hỗ trợ suy luận q trình học tốn .123
4.10 Khai thác Maple Xác suất thống kê 132
4.11 Maple với toán quy hoạch 136
4.12 Khai thác Maple hình học 139
(6)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 Vấn đề khai thác sử dụng ICT dạy học toán
Cùng với phát triển vũ bão công nghệ thông tin truyền thông, việc nghiên cứu triển khai mạnh ICT nhằm hỗ trợ trình dạy học toán nhiều quốc gia nhà giáo dục quan tâm
Trong tài liệu The free NCET (1995) leanet (Mathematics ang IT - apupil’s
entitlement) đã mô tả hướng việc sử dụng ICT nhằm cung cấp điều kiện
cho người học toán, cụ thể:
* Học tập dựa thơng tin ngược: Máy tính có khả cung cấp nhanh
xác thơng tin phản hồi góc độ khách quan Từ thơng tin phản hồi cho phép người học đưa ước đốn từ thử nghiệm, thay đổi ý tưởng người học
* Khả quan sát mơ hình: Với khả tốc độ xử lý MTĐT giúp
người học đưa nhiều ví dụ khám phá vấn đề tốn học Máy tính trợ giúp người học quan sát, xử lý mô hình, từ đưa lời chứng minh trường hợp tổng quát
* Phát mối quan hệ tốn học: MTĐT cho phép tính tốn biểu bảng, xử
lý đồ hoạ n sát thay đổi cách xác liên kết chúng với Việc cho thay đổi vài thành phần quacác thành phán lại giúp người học phát mối tương quan đại lượng
* Thao tác với hình động: Người học sử dụng MTĐT để biểu diễn biểu
đồ cách sinh động Việc giúp cho người học hình dung hình hình học cách tổng qt từ hình ảnh máy tính
* Khai thác tìm kiếm thơng tin: MTĐT cho phép người sử dụng làm việc trực tiếp với
các liệu thực, từđó hình dung sựđa dạng sử dụng để phân tích hay làm sáng tỏ vấn đề toán học
* Dạy học với máy tính: Khi người học thiết kế thuật tốn để sử dụng MTĐT giúp tìm
ra kết người học phải hồn thành dãy thị mệnh lệnh cách rõ ràng, xác Họđã đặt suy nghĩ ý tưởng cách rõ ràng
* Sử dùng đồ hoạ với máy tính: Đồ thị máy tính nét lớp dạy học
toán Kenneth Ruthven bắt đầu lựa chọn, nghiên cứu phát triển dự án sử dụng đồ hoạ
(7)độ dốc địa phương phát triển lâu (David Tall sử dụng máy tính BBC)
Tall trình bày đường sử dụng đồ hoạ máy tính ơng để dạy học phép tính từ đầu năm 1980 Phần mềm "Hình ảnh máy tính" ơng phát triển lần cho máy tính BBC Phần mềm cho phép người học phóng to, thu nhỏ đồ thị với phạm vi nào, qua hình thành khái niệm, chẳng hạn gradient đồ thị Tall sớm công bố loạt báo quan hệ dạy toán tạp chí Mathematics Teaching, sau báo tập hợp lại sách nhỏ (Tall 1987) Hơn thời gian gần vài người tương tự Tall ứng dụng bảng tính, đồ hoạ, ý tưởng báo cáo Micromath (Morgan Jones & Mcleay, 1996; Crawford, 1998; Morrison, 1998).
Một vài nghiên cứu giáo viên có sử dụng đồ hoạ MTĐT trình giảng họ đưa câu hỏi với yêu cầu cao so với lớp không sử
dụng Ví dụ, Ring (1993) hướng dẫn giáo viên để làm với đồ hoạ máy tính để
phục vụ cho câu hỏi chiến lược giáo viên phương pháp trình bày kiến thức tốn học Rich trợ giúp giáo viên sử dụng đồ hoạ máy tính trọng đến việc khảo sát tỉ mỉ, giúp đỡ học sinh đưa đoán Với hỗ trợ máy tính, giáo viên đề câu hỏi có yêu cầu cao sử dụng ví dụ khác nhau, qua khai thác vai trị quan trọng đồ hoạ máy tính phân tích vấn đề Mặt khác, sử dụng đồ hoạ cho phép ta phân tích mối liên kết đại số, hình học Ý tưởng sử dụng đồ hoạ
máy tính cho học sinh từ 11 đến 16 tuổi trình bày Open Calculalor Challenge
của Open University (1993), Graham & Galpin (1998), Arter (1993), Ruthven (1992) Theo Colette, nhà nghiên cứu dạy học mơn tốn người Pháp, MTĐT có khả tạo mơi trường giải vấn đề (problem solving environments) cho học sinh mơi trường
đó có vai trị to lớn việc kích thích hoạt động tìm tịi khám phá từ hình thành kiến thức Theo học thuyết kiến tạo (cosntructivist hypothesis) kiến thức học sinh
được tạo nên hoạt động môi trường tốn học, MTĐT có khả tết việc tạo mơi trường Trong mơi trường máy tính học sinh tiếp thu hoạt
động, thực hành (learning hy doing)
John Mason (tác giả người Anh) năm 1992 phát triển ý tưởng cho phần mềm máy vi tính tốn hệ thống cơng cụ có khả sử dụng giải toán giúp nghiên cứu khái qt đểđi đến việc tìm tính chất tốn học
Rosamund Sutherland thơng qua dự án "ANA" nghiên cứu việc dạy học toán với phần mềm lịng có đúc kết rằng: "Điều quan trọng học sinh sử dụng ngơn ngữ, kí hiệu máy tính có khả hình thành khái quát hoá toán học"
Các tác giả Mark Hunter, Paul Marshall, John Monaghan Tom Rope (năm 1993) tiến hành đợt thử nghiệm với việc sử dụng hệ thống chương trình CAS giảng dạy cho đối tượng học sinh THCS Kết thử nghiệm cho thấy khả suy luận toán học học sinh phương tiện đem lại đạt hiệu cao
(8)MTĐT dạy học toán có đặc thù riêng Ngồi mục tiêu trợ giúp học sinh chiếm lĩnh kiến thức vấn đề phát triển tư suy luận lơgic, óc tưởng tượng sáng tạo toán học đặc biệt khả tự tìm tịi chiếm lĩnh kiến thức mục tiêu quan trọng
Sản phẩm môi trường học tập với hỗ trợ công nghệ thông tin học sinh có lực tư sáng tạo tốn học, có lực giải vấn đề lực tự
học cách sáng tạo Như vậy, việc tổ chức dạy - học với hỗ trợ MTĐT phần mềm toán học nhằm xây dựng môi trường dạy - học với đặc tính sau:
• Tạo mơi trường học tập hồn tồn mà mơi trường tính chủ động, sáng tạo học sinh phát triển tết Người học có điều kiện phát huy khả phân tích, suy đốn xử lý thơng tin cách có hiệu
• Cung cấp mơi trường cho phép đa dạng hoá mối quan hệ tương tác hai chiều thầy trị
• Tạo mơi trường dạy học linh hoạt, có tính mở
Trong hình thức tổ chức dạy - học có hỗ trợ cơng nghệ thơng tin vai trị người thầy đặc biệt quan trọng Nó địi hỏi cao người thầy khả hình thức tổ chức dạy học truyền thống Về góc độ đó, lực người thầy thể qua hệ thống định hướng giúp học sinh phát giải vấn đề thông qua hệ thống câu hỏi Hệ thống câu hỏi người thầy phải đáp ứng yêu cầu sau:
• Các câu hỏi phải mang tính gợi mở, định hướng giúp cho học sinh đường xử
lý thông tin đểđi đến kiến thức
• Các câu hỏi phải trợ giúp học sinh củng cố kiến thức tăng cường khả vận dụng kiến thức thực hành
• Các câu hỏi phải có tính mởđể khuyến khích học sinh phát huy tính sáng tạo, khả
năng phân tích tổng hợp, khái qt hố tri thức trang bị để giải vấn
đề
Điều khác biệt so với hình thức dạy học truyền thống trình truyền đạt, phân tích, xử lý thơng tin kiểm tra đánh giá kết giáo viên, học sinh thực có
(9)1.2 Tổ chức dạy học tốn mơi trường ICT
1.2.1 Sử dụng phương tiện ICT giờ lên lớp với sốđơng học sinh
Hình thức áp dụng với quy mô số học sinh từ 40 đến 60 Ngồi phương tiện dạy học thơng thường lớp học truyền thống bảng đen, phấn trắng, thước kẻ lớp học trang bị thêm máy tính, máy chiếu Project, máy chiếu Overhead Trong học, lớp quan sát kết xử lý máy tính hình lớn
Hình thức có đặc điểm sau:
- Giáo viên trực tiếp lên lớp khai thác tính ICT để trình bày kiến thức cách sinh động Một số trường hợp, giáo viên chuẩn bị sẵn hình vẽ, bảng biểu,
để rút ngắn thời gian thao tác với máy tính
- Học sinh quan sát phán đoán theo sựđịnh hướng giáo viên Học sinh trực tiếp thao tác với máy tính Ví dụ dạy học định lý, mơ hình tổ chức lớp học
sau:
Như vậy, lớp học thường diễn theo xu hướng sau:
- Từng học sinh làm việc gần "độc lập" với nhau, tập trung vào quan sát, xử
lý thơng tin hình
- Những học sinh khá, giỏi chưa phát huy tối đa khả thân lớp giao nhiệm vụ cụ thể
(10)lại kiến thức cũ hệ thống lại kiến thức học sinh
1.2.2 Tổ chức hoạt động học "cộng tác " theo nhóm nhỏ
Học sinh chia thành nhóm nhỏ khơng học sinh
Trang thiết bị tối thiểu nhóm có máy tính Nếu máy tính nối mạng tốt nhóm chia sẻ thơng tin với
Hình thức có đặc điểm sau:
- Giáo viên giao nhiệm vụ cho nhóm thơng qua định hướng gợi mở phiếu học tập
- Mỗi nhóm học sinh sử dụng chung máy tính, có trách nhiệm cộng tác, chia sẻ
những ý tưởng thân để hoàn thành nhiệm vụ nhóm thân Kết nhóm thực có hiệu tồn thành viên nhóm hồn thành mục tiêu học tập Như thành viên nhận thức rằng: Khơng phải học sinh làm mà nhóm học điều Như ba yếu tố hình thức là: Sự thành cơng tồn nhóm, trách nhiệm cá nhân nhóm
điều quan trọng thành viên nhóm có hội thành cơng bình đẳng
nhau
Hình thức làm việc " cộng tác " theo nhóm nhỏ có ưu việt sau:
- Có nhiều hội để thể hiện, trao đổi suy nghĩ thân Thay giáo viên thao tác, trình bày, hình thức người nhóm trực tiếp làm việc với đối tượng hình học nhóm ln sẵn sàng đón nhận nhận
định, phán đoán thành viên
- Mỗi cá nhân điều kiện làm việc trực tiếp với phần mềm, cịn có khả nhận
được hỗ trợ không giáo viên mà nhóm, qua làm tăng hiệu
học tập học sinh giúp đỡ học sinh giúp đỡ bạn Chính khả thành cơng cá nhân tăng - Những học sinh học có khả năng, hội bày tỏ học hỏi nhiều thành viên nhóm Ví dụ dạy học
định lý tổ chức học tập theo mơ hình sau:
Hình thức học "cộng tác" thực phát huy tác dụng ta đảm bảo yếu tố quan trọng sau:
(11)- Giáo viên hình thành phát triển kỹ hợp tác học sinh - Khẳng định rõ ràng trách nhiệm cá nhân nhóm
- Tạo môi trường tương tác thành viên nhóm - Hình thành kỹ giao tiếp, ứng xử cho học sinh học tập - Hình thức phân chia nhóm:
Tuỳ nội dung mà ta chia nhóm ngẫu nhiên hay chia nhóm theo trình độ
người học Ví dụ: Khi làm việc với nội dung sử dụng nhóm ngẫu nhiên để học sinh giỏi, kèm cặp, giúp đỡ học sinh yếu Nếu luyện tập, rèn luyện kỹ phân chia theo trình độ người học để giao nhiệm vụ phù hợp nhằm phát huy tối đa khả người học
1.2.3 Hình thức học sinh làm việc độc lập tại lớp
- Mỗi học sinh sử dụng máy tính Lớp học tổ chức phịng máy tính trường
- Nhiệm vụ lớp phân thành nhiệm vụ nhỏđể giao cho cá nhân (do học sinh ý thức rằng, hoạt động độc lập thành cơng thân thành cơng lớp ngược lại)
Hình thức có đặc điểm chỉnh sau:
- Học sinh có điều kiện phát huy hết khả thân
- Trong thời điểm giải nhiều toán khác '
- Phù hợp với việc nhận thức chênh lệch lớp Tuỳ mức độ khả thân mà học sinh khuyến khích đảm nhận nhiệm vụ vừa sức
(12)Trong mơ hình làm việc đa tuyến, giáo viên đóng vai trị điều khiển "từ xa" cách nêu nhiệm vụ chung lớp Học sinh trao đổi, phân chia toán thành tốn (q trình độc lập diễn tham mưu giáo viên) Mỗi cá nhân vào khả nhận thi cơng mơ đun Trong q trình làm việc,
có trao đổi học sinh Kết học sinh học sinh khác sử
dụng Thậm chí, thành viên yêu cầu thành viên khác điều chỉnh kết theo hướng có lợi cho việc kế thừa cho thành viên khác
1.2.4 Sử dụng phương tiện ICT dạy một nội dung ngắn
(13)đi tìm lời giải minh hoạ kết lời giải Hình thức thường sử dụng hình thức tổ chức lớp học với sốđơng Giáo viên cho vài học sinh trực tiếp thao tác với máy tính Hình thức tận dụng thời gian lên lớp phù hợp tiết học nội dung
Ví dụ Sử dụng Cabri để phát hình thành động chứng minh định lý minh hoạ quỹ tích, minh hoạ kết tổng quát vừa tìm với trường hợp cụ thể .
1.2.5 Sử dụng phương tiện ICT để dạy học trọn vẹn một phần của học
Với mục đích sử dụng phần mềm để giải trọn vẹn nội dung cụ thể tiết học nên quỹ thời gian sử dụng phương tiện kéo dài từ đến 10 phút Qua việc thao tác với phần mềm, học sinh phát giải trọn vẹn vấn đề, ví dụ dạy học khái niệm Hình thức sử dụng hình thức tổ chức lớp số đơng học tập theo nhóm Hoạt động sử dụng, khai thác phần mềm tiến hành đan xen với hoạt động khác nên học sinh động phù hợp với tâm sinh lý lứa tuổi học sinh
1.2.6 Sử dụng phương tiện công nghệ thông tin dạy trọn vẹn một tiết học
Trong hình thức giảng thiết kế thành hệ thống liên kết chặt chẽ phối hợp đan xen hoạt động thấy trò để đạt mục đích giảng Điều đặc biệt giảng thiết kế cho khai thác tối đa hỗ trợ phần mềm MTĐT Với hình thức này, thời lượng sử dụng bảng đen không học khác nội dung kiến thức thiết kế sẵn Slide giáo viên chiếu lên hình thay cho viết bảng (ta tạm gọi giáo án điện tử) Giáo án điện tửđược biên soạn hình thức Slide bao gồm đơn vị tri thức, tập từ đơn giản đến phức tạp, tạo điều kiện cho việc lĩnh hội tri thức Từ chiến lược sư phạm, ta cấu trúc hoá đơn vị tri thức giáo án Các nội dung trình bày bao gồm kiện nảy sinh trình tương tác Các tác động thực theo lược đồ định Việc phân tích, đánh giá đáp
ứng người học thường dựa yêu cầu chuẩn bị sẵn Số lượng nội dung Slide xác định cho thể tốt nội dung giảng ý đồ sư phạm Lượng thông tin Slide không hạn chế, với hỗ trợ phần mềm cơng cụ nội dung khơng dạng text (văn bản) mà âm thanh, hình vẽ, ảnh động, chí video Giáo án điện tử cho phép ta trình diễn cách trực quan sinh động nội dung khảo sát hàm số, dựng hình, quỹ tích mà khơng sử
dụng máy vi tính khơng thể mơ tảđược với chức siêu liên kết (Hyperlink) cho phép ta kết nối Slide giảng thành hệ thống, từ vị trí ta truy nhập
đến nội dung (một Slide) khác giảng Mặt khác, ta kết nối hàng loạt giảng với thành hệ thống hoàn chỉnh để giảng dạy vấn đề, chương
(14)tập rẽ nhánh, triển khai sâu vào nội dung chi tiết, quay lui chuyển nội dung trình bày Hơn nữa, khối lượng kiến thức ôn tập lại tiết lớn giáo viên tiết kiệm thời gian để viết kẻ, vẽ lên bảng Nhờ hỗ trợ máy tính giáo án điện tử, ơn tập chương khơng cịn cảnh giáo viên liệt kê lại nội dung học mà q trình làm việc tích cực trò dẫn dắt thầy Việc làm việc với "cây" kiến thức góp phần phát triển tư lôgic, biện chứng cho học sinh
Tuy nhiên giáo án điện tửđược thiết kế theo kịch người giáo viên dựđịnh trước nên việc đưa tình hữu hạn, giải pháp đáp ứng yêu cầu cố định, thực tế đa dạng phong phú Vậy giáo viên cần phối hợp với phương pháp, hình thức dạy học khác để phát huy tối đa tính tích cực, chủđộng người học nhằm nâng cao chất lượng dạy học
Quy trình thiết kế giáo án điện tử:
(15)1.2.7 Sử dụng ICT kiểm tra, đánh giá
Hoạt động nội dung sử dụng MTĐT trợ giúp học sinh giải tập, kiểm tra nhận thức thân, cụ thể:
+ Giao cho cho nhóm học sinh học sinh máy tính Học sinh tự sử
dụng phần mềm để tìm tịi cách giải vấn đề hoàn thành nhiệm vụđược giao (giải
được tập hoàn thành phiếu học tập cá nhân, nhóm)
+ Kiểm tra nhận thức học sinh ngân hàng điện tử: Toàn câu hỏi đáp án
(16)1.2.8 Trợ giúp học sinh tự học
Trong điều kiện nhiều học sinh có điều kiện trang bị máy tính nhà riêng hình thức cần khuyến khích khai thác sử dụng thời lượng học sinh tự học
ngoài phạm vi lớp học lớn, mặt khác khơng trói buộc học sinh mặt thời gian, địa điểm, cụ thể:
+ Giáo viên nhiệm vụ, học sinh sử dụng phần mềm độc lập tìm tịi đưa cách giải vấn đề Giáo viên kiểm tra, nhận định lại kết
+ Giáo viên thiết kế nhiệm vụ học tập ghi tệp tin Học sinh mở tệp tin, theo hướng dẫn tiếp tục hồn thành nhiệm vụ.Giáo viên có thiết kế nhiệm vụ theo liều (được ghi tệp tin khác nhau) để học sinh tự học theo chu trình rẽ nhánh
+ Sử dụng giảng "gia sưđiện tử" Toàn nội dung kiến thức, ví dụ minh hoạ
và tập thiết kế dạng Website Học sinh kích chọn nội dung cần học tìm hiểu nội dung qua ví dụ kèm theo Kết thúc mục có tập cho học sinh tự kiểm tra đánh giá nhận thức Sau giải song tập có khó khăn, học sinh mở lời giải hướng dẫn để tham khảo
Như hiệu trình phụ thuộc hồn tồn vào tính chủ động, tích cực hướng đích cao học sinh
1.2.9 Dạy học qua mạng
Trong điều kiện sở hạ tầng công nghệ thông tin phát triển nhanh Việt Nam hình thức đào tạo qua mạng trở nên đơn giản Mỗi nhà trường có trang web riêng Học sinh truy cập qua mạng thực theo phác đồ học tập quy định Các thắc mắc trao đổi thực nhanh chóng dịch vụ thư điện tử (Email) trao đổi trực tuyến (online) với giáo viên hướng dẫn theo quy định
(17)mới giáo dục giới 1.3 Nhận định
Việc khai thác có hiệu hỗ trợ ICT tác động cách tích cực tới hoạt
động dạy học yếu tố sau:
* Tính linh động, mềm dẻo: người học bị thu hút thông tin trình xử
lý thơng tin máy tính, từđó truy tìm ngun nhân vấn đề
* Tính hệ thơng: người học có thểđiều chỉnh nhận thức hệ thống kiến
thức để nắm vấn đề, điều hoà mâu thuẫn hoang mang bối rối trước vấn đề tính tị mị ham muốn tìm hiểu, khám phá
* Tính kết hợp: người học làm việc nhóm nên khai thác ưu
điểm động viên sựđóng góp tối đa cá nhân
* Tính mục đích: người học cố gắng, tích cực tập trung cao độ vào hoạt động nhằm
tìm hiểu, khám phá, nhận thức cho đối tượng
* Tính đàm thoại: học hoạt động xã hội, trình đối thoại người học với hỗ trợđắc lực cho việc nắm bắt kiến thức không mà ngồi trường học
* Tính ngữ cảnh: hoạt động học đặt vị trí có ý nghĩa đặc biệt hoạt
động giới thực đóng vai trị mơi trường sở, tạo ngữ cảnh mang tính tích cực, thúc đẩy việc học sinh viên
* Tính phản ảnh: với hỗ trợ cơng cụ, người học kết nối lại họ
được học thu nhận phản ánh q trình từ máy tính để đến định đắn
Vấn đề sử dụng ICT nhà trường khẳng định Chỉ thị 58- CT/TW ngày 17- 10-2000 Bộ Chính trị Ban chấp hành Trung ương Đảng Cộng sản Việt nam, Chỉ thị 29-2001/CT-BGD&ĐT Bộ trưởng Bộ Giáo dục Đào tạo, nhiều văn khác Chính phủ, Bộ Giáo dục Đào tạo Điều chứng tỏ tính cấp thiết hiệu việc đưa ICT vào nhà trường
Câu hỏi thảo luận: Khi sử dụng ICT dạy học vai trị người Thầy có
(18)Chương
SỬ DỤNG PHẦN MỀM GRAPH 2.1 Giới thiệu phần mềm Graph
Phần mềm Graph phần mềm hỗ
trợ minh hoạ giải số vấn đề
trong mơn tốn phổ thơng tương đối gọn nhẹ cài đặt mơi trường hệ điều hành Windows Tồn chương trình chứa gọn đĩa mềm 1.44 MB Ivan Johansen Phần mềm
download miền phí địa chỉ: http://www.padonwan.dk Hiện có phiên 3.0 đưa lên mạng ngày 20/1/2004
2.2 Làm việc với Graph
Để nạp chương trình Graph, ta thực dãy thao tác: StartlPrograms/Graph hoặc nháy chuột vào biểu tượng Graph:
Giao diện phần mềm Graph gồm thành phần: Hệ thống menu, công cụ
và trang công tác chia thành phần: cửa sổ trái danh sách đối tượng: danh sách hàm (Functions), danh sách điểm (Point series), danh sách miền
(19)2.3 Giới thiệu hệ thống Menu
Hệ thống mệnh Graph gồm chức bản: File, Edit, Function, Zoom, Cacl, Help
2.3.1 Menu File:
- Mở tệp ( New - Ctrl + N), - Mở tệp có ( Open - CTrl+O), - Lưu trữ tệp ( Save - Ctrl+S, Save as), - In ấn ( Print),
- Kết thúc phiên làm việc (Exit - Alt+F4),
- Lưu trữ kết dạng ảnh (Save as image - Ctrl+B), chức giúp ta có đồ thị đẹp
để thiết kế giáo án điện tử
2.3.2.Menu Edit:
- Huỷ bỏ thao tác trước ( Undo - Ctrl-Z), - Lặp lại thao tác trước ( Redo - Ctrl+Y), - Cắt đối tượng lưu vào bộđệm (Cut - Ctrl+x), - Copy đối tượng lưu vào bộđệm ( Copy - Ctrl+c),
- Dán đối tượng từ đệm trang cơng tác (Paste- Ctrl+v),
- Sao chép hình ảnh (Copy image),
(20)2.3.3 Menu Function:
- Khởi tạo hàm mới(Insert frunction - Ins),
- Tạo vẽ tiếp tuyến (Insert tangent - F2), - Đánh dấu miền(Insert shade - F3), - Vẽđiểm hệ toạđộ trang công tác (Insert point series -F4),
- Vẽ hệ thống điểm (Insert trendline-Ctrl+T), - Đặt tên cho đối tượng (Insert label ),
- Cập nhật đối tượng lựa chọn (Edit ), - Xoá bỏ đối tượng … đang lựa chọn
- Chèn đồ thịđạo hàm hàm số (Insert f'(x))
2.3.4 Menu Zoom :
Hệ thống chức menu gồm lệnh đểđiều khiển, thay đổi góc độ hiển thị
của trang làm việc, ý chức sau:
- Điều chỉnh theo hướng thu hẹp khoảng [a,b] trục hoành hiển thị trang công tác (In)
- Điều chỉnh theo hướng gia tăng khoảng [a,b] trục hồnh hiển thị trang cóng tác (Out), Chuyển trạng thái chuẩn ( Standard-Ctrl+D),
- Chuyển trạng thái cho phép di chuyển đối tượng trang công tấc (Move system - Ctrl+M,
- Chuyển chếđộ hiển thị cho quan sát tất điểm trang công tác (All points)
2.3.5 Menu Calc:
- Xác định độ dài đồ thị f(x) đoạn [a,b]
đó ( Length of path),
- Tính diện tích phần giới hạn đường thẳng x=a, x=b với đồ thị f(x) ( Aren),
- Xác định giá trị f(x) điểm xo (Evaluate - Ctrl+E),
(21)2.4 Một số chức
2.4.1 Vẽđồ thị hàm f(x)
Để khởi tạo đồ thị mới, dãy thao tác sau: -> Function-> Insert function (hoặc chọn biểu tượng … công cụ) Xuất bảng khai báo tham số:
+ Biểu thức tổng quát f(x),
+ Giới hạn phạm vi giá trị đối số,
+ Kiểu nét vẽ,
+ Độ rộng nét vẽ,
+ Mầu nét vẽ,
Khai báo xong, nhấn OK để hồn tất cơng việc
2.4.2 Cập nhật đối tượng
Để chỉnh sửa đồ thị hàm số có, thao tác sau: Trước tiên lựa chọn đồ thị chỉnh sửa, chọn: ->Function ->Edit (hoặc bấm
đúp vào biểu thức f(x) cửa sổ
bên trái) xuất sổ Edit function để ta cập nhật lại Ta
khai báo lại giá trịđoạn [a,b], chọn lại
(22)2.4.3 Vẽ tiếp tuyến với đồ thị f(x) tại điểm xo
Để Vẽ tiếp tuyến với đồ thị hàm số f(x)
điểm xo trước tiên phải lựa chọn hàm số,
chọn: -> Function -> Insert tangent Xuất cửa sổ Insert
tangent Ta nhập giá trị xo cửa sổ: x=, sau chọn độ rộng, kiểu đường vẽ tiếp tuyến, mầu nhập nội dung ghi cho tiếp tuyến cửa sổ: Description Sau nhấn OK
để hoàn tất
Để điều chỉnh tiếp tuyến vẽ, bấm đúp vào biểu thức tiếp tuyến cửa sổ trái,
xuất cửa sổ Edit tangent để ta cập nhật
2.4.4 Chèn đồ thị của đạo hàm f'(x)
Graph có chức vẽ hệ trục toạđộđồ thị hàm số f(x) f'(x) Để sử dụng chức này, trước tiên ta chọn hàm cần chèn thêm đồ thị
của đạo hàm cửa sổ bên trái, sau thao tác:
->Function -> Insert f'(x) Xuất cửa sổ Insert (f’x) Ta khai báo khoảng [a,b], kiểu nét vẽ, độ dày, mầu ghi cho đồ thị Nhấn OK để hoàn tất
2.4.5 Xác định độ dài của đồ thị f(x) đoạn [a,b]
Chức Length of path cho phép ta biết
được giá trị độ dài đồ thị hàm số f(x) đoạn [a,b] Để sử dụng chức này, trước tiên ta chọn hàm cửa sổ bên trái sau thao tác: ->Calc -> length of path Xuất cửa sổ cho ta nhập giá trị hai đầu mút a cửa sổ From: và b cửa sổTo:, ta có kết quảđược thơng báo
Length Có thể nhập giá trị a, b khác để
(23)2.4.6 Tính diện tích
Graph có chức tính nhanh diện tích phần mặt phẳng giới hạn đường thẳng x=a, x=b với đồ thị f(x)
Để sử dụng chức tính diện tích hình phẳng, trước tiên ta chọn hàm cửa sổ
bên trái, ta thao tác sau: -> Calc > Aren Xuất cửa sổ, ta nhập giá trị đầu mút a cửa sổ From:, b cửa sổ
To., ta có kết diện tích thông
báo cửa sổ Area Trên hình đồ hoạ thấy phần diện tích tương ứng biểu diễn đường gạch sọc Ta nhập giá trịđầu mút a, b khác để tính diện tích miền khác
2.4.7 Tính giá tri f(x), f'(x), f’’(x) tại điểm xo
Để sử dụng chức này, trước tiên ta chọn hàm cửa sổ bên trái, ta thực thao tác:
-> Cacl -> Evaluate, xuất cửa sổ để ta nhập giá trị điểm xo cần tính Kết
thơng báo cửa sổ bên : f(x), f'(x), f''(x)
Ta thay đổi giá trị xo để có kết
(24)2.4.8 Tính giá trị của f(x) đoạn [a,b] với bước chia cách đều
Chức Calculate table cho phân hoạch đoạn [a,b] lưới nút cách
đều đoạn dx tính giá trị hàm số f(x) điểm chia
Để lập bảng, trước tiên ta chọn hàm
(25)2.4.9 Vẽ điểm hệ trục toạđộ
Để sử dụng chức này, ta thao tác sau:->Function ->insert point series , xuất cửa sổ:
Insert point series Ta cần khai báo
toạ độ điểm cần vẽ Bên trái có lựa chọn
- Kiểu vẽđiểm: Style,
- Mầu vẽđiểm: Color, - Kích thước điểm: Size,
- Hiện toạ độ điểm Show
coordinates
Khai báo song nhấn OK, ta sẽ nhận
được hình ảnh điểm hình
2.4.10 In ấn kết quả
Để in kết quả, ta chọn: ->File ->Print
Xuất cửa sổ Page Setup để
ta xác định thông số trước in Nếu cần lựa chọn máy in danh sách máy in cài
đặt; ta chọn tiếp Printer Đểđưa máy in, ta chọn OK
2.5 Thư viện hàm Graph
(26)SQR - Hàm cho giá trị bình phương đối số, SQRT - Hàm cho giá trị bậc hai đối số, SIN - Hàm cho giá trị hàm số sin đối số, COS - Hàm cho giá trị hàm số cosin đối số, TAN - Hàm cho giá trị hàm số tang đối số,
ARCSIN - Hàm cho giá trị hàm số ngược hàm số sin, ARCCOS - Hàm cho giá trị hàm số ngược hàm cosin, ARCTAN - Hàm cho giá trị hàm số ngược hàm tan, LN - Hàm cho giá trị logarit số e đối số,
LOG - Hàm cho giá trị logarit số thập phân đối số, PI - Cho giá trị sốơi,
Toán tử ^ : dùng để biểu diễn luỹ thừa, ví dụ 10^3 1000, 2^8 256
Để biết thêm chi tiết, chọn Help để tra cứu thông tin cần thiết 2.6 Khai thác phần mềm Graph
Graph cho ta công cụ tương đối đầy đủ để dạy học nội dung Đạo hàm ứng dụng chương trình tốn lớp 12, đặc biệt nội dung khảo sát hàm số nội dung ứng dụng tích phân tính diện tích miền
Phương pháp chủ yếu dùng Graph để minh hoạ kiểm tra kết Sau học sinh hoàn thành khối lượng cơng việc, giáo viên sử dụng Graph để học sinh kiểm tra lại kết tính tốn khảo sát chi tiết thêm hàm số nhờ vào công cụ Graph
Ta sử dụng Graph để vẽ đồ thị sau lưu trữ đồ thị dạng ảnh để đưa vào giáo án soạn Word Powerpoint
2.7 Bài tập:
a) Khảo sát hàm số
b) Minh hoạ việc từ đồ thị hàm số f(x) suy đồ thị hàm số: f(|x|) |f(x)|, |f(|x|)l| tính chất hàm số mũ, hàm số lôgarit
c) Sử dụng chức Graph để kiểm tra kết tính tốn tập tính độ
(27)Chương
SỬ DỤNG PHẦN MỀM HÌNH HỌC ĐỘNG 3.1 Giới thiệu sơ lược phần mềm Cabri Geometry
Phần mềm Cabri Geometry kết nghiên cứu phòng nghiên cứu cấu trúc rời rạc phương pháp giảng dạy - Trung tâm nghiên cứu khoa học quốc gia - trường Đại học tổng hợp Joseph Fourier Grenoble (Pháp) Hai người có cơng lớn việc phát triển Cabri Geometry Laborde Franck Bellemain Jean - Marie Laborde bắt đầu phát triển dự án Cabri II từ năm 1981 môi trường cho lý thuyết đồ thị Franck Bellemain bắt đầu làm việc dự án Cabri II vào 1986 chịu trách nhiệm để viết phiên phần mềm Cabri Geometry
Hiện phần mềm Cabri Geometry II download miễn phí địa
http://www.ti.com/calc. Tệp nén wcabri.zip có kích thước 3258 KB Khi cởi nén, chương trình tự động tạo thư mục thư mục gốc ổ C với tên CABRI với dung lượng khoảng MB -
Giao diện làm việc Cabri cho phép chọn ngôn ngữ khác với ngầm định tiếng Anh Tuy nhiên ta Việt hố hệ thống mệnh Cabri
3.2 Các vấn đề để làm việc với Cabri Geometry
3.2.1 .Khởi động Cabri Geometry
Cabri phần mềm chạy hệ điều hành MS - DOS Windows Chúng giới thiệu phiên Cabri for Windows
(28)Ta tạo Shortcut để đóng Cabri Geometry hình để việc gọi
được thuận tiện
Sau khởi động, giao diện Cabri sau:
3.2.2 Hệ thống menu bar của Cabri:
Cabri có hệ thống mênh bai gồm nhóm chức chính, nhóm ứng với hệ
thống mênh dọc (Popup)
* Nhóm chức năng File
- New (CTRL + N): Mở tệp (một trang hình học)
- Open (CTRL + O): Mở tệp Cabri có lưu trữ (ta phải chọn ổ đã, thư mục lưu giữ tệp tin, chọn tên tệp tin cần mở)
-Close (CTRL + W): Đóng tệp tin làm việc Nếu ta chưa lưu trữ tệp tin, Cabri nhắc: Nếu chọn Yes: Cabri
(29)- Save (CTRL + S): Lưu trữ tệp tin hình Nếu lần lưu trữđầu tiên xuất cửa sổ Save, ta phải chọn ổ đĩa, thư mục lưu trữ
tệp tin tên tệp tin Những lần thực lệnh ghi sau, Cabri không hỏi mà tự động ghi theo thông sốđã chọn
- Save As: Lưu trữ tệp với tên
- Show Page: Xem toàn tệp trước in (ta chọn vùng in cách di chuyển khung chữ nhật đến vị trí cần thiết)
- Page Setup: Định thông số trước in nội dung tệp - Print (CTRL+P): Thực lệnh in
- Exit (CTRL+Q): Kết thúc phiên làm việc
* Nhóm chức năng Edit: (bao gồm chức năng)
- Undo (CTRL+ Z): Huỷ bỏ lệnh vừa thực
- Cut (CTRL + X): Cắt bỏ đối tượng
được lựa chọn đánh dấu khỏi hình làm việc lưu tạm vào bộđệm Clipboard
- Copy (CTRL + C): Copy đối tượng
đã lựa chọn đánh dấu lưu tạm vào đệm Clipboard
(30)con trỏ
- Clear (Del): Xoá bỏ đối tượng lựa chọn đánh dấu -Select All (CTRL + A): Đánh dấu lựa chọn tất đối tượng - Replay Construction: Xem lại tồn q trình dựng hình
- Refresh Drawing (CTRL + F): Lấy lại hoạ tiết thao tác dựng hình * Nhóm menu Options: (gồm chức cho phép lựa chọn thuộc tính)
- Hide Attributes: Cho hiện hay ẩn cơng cụ lựa chọn thuộc tính cho đối tượng
- Preferences : Khai báo lựa chọn tham số
hệ thống như: lựa chọn đơn vị mầu, mầu đối tượng, chếđộ hiển thị, font chữ hệ thống .
Nếu ta muốn thay đổi thuộc tính ngầm định Cabri cần phải khai báo, lựa chọn theo ý người sử dụng Để lưu trữ lại lựa chọn ta bấm chọn vào ô: [ ] Keep as defaults Nếu muốn lưu trữ cấu mẫu riêng, ta bấm chọn vào ô Sa ve to file
- Language: Lựa chọn ngơn ngữ hiển thị (có nhiều lựa chọn như: ngơn ngữ Anh, Pháp, Đức, Đan Mạch )
(31)* Hệ thống menu Window
Hệ thống menu bao gồm lệnh có cơng dụng tương tự phần mềm khác môi trường hệ điều hành Windows dùng để bố trí xếp cửa sổ
* Hệ thống mênh Help
Hệ thống trợ giúp Cabri giới thiệu tổng quan phần mềm Cabri
3.3 Thao tác với hệ thống cơng cụ Geometry Cabri
Tồn hệ thống cơng cụ Cabri bao gồm 11 nhóm chức chính:
3.3.1 Nhóm chức năng chọn trạng thái làm việc với chuột
Khi bấm chuột vào hộp công cụ này, xuất lựa chọn:
• Pointer: Trạng thái sử dụng để lựa chọn, dịch chuyển, xoá bỏ làm thao tác sửa đổi với đối tượng hình học
• Rotate: Xoay một hình xung quanh điểm chọn hay tâm hình
• Dilate: Mở rộng hay thu hẹp hình theo tâm hình hay điểm chọn • Rotale and Dilate: Có thể lúc vừa xoay vừa thay đổi độ rộng, chiều cao hình
3.3.2 Nhóm chọn cơng cụ tạo điểm
Khi bấm chuột vào nhóm cơng cụ này, xuất bảng có sư lựa chọn:
• Point: Tạo điểm tự
• Point on Object: Tạo điểm hình có • Intersection Points: Xác định điểm giao hình hình học
(32)+ Tạo điểm mặt phẳng:
Kích chuột vào biểu tượng, chọn Point, xuất hình tượng bút chì, đưa đầu bút chì đến vị trí xác định điểm, bấm chuột trái xác định nhiều điểm liên tục không cần chọn lại công cụ
+ Tạo điểm thuộc hình hình học có:
Kích chuột vào biểu tượng, chọn Point on Object, đưa bút chì vào đối tượng hình học có, xuất câu hỏi, chẳng hạn: "Dùng điểm đường thẳng", "Qua điểm trênđường tròn " cần chọn vị trí nào, ta kích chuột vào vị trí
+ Xác định điểm giao hình hình học có:
Kích chuột vào biểu tượng, chọn Intersection Points, đưa bút chì vào vị trí giao hình hình học, xuất dịng thơng báo t giao điểm" Nếu điểm cán chọn, ta bấm chuột chọn điểm
3.3.3 Nhóm chọn cơng cụ vẽ đường hình
Khi bấm chuột chọn nhóm cơng cụ này, xuất bảng gồm chức vẽ đối tượng hình học bản:
Line: Vẽ đường thẳng qua hai điểm cho trước qua điểm với góc nghiêng,
• segment: Dựng đường thẳng qua
điểm cho trước,
• Ray: Dựng tia biết gốc hướng,
• Vector: Dựng véc tơ biết hướng
điểm mút,
• Triangle: Dựng tam giác biết đỉnh, • Polygon: Dựng đa giác n cạnh,
• Regular Polygon: Dựng đa giác (n<=30) * Sử dụng công cụ:
+ Tạo đường thẳng:
(33)+ Dựng đoạn thẳng:
Kích chuột vào biểu tượng chọn Segment, đưa bút chì xác định điểm thứ
nhất, điểm thứ ta đoạn thẳng tương ứng
+ Dựng tia, biết gốc hướng:
Ta chọn chức dựng tia: Kích chuột vào biểu tượng, chọn Ray Đưa bút chì xác định điểm gốc tia, sau di chuyển chuột để chọn hướng tia cần xác định; bấm chuột trái để xác định điểm thứ 2, ta tia cần dựng
+ Dựng véc tơ biết hướng đầu mút:
Ta chọn chức dựng véctơ: Kích chuột vào biểu tượng, chọn Vector, sau đó
đưa bút chì xác định điểm gốc điểm véc tơ cần dựng Sau chọn xong điểm ta véc tơ tương ứng
+ Dựng tam giác:
Ta chọn chức Dựng hình tam giác: Kích chuột vào biểu tượng, chọn Triangle, sau đó đưa bút chì xác định vị trí đỉnh tam giác, ta sẽđược tam giác tương ứng
+ Chức dựng đa giác:
Chọn chức dựng hình đa giác: Kích chuột vào biểu tượng, chọn Polygon, sau
đó đưa bút trì xác định đỉnh, kết thúc bấm đúp chuột trái, ta đa giác tương
ứng với điểm chọn
+ Chức dựng đa giác đều:
Chọn chức dựng hình đa giác đều: Kích chuột vào biểu tượng, chọn Regular Polygon .Trước tiên ta đưa bút chì xác định tâm đa giác, sau di chuyển bút chì để
xác định bán kính đường trịn ngoại tiếp đa giác Ở tâm xuất số cạnh đa giác, ta dùng chuột xác định số cạnh cần có Kết thúc bấm chuột trái
3.3.4 Nhóm chọn cơng cụ vẽ đường cong
Khi bấm chuột chọn nhóm cơng cụ này, xuất bảng gồm chức vẽ cung, đường trịn đường cơnic
• Circle: Vẽđường trịn xác định tâm bán kính, • Arc: Vẽ cung trịn qua điểm,
• Conic: Vẽđường conic qua điểm, * Sử dụng công cụ:
(34)Chọn chức dựng hình trịn: Kích chuột vào biểu tượng, chọn Circle, sau
đưa bút chì xác định tâm hình trịn, di chuyển chuột để xác định bán kính bấm chuột trái Để thay đổi bán kính, ta trở chếđộ trỏ, sau chuột vào đường trịn, xuất hình bàn tay để ta thay đổi bán kính Muốn di chuyển đường trịn, ta vào tâm giữ phím trái để di chuyển hình vẽ
+ Dựng cung tròn:
Sử dụng chức dựng cung trịn: Kích chuột vào biểu tượng, chọn Arc, sau đó
đưa bút chì xác định điểm, từđó hồn tồn xác định cung trịn tương ứng với điểm
đã chọn Muốn thay đổi, ta đưa bút chì vào điểm xác định cung tròn để điều chỉnh Muốn di chuyển cung trịn ta đưa bút chì vào điểm cung trịn (ngồi điểm) để di chuyển
+ Dựng đường cônic:
Chọn công cụ dựng đường cơníc: Kích chuột vào biểu tượng, chọn Conic, sau
đó ta xác định điểm Tuỳ vị trí điểm cho ta cắp hay parabol, hypecbol
3.3.5 Nhóm chọn cơng cụ xác định điểm, đường, ảnh đối tượng hình học được dẫn xuất từ đối tượng hình học đã có
Khi bấm chuột chọn nhóm cơng cụ này, xuất gồm 10 chức năng:
• Perpendicular Line: Dựng đường thẳng
đi qua điểm vng góc với đoạn thẳng,
đường thẳng đó.
• Parallel Line: Dựng đường thẳng qua
điểm song song với đoạn thẳng, đường thẳng
• Midpoint: Xác định điểm
điểm, trung điểm đoạn thẳng
• Perpenđicular Bisector: Dựng đường trung trực đoạn thẳng,
điểm
• Ang le Bisector: Dựng đường phân giác góc biết điểm • Vector Sum: Xác định tổng véc tơ
• Compass: Dựng đường trịn với tâm bán kính xác định
(35)trước khoảng cho trước
• Locus : Xây dựng bước đối tượng hình học, xây dựng quỹ tích • Rederme Object: Định nghĩa lại đối tượng hình theo phụ thuộc ban
đầu
* Sử dụng công cụ:
+ Dựng đường thẳng vng góc:
Sử dụng chức "Dựng đường vng góc": Kích chuột vào biểu tượng, chọn Perpendicular Line, ta lần lượt phải xác định đường thẳng đoạn thẳng cho trước
điểm đường thẳng qua Khi điểm đường thẳng thay đổi đường thẳng vng góc thay đổi theo
+ Dựng đường thẳng qua điểm song song với đường thẳng hay đoạn
thẳng cho trướ.
Ta sử dụng chức "Dựng đường song song": Kích chuột vào biểu tượng, chọn Parallel Line, ta lần lượt xác định đường thẳng đoạn thẳng có điểm mà đường thẳng sẽđi qua
+ Xác định trung điểm hai điểm:
Ta chọn chức " Xác định trung điểm điểm": Kích chuột vào biểu tượng, chọn Midpoint, sau đưa bút chì xác định hai điểm mút Trên hình xuất
điểm điểm đoạn thẳng
+ Dựng đường trung trực đoạn thẳng cho:
Ta chọn chức "Dựng đường trung trực đoạn thẳng": Kích chuột vào biểu tượng, chọn Perpendicular Bisector, sau đó đưa bút chì xác định hai đầu mút đoạn thẳng đoạn thẳng có Trên hình xuất đường thẳng trung trực đoạn thẳng mà ta vừa lựa chọn
+ Dựng đường phân giác:
Sử dụng chức "Dựng đường phân giác": Kích chuột vào biểu tượng, chọn Angle Bisector, sau đó ta đưa bút chì xác định điểm theo thứ tự thuộc cạnh thứ góc, đỉnh điểm thuộc cạnh lại Ta sẽđược đường phân giác tương ứng
+ Dựng véctơ tổng véctơ:
(36)+ Dựng hình trịn có bán kính cho trước:
Ta chọn chức "Dựng đường trịn có bán kính xác định": Kích chuột vào biểu tượng, chọn Compass, sau đó đưa bút chì xác định điểm đoạn thẳng chọn làm bán kính chọn đoạn thẳng có để làm bán kính, chọn tâm đường trịn Ta đường tròn cần dựng Tuy nhiên, cho đoạn đường thẳng chọn thay đổi vềđộ lớn đường tròn thay đổi theo
+ Dựng điểm đối tượng đường thẳng, với khoảng cách điểm với
một điểm xác định thuộc đường số xác định (khoảng cách hay độ dài cung):
Để xác định khoảng cách, ta chọn số xác định hình chọn cơng cụ
Numerical Edit "Tạo số" để gõ số đơn vị Thao tác bao gồm: Chọn chức Measurement Transfer: "xác định điểm với khoảng cách", sau đưa bút chì chọn
điểm gốc đưa bút chì chọn sốđã nhập trước hình; hình xuất đường chấm kẻ, ta di chuyển chọn hướng, bấm chuột trái để xác định điểm ảnh
+ Tựđộng xây dựng bước đối tượng hình học (điểm, đường)- xây dựng quỹ tích
thơng qua chuyển động điểm:
Ta chọn chức năng: "Dựng quỹ tích điểm": Kích chuột vào biểu tượng, chọn Locus thiết lập mối tương quan điểm, đường với nhau, sau cho số điểm,đường thay đổi để xác định quỹ tích
+ Định nghĩa lại đối tượng theo phụ thuộc ban đầu nhóm đối tượng: Kích
chuột vào biểu tượng, chọn LJ Redefine Ohject Ta sử dụng chức để đưa đối tượng hình học chuyển thành đối tượng hình học khác
3.3.6 Nhóm chọn cơng cụ dựng ảnh qua phép biên hình
Khi bấm chuột chọn hóm cơng cụ này, xuất bảng gồm chức năng:
• Renection: Dựng hình đối xứng qua đường thẳng, đoạn thẳng hình
• Symmetry: Xoay hình góc 1800
• Translation: Xác định ảnh hình qua phép tịnh tiến theo véc tơ
• Rotation: Xác định ảnh hình qua phép quay
• Dilation: Xác định ảnh điểm qua phép vị tự
(37)* Sử dụng công cụ:
+ Dựng hình đối xứng đối tượng hình học qua đường, đoạn thẳng, tia, trục
toạđộ cạnh tam giác, đa giác
Ta chọn chức "Phép đối xứng qua đường" Kích chuột vào biểu tượng, chọn Reflection, sau lựa chọn điểm gốc đường chọn làm trục đối xứng, ta ảnh điểm đối xứng qua đường chọn
+ Xoay hình góc 1800 quanh điểm xác định:
Ta chọn chức " Phép đối xứng tâm": Kích chuột vào biểu tượng, chọn Symmetry, sau đó lựa chọn điểm cần lấy đối xứng điểm gốc, ta thu ảnh điểm chọn qua phép đối xứng tâm
+ Dựng hình ảnh đối tượng hình học qua phép tịnh tiến theo véc tơ:
Bước : Ta phải xác định véc tơ làm hướng khoảng cách cho phép tịnh tiến Bước 2: Chọn chức "Phép tịnh tiến hình": Kích chuột vào biểu tượng, chọn Translation, lần lượt chọn đối tượng cần dựng ảnh qua phép tịnh tiến xác định véc tơ chọn làm hướng khoảng cách cho phép tịnh tiến, ta ảnh hình qua phép tịnh tiến
+ Dựng ảnh đối tượng hình học qua phép quay (với điểm xác định
góc xác định)
Xác định đối tượng cần quay, tâm quay cuối góc quay (số góc)
Bước : Sử dụng chức Numerical Edit "gõ số đơn vị" để xác định góc phép quay
Bước 2: Chọn chức "Phép quay quanh tâm": Kích chuột vào biểu tượng, chọn Rotation, tiếp theo lựa chọn hình cần quay, điểm chọn làm tâm quay cuối vào số xác định góc quay Ta ảnh qua phép quay
+ Dựng điểm, hình hay đường đối tượng qua phép vị tự (với
điểm số xác định)
Bước l: sử dụng chức Numerical Edit gõ số đơn vị để nhập giá trị
chọn làm tỷ số phép giãn
(38)+ Dựng điểm đối xứng điểm qua cung tròn:
Xác định điểm cần có điểm đối xứng cung trịn Ta sử dụng chức "đối xứng qua cung trịn": Kích chuột vào biểu tượng, chọn Inverse, lựa chọn điểm cần lấy đối xứng cung tròn chọn làm cứđể đối xứng, ta thu điểm ảnh
3.3.7 Nhóm cơng cụ xây dựng macro
Khi bấm chuột chọn nhóm cơng cụ này, xuất bảng gồm chức năng:
• Initial Objects: Xác định đối tượng ban đầu để
thực lệnh macro
• Final Object: Xác định đối tượng thu sau kết thúc việc thực lệnh macro
• Define Macro: Định nghĩa tên chọn phím tắt cho macro * Sử dụng công cụ:
Bước : Dựng hồn chỉnh hình vẽ
Bước 2: Bấm vào biểu tượng, chọn Initial Objects, sau đó bấm chuột vào
đối tượng coi đối tượng xuất phát (định nghĩa lúc ban đầu X)
Bước : Bấm vào biểu tượng, chọn Final Object, sau bấm chuột vào
đối tượng coi đối tượng kết thúc (Y)
Bước 4: Bấm vào biểu tượng, chọn Define Macro để ghi lại macro trình dựng hình, ta phải đặt tên cho Macro
Bước 5: Chạy macro (ta phải xác định đối tượng đầu vào (X), chạy macro ta
thu (Y))
3.3.8 Nhóm chọn cơng cụ kiểm tra thuộc tính
Khi bấm chuột chọn nhóm cơng cụ này, xuất bảng gồm chức năng:
• Collinear: Kiểm tra xem điểm có thẳng hàng hay khơng ?
• Parallel: Kiểm tra xem đường thẳng, đoạn thẳng có song song khơng?
• Perpendicular: Kiểm tra xem đường thẳng,
(39)• Member: Kiểm tra điểm có thuộc hình hay khơng ? * Sử dụng công cụ:
+ Chức " Xác định thẳng hàng ":
Kích chuột vào biểu tượng, chọn Collinear, sau chọn điểm cần xác định có thẳng hàng hay khơng Sau chọn điểm thứ 3, xuất khung chữ nhật, ta đưa khung đến vị trí hình, bấm chuột, kết kiểm tra xuất khung
+ Chức "Song song khơng ":
Kích chuột vào biểu tượng, chọn Parallel:, lần lượt xác định đoạn thẳng,
đường thẳng cần kiểm tra, kết sẽđược thông báo khung chữ nhật
+ Chức "Vng góc khơng ": Kích chuột vào biểu tượng, chọn
Perpendicular: Sử dụng tương tự chức kiểm tra tính song song đoạn thẳng đường thẳng
+ Chức "Cách ":
Để kiểm tra xem điểm lựa chọn có khoảng cách với có khơng? Kích chuột vào biểu tượng, chọn Equidistant, sau đó bấm chuột vào
điểm, khoảng cách dôi nhau, ta thông báo điểm có cách hay khơng
+ Xác định đơi tượng có thuộc đối tượng khác khơng:
Sau chọn cơng cụ: Kích chuột vào biểu tượng, chọn Member, ta lần lượt lựa chọn
đối tượng cần kiểm tra đối tượng có khả chứa đối tượng cần kiểm tra Kết quảđược thông báo khung chữ nhật
3.3.9 Nhóm chọn cơng cụđo đạc tỉnh tốn
Khi bấm chuột chọn nhóm công cụ này, xuất bảng gồm chức năng:
• Distance and Length: Xác định khoảng cách đối tượng, độ dài đoạn thẳng, cung, chu vi hình hình học • Area: Tính diện tích hình trịn, tam giác, đa giác
• Slope: Xác định hệ số góc y/x • Angle: Xác định sốđo góc
• Equation and Coordinates: Xác định toạđộđiểm hay phương trình
(40)• Calculate: Tính tốn trực tiếp (tương tự máy tính bỏ túi) • Tabulate: Đặt số liệu tính tốn vào bảng
* Sử dụng công cụ:
+ Chức " Khoảng cách chiều dài ":
Để xác định khoảng cách điểm bất kỳ, sau chọn chức Distance and Length, ta lần lượt bấm chuột để xác định điểm cần đo Để xác định chu vi hình, ta đưa bút chì vào đối tượng cần xác định chu vi Kết thông báo khung chữ nhật
+ Chức “Tính diện tích đa giác, hình trịn, hình ellipse “:
Ta chọn chức Area "Diện tích hình", sau đưa bút chì xác định hình cần
đo diện tích Kết quảđược thông báo khung chữ nhật
+ Xác định độ dốc (hay tg - xác định tỉ số y/x) đường, đoạn, tia hay véc tơ.
Ta chọn chức Slope "Xác định rõ của đường thẳng (y/x)" sau đưa bút chì xác định đường thẳng, đoạn thẳng, véc tơ tia cần xác định hệ số góc
+ Xác định độ lớn góc xác ba điểm (điểm thử hai đỉnh góc): Ta
chọn chức Angle "Góc nghiêng", sau đưa bút chì xác định điểm theo thứ tự
lần lượt thuộc cạnh thứ nhất, đỉnh cạnh cịn lại
+ Xác định toạđơ điểm hay phương trình đường:
Ta chọn chức Equation and Coordinates "'Hàm biểu diễn đường toạđộ điểm", sau đưa bút chì để lựa chọn điểm cần xác định toạ độ lựa chọn đường cần xác định phương trình hàm biểu diễn
+ Tính kết phát sinh biểu thức:
Chọn chức Calculate "Tính tốn ta có máy tính bỏ túi với phép tốn số học Đểđưa kết hình, ta chọn chức INV, ta thông báo
"Result" và kết tính tốn
+ Đặt giá trị tính tốn, hay số liệu vào bảng:
(41)3.3.10 Nhóm cơng cụ sốđặt tên cho đối tượng xác định yêu tốđộng
Khi bấm chuột chọn nhóm cơng cụ này, xuất bảng gồm chức năng:
• Label: Tạo, sửa nhãn để đặt tên đối tương hình học
• Comments: Tạo, sửa lời thích • Numerical Edit: Tạo, sửa lại số • Mark Angle: Đánh dấu góc chọn
• Fix/Free: Xác định điểm cố định hay chuyển động
• Trace On/Off: Tạo ảnh cho di chuyển đối tượng hình học (để lại vết)
• Animation: Cho đối tượng chọn chuyển động theo ràng buộc Xác định trước
• Multiple Animation: Thực chuyển động phức tạp, hỗn hợp * Sử dụng công cụ:
+ Tạo nhãn cho đối tượng hình học:
Lựa chọn chức Label "Đánh dấu nhãn", sau đưa bút chì vào đối tượng cần gán tên, xuất hộp chữ nhật để ta gõ tên cho đối tượng hình học
+ Sửa đổi hay thêm lời bình, ghi chú:
Ta sử dụng chức Comments "Lời bình, thích", sau đưa bút chì xác
định vị trí dịng văn hình, xuất khung chữ nhật để ta nhập nội dung text
+ Tạo sửa lại giá trị số.
Chọn chức Numerical Edit "Tạo sửa lại số", ấn CTRL+U để chọn
đơn vị, sau nhập giá trị
+ Đánh dấu góc:
Góc xác định ba điểm, điểm thứ hai đỉnh Ta chọn chức Mark Angle
“Đánh dấu góc nhau”, sau đưa bút chì xác định điểm tương ứng với góc cần
(42)+ Gán thuộc tính cho điểm cốđịnh, hay tự do:
Ta sử dụng chức Fix/Free: "Điểm cốđịnh, Điểm di động" để xác định thuộc tính cốđịnh hay di chuyển cho điểm
+ Để lại vết di chuyển đơi tượng hình học:
Ta chọn chức Trace On/Off: “Để lại dâu vết On/Off”, sau lựa chọn đối tượng hình học di chuyển Khi di chuyển đối tượng để lại vết hình
+ Tựđộng cho tịnh tiến, quay hay giãn đối tượng hình học.
Kích chuột vào đối tượng kéo di chuột, chuyển động theo chiều dây căng Ta chọn chức Animation "Chuyển động đối tượng", sau đưa bút chì xác định đối tượng hình học di chuyển
+ Thực chuyển động phức tạp, có từ hai đối tượng hình trở lên lúc
chuyển động:
Ta chọn chức Multiple Animation “chuyển động phức tạp”, sau lựa chọn đối tượng phương thức chuyển động Để thực hiện, ta ấn phím Enter
3.3.11 Nhóm cơng cụđịnh dạng đối tượng
Khi bấm chuột chọn nhóm cơng cụ này, xuất bảng gồm chức năng:
• Hide/ Show: Cho ẩn, hình có • Color: Tơ màu nét vẽ
• Fill: Chọn mầu bên hình vẽ • Thick: Thay đổi kiểu nét vẽ dầy - mỏng • Dotted : Chọn kiểu nét liền hay nét đứt • Modifv Appearance: Sửa kí hiệu hình • Show Axes: ẩn hay trục toạđộ
• New Axes: Đặt toạđộ • Define Gid: Định nghĩa lưới
* Sử dụng công cụ:
Nguyên lý chung cho công cụ định dạng ta chọn công cụ, xuất bảng lựa chọn Ta bấm chuột vào lựa chọn (ví dụ kiểu đường kẻ, mầu sắc ), sau đưa bút chì bấm vào đối tượng ta cần định dạng theo Riêng công cụ
ẩn/hiện được sử dụng để che bớt không hình đối tượng đánh dấu
(43)3.3.11 Bài tập
Bài : Cho đường tròn (O) hai điểm A, B Dựng đường kính COD cho CA = DB
Bài 2: Cho góc xây điểm A góc Dựng qua A đường thẳng cắt Ox,Oy M N cho MA=AN
Bài 3: Cho điểm A,B,C.Dựng đường thẳng d cho tổng khoảng cách từ B C
đến d h cho trước
Bài 4: Cho hai đường tròn (O) (O') cắt A B Dựng qua A đường thẳng d cắt (O) (O') M,N cho MA+NA lớn
Bài 5: Cho góc xOy Lấy A nằm Ox,B nằm Oy cho OA+OA=m cho trước Ttìm qũi tích trung điểm I đoạn AB
Bài 6: Cho đường trịn (O) điểm A cố định,đường kính BC quay quanh O Tìm tập hợp I tâm đường tròn ngoại tiếp tam giác ABC
Bài 7: Cho góc xây cố định điểm A nằm góc Một góc vng có đỉnh trùng A, hai cạnh góc cắt Ox,Oy E F (kể tia đối Ox, Oy) Tìm tập hợp trung điểm M EF góc EAF quay quanh A
Bài 10: Cho tam giác cân ABC (AB=AC), M nằm tia BA, N nằm tia đối tia CA cho MB=CN Lấy BM, CN làm hai cạnh bên liên tiếp dựng hình bình hành BMNI tìm tập hợp I M, N thay đổi
Bài l: Thể ảnh hình H qua phép tịnh tiến (Hình học 10) Bài 12: Thể ảnh hình H qua phép đối xứng trục (Hình học 10) Bài : Thể ảnh hình H qua phép vị tự (Hình học 10) .
Bài 14: Vẽ hình Cabri sau copy hình vẽ sang Powerpoint để thiết kế giáo án nội dung phép biến hình lớp 10 hình khơng gian lớp 11, 12
3.4 Giới thiệu phần mềm The Geometer's Sketchpad
Chương trình The Geometer's Sketchpad phần mềm hình học động hỗ trợ
việc nghiên cứu dạy học hình học hiệu Chương trình Sketchpad download website: hấp://www.keypess.com/sketchpad (Về phần mềm Sketchpad, tìm hiểu
sâu tài liệu của TS Trần Vui ĐHSP Huê)
Để làm việc với phần mềm Sketchpad, ta thao tác sau:
-> Sart -> Programs-> Sketchpad ->The Geometer's Sketchpad
(hoặc bấm chuột vào biểu tượng hình )
(44)3.4.1.Thanh công cụ
Hệ thống cơng cụ Sketchpad gồm nhóm chức năng:
- Chọn trạng thái làm việc với chuột,
- Xác định điểm,
- Xác định đường tròn, - Xác
định đoạn thẳng, tia, đường thẳng, - Tạo text box,
Tuỳ chọn chức công cụ
3.4.2 Hệ thống menu * Menu File
- New Sketch (Ctrl+N): Tạo vẽ mới, - Open (Ctrl+O: Mở Sketch/ Script có,
- Save (Ctrl+S: Lưu trữ Sketch/script, - Save As: Lưu Sketch/ Script với tên mới, - Close (Ctrl+W Đóng file thời,
- Docment Options : Lựa chọn thuộc tính cho tài liệu, - Page Setup : Xác định thông số trước in ấn, - Phát Preview: Chọn chếđộ in, xem nội dung tài liệu trước in - Print: In tài liệu,
- Quit (Ctrl+Q): Thoát Sketchpad, trở Windows
(45)- Undo (Ctrl+Z): Phục hồi lại trạng thái trước đó, - Redo (Ctrl+R): Làm lại thao tác vừa thực hiện,
- Cut (Ctrl+X): Xoá đối tượng chọn lưu vào
nhớ,
- Copy (Ctrl+C): Copy đối tượng chọn vào nhớ, - Paste (Ctrl+V): Chép đối tượng nhớ Sketch, - Clear (Del): Xoá đối tượng chọn,
- Action Buttons: Tạo nút lệnh để thao tác với đối tượng,
- Select All (Ctrl+A): Chọn tất đối tượng trang làm việc,
- Select Parents (Ctrl+U): Chọn đối tượng ban đầu, - Select Children (Ctrl+D): Chọn đối tượng dẫn xuất,
- Split/Merge: Phân tách đối tượng hình học từ đối tượng khác / nhập gắn kết hai đối tượng hình học lại thành hệ thống,
- Edit Defmition (Ctrl+E): Sửa chữa hàm, bảng tính tốn hay tham số - Properties (An+?): Xác định thuộc tính hình,
- Preferences : Xác định thuộc tính tuỳ chọn cho mầu, đơn vị đo lường, text box
* Menu Action Buttons:
- Hidel Show: Tạo nút lệnh cho phép hiển thị/ không hiển
thị đối tượng chọn
- Animation : Tạo lệnh thực việc di chuyển đối tượng,
- Movement : Tạo lệnh thực việc di chuyển hai
đối tượng chọn,
- Presenlation : Tạo nút di chuyển, chuyển đổi ,
- Link: Tạo nút liên kết hiệu ứng chương trình,
- Scroll: Tạo hiệu ứng kéo trượt
(46)- Line Width: Chọn dạng đường, -Color: Chọn màu,
- Text: Chọn kiểu văn bản, -Text Font: Chọn font chữ,
- Hide Object (Ctrl + H): Không hiển thị đối tượng lựa chọn,
- Show All Hidden: Hiển thị tất đối tượng ẩn, - Show Labels (Ctrl + K): Hiển thị tên đối tượng, -Trace (Ctrl+X): Đặt chế độđể lại vết đối tượng thay
đổi vị trí,
- Erase Traces (Ctrl+B): Xố bỏ vết đối tượng chuyển động để lại hình,
- Animate (Ctrl+’) Lệnh cho đối tượng chuyển động,
- Increase Speed (Ctrl+[), Decrease Speed (Ctrl+]): Lệnh cho thay đổi khoảng 25% tốc độ chuyển động đối tượng,
- Stop Animation: Kết thúc chuyển động xảy ra,
- Show Text Palette (Shift+Ctrl+T): Hiển hay ẩn công cụđịnh dạng text:
- Show Motion Controller: Hiện hay ẩn hộp chức điều khiển chuyển động như:
thực hiện, dừng, lặp lại
- Hide Toolbox: Chọn chếđộẩn hay hộp công cụ * Mênh Construct
- Point On Object: Chọn điểm đối tượng,
- Midpoint (Ctrl+M): xác định trung điểm đoạn thẳng điểm điểm,
- Intersection (Ctrl+I): Xác định giao điểm hai đối tượng,
- Segment (Ctrl+L): Xác định đoạn thẳng nối điểm xác
định cho trước,
- Line: Xác định đường thẳng nối điểm xác định cho trước,
(47)song với đường thẳng khác,
- Perpendicular Line: Dựng đường thẳng qua điểm vng góc với
đường thẳng,
- Angle Bisector: Dựng phân giác góc,
- Circle By Center+ Point: Dựng đường tròn biết tâm điểm đường tròn,
- Circle By Center+Radius: Dựng đường tròn xác định tâm bán kính,
- Arc ON Circle: Dựng cung qua điểm đường tròn,
- Arc Through Points: Dựng cung qua điểm không thẳng hàng, - Interior:(CTRL+P) Tô mầu bên miền đa giác, hình trịn , - Locus: Xác định quỹ tích đối tượng
* Menu Transform
Transform Menu - Mark Center(Shift+Ctrl+F): Chọn điểm làm tâm phép quay,
- Mark Mirror: Chọn trục đối xứng,
- Mark Angle: Xác định góc cho phép quay, - Mark Ratio: Đánh dấu tỉ số,
- Mark Vector: Chọn vectơ cho phép tịnh tiến, - Mark Distance: Xác định khoảng cách,
- Translate : Xác định phép tịnh tiến, - Rotate : Quay đối tượng góc với tâm chọn,
- Dilate : Phép vị tự với tâm tỉ số cho trước, - Refiect : Đối xứng qua trục,
- Iterate: Xác định phép biến hình * Menu Measure
- Length: Xác định độ dài một/ nhiều đoạn thẳng, - Distance: Xác định khoảng cách hai điểm, - Perimeter: Xác định chu vi đa giác,
(48)- Angle: Xác định sốđo góc,
- Area: Xác định diện tích hình kín, - Arc Angle: Xác định góc tâm,
- Arc Length: Xác định độ dài dây cung,
- Radius: Xác định bán kính nhiều đường trịn, - Ratio: Xác định tỉ sốđộ dài đoạn,
- Abscissa(x): Xác định hoành độ điểm, - Ordinate(y): Xác định tung độ điểm,
- Coordinate Distance: Xác định khoảng cách hai đối tượng,
- Slope: Xác định hệ số góc đường thẳng,
- Equation: Xác định phương trình đường thẳng/ đường tròn *Menu Graph
- Define Coordinate System: Thiết lập hệ thống (tuỳ thuộc vào đối tượng ta lựa chọn),
- Mark Coordinate System: Thiết lập toạđộ hệ
thống,
- Grid Form: Lựa chọn hệ thống toạ độ Đề hay toạđộ cực
- Show Grid/Hide Grid: Cho hiện hay ẩn hệ
thống lưới toạđộ,
- Snap Points: Lựa chọn chế độ di chuyển theo toạđộ nguyên hay bất kỳ,
- Plot Points: Vẽ điểm toạ độ Đề hay toạđộ cực
- New Parameter (Shift+ctrl+P): Xác lập giá trị cho biến,
- New Function (Ctrl+F): Xác lập hàm với đối số x, - Plot New Function (Ctrl+G): Vẽđồ thị hàm số, - Derivative: Xác định đạo hàm bậc hàm số, - Tabulate: Đưa đối tượng chọn vào bảng,
(49)* Tạo điểm chuyển động quỹ tích với Sketchpad
Bước : Chọn đối tượng cần cho chuyển động,
Bước 2: -> Display -> Animate sẽ có hộp thoại đểđiều khiển chuyển động,
Muốn để lại vết đối tượng điểm chuyển động, ta chọn đối tượng đó, -> Display -> Trace Point,sau
đó chọn lệnh Animate.
3.4.3 Thiết kế Script với Sketchpad
Trong thao tác dựng hình với Sketchpad, có nhiều thao tác phải làm đi, làm lại, để tiết kiệm thời gian, ta ghi thao tác thành Script sau sử dụng chức cơng cụ có sẵn Sketchpad
Thao tác:
- Trước tiên mở tệp (Sketch) .
- Thực thao tác dựng hình cần thiết
- Chọn tất đối tượng có quan hệ hình học vừa dựng mà ta muốn tạo
Script.
- Chọn Custom Tool từ công cụ:
Xuất bảng lệnh, gồm chức như: tạo Script, tuỳ chọn công cụ, ẩn Script danh sách Script có, ta chọn tiếp: -> Create New Tool
Xuất bảng chọn:
(50)* Thực hiện Script
Sau lưu trữ, muốn sử
dụng, ta chọn Custom Tool chọn tên “công cụ” Script mà ta cần thực
Nếu ta copy Script này, danh sách Document có tên ta sử dụng chúng lệnh Sketchpad
3.4.1 Bài tập
Bài 1: Cho đường tròn (O,r) điểm P ngồi đường trịn Một cát tuyến thay đổi
qua P cắt đường tròn (O,r) hai điểm B, C Gọi E điểm cung BC Gọi A, A' tiếp
điểm hai tiếp tuyến kẻ từ P với đường tròn (O,r) Hãy minh hoạ tập hợp I giao AE với BC .
Bài 2: Giả sử hai đường tròn (O,r) (O',r’) cắt hai điểm A, B Điểm M chạy
đường tròn (O',r’) MA, MB cắt đường trịn (O,r) P N tìm quỹ tích tâm I tâm vịng trịn ngoại tiếp tam giác MNP
Bài 3: Cho đường tròn (O,r), vẽ bán kính OA dây AD cố định Vẽ vịng trịn tâm O,
đường kính OA cắt AD C Một cát tuyến thay đổi qua O cắt đường tròn (O’,r’) M (O,r) N, N' DN cắt CM P DN' cắt CM P'
Tìm quỹ tích P, P'
Bài 4: Cho hai đường tròn (O,r) (O’,r’) tiếp xúc ngồi A Một góc vng có đỉnh
trùng với điểm A, quay quanh A, hai cạnh góc cắt (O,r) (O',r’) B C Tìm tập hợp hình chiếu H A BC
Bài 5: Cho tam giác ABC cân A nội tiếp đường tròn (O,r) M điểm di
(51)3.5 Vẽ hình với phần mềm hình học Cabri
Trong nội dung này, mô tả thao tác với Cabri để vẽ hình
* Dựng tam giác ABC, biết cạnh Bc=a, đường cao AH : h, trung tuyến BD=m:
Thao tác dựng hình với Cabri sau:
Bước : Dựng tam giác vuông BDK biết cạnh huyền BD = m cạnh góc vng DK = h/2 sau:
- Xác định điểm D kẻ đường thẳng Dx qua điểm D
- Vẽ đường trịn tâm D, bán kính = h/2 => Xác định điểm K
- Từ K dựng đường vng góc với đường thẳng Dx
- Từ D vẽ đường trịn tâm D, bán kính = m => Xác định điểm B
Bước 2: Vẽđường trịn tâm B, bán kính = a => xác định điểm C Bước 3: Vẽđường thẳng CD
Bước 4: Lấy đối xứng điểm C qua điểm D => xác định điểm A
* Dựng tam giác ABC, biết cạnh Bc=a, đường cao AH=h, trung tuyến AM=m.
- Thao tác dựng với Cabri
- Vẽ đường thẳng Ax qua A
- Vẽ đường trịn tâm A, bán kính = h => Xác định điểm H .
- Vẽ đườngthẳng vng góc với Ax H
- Vẽ đường tròn tâm A, bán kính = m => xác định điểm M
- Vẽ đường thẳng qua
điểm H, M
- Lấy M tâm, vẽđường tròn bán kính a/2 => xác định giao điểm B, C Vẽ
tam giác ABC
(52)* Dựng tam giác vuông ABC (vuông A), biết góc ∠ B=a (O<a<90o) hiệu hai
cạnh BC BA :
Cách dựng với Cabri : - Dựng tia Ax
- Lấy DA = (sử dụng chức vẽ đường trịn biết bán kính, sau xác
định D giao điểm)
- Vẽđường phân giác Op góc ∠ xoy
Vẽ đường OI vng góc với tia phân giác Op => góc ∠ YOI 90 -a/2
- Vẽđường tròn tâm O cắt hai tia Oy OI I K
- Tại D vẽđường trịn Cl bán kính OI, cắt đường thẳng DA M - Tại M vẽđường tròn C2 bán kính IK
- Xác định giao Cl C2 điểm Q - Kẻđường thẳng DQ cắt tia AI C
- Đường trung tuyến đoạn CD cắt DA B => Tam giác vuông ABC tam giác cần dựng
3.6 Sử dụng Cabri minh hoạ tốn quỹ tích
*Ví dụ : Cho tam giác ABC nội tiếp đưng tròn (O) D điểm chuyển động trên
cung BC không chứa đỉnh A Nối A với D Hạ CH vuông góc với AD
Minh hoạ quỹ tích điểm H.
- Sử dụng Cabri ta vẽ hình, sau cho điểm D di chuyển, ta phát có điểm cố định thuộc quỹ tích:
- Điểm E (chân đường cao hạ từ đỉnh C đến cạnh AB tương ứng với trường hợp D chạy đến trùng với B)
- Điểm C (tương ứng với trường hợp D trùng với C) - Điểm F (chân đường cao hạ từ đỉnh A đến cạnh BC,
ứng với trường hợp AD trùng với đường cao hạ từ A đến BC) Như vậy, ta dựđốn quỹ tích cung chứa góc
(53)* Ví dụ 2: Cho hình thoi ABCD có cạnh AB cố định Minh hoạ quỹ tích giao điểm O
của hai đường chéo hình thoi đó.
Bước l: Sử dụng chuột cho hình thoi ABCD thay đổi
- Hình thoi ABCD trở thành hình vng ABCIDI => Xác định điểm O1 thuộc quỹ
tích
- Hình thoi ABCD trở thành hình vng ABC2D2 => Xác định điểm O2 thuộc quỹ
tích
- Hình thoi ABCD có điểm C tiến trùng với
điểm B => Điểm O trùng với điểm B
Như vậy, trực quan kiếm tra ta thấy rõ điểm không thẳng hàng, quỹ
tích có khả đường trịn qua B Vì vai trị điểm A B nên cho điểm D tiến trùng với điểm A, ta phát điểm A thuộc quỹ tích Ta dự đốn quỹ tích điểm O
đường tròn nhận AB đường kính
Bước 2: Vẽ trường hợp bất kỳ, ta kiểm tra điểm O có thuộc đường trịn nhận AB đường kính hay khơng Kết cho thấy "Điểm này nằm đối tượng".
* Ví dụ 3: Trong đường tròn (O), AB đường kính cố định, M điểm
chạy đường tròn Nối MA, MB tia đối
tia MA ta lấy điểm I cho MI = 2MB Tìm tập hợp
các điểm I nói trên.
Với Cabri ta cho vị trí điểm M thay đổi, qua ba vị
trí cụ thể ta có dựđốn: quỹ tích điểm I khơng thể
là thẳng, có khả quỹ tích điểm I cung chứa góc Từ gợi ý cho ta tìm yếu tố góc khơng đổi
Điều đặc biệt là: Nếu sử dụng tính ln tựđồng dạng tam giác MBI
chỉ dừng việc đưa kết luận góc ∠ AIB khơng đổi Vậy quỹ tích cung chứa góc dựng đoạn thẳng AB Tuy nhiên, với Cabri ta có kết luận tương đối thú vị Quỹ tích
điểm I nửa đường trịn đường kính BIO Trong Io nằm tiếp tuyên với đường tròn
tại điểm A cho AIO = 2AB.
Ta mở rộng toán theo hai hướng sau:
(54)+ MI = k.MB (với k số thực dương cho trước)
Kết thú vị Quỹ tích phần cung chứa góc qua
* Ví dụ 4: Cho BC dây cung cố định đường tròn (O), A điểm chạy
trên cung lớn BC cho tam giác ABC ln có góc nhọn Gọi M điểm
cung nhỏ BC đường trịn (O) Tìm quỹ tích trung điểm I AM.
Sau dựđốn quỹ tích, ta phải chứng minh góc ∠ OIM khơng đổi 900,
điểm M, O cốđịnh, suy I nằm đường trịn đường kính OM
Ởđây có yếu tố góc khơng tường minh (đó tam giác ABC ln có góc nhọn) Như chắn ta phải kiểm tra giới hạn quỹ tích Bằng trực quan cho điểm A di chuyển để lại vết điểm I cho phép ta kiểm chứng giới hạn quỹ tích phần cung (mầu đỏ) Từ trực quan, ta dễ dàng xác
định hai vị trí giới hạn điểm A điểm A1 A2 ( tương ứng với đường kính CA1và BA2 đường trịn (O))
* Ví dụ 5: Cho hai đường thẳng vng góc x, y giao điểm O Tìm quỹ tích
điểm M biết bình phương khoảng cách từđiểm M đường thẳng y khoảng cách từ
điểm M đường thẳng x
Xét theo góc độ hình học giải tích quỹ tích điểm M tập hợp điểm M(x, y) cho y = x2 Tuy nhiên, với Cabri ta dựa hoàn toàn vào kiến thức hình học định lý Talet để dựng quỹ tích
- Dựng đường trịn tâm O bán kính .
- Lấy điểm X đường thẳng x dựng đường tròn tâm O, có bán kính OX
- Nối điểm X với giao điểm đường thẳng y với (O,1) (chọn giao điểm phía
đường thẳng xi gọi d1
(55)điểm phía đường thẳng x) kẻ đường thẳng song song với đoạn thẳng (d1) nói gọi d2
- Xác định giao điểm A d2 với đường thẳng x
- Dựng đường tròn (O, OA) Đường tròn cắt
đường thẳng y B
- Qua X, B dựng đường thẳng vng góc với x, y Hai đường thẳng giao điểm M
Dễ thấy MX = MB2
- Cho điểm X di chuyển đường thẳng x để
minh hoạ quỹ tích cần tìm Kết cho ta parabol
.
3.7 Khai thác phần mềm hình học động Cabri hỗ trợ dạy học tốn * Ví dụ 1: Minh hoạ “Ảnh hình
qua phép vị tự”
- Dựng điểm O Sử dụng chức năng., “Gõ
số đơn vị “ nhập số thực k ≠
- Dựng hình H ảnh Hệ qua phép vị tự tâm O tỉ số k (V0k)
- Khi thay đổi yếu tố tạo nên hình H, ta có thay đổi tương ứng hình H’
- Cho thay đổi giá trị k hình vẽ
cũng thay đổi theo, đặc biệt giá trị k = (phép đồng nhất) k = -1 (phép đối xứng tâm O)
* Ví dụ 2: Minh hoạ"Nếu phép đối xứng trục biến hai điểm M N thành hai
điểm M', N’ thì MN = M N’ "
Các bước thao tác với Cabri sau: - Dựng đường thẳng d
- Dựng hai điểm M, N
- Dựng ảnh M’ M N’ N qua phép đối xứng trục d (Đd)
- Dựng đoạn MM' NN' nét đứt
- Nối MN M'N', đo độ dài hai đoạn thẳng
(56)Ta cho thay đổi điểm M điểm N độ dài đoạn MN M'N' thay đổi ln
* Ví dụ : Minh hoạ"Phép vị tự biến
điểm thẳng hàng thành điểm thẳng hàng
bảo tồn thứ tự chúng "
Ta thao tác với Cabri sau:
- Dựng điểm O nhập vào số
thực k ≠
- Dựng đoạn thẳng AC - Lấy điểm B thuộc đoạn AC
- Dựng điểm A' ảnh A qua phép Vok, nối OA’ Làm tương tự B C
(ảnh chúng B', C')
- Sử dụng chức "Xác định thẳng hàng" để thấy A', B', C' thẳng hàng B’ nằm A' C'
- Cho B chuyển động AC ta thấy B’ chuyển động tính thẳng hàng thứ tự điểm A’, B', C' bảo tồn
- Thay đổi đoạn AC cho O, A, B, C thẳng hàng, chí cho điểm A, B, C trùng với O, ta thấy A', B', C' thẳng hàng B’ nằm A' C'
* Ví dụ 4: Minh hoạ"Phép vị tự biến đường tròn thành đường tròn"
Thao tác với Cabri sau:
- Dựng điểm O gõ vào số thực k ≠
Dựng đường tròn (I,R), lấy M thuộc (I,R) - Dựng ảnh I' I qua phép Vok, nối OI
- Dựng ảnh MI M qua Vok, nối OI
bằng nét đứt
Xác định trạng thái để lại dấu vết cho điểm M', sau di chuyển điểm M (I,R), điểm MI di chuyển vạch quỹ tích nó, quỹ tích nhìn trực quan
như đường tròn tâm I'
Từ dự đoán trên, ta giới thiệu định lý gợi cho học sinh hướng để chứng minh: Sẽ
chứng minh cho điểm M’ cách điểm I' khoảng không đổi Ta nối IMvà I’M’ yêu
cầu học sinh sử dụng kiến thức học (định lý Phép vị tự" "tam giác
đồng dạng ") để chứng minh
* Ví dụ 5: Hướng dẫn học sinh tìm lời giải toán: "Cho phép đối xứng tâm ĐA,ĐB,
(57)của M2 qua Đc Chứng minh trung điểm đoạn thẳng MM3 điểm cốđịnh Từ
đó suy quỹ tích điểm M3 điểm M chạy đường tròn (O) hay đường
thẳng d " Với Cabri làm sau: - Dựng điểm A, B, C, M
- Dựng điểm Ml, M2, M3 theo yêu cầu toán
- Dựng trung điểm D MM3
- Nối đoạn MM1, M1M2 M2M3 nét đứt
các đoạn AB, BC, CD, DA, M3M1, MM3 nét liền
Ta cho điểm M thay đổi để minh hoạ cho kết luận tốn
Cũng q trình di chuyển điểm M, yêu cầu
học sinh nhận xét hình dáng tứ giác ABCD (là hình bình hành cốđịnh) từđó rút hướng chứng minh: Chứng minh cho D đỉnh thứ tư hình bình hành ABCD.
Sau chứng minh D điểm cố định, học sinh chưa giải ý tốn ta tiếp tục sau:
- Đặt thuộc tính "Để lại dâu vết " cho điểm M3
- Dựng đường tròn (O) đường thẳng d qua M
- Cho điểm M di chuyển dọc (O) (hoặc d) để quan sát quỹ tích M3, từđó xác
định phương hướng giải
* Ví dụ 6: Hướng dẫn học sinh tìm lời giải toán: "Cho hai điểm cố định B, C
đưng tròn (O) điểm A thay đổi đường trịn Tìm
quỹ tích trực tâm H tam giác Thao tác :
- Dựng đường tròn (O)
- Dựng tam giác ABC nội tiếp đường tròn
- Sử dụng Macro "Đường cao " để dựng đường cao tam giác ABC, từđó xác định trực tâm H tam giác
- Cho điểm A chạy đường trịn (O) theo dõi quỹ
tích điểm H, ta thấy H chạy đường tròn qua B, C Chọn điểm đường tròn dùng Macro "Tâm ngoại tiếp " để xác định tâm O' đường tròn
Nhìn hình vẽ, học sinh dựđốn đường trịn (O') có bán kính bán kính đường trịn (O) (ta kiểm tra điều cách đo bán kính đường trịn
đó, sau cho bán kính đường trịn (O) thay đổi thấy bán kính đường trịn (O') thay đổi theo) Từ dựđốn này, ta hướng học sinh tới suy nghĩ rằng: (O') là
(58)tâm phép tịnh tiến Cụ thể sau:
- Nếu phép đối xứng trục trục đường thẳng nào? (Học sinh dễ nhận thấy
đó đường thẳng BC).
Nếu phép đối xứng tâm tâm điểm nào? (Học sinh dễ nhận thấy
trung điểm I BC).
Nếu phép tịnh tiến vectơ tịnh tiến gì?
Cho điểm A chạy (O), ta thấy AH ln vng góc với BC độ dài AH
khơng đổi, từđó gợi ý học sinh chứng minh véc tơ AH vectơ khơng đổi (đó vectơ tịnh tiến cần tìm) để từđó đến kết luận: A tạo ảnh
H qua phép tịnh tiến nói trên.
- Ta có thểđưa số trường hợp đặc biệt, chẳng hạn cho A trùng với B C yêu cầu học sinh xác định điểm H
* Ví dụ 7: Hướng dẫn học sinh tìm lời giải tốn "Cho đường trịn (O) điểm P cố
định nằm ngồi SO) BC dây cung thay đổi (O) có độ dài khơng đổi Tìm
quỹ tích trọng tâm tam giác PBC "
Để thể giả thiết: “Một dây
cung thay đổi có độ dài khơng
đổi đường trịn “, ta
làm sau:
- Dựng đường tròn đồng tâm O bán kính khác
- Trên đường trịn nhỏ lấy điểm I, dựng đoạn thẳng OI
- Dựng đường thẳng d qua I, vng góc với OI
- Gọi B, C giao điểm d với đường trịn lớn Dựng đoạn thẳng BC, sau làm ẩn
đi đường thẳng d đường tròn nhỏ
- Dựng điểm P nằm (O) Nối PB PC
- Dùng Macro "Trọng tâm " để dựng trọng tâm G tam giác PBC - Nối IP dễ thấy G thuộc IP (vì I trung điểm BC)
- Xác định trạng thái "Để lại dấu vết cho điểm G, sau cầm điểm I di chuyển dọc theo đường tròn nhỏ (đường tròn nhỏ lúc bị ẩn cách dựng điểm I
nên di chuyển I ln nằm đường trịn đó), dây BC có độ dài khơng đổi
khoảng cách từ O đến BC bán kính đường trịn nhỏ
- Quan sát dấu vết điểm G để lại, ta dựđốn quỹ tích G đường tròn Từ
(59)khi tìm quỹ tích điểm I đường trịn nhỏ cho đường trịn nhỏđó lên
đến kết luận: 'lquỹ tích M ảnh đường tròn nhỏ qua phép vị tự Vp2/3
Ta mở rộng toán cách di chuyển điểm P vào đường tròn để
nhận xét xem kết có cịn khơng? .
* Ví dụ 8: Cho điểm M di chuyển nửa đường trịn đường kính AB Ta dựng bên
ngồi tam giác MAB hình vng MBCD MAEF.
Tìm quỹ tích điểm C E.
Bước : Ta xây dựng Script "Dựng hình vng" (tệp hvuong.gss) sau: Given:
Point A Point B
1 Let [j] = Segment between Point A and Point B
2 Let C = 1mage of Point B rotated 90 degrees about center Point A Let D : 1mage of Point A rotated 90 degrees about center Point B Let [k] : Segment between Point C and Point D
5 Let [l] = Segment between Point D and Point B Let [m] - Segment between Point A and Point C
Bước 2: Sử dụng phần mềm Sketchpad có sử dụng Script "Dựng hình vng" để dựng hình vng MBCD MAEF xác định điểm cho trước M, B A, M Các bước cụ thể thực sau:
- Dựng tam giác MAB
- Mở tệp hvuong.gss (đã thiết kếở trên)
- Chọn A, M theo thứ tự, ấn vào nút PLAY cửa sổ script "hvuong.gss" vừa mở Ta quan sát bước dựng hình vng MAEF theo kịch tạo sân
- Tương tự, dựng hình vng MBCD với hai điểm khởi đầu M, B
Bước 3: Khai thác trợ giúp Sketchpad việc dựđoán quỹ tích C E cho M di chuyển cung AB:
Chọn E C, vào menu Display chọn nút lệnh Trace Object để chọn chức để lại vết điểm chúng thay đổi
- Chọn điểm M cung AB, vào Display
(60)hiện cửa sổ Path Match
- Ấn vào nút Animate, rồi quan sát thay đổi tương ứng với M hình dạng biến đổi hình vng MBCD MAEF, thay đổi vị trí khác C E Tập hợp vị trí C E qua M thay đổi tập hợp điểm cần tìm
Từ quan sát hình vẽ: C E di chuyển theo cung tròn Vấn đề đặt ra: "Cung trịn
được xác định cụ thể nào? " C E ảnh M qua phép quay tâm B A Do M di chuyển nửa đường trịn đường kính AB nên quỹ tích C E hai ảnh đường tròn phép quay Theo cách này, ta cần dựng thêm hình vng ABB'A' Đường cần tìm nửa đường trịn đường kính AA' BB', bên ngồi ABB'A'
* Ví dụ 9: Hướng dẫn giải tập: "Cho tam giác cân ABC (AB=BC) Gọi M cung
điểm đường cao AH, gọi D giao điểm cạnh AB với CM Chứng minh
AB AD
3 = "
Hoạt động : Sử dụng Cabri để vẽ tam giác cân ABC (AB=BC), đường cao AH, xác
định trung điểm M AH, nối CM xác định D giao điểm CM với AB Học sinh
nhận xét đường cao AH đồng thời đường trung tuyến => BH=HC.
Hoạt động 2: Xuất phát từ yêu cầu cần chứng minh AD AB
3
= , ta chia đoạn AB làm phần hai điểm chia điểm D phải điểm, điểm cịn lại giả sửđặt tên E Dễ thấy E phải trung điểm đoạn AD Khi ta có đoạn thẳng AD=DE=EA (điều minh hoạ kết số hình cm)
Hoạt động 3: Ta nối E với H Từ trực giác thấy hai đường thẳng HE CD song song sử dụng Cabri để khẳng định điều
Hoạt động 4: Ta có BH=HC BE=ED, HE qua trung điểm hai cạnh tam giác CDB nên phải song song với cạnh thứ ba CD =>HE // CD => HE // MD
Hoạt động 5: Với tam giác AEH, ta có:
AM = MH VÀ MD // HE, đường thẳng MD qua trung điểm cạnh AH song song với cạnh thứ hai HE phải qua trung điểm cạnh thứ ba tức là: AD = DE Vậy ta có AD = DE = EB => ĐPCM
* Ví dụ 10: Tìm mối liên hệ khoảng cách từ giao điểm đường trung trực
tam giác đến cạnh khoảng cách từ trực tâm đến đỉnh đối diện với cạnh Sử dụng
(61)Hoạt động 2: Sử dụng chức "Khoảng cách chiều dài" xác định sốđo đoạn KE HB Học sinh thực phép chia nhận kết HB:KE
Hoạt động : Cho tam giác ABC thay đổi Học sinh nhận thông báo Cabri: tỷ số HB:KE không thay đổi ln Như học sinh dự đốn tìm cách chứng minh tỷ số HB:KE ln Hoạt động 4: Tìm tịi cách chứng minh: Học sinh liên tưởng kiến thức cũ: tam giác, đường trung bình tam giác song song với cạnh thứ ba nửa cạnh Như vậy, ta xác định tam giác mà đường trung bình có sốđo số đo KE cạnh tương ứng có sốđo sốđo cạnh HB tốn giải
Hoạt động 5: Kẻ tia CK Ta có E trung điểm AC nên ta gợi ý cho học sinh kẻ
thêm đường phụ cho KE đường trung bình tam giác mà A C hai đỉnh Gọi đỉnh lại tam giác cần tủn Q, theo cách dựng Anh KE học sinh xác định
được đỉnh Q cách từ A kẻ Ax // KE cắt CK điểm Q Vậy với cách dựng KE đường trung bình ∆ ACQ KE nửa AQ
Hoạt động 6: Giáo viên đặt vấn đề: để chứng minh KE nửa HB, ta cần chứng minh HB AQ.(H5)
Từ B kẻ By // KF, giả sử By cắt CK Q' Theo cách dựng KF đường trung bình tam giác CBQ' ta có Q'K=KC (*), mặt khác KE đường trung bình tam giác ACQ nên KC=KQ (**) Từ * ** chứng tỏ Q trùng với Q' suy BH=AQ Đến ta giải song tốn: Kết hai khoảng cách ln tỷ lệ với với tỷ số
* Ví dụ 11 : Cho góc xay khác góc bẹt, Az tia phân giác, B điểm cốđịnh tia
Ax, C điểm chuyển động đoạn thẳng AB, D điểm chuyển động tia Ay cho
AD=BC Chứng minh đường trung trực đoạn thẳng CD luôn qua điểm
cốđịnh C, D di động
Trước tiên học sinh dùng Cabri để vẽ hình, sau
đó cho thay đổi vị trí điểm C để dự đoán điểm cố định
Một số học sinh phát điểm cố định giao tia phân giác góc  với đường thẳng trung trực đoạn thẳng AB Một số phận học sinh lại cho
điểm C di chuyển đến vị trí đặc biệt phát điểm cố định giao hai
đường trung trực đoạn thẳng AB AD' (D' tia Ay cho AD'=AB)
(62)mình xác
Đến đây, có học sinh cảm thấy có
điểm cố định ! Để tìm hiểu vấn đề học sinh sử
dụng chức kiểm tra “Nằm đôi tượng” và kết cho thấy giao hai đường trung trực nằm tia phân giác góc A Như cách xác định điểm cốđịnh
Sau q trình mị mẫm, phát hiện, học sinh chứng minh đường trung trực đoạn thẳng CD luôn qua điểm cố định C, D di
động
Tuy nhiên học sinh khó hình dung trọn vẹn hình ảnh điểm "cốđịnh" khi C, D di động sau? Ta sử dụng chức để lại vết cho C,D di động, học sinh tận mắt quan sát hình ảnh hình dung đầy đủ điểm cốđịnh
Ví dụ 12: Cho tam giác ABC, M trung điểm BC Vẽ ME song song với AB
(E thuộc AC), vẽ MF song song với AC (F thuộc AB) Chứng minh rằng
∆ BME = ∆FMC
Bước : Sử dụng Cabri để vẽ hình
Với giả thiết M trung điểm BC, học sinh dễ dàng chứng minh ∆BME = ∆FMC (c.c.c)
(63)Bước 3: Tìm tịi hướng chứng minh
Có ME//AB nên góc ∠ CME ln 600 (góc đồng vị),
mặt khác góc ∠ MCE 600 (gt) ∆ MCE tam giác nên ME=MC (*)
-Tương tự ta có ∆ MBF tam giác nên MB=MF (**) Mặt khác ta có góc ∠ FMC góc ∠ EMB
-Vậy ∆ BME = ∆ FMC (c.g.c) Như với Cabri giúp học sinh mở rộng toán
đã cho giải trọn vẹn tốn 3.8 Thảo luận tập
* Hãy đưa ví dụ cụ thể việc khai thác phần mềm hình học động tình điển hình dạy học toán:
- Dạy học khái niệm - Dạy học định lý
- Dạy học giải tập .
* Xây dựng số giảng điện tử có tích hợp với việc sử dụng phần mềm hình học
(64)Chương
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MAPLE 4.1 Tổng quan chung phần mềm Maple
Phần mềm Maple kết nhóm nhà khoa học trường Đại học Waterloo - Canada phần mềm toán học sử dụng rộng rãi
MAPLE phần mềm có mơi trường tính tốn phong phú, hỗ trợ hầu hết lĩnh vực toán học như: Giải tích số, đồ thị, đại số hình thức ta dễ dàng tính giá trị gần đúng, rút gọn biểu thức, giải phương trình, bất phương trình, hệ phương trình, tính giới hạn, đạo hàm, tích phân hàm số, vẽ đồ thị, tính diện tích, thể tích, biến đổi ma trận, khai triển chuỗi, tính tốn thống kê, xử lý số liệu, số phức, phương trình vi phân, phương trình đạo hàm riêng lập trình giải tốn với cấu trúc chương trình đơn giản Ngồi ra, với phần mềm ta dễ dàng biên soạn sách giáo khoa điện tử với chức Hyperlink tạo siêu văn đơn giản mà không cần đến hỗ trợ
một phần mềm khác (chẳng hạn PageText, Word, Frontpage ) Với chức trên, MAPLE công cụđắc lực hỗ trợ cho người làm toán
4.2 Làm việc với Maple * Khởi động Maple:
Nếu Maple cài đặt quy trình, để làm việc với MAPLE ta chọn:
->Sart -> Programs -> Maple9 -> Classic Worksheet Maple hoặc bấm chuột vào biểu tượng Maple hình:
* Thốt khỏi Maple:
(65)4.3 Giao diện cửa sổ làm việc Maple
Giao diện làm việc Maple gồm thành phần sau:
Các thành phần cửa sổ làm việc Maple :
* Tittle Bar (Thanh tiêu đề): Dòng chứa tên chương trình tệp mở
* Menu Bar (Thực đơn ngang): Dòng chứa chức năng, ứng với chức thực đơn dọc tương ứng
* Toal Bar (Thanh công cụ): Chứa số biểu tượng (Icon) thể số lệnh thông dụng để người sử dụng thao tác nhanh
* Status line (Thanh trạng thái): Cho biết thời gian thực lệnh, dung lượng nhớ biến chiếm thực chương trình dung lượng nhớ cịn trống
(66)4.4 Các thao tác với Maple
4.4.1 Quản lý thông tin với Maple
Với Maple, thao tác như: lưu trữ tệp, mở tệp có, mở tệp mới, hoàn toàn tương tự phần mềm quen thuộc môi trường Windows
Winword, Excell, * Lưu trữ tệp:
Cách : -> File -> Save Cách 2: bấm vào biểu tượng
Cách : nhấn đồng thời phùn CTRL S
Nếu lần đầu lưu trữ, xuất cửa sổđể ta nhập tên tệp, nhập tên tệp xong nhấn chuột vào nút SAVE để thực
* Mở tệp có đĩa Cách : ->File -> Open
Cách 2: bấm vào biểu tượng:
Cách 3: nhấn đồng thời phím CTRL O
Sẽ xuất cửa sổđể ta chọn thư mục lưu trữ tệp tên tệp Ta chọn tên tệp cần mở, nhấn vào nút Open
* Mở tệp Cách : ->File->New Cách 2: bấm vào biểu tượng
Cách : nhấn đồng thời phím CTRL N * Đóng tệp
->File -> Close
Nếu tệp chưa lưu trữ, Maple nhắc ta có ghi hay khơng (Y/N) * Kết thúc phiên làm việc:
Cách : -> File -> Exit
Cách 2: nhấn đồng thời phím : ALT F4
Cách 3: nhấn vào nút Close [x] đểđóng cửa sổ soạn thảo
4.4.2 Các thao tác hỗ trợ soạn thảo với Maple
* Đánh dấu đoạn.
(67)giữ phím trái rê tới cuối đoạn cán chọn, sau bng phím trái Nếu muốn huỷ phần vừa chọn, dịch trỏ chuột thoát khỏi vùng vừa chọn ấn phím trái Phần vừa chọn
bị huỷ bỏ trở lại trạng thái bình thường
- Đánh dấu bàn phím: Đưa trỏđến vị trí đầu đoạn, bấm giữ phím Shift di chuyển trỏđến vị trí cuối đoạn (bằng phím điều khiển trỏ)
Đánh dấu tệp: Từ bàn phím, gõ vào tổ hợp phím Ctrl+A kích chuột vào Menu Edit, chọn Seclect All
* Cắt xoá đoạn :
- Đánh dấu đoạn cần xoá
- Nháy chuột vào Menu Edit, chọn Cut bấm Ctrl+X từ bàn phím - Nếu dùng cơng cụ ta chọn vào
- Từ bàn phím ta cịn nhấn phím Dell
* Sao chép đoạn:
- Đánh dấu đoạn cần chép
- Nháy chuột vào Menu Edit, chọn Copy bấm Ctrl+C từ bàn phím - Nếu dùng cơng cụ ta chọn vào
- Đặt trỏ chuột vào nơi cần chép đến Nháy chuột vào Menu Edit, chọn Paste bấm Ctrl+V từ bàn phín
- Nếu dùng cơng cụ ta chọn vào đặt trỏ chuột vào
đoạn chọn cần chọn đồng thời ấn phím Ctrl giữ phím trái rê tới nơi cần chép đến, sau bng chuột
4.4.3 Đinh dạng đối tượng Maple
Đểđịnh dạng đối tượng Maple, thay đổi kiểu chữ dịng lệnh, dịng thơng báo kết quả, lề ta tiến hành sau:
Bước : Lựa chọn đối tượng
(68)Để thay đổi thông số ngầm định, ta chọn: -> Format-> Styles Xuất bảng để
ta khai báo thông số cần xác định
4.4.4 Các đối tượng cơ bản tích hợp một tệp tin của Maple
+ Worksheet môi trường mà người sử dụng tính tốn, thực hành cịn
được gọi trang cơng tác Khi người sử dụng lưu trữ kết lên đĩa từ, Worksheet
được ghi thành File với phần mở rộng ngầm định mws Một Worksheet Maple thường có thành phần sau:
(69)kết tính tốn Maple, đồ thị,
Để tạo cụm xử lý mới, ta kích chuột vào biểu tượng [> cơng cụ chọn: -> Insert -> Execution Group -> After cursor
- Đoạn (Paragraph): Khái niệm Paragraph với Maple hiểu khái niệm Paragraph phần mềm soạn thảo văn Winword Để tạo Paragraph mới, ta chọn: Insert-> Paagraph -> After cursor
- Mục (Section): Mục coi modul thành phần cấu thành nên trang cơng tác Một trang gồm nhiều mục, mục chứa đoạn mục Biểu tượng mục dấu [+], ta nháy chuột vào biểu tượng nội dung mục trải biểu tượng mục biến thành [-], ta nháy chuột vào biểu tượng ['] nội dung mục thu lại
Để tạo mục mới, ta chọn: -> Insert-> Section
-Siêu liên kết (Hyperlink): Khái niệm siêu liên kết trở nên quen thuộc với thời đại bùng nổ Internet Một siêu liên kết đối tượng mà ta kích hoạt vào dẫn ta đến đoạn, mục hay Worksheet khác Để tạo siêu liên kết ta chọn đối tượng mang siêu liên kết sau chọn: -> Format -> Convert to -> Hyperlink
Tại mục: Linh Target có
lựa chọn:
- URL: Liên kết đến địa
websize
- Worksheet: Liên kết đến tệp Maple
- Help Topic: Chuyển đến chủ đề nội dung Help Maple
- Bookmark: Chuyển đến bookmark định nghĩa trước
Có thể nhấn Browse để tìm kiếm địa đích mối liên kết Khai báo xong nhấn OK để hoàn tất
Văn (Text): đối tượng sử dụng nhiều Maple với mục đích cung cấp thơng tin dạng văn
Để tạo đoạn văn mới, ta kích chuột vào biểu tượng chữ [T] Toal Bar chọn: -> Insert -> Text
(70)+ Lệnh Maple (Maple Input) từ tựa tiếng Anh sử dụng theo nghĩa định phải tuân theo cú pháp Maple Lệnh nhập sau dấu nhắc lệnh "[>" kết thúc dấu “ : ” " ; ", ví dụ để giải phương trình 5x2 + 3x- = 0, ta gõ lệnh [> solve(5*x^2 + 3*x- 2,{xi}); ↵
Mỗi câu lệnh Maple kết thúc lệnh dấu (;) kết hiển thị hình, kết thúc lệnh dấu (:) Maple tiến hành tính tốn bình thường kết khơng hiển thị hình Lệnh thực trỏ cuối dòng lệnh mà ta nhấn Enter (kí hiệu ↵)
Lệnh Maple có hai loại lệnh trơ lệnh trực tiếp: Lệnh trơ lệnh trực tiếp
khác chỗ chữ lệnh trơ viết ìn hoa, lệnh trực tiếp cho kết ngay, lệnh trơ cho ta biểu thức tượng trưng Ví dụ: Tính đề thi
tuyển sinh ĐHTN - Khối D - 1999)
- Nếu ta sử dụng lệnh trơ Limit, kết sau:
Nếu ta sử dụng lệnh trực tiếp, kết sau:
Tuy nhiên kết chưa gọn, ta sử dụng lệnh sau:
như kết 64(1/3)
192 1+
sau rút gọn 48 25
Kết tính tốn (Maple Output) đưa hình, thường mầu xanh cô ban sau ta nhấn phím enter để thực câu lệnh
Tuy nhiên Maple có chếđộ cho phép thực nhóm câu lệnh (như tệp bai
của MS - DOS) để người sử dụng thực nhóm câu lệnh nhằm giải vấn
đề đó, ví dụ tính tích phân (Đề thi tuyển sinh ĐHTN - khối A - 1996).
Ta nhập vào dòng lệnh sau:
(71)T:=n->int(sin(x)^(2*n),x=0 Pi/2); ↵ hình kết sau:
Để tính giá trị tích phân với n cụ thể ta 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 gõ [>l (2004) ↵
Đồ thị (Graph): Maple cho phép vẽ hiển thị đồ thị trang cơng tác, tính gọi “Khả đồ hoạ trực tiếp”
Ví dụ: vẽ đồ thị hàm số với m = (Đề thi tuyển sinh vào
ĐHTN - năm học 1999 - 2000, khối A, B) Ta sử dụng lệnh phụ sau
[> plot(x^3/3-x+2/3,x=-3 2); ↵ Kết ta đồ thị sau:
4.5 Sử dụng lệnh Maple
Nội dung này, bạn đọc cần tham khảo tài liệu nhóm tác giả Phạm Huy
Điển, Đinh Thế Lục, Tạ Duy Phượng [l], [2], liệt kê lại số câu lệnh
đơn giản thường sử dụng chương trình tốn phổ thơng chương trình tốn trường
Đại học
Làm quen với lệnh Maple:
+ Lệnh [> restart; ↵
(72)Để xác định giá trị cho biến, hằng, hàm khai báo 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ị 5: [> n := 5; ↵
Khai báo hàm f(x)= x2:
[> f := x->x ^2; ↵
f:= x-x2
Sau khai báo hàm f(x), để biết giá trị f(x) điểm xo ta việc gõ tên hàm giá trị x0 ngoặc, ví dụ tính giá trị f(x) x0=3:
[> f(3); ↵
9
Khai báo chương trình (procedure) có tên p với tham số hình thức a, b Kết thực thủ tục cho ta giá trị a2 + b2, ví dụ:
[> p := proc(a, b) # ý 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
end proc:
Để tính giá trị thủ tục p nói với tham số thực y, ta gõ lệnh: [> p(2, y); ↵
4 + y2
Maple cung cấp hệ thống hàm phủ khắp lĩnh vực toán học, ta kể số hàm thơng dụng:
[> factor(6*x^2 + 18*x - 24); #Phân tích đa thức thành tích nhân tử↵
6 (x + 4 ) (x - 1) [> expand((x + 1 )^3); #Triển khai biểu thức ↵
x3+ 3x2+ 3x + 1
[> normal( (x^2 - y^2)/(x - y)^3 ); #Đưa biểu thức dạng chuẩn hoá
[> simplify(4^(1/2) + 3); #Đơn giản, rút gọn biểu thức ↵ [> z := (x^2 + 1)/(x - y); #Khai báo dạng tổng quát cua Z ↵
(73)[> numer(z); #Tách tử số phân thức ↵ x2+ 1 [> denom(z); #Tách mẫu số phân thức ↵
x - y
[> eval(x^3 + 2*x^2 - 7*x + 5, x=3); #Tính giá trị biểu thức ↵ 29
[> solve(x^2 + x : 1,x); #Giải phương trình 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 biểu thức theo biến ↵ 2x + 4x3 -3
[> int(sin(x), x); #Lấy tích phân hàm số↵ -cos( x )
[> limit(sin(x)/x, x=0); #Tính giới hạn hàm số↵
[> limit(g(x), x = infinity; ↵
[>plot(sin(x),x=0 2*pi); # Lệnh vẽđồ thị mặt phẳng ↵
[>plot3d(sin(x*y), x=0 1, y=0 1); # Lệnh vẽđồ thị không gian ↵
Như vậy, thấy việc sử dụng câu lệnh Maple đơn giản, trực quan Bản thân phần mềm Maple có hệ thống trợ giúp (Help) phong phú đủ cho có lịng nhiệt tình muốn tìm hiểu Maple
4.5.1 Nhóm lệnh tính tốn xử lý vấn đề số học, đại số
(74)[> (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 số 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 phương trình: isolve(f, { x,y } ); Trong f biểu thức phương trình hệ phương trình, { x,y } danh sách ẩn
Ví dụ, tìm nghiệm ngun tốn cổ vừa gà vừa chó bó lại cho trịn 36 100 chân chẵn Gọi số gà x, số chó y ta thực lệnh:
[> isolve({2*x+4*y=100,x+y=36},{x,y}) ↵
{y = 14 x = 22 }
Kết cho ta đáp số toán là: số gà 22, số chó 14
+ Lệnh tìm thương phần dư: iquo(a,b); irem(a,b); a, b biểu thức Ví dụ với a = 23, b = 4, ta gõ lệnh:
[> Thuong = iquo(23,4); ↵
Thuong =
[> Du = irem(23,4); ↵
Du =
+ Lệnh tìm số nhỏ số lớn dãy số min(); max(); dấu ngoặc đơn cần liệt kê số, biểu thức số cần thao tác
(75)+ Lệnh tính tổng vơ hạn tổng hữu hạn số hạng sum(f,n=a b); f biểu thức số hạng tổng quát, a,b …∈ N cận dưới, cận giới hạn tính tổng, ví dụ:
+ Lệnh tính tích hữu hạn vô hạn số Product(f, n=a b); f biểu thức số hạng tổng quát, a,b …∈ N cận dưới, cận giới hạn tính tích, ví dụ:
+ Xác định độ xác phép tính số học: evalf(f,n); f biểu thức, n số chữ số sau dấu phẩy, ví dụ:
[> eval(Pi,30); ↵
3.14159265358979323846264338328
+ Tính tốn với số phức Maple thực theo quy tắc thơng thường, ví dụ:
+ Chuyển số phức x dạng toạđộ cực: convert((x),polar), ví dụ:
(76)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 đa thức : degree(f), ví dụ:
+ Lệnh viết đa thức dạng bình phương tổng: completesquare() (lệnh phải phải mở gói cơng cụ student), ví dụ:
+ Lệnh xếp đa thức theo bậc: collect(f,x), f biểu thức, x ẩ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()
(77)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 định nghĩa hàm số ta tính giá trị hàm số, ví dụ tính giá trị hàm số x=0.1 2345 :
[> f(0.12345); ↵
-0.8677073006
+ Giải phương trình solve(f, { d/s biến } )
Bước : định nghĩa phương trình lệnh gán :=, ví dụ :
Bước 2: giải phương trình lệnh solve();
+ Giải hệ phương trình solve( { d/s, pt }, { d/s ẩn } )
(78)Bước 2: giải phương trình lệnh solve
+ Giải bất phương trình solve() :
Bước : định nghĩa bất phương trình lệnh gán :=
Bước 2: dùng lệnh solve():
Ta giải trực tiếp bất phương trình sau :
+ Giải hệ bất phương trình với lệnh solve(), ví dụ : Bước : định nghĩa 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 câu lệnh sau:
4.5.2 Nhóm lệnh tính tốn xử lý đại số tuyến tính
Để khai thác mạnh Maple lĩnh vực đại số tuyến tính, ta khởi động chương trình lệnh restart nạp gói cơng cụ chun ngành linalg
(79)+ Lệnh so sánh hai ma trận có số chiều: equal()
Trước tiên ta khai báo sử dụng gói cơng cụđại số linalg lệnh
Thực phép so sánh ma trận lệnh:
+ Lệnh tính tổng hai ma trận: evalm() 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ó:
(80)+ Lệnh tính tích vơ hướng hai véc tơ: dotprod(), ví dụ:
+ Lệnh hốn vị dịng (cột) ma trận swaprow(), swapcol(), ví dụ:
(81)+ Lệnh tìm ma trận chuyển vị: transpose(), ví dụ:
+ Lệnh tìm bất biến ma trận permanent(), ví dụ:
+ Lệnh tính giá trị riêng véc tơ riêng ma trận eigenvectors (), ví dụ:
(82)các véc tơ sở không gian riêng ứng với giá trị riêng Mỗi móc vng ứng với giá trị riêng 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 ma trận: charpoly(), ví dụ:
+ Lệnh tính hạng ma trận rank(), ví dụ:
(83)+ 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 lệnh [>restart: tiến hành nạp chức vẽ đồ thị lệnh [>with(plots); [>with(plottools);
* Vẽđồ thị khơng gian hai chiều plot() Ví dụ : vẽđồ thị hàm số x4+2x3-x2+
(84)Ví dụ 3: Vẽđồ thị hàm số y= x4+2x3-x2+ l y=2x3-2*x+2 hệ trục toạđộ:
*Vẽđồ thị hàm ẩn implicitplot()
Ví dụ: vẽ elip có phương trình x2/9 + y2/4 =
* Vẽđồ thị hàm xác định khúc:
Trước hết cần, khai báo hàm khúc với câu lệnh: piecewise(),
(85)* Vẽđồ thị hàm sin, cos theo tham số t [> plot([sin(t),cos(t)],t=-Pi Pi); ↵
* Vẽđồ thị không gian ba chiều
Trước tiên ta khởi động chương trình nạp thư viện [> restart: with(plots): with(plottools): ↵
Tiếp theo vẽ mặt hai chiều không gian ba chiều 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]:
(86)Maple có chức hỗ trợ vận động (animation) đồ thị hai chiều đồ thị ba chiều với cú pháp [>animate (cho đồ thị hai chiều), 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 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 công cụ:
(87)4.5.4 Các câu lệnh của Maple hỗ trợ giải tốn giải tích
+ Tính giới hạn hàm số f(x) x tiến tới a: limit(f,x=a); giá trị dương vô cùng, âm vô viết infinity, - infinity Ví dụ:
+ Tính đạo hàm 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 hàm số f(x) theo biến x: diff(f(x),xu);
(88)+ Tính tích phân xác định hàm số f(x) đoạn [a,b]: int(f(x),x=a b);
+ Tính giá trị lớn nhất, nhỏ hàm số miền D: minimize(f,x=a b); maximize(f,x=a b);Ví dụ:
+ Để xác định nguyên hàm hàm số, ta 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 );
(89)+ Để xác định tích phân xác định hàm số f(x) đoạn [a,b], ta 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 mầm hình xuất cửa sổđể nhập dạng biểu thức hàm số cần tìm tích phân xác định cận lấy tích phân, ta nhận kết Nếu nhấn nút "Đồ thị" ta thu
(90)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 hàm (f) xác định biểu thức (bt(x)), Maple sử dụng toán tử "->" với cú pháp sau:
[> tên hàm := x-> biểu thức xác định hàm f (đối số).Ví dụ
Sau khai báo hàm, để tính giá trị hàm giá trị đó, ta 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: câu lệnh hàm ví dụ:
(91)if a < b then
if b < c then c else b fi; elif a < c then c
else a fi; end: ↵
Sau gọi hàm Max với số cụ thể sẽđược kết ví dụ: l> Max(23,5,87)l 4.6 Các cấu trúc sử dụng lập trình Maple
4.6.1 Cấu trúc lặp điều kiện trước
While <Điều kiện> Do < danh sách câu lệnh> od;
Vòng lặp While thực lặp lặp lại câu lệnh od điều kiện sau từ khoá While cịn Nếu muốn sớm khỏi vịng lặp cần phải sử dụng lệnh Return, Break, Quit
Ví dụ : Thuật tốn Ơclit tìm ước số chung lớn hai số tự nhiên: [> restart; ↵
[> a:=126:b:=34: # khai bao hai so tu nhien a=126, b=34 [> while b <>
d:=irem(a,b); a:=b;
b:=d; od;
print(' USCLN cua hai so la:'); value(a); ↵
Ví dụ 2: Viết hình n số hạng đầu dãy Fibonacci [>restart;
f(0):=1; f(1):=1 ; n:=2;
(92)od;
seq(f(i),i=3 2); ↵
4.6.2 Cấu trúc lặp biết trước số lần
For <biến> from <cận đầu> by <bước thay đổi> to <cận cuối> Do <d/s câu lệnh>; od;
Hoặc
For < tên biến> in <danh sách giá trị> Do <d/s lệnh>; od;
Ví dụ: Tính tổng bình phương số chẵn mảng: [> restart,
mang:=[2,5,7,8,9,23,45,67,89,24,36,42]; tong:=0;
for i in mang
if irem(i,2)=0 then tong:=tong+i^2; fi;
od;
print(' tong can tim la:',tong); ↵ Khi thực ta 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 <điều kiện l> then < d/s câu lệnh l>; elif < điều kiện 2> then < d/s câu lệnh 2>; else < d/s câu lệnh 3>; fi;
Ví dụ: giải phương trình bậc 2, trước tiên ta khai báo proc() : [> ptb2::proc(a,b,c)
local delta,x1,x2; delta:=b*b-4*a*c; if delta < then
(93)elif delta = 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 nghiem phan biet :'); print(x1);
print(x2):
Để giải phương trình bậc hai, ta cần gọi tên proc() với hệ số thực sự, ví dụ: [> ptb2(1, 2, ); phuong trinh co nghiem kep: x1= -
[> 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 : 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 hai ẩn
Bài 3: Lập trình kiểm tra số có số ngun tố hay khơng?
Bài 4: Lập trình phân tích số nguyên dương thành tích thừa số nguyên tố
Lưu ý: bốn tập có ý nghĩa cho bạn làm quyên với việc lập trình với
Maple.
Để tìm hiểu lập trình với Maple, bạn đọc tìm thấy hướng dẫn chi tiết chuyên sâu tài liệu [l],[2],[3],[4]
4.7 ứng dụng maple khảo sát hàm số
4.7.1 Các lệnh của Maple có thể vận dụng khảo sát hàm số
Ta sử dụng hàm Maple 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ị điểm uốn, vẽđồ thị,
* Xác định miền xác định hàm số f(x):
(94)Ta dùng nhóm 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={x<>a};fi; ↵ Kết thực chương trình:
* Tìm khoảng đơn điệu hàm số.
Bước 1: Tìm đạo hàm 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 hàm số (tức tìm khoảng mà đạo hàm hàm số không âm), ta sử dụng lệnh: [> dhbn := bieuthuc r(x) >=0;
Bước : Giải phương trình lệnh [> solve(dhbn, { x } ) ;
Xác định khoảng nghịch biến hàm số, tương tự trên, ta dùng lệnh:
[> dhbn : = bieuthuc f’(x) <=0; Và giải phương trình lệnh: [> solve(dhbn,{x}); Thí dụ: Tìm khoảng đơn điệu hàm số: y = x3 - x2+ 4 x -
Bước 1: Tính đạo hàm:
Bước 2: Thiết lập bất phương trình
dhbn:= ≤ 3x2 - 12x +4
(95)* Tìm miền lồi, miền lõm 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 hàm số, lệnh:
(dhb2>=0,x);
ví dụ xét hàm số
Bước : Tìm đạo hàm bậc nhất:
Bước : Tìm đạo hàm bậc :
Bước : Giải phương trình tìm miền dương đạo hàm bậc (miền lồi hàm số)
* Tìm cực đại, cực tiểu:
Để xác định cực đại, cực tiểu hàm số ta xét đạo hàm bậc tính đơn điệu hàm số dùng tính lồi thông qua đạo hàm bậc hai, cụ thể:
Bước : Tìm đạo hàm hàm số: [> diff(f(x), x);
Bước 2: Giải phương trình f’(x)=0 để điểm nghi ngờ cực trị
[> solve(f(x)=0, x);
Bước 3: Tìm khoảng đồng biến nghịch biến hàm số:
[> solve(f(x)>=, x);
Bước 4: Xét xem xo :
1) Nếu đạo hàm đổi dấu từ dương sang âm xo điểm cực đại
2) Nếu đạo hàm đổi dấu từ âm sang dương xo điểm cực tiểu
3) Nếu qua xođạo hàm không đổi dấu xo khơng phải điểm cực trị
(96)Bước 4:
Qua nênđạo hàm bậc đổi dấu từ dương sang âm nên
điểm cực đại, qua đạo hàm bậc đổi dấu từ âm sang dương nên điểm cực tiểu hàm số
Nếu dựa vào đạo hàm bậc hai ta tiến hành bước sau:
Bước 1: Tìm đạo hàm hàm số: [> dhb1:=diff(f(x),x);
Bước 2: Giải phương trình f’(x)= 0để tìm điểm nghi ngờ 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ị
Bước :
Bước 2: Tìm điểm mà đạo hàm bậc 0:
Bước 3: Tìm đạo hàm bậc hai:
(97)bằng không:
Bước 5: Xét giá trị đạo hàm bậc hai kết luận, chẳng hạn ví dụ này, ta nên điểm cực tiểu, y’’,
nên điểm cực đại hàm số * Tìm điểm uốn:
Điểm uốn điểm mà đạo hàm bậc hai đổi dấu Để xác định điểm uốn hàm số, ta thực câu lệnh sau:
Bước Tính đạo hàm bậc nhất: [> dhbl:=diff(f(x),x);
Trong f(x) 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ã điểm uốn hàm số xo nghiệm chung hai bất phương trình:
[> solve(dhb2>=0); [> solve(dhb2<=0); Ví dụ: Tìm điểm uốn hàm số x4 - 2x2
Kết luận: hai điểm uốn đồ thị hàm sốđã cho * Tìm giá trị nhỏ lớn hàm sô.
Các hàm minimize(expr, vars, ranges) maximize(expr, vars,ranges) dùng để tìm giá trị nhỏ nhất, lớn hàm số xác định biểu thức expr theo giá trị
(98)*Xác định cực trị địa phương hàm số extrema(f,{},x).
Ví dụ xác định giá trị cực tiểu, cực đại 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 hàm số↵ { -1, }
* Xác định đường tiệm cận:
Ta sử dụng lệnh tách mẫu số f(x) lệnh denom(), dùng lệnh solve( tìm nghiệm mẫu số ta tiệm cận đứng
Lần lượt tính giới hạn a= lim(f(x)/x) b=lim(f(x)-ax) x tiến tới vô giới hạn tồn cho ta tiệm cận xiên y=ax+b Ví dụ xác định tiện cận 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);
(99)print(tiem can xien y=',x*a+b); fi; ↵ Kết thực chương trình:
* Xác định giao điểm đồ thị hàm số Y=f(x )với trục toạđộ.
Sử dụng gói cơng cụ student, sau dùng 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 hồnh: intercept(y=Y,y=0,{x,y}), ví dụ xác định giao điểm với trục toạđộ hàm số:
[> restart:with(student):
Y:=(x^2+x+1)/(2*x+2); # mở gói cơng cụ 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 thực chương trình:
Như đồ thị hàm số không cắt trục hồnh mà có giao điểm với trục tung điểm có toạđộ x = 0, y = 1/2
* Vẽđồ thị hàm sô.
Vẽ đồ thị chức mạnh MaDle Để vẽ đồ thị hàm số
f(x) đ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 đoạn [-2, 2]:
[> plot(x^4-2*x^2,x=-2 2); ↵ Kết ta đồ
(100)Qua hình dạng đồ thị, lần 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âu lệnh Maple
4.7.2 Một số ví dụ minh hoạ:
* Khảo sát hàm số với m = 0 (Đề thi tuyển sinh vào
ĐH Thái Nguyên - Năm học 1999-2000, khối A, B) Ta sử dụng chương trình sau:
[> Restart:
print(' Khao sai ham so y=x^3/3-mx^2-x+m+2/3 voi gia tri m=0'); Y:=(x^3/3-x+2/3);
print('Tap xác dinh cua ham so la:'); Y:=simplify(Y):
a:=solve(denom(Y)=0,x):
if(type(denom(y),realcons)=true) then D=R;fi; print('Tinh dao ham bác nhai cua ham so), dy/dx=factor(simplify(diff(Y,x)));
print('giai phương trinh f = 0:’); solve(diff(Y,x)=0,{x});
print(' Ham so se dong bien tren khoang’); solve(diff(y,x)>0);
phát(' Ham so nghịch bien tren khoang); solve(diff(Y,x)<0);
print(' Tim cac gia tri cuc tri dia phuong'); Ymin_max:=extrema(y,{},x);
print('Tinh dao ham bac hai cua ham so'); z:=simplify(diff(Y,x$2));
print(' Diem uon cua thi ham so la’); solve({z=0,Y=y},{x,y});
(101)plot(Y,x=-5 5,color=red); ↵ Kết thực chương trình :
khao sat ham so y=x^3/3-mx^2-x +m+2/3 voi gia tri m=0
Tap xac dinh cua ham so la: D = R
Tinh dao ham bac nhat cua ham so
giai phuog trinh f’=0: Ham so dong bien tren khoan
RealRange( -∞, Open( - ) ) RealRange( Open(1), ∞)
Ham so nghich bien tren khoang
RealRange( Open( - 1), Open( ) )
Tim cac gia tri dia phuong
~ìl ~i~lo ~ ~elll ~oi tr~l~ tl~ll~
Tim giao diem voi truc hoanh
(x = -2, y= }: { x = y = 0} { x = y = }
(102)* Khảo sát hàm phân thức: [> restart:
Y:=(x^2-3*x+4)/(2*x-2);Y:=simplify(y):
print(' Tap xac dinh cua ham so la:'); dk:=solve(denom(Y)=0,x):
if(type(denom(y),realcons)=true)or(coeff(denom(Y),x∧2)<>0 and type(dk[1],realcons) =falsse) then D=R;fi;
if coeff(denom(Y),x^2)=0 and coeff(denom(Y),x)<>0 then D={x<>dk};fi; a:=limit(Y/x,x=infinity):b:=limit(Y-a*x,x=infinity):ms:=solve(denom(Y)=0,x): if a<>infinity or a <>-infinity then
print('tiem can dung:',x=ms); print(' tiem can xien y=',x*a+b); fi;
print('Tinh dao ham bac nhat cua ham so'); dy/dx=factor(simplify(diff(y,x)));
print('giai phuong trinh f = 0:'); solve(diff(Y,x)=0,{x});
print(‘ Ham so se dong bien tren khoang'); solve(diff(Y,x)>0); print(' Ham so nghich bien tren khoang'); solve(diff(Y,x)<0);
print(' Tim cac gia tri cuc tri dia phuong'); Ymin_max:=extrema(Y,{},x); print(' Tim giao diem vot truc tung’); student[intercept](y=Y,x=0,{x,y}); print('Tim giao diem voi truc hoanh.); student[intercept](y=Y,y= 0,{x,y}); print(' Do thi ham so co dang sau’);
(103)Tap xac dinh cua ham so D = {x ≠1 }
Tiem can dung:, x =
Tiem can xien
Tinh dao ham bac' nhat cua ham so
Giai phuong trinh f’=0:
Ham so se dong bien tren khoang
RealRang (-∞ Open( RealRange( Open(
Ham so ngich bien tren khoang
RealRange( Open(1− 2) Open( ) ), RealRange( Open( ), Open(1+ )
Tim cac gia tri cuc tri dia phuong
Tinh dao ham bac hai cua ham so Tim giao diem voi truc tung
{y = -2, x =0) Tim giao diem voi truc hoanh
{ y = 0, x = RootOf(_Z2 - _Z + 4 label= -_LI)}
Do thi ham so co dang sau
Như vậy, để khảo sát hàm số khác chương trình phổ thơng, bạn đọc cần thay đổi chút ít, ta có công cụ
mạnh để kiểm tra minh hoạ cho toán khảo sát hàm số
* Tìm quỹ tích điểm M(xo,yo) mà từ đó kẻ được tiếp tuyến vng góc với
(104)2000, khối A, B) Ta sử dụng chương trình con: [> restart;
delta:=collect(simplify(discrim(f,x)),k): solve(delta,{k}):
ki:=coeff(delta,k^2): k2:=coeff(delta,k,0):
y3:=solve(k1*k2=-1,{yo}):
print(‘Ket luan ta co phuong trinh quy tich la’); print(y3);
Thực chương trình, ta có kết quả:
Ket luan ta có phương trinh quy tich là
* Cho tam thức bậc hai
Tìm giá trị tham số m cho p(x) có nghiệm x1,x2 thoả mãn:
1 < x1 < 3 < x2 Ta sử câu lệnh sau sau: [> restart;
(105)bạn đọc tham khảo:
* Chương trình khảo sát hàm số
[> reastart: with(plots): with(student): kshbh:=proc(a,b,c)
local Y,Xt,Yt,dhbn; print('khao sat ham so');
print('y =',Y); Xt:=-b/(2*a); Yt:=a*xt^2+b*xt+c: dhbn:=diff(Y,x);
print(‘Tap xac dinh cua ham so la:R'); print('Ham so dong bien tren khoang'); print(solve(dhbn>=0));
prtnt('Ham so nghich bien tren khoang'); print(solve(dhbn<=0));
if a>0 then print('Ham so co diem cuc tieu la’) print(intercept(y=y,x=xt,{x,y}));fi;
if a<0 then print('Ham so co diem cuc dai la:'), print(intercept(y=y,x=xt,{x,y}));fi;
implicitplot([y-y=0,x+0*y-xt=0],x=-5+xt 5+xt,y=-5+yt 5+yt, color=[red,blue], legend=[parabol,trucdoixung]);
end: ↵
Để sử dụng chương trình, ta việc gọi tên chương trình với tham số
thực cụ thể, ví dụ: [>kshbh(1,2,3);
* Chương trình khảo sát hàm số
[> restart: with(plots): with(student): kshb3:=proc(a,b,c,d)
(106)print('y =', Y);
print('Mien xac dinh cua ham so la R');
print('khao sat chieu bien thien'); dhbn:=diff(Y,x); print(‘Dao ham bac nhat');
print('dhbn =',dhbn); dhbh:=diff(diff(y,x),x);
xct:=solve(dhbn=0); A:=solve(dhbn>=0); B:=solve(dhbn<=0); if A=x then
print('Ham so dong bien tren toan truc so:'); print('Ham so khong co cuc tri: ');
print('Gioi han cua ham so’);
print(limit(y,x=infinity)=limit(y,x=infinity)); print(limit(y,x=-infinity)=limit(y,x=-infinity));
print('Ham so loi tren cac khoang'); print(solve(dhbh<0,{x})); print('cac khoang loi lom va diem uon');
print('Dao ham bac hai la:'); print(dhbh); print('Ham so lom tren khoang');
print(solve(dhbh>0,{x}));
print('Diem uon’) xu:=solve(dhbh:0,x); print(intercept(y=y,x=xu,{x,y}));
print(plot(y,x=-3+xu 3+xu,-15+f(xu) 15+f(xu)));
Y1:=expand(a*(xi+xu)^3+b*(xi+xu)^2+c*(xi+xu)+d-f(xu)); Print(‘Do thi ham so sau doi truc la’)
print(plot(y1,x1=-6 6,-20 20)); fi; if B=x then
print('Ham so nghich bien tren toan truc so:'); print('Ham so khong co cuc tri: ');
print(‘Gioi han cua ham so');
(107)print('Dao ham bac hai la:'); print(dhbh); print(‘Ham so loi tren cac khoang'); print(solve(dhbh<0,{x})),
print('Ham so lom tren khoang'); print(solve(dhbh>0,{x}));
print('Diem uon');
xu:=solve(dhbh=0,x); print(intercept(y=y,x=xu,{x,y})); print(plot(y,x=-3+xu 3+xu,-15+f(xu) 15+f(xu)));
Y1 :=expand(a*(x1+xu) ^3+b*(xi+xu)^2+c*(xi+xu)+d-f(xu)); Print(‘Do thi ham so sau doi truc la');
print(plot(y1,x1=-6 6,-20 20)); fi; if A<>x then
print('Ham so dong bien tren cac khoang’); print(solve(dhbn>=0,{x}));
print('Ham so nghich bien tren khoang’); print(solve(dhbn<o,{x}));
print('cac diem cuc tri cua ham so la:’); xct:=fsolve(dhbn=0);
print('Diem cuc dai',intercept(y=y,x=xct[1],{x,y}), ‘Diem cuc tieu’, intercept(y=y,x=xct[2],{x,y}));
print('Gioi han cua ham so');
print(limit(y,x=infinity)=limit(y,x=infinity)); print(limit(y,x=-infinity):limit(y,x=-infinity)); print('cac khoang loi lom va diem uon');
print('Dao ham bac hai la:');print('dhbh =',dhbh);
print('Ham so loi tren cac khoang'), print(solve(dhbh<0,{x})); print('Ham so lom tren khoang'); print(solve(dhbh>0,{x})); print('Diem uon'); xu:=solve(dhbh=0,x);
print(intercept(y=Y,x=xu,{x,y}));
(108)xg:=solve(Y1=0,x1); if a>0 then
print(plot(Y,x=-3+xu+xg[3] 3+xu+xg[2],-5+f(xct[2]) 5+f(xct[1]))); print('Do thi ham so sau doi truc toa do');
print(plot(Y1,x1=-6 6,-20 20)); fi; if a<0 then
print(plot(y,x=-3+xu+xg[3] 3+xu+xg[2],-5+f(xct[1]) 5+f(xct[2]))); print('Do thi ham so sau doi truc toa do');
print(plot(Y1,x1=-6 6,-20 20)); fi; fi; end: ↵
Để sử dụng chương trình, ta việc gọi tên chương trình với tham số
thực cụ thể, ví dụ: [> kshb3(1,2,3,4);
* Chương trình khảo sát hàm số y = ax4 + bx3+cx2+dx+e:
[> restart: with(student): with(plots): kshb4:=proc(a,b,c,d,e)
local Y,x,dhbn,dhbh,xct,xu,f; print('khao sat ham bac 4');
print('y=',Y);
print('Tap xac dinh:R.Ham so chan.'); print(' Chieu bien thien'); dhbn:=diff(y,x); print(‘y’=dhbn); dhbh:=diff(dhbn,x);
print('Ham so dong bien tren cac khoang la'); print(solve(dhbn>=0,{x})),
print('Ham so nghich bien tren cac khoang la'); print(solve(dhbn<0,{x}));
(109)print(' Cac diem cuc tri cua ham so'); xct:=fsolve(dhbn=0); xu:=fsolve(dhbh=0); print(intercept(y=Y,x=xct,{x,y}));
print(' Gioi han');
print(limit(y,x=-infinity),':=', limit(y,x=-infinity)); print(limit(y,x=inf nity),':=', limit(y,x=infinity));
print (‘Tinh loi, lom va diem uon cua thi’); print('y" =,dhbh); print(‘Ham so lom tren R’);
print('Ham so khong co diem uon'); print('Do thi cua ham so');
print(plot(y,x=-4+xct 4+xct,y=-2+f(xct) 2+f(xct))); fi; if a>0 and B=x then
print(‘ Cac diem cuc tri cua ham so’) xct:=fsolve(dhbn=0);
xu:=fsolve(dhbh=0);
print(intercept(y=y,x=xct,{x,y})); print('Gioi han');
print(limit(y,x=-infinity),':=', limit(y,x=-infnity)); print(limit(y,x=infinity),'::', limit(y,x=infinity)), print("rinh loi, lom va diem uon cua thi' ); print(‘y" =’,dhbh);
print('Ham so lom tren R');
print(‘Ham so khong co diem uon’); print('Do thi cua ham so');
print(plot(y,x=-4+xct 4+xct,y=-4+f(xct) 4+f(xct))); fi, if (B<>x) and (A<>x) then
(110)print(intercept(y= r,x=xct[3],{x,y})); print('Gioi han');
print(limit(y,x=-infinity),':=', limit(y,x=-infinity)); print(limit(y,x=infinity),':=', limit(y,x=infinity)); print('Dao ham bac hai:');
print('dhbh =',dhbh);
print('Ham so loi tren cac khoang la’); print(solve(dhbh<0,{x}));
print('Ham so lom tren cac khoang la :'); print(solve(dhbh>=0,{x}));
print(‘Do thi cua ham so’)
if a>0 then print(plot(y,x=-4+xct[3] 4+xct[2],y=-2+f(xct[2]) 2+f(xct[1]))) fi; if a<0 then print(plot(y,x=-4+xct[3] 4+xct[2],y=-2+f(xct[1]) 2+f(xct[2]))) fi; fi;end: ↵
Để sử dụng chương tnnh, ta việc gọi tên chương trình với tham số
thực cụ thể, ví dụ: l> kshb4(1,2,3,4,5);
* Chương trình khảo sát hàm số
d cx
b ax y
+ + = [> restart: with(plots): with(student): kshbntbn:=proc(a,b,c,d)
local Y,dhbn,xm,ytc; Y:=(a*x+b)/(c*x+d); dhbn:=simplify(diff(y,x));
print(‘khao sat ham so’); print(y);
print('1.Tap xac dinh'); print(D={x<>-d/c});
(111)xm:=-d/c: ytc:=limit(Y,x=+infinity); print(limit(y,x=xm)=infinity),
print('Ham so co tiem can dung la: x=',xm); print(limit(Y,x=-infinity)=limit(Y,x=-infinity)); print(limit(y,x:+infinity)=limit(Y,x=+infinity)); print(‘suy ham so co tiem can ngang la y=’,ytc); print('Do thi cua ham so');
print(‘Do thi ham so cat truc hoanh tai'); print(intercept(y=Y,y=0,{x,y}));
print('Do thi ham so cat truc tung tai'), print(intercept(y=Y,x=0,{x,y}));
print('Diem doi xung cua thi ham so la:'); print(intercept(y=ytc,x=xm,{x,y}));
plot({y,ytc},x=-5+xm 5+xm,y=-5+ytc 5+ytc); end:
Để sử dụng chương trình, ta việc gọi tên chương trình với tham số
thực cụ thể, ví dụ : I> kshbntbn(1,2,3,4);
* Chương trình khảo sát hàm số
[> restart: with(plots): with(student): kshbhtbn:=proc(a,b,c,a1,b1)
local Y,dhbn,A,B,a11,xm,b11,xct; print('khao sat ham so');
f:=x >(a*x^2+b*x+c)/(a1*x+b1); Y:=(a*x^2+b*x+c)/(a1*x+b1); print(y);
print('Tap xac dinh: R-(',-b1/a1,')’); print('chieu bien thien.');
(112)A:=solve(numer(dhbn)>0): B:=solve(numer(dhbn)<0): if A=x then
print('Ham so dong bien tren TXD'); fi; if B=x then
print(‘Ham so nghich bien tren TXD’); fi; if (A<>x) and (B<>x) then
print(‘Ham so dong bien tren cac khoang la’); print(solve(dhbn>0,{x}));
print('Ham so nghich bien tren cac khoang la:'); print(solve(dhbn<0,{x}));
print(‘cac diem cuc tri cua ham so la’) xct:=solve(numer(dhbn)=0,x);
print('Diem cuc dai cua ham so la:'); print(intercept(y=y,x=xct[2])); print('Diem cuc tieu cua ham so la:'), print(intercept(y=y,x=xct[1])); fi; print('Gioi han cua ham so');
print(limit(y,x=-infinity)=limit(y,x=-infinity)); print(limit(y,x=infinity)=limit(y,x:infinity}); xm:=solve(denom(y)=0,x);
print(limit(y,x=xm)=infinity);
print('Ham so co tiem can dung la x =',xm);
a11:=limit(y/(x),x=infinity);b11:=limit(y-a11*x,x=infinity); print(‘Ham so co tiem can xien la: y=',a11*x+b11);
print('Giao voi truc tung’); print(intercept(y=y,x=0,{x,y})); print('Diem doi xung cua ham so la :');
print(intercept(y=a11*x+b1,x=xm)); if (A=x) or (B=x) then
(113)if (A<>x) and (B<>x) then
print(plot({y,a11*x+b11},x=-10+xct[2] 10+xct[1],y=-10+f(xct[2]) 10+f(xct[1])));fi; end: ↵
Để sử dụng chương trình, ta việc gọi tên chương tnnh với tham số
thực cụ thể, ví dụ: [> kshbhtbn(1,2,3,4,5);
* Chương trình khảo sát hàm số
[> restart: with(plots):with(student): kshbhtbh:=proc(a,b,c,a1,b1,c1) local Y,dhbn,xm,dhbh,A,B;
Y:=(a*x^2+b*x+c)/(a1 *x^2+b1 *x+c1 ) ; f:=x >(a*x^2+b*x+c)/(a1*x^2+b1*x+c1); print(‘khao sat ham so’)
print(y);
dhbn:=simplify(diff(Y,x)); dhbh:=simplify(diff(dhbn,x)); xm:=solve(denom(Y)=0,x), print('Tap xac dinh cua ham so');
if type(xm[1],realcons)=false then print(‘D = R’); fi; if type(xm[1],realcons)=true then print('D =',{x<>xm}); fi; print('chieu bien thien');
print('Dao ham bac nhat'); print(dhbn); print('Ham so dong bien tren cac khoang'); print(solve(dhbn>=0,{x}));
print('Ham so nghich bien tren cac khoang'); print(solve(dhbn<=0,{x}));
print('Gioi han cua ham so'); ytc:=limit(y,x=-infinity);
(114)print(limit(y,x=infnity)=limit(y,x=infinity)); print('cac gia tri cuc tri cua ham so’);
print(‘Ymax-min:=’,extrema(y,{},x)); print('cac giao diem voi truc tung'); print(intercept(y=Y,x=0,{x,y})); print('cac giao diem voi truc hoanh'); print(intercept(y=Y,y=0,{x,y})); if type(xm[1],realcons)=true then tu:=numer(dhbn); print(tu);
A:=solve(tu>=0); B:=solve(tu<=0); if (A<>x) and (B<>x) then
if coeff(tu,x,1)<0 then
print(plot({y,ytc},x=-5+xm[2] 5+xm[1],y=-5+f((xm[1]+xm[2])/2) 5+ytc));fi; if coeff(tu,x,1)>0 then
print(plot({y,ytc},x=-5+xm[2] 5+xm[1],y=-5+ytc 5+f((xm[1]+xm[2])/2)));fi; if A=x then
print(plot({y,ytc},x:-5+xm[2] 5+xm[1],y=-10 10)); fi;fi; fi; print(xm[1],xm[2]);
end: ↵
Để sử dụng chương trình, ta việc gọi tên chương trình với tham số
thực cụ thể, ví dụ:
[> kshbhtbh(1,2,3,4,5,6);
* Bài tốn tìm điểm kẻđược hai riếp tuyến vng góc vói đường cong:
Print(‘(c):', y);
print('Goi M(x1,y1) la diem ma qua ke duoc hai tiep tuyen (d) den (c) co he so goc k thi phuong trinh:');
y2:=k*(x-x1)+y1: print('(d):',y2);
(115)A1:=y-y2: A:=numer(A1): B:=collect(A,x): print('<=>',B=0,'(1)');
A1:=coeff(B,x,2): b1:=coeff(B,x,1): c1:=coeff(B,x,O): C:=b1^2-4*a1*c1: D1:=expand(c): D2:=collect(D1,k):
print('(d) la tiep tuyen cua thi ham so va chi (1) co nghiem kep'); print('<=>', delta=0, '<=>', b1^2-4*a1*c1=0),
print('<=>',C=0); print('<=>',D2=0,'(2)');
print(‘De qua M co hai nghiem thi phuong trinh (2) phai co hai nghiem thoa man dieu kien k1*k2 = -1’)
a2:=coeff(D2,k,2): b2:=coeff(D2,k,1): c2:=coeff(D2,k,0): print('<=> delta>0 va c2/a2 =',-1);
print('<=>',c2/a2+1=0);
print('Quy tich cua nhung diem mat phang ma tu co the ke duoc hai tiep tuyen den thi ham so va hai tiep tuyen vuong goc voi la:’)
c2/a2+1=0; ↵
* Bài tốn xác định phương trình đường cong tiếp xúc với đường cong
cho trước:
[>restart: a:=1: b:=-2: c:=m: d:=(1-m^2)/4:
Print(‘Do dang cua phuong trinh (Hm), ta chon duong cong co dinh co phuong trinh la:');
print(' phuong trinh hoanh giao diem la:');
A:=y-y1: print(A,=0 (1)'); B:=collect(A,x): print('<=>', B=0); P1:=coeff(B,x,2): p2:=coeff(B,x,1):
p3:=coeff(B,x,0): C:=p2*p2-4*p1*p3:
print('<=>',delta=0,'voi moi m’, '<=>',C=0,'voi moi m'); C:=p2*p2-4*p1*p3: D1:=collect(c,m):
print('<=>',D1 = 0, ‘voi moi m dieu xay va chi khi'); p11 := coeff(D1,m,2):
(116)p13:=coeff(D1,m,0):
print(p11=0, p12=0, 'va',p13=0);
print('<=>',solve({p11,p12,p13},{b1,c1,d1}));.J
* Bài tốn tìm đường thẳng ln tiếp xúc với đường cong cho trước:
[> restart:a:=0:b:=(m+1):c:=m:a1:=1:b1:=m:
print('Tim phuong trinh cua duong thang luon tiep xuc voi ho duong cong'),
print('(Hm):',y);y1:=k*x+n:
print('Mot duong thang bat ky co he so goc la k co phuong trinh la’); print('(d) :',y1);
print(‘Ta co phuong trinh hoanh giao diem cua ho duong cong (Hm) va duong thang (d) la:');
A:=numer(y)-denom(y)*y1 : A=0; B::expand(A): C:=collect(B,x): print('<=>’, C=0,' (1)');
p1:=coeff(c,x,2): p2:=coeff(c,x,1): p3:=coeff(c,x,0): D1:=p2^2-4*p1*p3: D2:=collect(D1,m):
Print(‘De duong thang la tiep tuyen cua ho duong cong (Hm) thi (1) phai co nghiem kep voi moi m’);
print('<=>', delta=0, '<=>', D1=0,' voi moi m’);
print('<=>', D2=0, voi moi m.', ‘Dieu xay voi moi m va chi khi’); p11:=coeff(D2,m,2): p12:=coeff(D2,m,1): p13:=coeff(D2,m,0):
print(p11=D, p12=0,' va ', p13=0); p11:=coeff(D2,m,2): p12:=coeff(D2,m,1): p13:=coeff(D2,m,0):
print('<=>', solve({p11,p12,p13},{k,n}));
print('vay ta co phuong trinh cua duong thang can tim la:'); ↵
* Bài tốn tìm điểm cốđịnh đường cong:
[> restart:
(117)print (‘Ta viet phuong cua ham so lai duoi dang’); print(y1-y = 0);
mau:=denom(y1):tu::numer(y1):A:=tu-y*mau:B:=collect(A,m): print('<=>',B print('Muon dang thuc dung voi m thi:');
p1:=coeff(B,m,2):p2:=coeff(B,m,1):p3:=coeff(B,m,0): print(p1 = 0,p2 = 0,' va ',p3 = 0);
print('<=> ',solve({p1,p2,p3},{x,y}));
print('Diem co dinh cua ho duong cong la: ',solve({p1,p2,p3},{x,y}));↵
Để thuận có giao diện thân thiện thao tác đơn giản cho học sinh kiểm tra lại kết quả, toán khảo sát hàm số dạng đa thức, ta khai thác chương tnnh sau:
[> restart: with(plots): with(plottools): with(Maplets): with(Maplets[Elements]):
[> caiiMapIet := Maplet( Window[wi](title=“DO lHl HAM DA THUC” menubar=MB1, 'layout' = BL1), MenuBar[MB1](Menu("File", Menultem("Dong", Shutdown()))), BoxLayout[BL1](inset=0, Boxcolumn(inset=0, spacing=0, Plotter[p1]() ),
Boxcolumn(inset=0, spacing=0, BoxRow(inset=0, spacing=0,"f(x)=",
TextField[F]("-3*x^5+5*x^3 - 1.5*x")),BoxRow(inset=0, spacing=0,"MIEN XAC DINH: x= ", TextField[NEGX](3,"-1.2"), " to ", rextField[POSX](3,"1.2")),
Button[func]("DO THI HAM SO", onclick=Evaluate(P1 = 'showFunc(F, NEGX, POSX)')), Button[conUp]("KHOANG LOM", onclick=Evaluate(P1 = 'showConUp1(F, NEGX, POSX)')),
Button[conDown]("KHOANG LOI", oncIick=Evaluate(P1='showConDown1(F, NEGX, Button[inc]("DONG BIEN", onclick=Evaluate(P1 = 'showlnc1(F, NEGX, POSX)')), Button[dec]("NGHICH BIEN", onclick=Evaluate(P1 = 'showDec1(F, NEGX, POSX)')), Button[max]("DIEM CUC DAI", onclick=Evaluate(P1 = 'showMax1(F, NEGX, POSX)')), Button[min]("DIEM CUC TIEU", onclick=Evaluate(P1 = 'showMin1(F, NEGX, POSX)')), Button[all]("HIEN THI TAT CA", onclick=Evaluate(P1 = 'showAll(F, NEGX, POSX)')) ))):
showFunc := proc(f, negX, posX) option remember: plot(f,x=negX poX, color=black, thickness=3): end proc:
showconUp1 := proc(f, negX posX) option remember:
(118)display(showConDown(f,negX, posX), showFunc(f, negX, posX)):end proc: showlnc1 := proc(f, negX, posX) option remember:
display(showlnc(f, negX, posX), showFunc(f, negX, posX)):end proc: showDec1 := proc(f, negX, posX) option remember:
display(showDec(f, negX, posX), showFunc(f, negX, posX)): end proc: showMax1 := proc(f, negX, posX) option remember:
display(showMax(f, negX, posX), showFunc(f, negX, posX)):end proc: showMin1 := proc(f, negx, posx) option remember:
display(showMin(f, negx, posx), showFunc(f, negX, posX)):end proc: showconUp := proc(f, negX, posX) option remember:
local d2, sols, i, n, polys, j, delta, X1, X2, Y1, Y2, p: d2 := diff(f,x$2);
sols := findRoots(d2, negX, posX); if not member(evalf(negX), sols) then sols := [evalf(negX), op(sort(sols))]: end if:
if not member(evalf(posX), sols) then sols := [op(sort(sols)), evalf(posX)]: end if:
n := 100: polys := []:
for j from to (nops(sols) - 1)
if evalf(subs(x = (sols[j] + sols[j+1])/2, d2)) > then delta := (sols[j+1] - sols[j]) / n:
X2 := sols[j]: for i from to n
X1 := evalf(x2): Y1 := evalf(subs(x = X1, f)):
X2 := evalf(sols[j] + i * delta): Y2 := evalf(subs(x=X2,f)):
p[i] := polygonplot([[x1, 0],[X1, Y1],[X2, Y2],[X2, 0]], color=cyan, style=patchnogrid):
(119)polys := [op(polys) seq(p[i],i=1 n)]: end if:
end do:
if nops(polys) = then return NULL:
end if:
display(seq(polys[i],i=1 nops(polys))): end proc:
showConDown := proc(f, negx, posx) option remember: local d2, sols, i, n, polys, j, delta, X1, X2, Y1, Y2, p: d2 := diff(f,x$2);
sols := findRoots(d2, negx, posx); if not member(evalf(negX), sols) then sols := [evalf(negX), op(sort(sols))]: end if:
if not member(evalf(posX), sols) then sols := [op(sort(sols)), evalf(posX)]: end if:
n := 100: polys := []:
for j from to (nops(sols) - )
if evalf(subs(x = (sols[j] + sols[j+1])/2, d2)) < then delta := (sols[i+1] - sols[i]) / n:
X2 := sols[j]: for i from to n
X1 := evalf(x2): Y1 := evalf(subs(x=X1,f)):
X2 := evalf(sols[i] + i * delta): Y2 := evalf(subs(x=x2,f)):
p[i] := polygonplot([[X1, 0],[X1, Y1],[X2, Y2],[X2, 0]], color=green, style=patchnogrid):
end do:
(120)end if: end do:
if nops(polys) = then return NULL:
end if:
display(seq(polys[i],i=1 nops(polys))): end proc:
showlnc := proc(f, negX, posX) option remember: local d1, sols, i, lines, j:
d1 := diff(f,x);
sols := findRoots(d1, negX, posX); if not member(evalf(negX), sols) then sols := [evalf(negX), op(sort(sols))]: end if:
if not member(evalf(posX), sols) then sols := [op(sort(sols)), evalf(posX)]: end if:
lines := []:
for j from to (nops(sols) - )
if evalf(subs(x=(sols[j]+sols[j+1])/2,d1)) > then
lines := [op(lines), plot(f, x=sols[j]…sols[j+1], color=blue, thickness=3)]: end if:
end do:
if nops(lines) = then return NULL:
end if:
display(seq(lines[i],i=1 nops(lines))): end proc:
(121)d1 := diff(f,x);
sols := fndRoots(d1, negX, posX), if not member(evalf(negX), sols) then sols := [evalf(negX), op(sort(sols))]: end if:
if not member(evalf(posx), sols) then sols := [op(sort(sols)), evalf(posx)]: end if:
lines := D:
for j from to (nops(sols) - )
if evalf(subs(x=(sols[j] + sols[j+1])/2,d1)) < then
lines := [op(lines), plot(f, x=sols[i] sols[j+1], color=orange, thickness=3)]: end if:
end do:
if nops(lines) = then return NULL:
end if:
display(seq(lines[i],i=1 nops(lines))): end proc
showMax := proc(f, negX, posX) option remember: local d1, d2, sols, i, p:
d1 := diff(f,x); d2 := diff(f,x$2);
sols := fndRoots(d1, negx, posx); for i from to nops(sols)
if evalf(subs(x=sols[i],d2)) < then
p := [op(p), line([sols[i],0],[sols[i],subs(x=sols[i], f)],color=blue,thickness=3)]: end if:
end do:
(122)return NULL: end if:
display(seq(p[i],i=1 nops(p))): end proc:
showMin := proc(f, negX, posX) option remember: local d1, d2, sols, i, p:
d1 := diff(f,x); d2 := diff(f,x$2);
sols := findRoots(d1, negx, posx); p := []:
for i from to nops(sols)
if evalf(subs(x=sols[i],d2)) > then
p := [op(p), line([sols[i],0],[sols[i],subs(x=sols[i], f)],color=red,thickness=3)]: end if:
end do:
if nops(p) = then return NULL: end if:
display(seq(p[i],i=1 nops(p))): end proc:
showAll := proc(f, negX, posX) option remember:
display(showMin(f, negX, posX), showMax(f, negX, posX), showConDown(f, negX, posx), showconUp(f, negx, posx), showDec(f, negx, posx), showlnc(f, negX, posX)): end proc: findRoots := proc(f, negX, posX) option remember:
local n, i, delta, li, X1, X2, sol, lN, j: delta := (evalf(posx) - evalf(negx)) /n: X2 := evalf(negx):
for i from to n
X1 := eval(X2): X2 := evalf(negx + i * delta): sol := fsolve(f - 0, x = X1 X2):
(123)li := [ op(li), evalf(sol)]: end if:
end if:
end do: li; end proc:
Gọi thực chương trình: [> Display(cal1Maplet);
Trên hình xuất cửa số:
Ta đưa trỏ vào hộp thoại f(x) để nhập biểu thức hàm theo cú pháp Maple, nhập miền khảo sát vẽ đồ thị [a, b] vào hộp thoại Miền xác định Nhấn chuột vào chức có sẵn ta thu kết quảở cửa sổ chính.Ví dụ ta chọn chức minh hoạ miền lồi, hìnhh có dạng:
(124)4.8 Sử dụng Maple hỗ trợ kiểm tra kết tính tốn
4.8.1 Tính lũy thừa của ma trận vng
Thuật tốn: (ưng dụng định lí Hamiltơn - Cayley):" Giả sử A ma trận vuông
và PA(λ) thỏa mãn: PA(λ) = (-1)n λn + P1λn-1 + + pn-1λ + pn là đa thức đặc trưng
của A Khi đó, PA(A) = 0 " Vậy đa thức Q(λ) chia hết cho Pn(λ) ta có
Q(A) = Đặc biệt: Q(λ) = S(λ)Pn(λ) + R(λ) ⇒ Q(A) = R(A) .
Chương trình thiết kế nhằm thực nội dung:
Tính đa thức đặc trưng A
- Tìm dư chia xn cho đa thức đặc trưng A (khi đa thức dư có bậc nhỏ cấp ma trận đơn vị)
- Tính An theo đa thức dư Mã chương trình
[> restart;
with(LinearAlgebra): Luythua:=proc(A, n) local p, r, f, x;
p:=CharacteristicPolynomial(A, x);
r:=rem(x^n, p, x); f := unapply(r, x); f(A); end: ↵
(125)[> Luy thua(A, 2002); # Thực thủ tục tính luỹ thừa với số mũ 2002 ↵
Ta mở rộng cho đa thức bậc n với ẩn ma trận A, cách thay r:=rem(x^n, p, x) r:=rem( f(x), p, x)
4.8.2 Kiểm tra tính lũy tính ma trận vng
Xét vấn đề kiểm tra ma trận vuông có phải ma trận lũy linh hay khơng? Nếu ma trận ma trận lũy linh bậc ma trận lũy linh (Xét
đến ma trận lũy linh bậc 100000000) Thuật toán:
- Tim tất giá trị riêng ma trận
- Nếu tất giá trị riêng ma trận ma trận lũy linh, ngược lại ma trận không lũy linh
- Nếu ma trận lũy linh ta tìm bậc lũy linh:
+ Tính lũy thừa ma trận (số lũy thừa lặp từ đến 100000000)
+ Lập ma trận không cấp với ma trận cho
+ Nếu tồn số i cho lũy thừa bậc i ma trận cho ma trận không Lấy số i ta bậc lũy linh ma trận cho
Mã chương trình:
[> restartiwith(linalg): with(LinearAlgebra): LLkhong:=proc(A)
local i, M, p, k, L, u, J, Q, P; p:=CharacteristicPolynomial(A, x); k:=solve(p=0,{x}); L:={k}; u:=nops(L);
(126)if equal(M, A)=true then print(' Trường hợp tầm thường '); else if u=1 and L[1]={x=0} then
for i from to 100000000 if equal(M, A^i)=true then
print(' Ma trận cho ma trận lũy linh có bậc ', i); break; fi; od; else print(' Ma trận cho ma trận lũy linh '); fi; fi; end: ↵
Minh hoạ việc sử dụng chương trình
[> with(LinearAlgebra): A:=<<0,-1,-2>|<-2,0,0>l<1,0,0>>;# Khai báo ma trận#↵
[> LLkhong(A);# Thực chương trình #↵
Ma trận cho ma trận lũy linh có bậc là,
[> J:=JordanForm(A): Q := JordanForm(A, output='Q'): ↵ [> Q^(-1) A Q; ↵
Để dạng chéo ma trận ban đầu ta dựa vào dạng gần với ma trận chéo để tính hạng (ma trận có hạng 2), định thức ma trận ban đầu (một ma trận lũy linh ln có tất giá trị riêng khơng, có định thức khơng)
4.8.3.Kiểm tra tính giao hốn phép nhân ma trận
Mã chương trình: [> with(linalg):
[>GiaohoanK:=proc(A,B)
localc, D, n1, n2, m1, m2; n1:=rowdim(A); m1:=coldim(B); m2:=rowdim(B); n2:=coldim(A);
if n1- n2 <> or mi1- m2 <> or n1-m1 <> then prnt(' Nhập lai ma trận ') else C:=multiply(A, B); D:=multiply(B, A);
(127)else print('false'); fi; fi; end: ↵
Minh hoạ việc sử dụng chương trình
[> A:=matrix(3,3,[2,0,0,0,3,0,0,0,3]); ↵
4.8.4 Kiểm tra tính chéo hóa được của một ma trận vuông bất kỳ đưa ma trận đó về dạng ma trận chéo (nêu ma trận đó chéo hóa được)
Mã chương trình: [> Cheohoak:=proc(A) local B;
B := diag(eigenvalues(A)); if issimilar(A, B)= que then phát(' true '); print(' Dạng chéo ma trận '); print(B); else print(' false '); vi; end: ↵
Minh hoạ việc sử dụng chương trình
(128)Xét mệnh đề sau " Hai ma trận vng đồng dạng có vết " Liệu điều có khơng mệnh đề đảo có khơng? Ta sử dụng câu lệnh sau Maple:
Như ta thấy hai ma trận vết (A C) không đồng dạng, suy mệnh đềđảo không
4.9 Sử dụng Maple hỗ trợ suy luận trình học tốn
Với tốn ta dùng Maple để tính kết tốn Dựa kết quả, suy luận lơgíc thông qua mối quan hệ yếu tố tốn, ta có thểđịnh hướng cách giải cách nhanh chóng xác
4.9.1 Ví dụ Tính định thức của ma trận umin
Trước hết ta dùng hàm Maple tạo ma trận với cấp xác định thỏa mãn
điều kiện toán sau tính định thức ma trận Dựa kết quảđể suy luận sau tổng quát hóa cho ma trận có cấp n
(129)[> n:=5: A:=array(1 n,1 n): for i to n
for j to n
if i < j then A[i, j]:= i;
else A[i, j]:= j; fi; od; od; print(A); ↵
Kết thực thủ tục:
[> det(A); ↵
Ta thấy kết định thức Ta xét thêm ma trận cấp cao (cấp 10) cách thay n:= 10 vào đầu câu lệnh Kết ta ma trận có
định thức Đến nảy sinh vấn đề: Vậy liệu ma trận có dạng
vậy với cấp kết cịn khơng ?
Nếu điều chắn ma trận A phân tích thành hai hay nhiều ma trận có định thức Để tìm hiểu, ta thực lệnh sau:
[> A1 := LUdecomp(A, L='A2',U=’u’): ↵ [> evalm(A1); ↵
Với lệnh ta thấy rõ ràng ma trận A tích hai ma trận Al A2,
(130)vẫn Do vậy, ta nhân hai ma trận Al, A2 cấp n thu kết ma trận A Như vậy, tốn giải xong
4.9.2 Tìm ma trận nghịch đảo
Xét ma trận A có dạng sau:
Trước hết, ta tìm ma trận nghịch đảo ma trận B có dạng có bậc hồn tồn xác định (chẳng hạn với bậc5), sau tìm ma trận nghịch đảo ma trận B, từ dạng ma trận B-1 ta dựđốn dạng nghịch đảo ma trận A Mã chương trình:
[> restart; :with(linalg): ↵
[>b:=matrix(5,5,[1,0,0,0,0,a,1,0,0,0,a^2,a,1,0,0,a^3,a 2,a,1,0,a 4,a^3.a^2.a.11): ↵
Từđây dựđoán ma trận nghịch đảo A có dạng sau:
4.9.3 Kiểm tra tính khác khơng của đinh thức bằng cách dùng phép chia có dư cho các phần tử ma trận đểđưa ma trận đó về dạng đơn giản
(131)[> with(linalg):
[> Matrixmod:=proc(A, p) local u, v, i, j, B;
u:=rowdim(A),v:=coldim(A); B:=array(1 u, v); for i to u
for j to v B[i,j]:=A[i, j] mod p;od;od; print(B); end: ↵
Minh hoạ việc sử dụng chương trình
[>A:=matrix(6,6,[7,82,62,54,24,90,86,13,24,26,6,8,0,2,5,8,0,12,2,4,6,9,64,24,12,4,6,8, 1,8, 2,4,24,26,8,67]); ↵
Rõ ràng ma trận kết ma trận đơn vị nên có định thức khác khơng ma trận cho có định thức khác khơng
4.9.4 " Tìm hạng của ma trận vuông cấp n mà phần tử đường chéo bằng 0, cịn phần tử lại bằng hoặc -1 "
Trước hết ta tạo ma trận để thỏa mãn giả thiết đề (vì thư viện
của Maple chưa có sẵn) có phần tử đường chéo 0, phần tử
lại lấy giá trị - cách tùy ý Mã chương trình:
* Tạo ma trận:
(132)local i, j, a, c, A; A:=matrix(m, n, []); for i to m
for j to n a:=rand(-99 99): c:= a();
if i<>j then A[i, j]:=sign(c); else A[i, j]:=0; fi; od; od; print(A); print(' Hạng A ',rank(A)); end: ↵
* Sau xây dựng xong chương trình tạo ma trận, tiến hành tính hạng ma trận ngẫu nhiên với cấp ma trận thay đổi Ta cấp 5:
[> Matrixransign(5,5);
Kết hạng A : 5
Ta tiếp tục thử cho ma trận ngẫu nhiên khác, sau số ma trận có hạng
không đổi, ta gặp ma trận sau có hạng 4.
[> Matrixransign(5,5); ↵
Kết hạng A: Tiếp tục với ma trận cấp :
Kết hạng A: Tiếp tục thử ta kết đây:
(133)Kết hạng A:
Như vậy, hạng ma trận (bằng cấp ma trận) Từ ta đến dựđoán sau: “Hạng của ma trận hoặc n hoặc n- 1”
Mở rộng toán: Thay giả thiết phần tử -1 phần tử tùy ý ta kết tương tự: “Trên đường chéo ma trận cấp n số 0, phần tử khác là c (c∈Z), ta có hạng ma trận n-1, n "
4.9.5 Xét tính khả ngịch của một ma trận
Ta thấy ma trận đơn vị có phần tử đường chéo 1, cịn phán tử khác không Rõ ràng ma trận khả nghịch Vấn đề đặt liệu có mối quan hệ phần tử đường chéo với phần tử cịn lại ma trận vng cho ma trận khả nghịch không? .
Ta xây dựng chương trình bao gồm nhiệm vụ:
- Tính tổng trị tuyệt đối phần tử nằm đường chéo.
- Tính giá trị nhỏ trị tuyệt đối phần tử đường chéo.
- Xét tính khả nghịch ma trận đó.
Mã chương trình: [> with(linalg): [> Chuan:=proc(A) local i, j, M, N, K;
if rowdim(A) <> coldim(A) then print(' Nhap ma tran vuong '); else M:=0; K:=0; N:=abs(A[1, 1]);
for i to rowdim(A)
if N > abs(A[i, i] then N:=abs(A[i, i]); fi; K:=K + abs(A[i, i]); for i to rowdim(A) M:= M +abs(A[i, jn; od; od;
prnt(' Phần tửđường chéo có trị tuyệt đối bé ', N);
(134)print(' Định thức ma trận A ', det(A)); fi; end: ↵ Minh hoạ việc sử dụng chương trình
[> Chuan(A); ↵
Phần tử đường chéo có trị tuyệt đối bé là, Tổng trị tuyệt đối phần tử đường chéo là, . Định thức ma trận A là, -8
Ta thấy ma trận khả nghịch, có
Có vượt trội trị tuyệt đối phần tử nằm đường chéo chính. Ta
tiếp tục thử với ma trận khác:
[> A:=matrix(4,4,[6,-1,0,1,0,7,1,-1,0,-1,-9,0,0,0,0,7]); ↵
[> chuan(A); ↵
Phần tử đường chéo có trị tuyệt đối bé là, Tổng trị tuyệt đối phần tử ngồi đường chéo là,
Định thức ma trận A là, -2604
Kết cho thấy phần tử đường chéo có vượt trội
trị tuyệt đối so với phần tử nằm ngồi đường chéo định thức ma trận
đó khác khơng.Ta tiếp tục lập ma trận thỏa mãn nhận xét xem định thức có khác khơng khơng ?
[> A:=matrix(4,4,[-16,-1,0,1,0,12,1,-1,0,-1,-19,0,-2,1,3,17]): Chuan(A); ↵
Phần tử đường chéo có trị tuyệt đối bé là, 12 Tổng trị tuyệt đối phần tử đường chéo là, 11 . Định thức ma trận A là, 61584
(135)Từđó ta sởđểđi đến dựđốn là: “Một ma trận vng cấp n A=( aij ) thỏa
mãn ma trận khả nghịch”, Đây cách phát biểu khác
định lí Hađalnard
4.9.6 Đưa biểu thức toạđộ của dạng toàn phương về dạng tắc
* Cơ sở lý thuyết (phương pháp Lagrange)
Giả sử sở R - khơng gian véc tơ V cho dạng tồn phương có biểu thức toạđộ
a Trường hợp
Giả sử aii ≠ 0, tiện ta giả thiết a11≠ biểu thức toạđộđã cho viết
dưới dạng: + số hạng không chứa
+ những số hạng không chứa
trong đặt
Đây cơng thức phép đổi toạ độ V Vậy ta đưa xét biểu thức với n - toạđộ
b Trường hợp 2:
Nếu aii = có aij≠ với i ≠ j, chẳng hạn a12≠
ta đặt :
(136)2a12xlx2 trở thành 2a12 ( 2'2 ' x
x − ) nên trở thành biểu thức hệ số '2
1
x 2a12≠ Vậy ta lại đưa trường hợp xét
trên
Thiết lập chu trình với Maple
[> restart; with(linalg):
sqsum:=proc(f:=quadratic) local i,l,n,x,J,S,K,F,kk;
if ldegree(f)<>2 then error "f is noi quadratic form" end if; S:=f;K:=0;
indets(f): x:=convert(%,list): n:=nops(x): while S<>0
while has(S,{seq(x[i]^2,i=1 n)}) for i to n if has(s,x[i]^2) then
K:=K+diff(s,x[i])^2/4/coeff(s,x[i]^2); S:=expand(Q-K);
end if end do; end do; if S<>0 then
if type(S,'+') then op(1,S) else S; fi; indets(%);
l:=coeff(coeff(%%,%[1]),%[2]),%[1],%[2]];
K:=K+(diff(s,|[2])+diff(s,|[3]))^2/(4*|[1])-(diff(s,|[2])-diff(S,|[3]))^2/(4*|[1]); S:=expand(f-k);
end if; end do;
(137)end: ↵
Các ví dụ minh hoạ sử dụng chương trình
4.10 Khai thác Maple Xác suất thống kê
Việc khai thác Maple xác suất thống kê đa dạng, Chúng lập chương trình để giải tất dạng tập có giáo trình Xác suất thống kê Dưới đây, chúng tơi xin minh hoạ ví dụđơn giản:
4.10.1 Tính phân phối chuẩn
+ Định nghĩa: Biến ngẫu nhiên X gọi tuân theo luật phân phối chuẩn, kí hiệu hàm mật độ có dạng
Ta có hai tham số (1) a σ2 cũng hai sốđặc trưng quan trọng
EX VX Về mặt đồ thị, đường cong (l) có dạng hình chuông
(138)[> restart; with(plots):
Xx_plot:= proc(x, menu, sd)
local xvalue, f, p, delta, index, n, area, Left, Right; f:= u -> exp( -((u-mean)^2)/ (2*sd^2) )/(sd*sqrt(2*Pi));
Right := fsolve( f(mean)/100 = f(xvalue), xvalue, menu ((1+mean)*4)); Left := menu - (Right-mean);
Print(left, Right);
n := 120; delta := (Right - Left)/n; index := 1; for xvalue from Left to Right by delta
if( xvalue >= x) then p[index] := polygonplot( [[xvalue, 0],[xvalue,f(xvalue)], [xvalue + delta, f(xvalue + delta)], [xvalue + delta, 0]],
color = reo, style = patchnogrid );
else p[index] := polygonplot( [[xvalue,0 ],[xvalue,f(xvalue)], [xvalue + delta, f(xvalue + delta)], [xvalue + delta, 0]], color = blue, style = patchnogrid ) ;
fi;
index := index + 1 ; od;
area := int f(u), u = x infnity);
plots[display](seq[pi], i = n-1),textplot([17,.1, cat(convert( eval(100*(1 - area), 5), string),"%")], align = {ABOVE, LEF}, font = [HELVETICA, BOLD, 14]), textplot([25,.1, cat(convert( evalf(100*(area), 5), string),"%")],
align = {ABOVE, RIGHT}, font = [HELVETICA, BOLD, 14]) ); end: ↵
Để thực thủ tục ta cần khai báo ba tham số: giá trị liệu (x), giá trị
trung bình (a), độ lệch chuẩn ( σ) Chẳng hạn x = 20.9, a = 20.5, σ = 0.5
Minh hoạ việc sử dụng chương trình
(139)Miền màu xanh số bên trái xác suất P(x < 20.9), miền đỏ chữ bên phải xác suất P(x > 20.9)
Sau ta xét trường hợp đơn giản Ta cho x = 1, a = 0, σ= .
Ta dạng phân phối chuẩn hoá minh hoạ sau: [> x _plot( 1, 0, 1);
Nếu ta biểu diễn hai phân phối mà có σ= x, a khác kết gần giống có thay đổi, thể sau:
[> A := x_plot( 1, 0, 1): B := x_plot(10, 8, 1): display( {A,B});↵
Bây ta so sánh dạng phân phối chuẩn dạng phân phối không chuẩn < Chẳng hạn phân phối chuẩn với thông số ( x = 1, a = 0, σ = ),
với ( x = 10, a = 11, σ= 2) Ta được: > A := x-plot( 1, 0, ):
(140)Đồ thị phân phối chuẩn bên trái đồ thị phân phối không chuẩn
bên phải Ta thấy hai đồ thị phân phối có tổng diện tích chắn f(x) trục Ox Tuy nhiên đồ thị bên trái cao, nhọn có đáy hẹp đồ thị bên phải thấp hơn, tù có đáy rộng Điều chứng tỏ VX đặc trưng cho độ tán xạ EX đặc trưng định vị phân phối Chúng ta thấy rõ thêm điều thơng qua vài ví dụ sau đây:
[> A := x_plot( 1, 0, ): B := x_plot( 40, 30, 10) : display( {A,B}); ↵
[> A := x_plot( 2, 0, ): B := x_plot( 50, 30, 10) display( {A,B}); ↵
(141)display( {A,B}); ↵
4.11 Maple với toán quy hoạch
Để kiểm tra kết tốn tìm phương án tối ưu giá trị tối ưu min, max hàm f(x) với điều kiện ràng buộc hệ tuyến tính, ta thiết lập chương trình sau:
[> restart;
[> Toi_uu:=proc(f,Dieu_kien::set)
local vars,L,S,SS,k,m,K,Fmax,Fmin,sol_min,sol_MIN,sol_max,sol_MAX; vars:=indets(f,name) union indets(Dieu_kien,name);
L:=map(convert,Dieu_kien,equality); K:=combinat[choose](L);
S:=NULL:
for k to nops(k) if solve(K[k])<>NULL then extrema(f,K[k],vars,'s||k'):S:=S,a||values(s||k):fi od: SS:={}
for k to nops([s])
if type(s[k],set) then SS:=SS union evalc(s[k]) fi od; SS:=remove(has,SS,l);
S:=NULL:
for k to nops(ss) if type(SS[k],set(equation)) and
map(evalb,evalf(simplify(subs(SS[k],Dieu_kien))))={true} then S:=S,vatue(ss[k]) fi od;
SS =[s];
(142)if evalf(simplify(subs(ss[k],f)))>evalf(Fmax)
then Fmax:=simplify(value(subs(SS[k],f)));sol_max:=SS[k]; fi;od; sol_MAX:=sol_max:
for k to nops(SS)
if Fmax=simplify(value(subs(SS[k],f))) and (SS[k] minus sol_max)<>{} then sol_MAX:=sol_MAX,Ss[k] fi od;
‘Fmax'=simplify(expand(Fmax)),sol_MAX: Fmin:=infinity:
for k to nops(SS)
if evalf(simplify((subs(SS[k],f))))<evalf(Fmin)
then Fmin:=simplify((subs(SS[k],f)));sol_min:=SS[k]; fi;od; sol_MIN:=sol_min:
for k to nops(SS)
if Fmin=simplify(value(subs(SS[k],f))) and (SS[k] minus sol_min)<>{} then sol_MIN:=sol_MlN,SS[k] fi od;
RETURN('F[min]'=simplify(expand(Fmin)),sol_MlN, 'F[max]'=simplify(expand(Fmax)),sol_max);
end: ↵
Sau thiết lập hàm, để giải toán cụ thể ta cần khai báo rõ hàm mục tiêu f(x) hệ điều kiện ràng buộc (Ký hiệu Dieu_kien) sau gọi thực lời gọi hàm Toi_uu(f(x), Dieu_kien)
Ví dụ :
Khai báo hàm mục tiêu:
(143)-Gọi hàm Toi_uu để giải tốn: [> Toi_uu(F13,Dieu_kien); -Kết thực
Ví dụ
- Khai báo hàm mục tiêu:
- Khai báo hệđiều kiện ràng buộc: [> Dieu_kien:={x^2+y^2<=4};
Điều kiện := { x2+ y2≤ }
-Gọi hàm Toi_uu để giải toán: [> Toi_uu(F16,Dieu_kien); Kết thực hiện:
Ví dụ
- Khai báo hàm mục tiêu:
Khai báo hệđiều kiện ràng buộc:
[> Dieu_kien:={3*x[1]+x[2]<=6,x[1]+x[2]<=4,x[1]>=0,x[2]>=0};
(144)Ví dụ
- Khai báo hàm mục tiêu:
- Khai báo hệđiều kiện ràng buộc
-Gọi hàm Toi_uu để giải toán: [> Toi_uu(F3,Dieu_kien); Kết thực chương trình:
- Rút gọn kết quả: [> evalf(%);
* Bài tập: Trên sở chương trình mẫu phần 4.10, 4.11, lập trình giải dạng tốn giáo trình xác suất thống kê giáo trình tối ưu hố để kiểm tra kết tính tốn giải tốn
4.12 Khai thác Maple hình học
4.12.1 Một số câu lệnh cơ bản của Maple hình học phẳng
Để bắt đầu thực tất câu lệnh hình học phẳng, phải mở
gói hình học phẳng câu lệnh sau: [> with(geometry);
Tên trục toạđộ phải khai báo xác định đối tượng Nếu không khai báo trục toạ độ phải sử dụng câu lệnh :_EnvHorizontalName _EnvVerticalName sau đầu chương trình; Maple nhắc ta nhập tên trục toạ độ, ta nhập sau: [> _EnvHorizontalName := 'x’ _EnvVerticalName := 'y':
Ta sử dụng Maple để kiểm tra tính tiếp xúc, trả lại điểm cuối
đối tượng hình học (đoạn thẳng, đoạn thẳng định hướng, tam giác, hình vng), cực,
(145)đối tượng hình học hình học phẳng (point2d, segment2d, asegment2d, line2d, tnangle2d, square2d, circle2d, ellipse2d, parabola2d, hyperbola2d), tìm tên hai trục toạ độ sử dụng hàm xác định đối tượng,
* Khai báo điểm biết toạđộ
[> point(p, Px, Py)↵ [> point(p, [Px, Py]); ↵ Trong đó: P : Tên điểm,
Px: Hồnh độ, Py: Tung độ
* Tạo điểm ngẫu nhiên đường thẳng đường tròn:
[> randpoint(w, u, v) ; ↵
Trong đó: w: Tên điểm ngẫu nhiên,
u: Đường thẳng, đường trịn hay miền giá trị v: Miền giá trị
* Khai báo đường thẳng qua điểm biết phương trình nó:
[> line(l, [A, B]); ↵ [> line(l, eqn, n); ↵
Trong : l: Tên đường thẳng,
eqn: Phương trình tổng quát đường thẳng, A, B: Các điểm,
n: Danh sách tên biểu diễn hai trục toạđộ (viết dấu [ ]) * Khai báo đoạn thẳng (đoạn thẳng đinh hướng) biết hai đầu mặt:
[> segment(seg, [P1, P2]) ; ↵ [> segment(seg, P1, P2); ↵ [> dsegment(seg, P, P2) ; ↵ [> dsegment(seg,[P1, P2]) ; ↵
Trong đó: Pl, P2: Các đầu mút (có thể khai báo trực tiếp Pl, P2 toạđộ), seg: Tên đoạn thẳng (hoặc đoạn thẳng định hướng)
* Xác định đường thẳng qua điểm song song (vng góc) với
(146)[> Parallelline(lp, P, l); ↵
[> PerpendicularLine(lp, P, l); ↵
Trong đó: lp: Tên đường thẳng tạo ra, P: Điểm,
l: Đường thẳng
* Khai báo tam giác biết đỉnh:
[> triangle(T, [A, B, C], n); ↵
Trong đó: T: tên tam giác; A, B, C: Ba điểm phân biệt, n: (tuỳ chọn) danh sách tên biểu diễn hai trục toạđộ
* Khai báo tam giác biết đường thẳng chứa cạnh:
[> triangle(T, [|1, |2, |3], n); ↵
Trong : T: Tên tam giác,
|1, |2, |3]: Ba đường thẳng chứa ba cạnh tam giác, n: (tuỳ chọn) danh sách tên biểu diễn hai trục toạđộ
* Khai báo tam giác T biết cạnh (3 đoạn thẳng):
[> triangle(T, [side1, side2, side3]); ↵ Trong đó: T: Tên tam giác,
side1, side2, side3 : Ba cạnh tam giác T
* Khai báo tam giác biết cạnh góc xen giữa:
[> triangle(T, [sidei, 'angle' = theta, side3], n); ↵ Trong đó: T: Tên tam giác,
sidel, 'anglet = theta, side3: sidel side3 hai cạnh tam giác, thêm góc chúng
n: (tuỳ chọn) danh sách tên biểu diễn hai trục toạđộ
* Xác định đường cao tam giác:
[> altitude(hA, A, ABC, H); ↵
Trong đó: hA: Đường cao xuất phát từđỉnh A tam giác ABC, H: (tuỳ chọn) tên -hình chiếu A cạnh đối diện
* Xác định đường phân giác (ngoài) tam giác:
(147)[> ExternatBisector(bA, A, ABC); ↵
Trong đó: bA: Phân giác (ngoài) xuất phát từđỉnh A, P: (tuỳ chọn) tên
* Xác định đường trung tuyến:
[> median(mA, A, ABC, M); ↵
Trong đó: mA: Trung tuyến xuất phát từđỉnh A tam giác ABC, M: (tuỳ chọn) tên - giao điểm ma với cạnh đối diện đỉnh A
* Xác định đường ti-ung trực đoạn thẳng An
[> PerpenBisector(l, A, Bu ↵
Trong đó: l: Tên đường thẳng cần tạo, A, B: Hai điểm
* Tìm trực tâm H tam giác ABC:
[> orthocenter(H, ABC); ↵
* Xác định trọng tâm tam giác lâm tỉ cự G tập hợp điểm
mặt phẳng:
[> centroid(G, g); ↵
Trong G: Tên trọng tâm (tâm tỉ cự),
g: Tam giác, danh sách (tập hợp) điểm mặt phẳng
* Xác định đường tròn ngoại tiếp tam giác:
[> circumcircle(cc, T, 'centername'= cn); ↵
Trong đó: cc: Tên đường trịn ngoại tiếp, T: Tam giác,
‘centemamel’= cn: (tuỳ chọn) có tâm đường tròn ngoại tiếp
* Xác định đường tròn nội tiếp tam giác:
[> incircle(ic,T, 'centername'=cn); ↵ Trong đó: T: Tam giác,
ic: Tên đường tròn nội tiếp,
'centername'=cn(tuỳ chọn), cn tâm đường tròn nội tiếp
(148)[> excircle(obj, T, n); ↵
Trong đó: obj : Danh sách đường tròn bàng tiếp,
n: (tuỳ chọn) danh sách gồm phần tử dạng [cl(0l), c2(02), c3(03)], cl, c2, c2, 01, 02, 03 tên
* Kiểm tra hai tam giác đồng dạng:
[> AresSimilar(Ti, T2, cond)l ↵ Trong đó: Ti, T2: Hai tam giác,
cond:(tuỳ chọn) tên- trả lại điều kiện để hai tam giác đồng dạng
* Kiểm tra tam giác đều:
[> lsEquilateral(ABC, cond); ↵ Trong đó: ABC : Tam giác,
cond: (tuỳ chọn) tên - trả lại điều kiện để tam giác
* Kiểm tra tam giác vng:
[> lsRightTriangle(ABC, cond); ↵ Trong đó: ABC: Tam giác,
cond: (tuỳ chọn) tên - trả lại điều kiện để tam giác vuông
* Xác định điểm Giécgôn điểm Naghen tam giác:
[> GergonnePoint(G, ABC); ↵ [> NagelPoint(N, ABC); ↵ Trong đó: G: Tên điểm Giécgôn,
N: Tên điểm Naghen
* Xác định đường thẳng Euler đường thẳng Simson tam giác:
[> EulerLine(Ell, T); ↵ [> Simsonline(sl, N, T);
Trong đó: Ell: Tên đường thẳng Euler, sl: Tên đường thẳng Simson,
N: Điểm nằm đường tròn ngoại tiếp tam giác T
* Xác định đưng tròn Euler tam giác:
[> EulerCircle(Elc, T, 'centername'=cn)l ↵
(149)‘centemame' = cn: (tuỳ chọn) có tâm đường trịn Euler
* Khai báo đường tròn đi qua điểm A, B, C cho trước:
[> circle(c, [A, B, C], n, 'centername'=m); ↵
Trong đó: n: (tuỳ chọn) danh sách hai tên biểu diễn tên hai trục toạđộ, 'centernamet’=m: (tuỳ chọn) m tâm đường tròn
* Khai báo đường trịn biết tâm bán kính (hoặc biết đường kính):
[> circle(c, [O, rad], n, 'centername'=m); ↵ [> circle(c, [A, B], n, 'centername'=m); ↵ Trong đó: O: Tâm đường trịn,
rad: Độ lớn bán kính đường trịn, A, B: đầu mút đường kính
* Khai báo đường trịn biết phương trình đại số.
[> circle(c, eqn, n, 'centername'=m); ↵
Trong đó: eqn: Phương trình đại số biểu diễn đường trịn
* Khai báo cơníc (c) qua điểm phân biệt A, B, C, E, F:
[> conic(c, [A, B, C, E], n); ↵
* Khai báo cơníc (c) biết đường chuẩn, tiêu điểm tâm sai:
[> conic(c, [dir, gou, ecc], n); ↵
Trong đó: dir: Đường chuẩn cơníc, fou: Tiêu điểm,
ecc: Một số dương xác định tâm sai cơníc
* Khai báo cơníc (c) biết phương trình đại số
[> conic(c, eqn, n); ↵
Trong đó: eqn: Phương trình đại số,
* Khai báo Elíp biết hai tiêu điểm độ dài trục lớn (độ dài trục bé):
[> ellipse(e, ['foci'=foi, 'MajorAxis'=lma], n); ↵ [> ellipse(e, ['foci'=foi, 'M'norAxis'=lmi], n); ↵
(150)'MinorAxisl=lmi: Độ dài trục bé
* Khai báo Elíp biết hai tiêu điểm tổng khoảng cách từ điểm thuộc
Elíp đến tiêu điểm:
[> ellipse(e, ['foci'=foi, 'distance'=dis], n); ↵
Trong đó: 'foci'=foi: Danh sách hai tiêu điểm Elíp,
‘distance'=dis: Tổng khoảng cách từ điểm thuộc Elíp đến tiêu điểm
* Khai báo Elíp biết hai điểm cuối trục lớn trục bé:
[> ellipse(e, ['MajorAxis'=ep1, 'MinorAxis'=ep2], n); ↵
Trong đó: 'MajorAxis'=epl : Danh sách hai điểm cuối trục lớn, 'MinorAxis"=ep2: Danh sách hai điểm cuối trục bé
* Khai báo Elíp biết phương trình đại số chúng:
[> ellipse(e, eqn, n); ↵
Trong đó: eqn: Phương trình đại số
* Khai báo Hypebol qua điểm A,B,C,D,E.'
[> hyperbola(h, [A, B, C, E, F], n); ↵
* Khai báo Hypebol khì biết đường chuẩn, tiêu điểm, tâm sai:
[> hyperbola(h, ['directrix'=dir,'focus'=fou, 'eccentricity'=ecc], n); ↵ Trong đó: 'directrix'=dir: Đường chuẩn,
'focus,=fou: Tiêu điểm, 'eccentricity'=ecc: Tâm sai
* Khai báo Hypebol biết hai tiêu điểm, đỉnh:
[> hyperbola(h, ['foci'=foi,'vertices'=ver], n); ↵
Trong đó: ‘vertices'=ver: Danh sách hai đỉnh Hypebol, 'focil:foi: Danh sách hai tiêu điểm Hypebol
* Khai báo Hypebol biết hai tiêu điểm khoảng cách hai đỉnh:
[> hyperbola(h, ['foci'=foi,'distancev'=disv], n); ↵
Trong đó: 'foci'=foi: Danh sách hai tiêu điểm Hypebol,
‘distancev'=disv: Khoảng cách hai đỉnh Hypebol
(151)[> hyperbola(h, ['vertices'=ver,'distancef=disf], n); ↵
Trong đó: ‘vertices'=ver: Danh sách hai đỉnh Hypebol, ‘distancef’=disf: Khoảng cách hai tiêu điểm
* Khai báo Hypebol biết phương trình đại số:
[> hyperbola(h, eqn, n); ↵
Trong đó: eqn: Phương trình đại số Hypebol
* Khai báo Parabol qua điểm A, B, C, E, F phân biệt.
[> parabola(p, [A, B, C, E, F], n); ↵
* Khai báo Parabol biết tiêu điểm đỉnh:
[> parabola(p, ['focus'=fou, 'vertex'=ver], n); Trong đó: 'focus' = fou: Tiêu điểm,
'vertex'=ver: Đỉnh Parabol
* Khai báo Parabol biết đường chuẩn tiêu điểm:
[> parabola(p, ['directrix'=dir, 'focus'=fou], n); ↵ Trong đó: 'focus'=fou: Tiêu điểm,
‘directrix'=dir: Đường chuẩn
* Khai báo Parabol biết phương trình đại số
[> parabola(p, eqn, n); ↵
Trong đó: eqn: Phương trình đại số
* Kiểm tra điểm thẳng hàng:
[> AreCollinear(p, Q, R, cond); ↵ Trong đó: P, Q, R: Ba điểm,
cond: (tuỳ chọn) tên - trả lại điều kiện để điểm thẳng hàng
* Kiểm tra đường thẳng đồng quy:
[> Areconcurrent(l1, l2, l3, cond); ↵ Trong đó: l1, l2, l3: Ba đường thẳng,
cond: tên - trả lại điều kiện để đường thẳng đồng quy
* Kiểng tra hai điểm A, B liên hợp điều hoà với hai điểm C, D cho trước đường
thẳng:
(152)* Kiểm tra hai đường thẳng song song:
[> AreParallel(11, 12, cond); ↵ Trong đó: l1, l2: Hai đường thẳng
cond: (tuỳ chọn) tên - trả lại điều kiện để đường thẳng song song
* Kiểm tra hai đường thẳng vuông gốc:
[> ArePerpendicular(l1, l2, cond); ↵ Trong đó: l1, l2: Hai đường thẳng,
cond: (tuỳ chọn) tên - trả lại điều kiện để hai đường thẳng vng góc
* Kiểm tra điểm, danh sách tập hợp điểm thuộc đường thẳng:
[> lsOnline(f, cond); ↵
Trong đó: f: Một điểm, danh sách tập hợp điểm, l: Đường thẳng,
cond: tên - trả lại điều kiện để tập hợp điểm thuộc đường thẳng
* Kiểm tra điểm P1, P2, P3, P4 nằm đường tròn:
[> Areconcyclic(pi1, P2, P3, P4, cond); ↵
Trong đó: cond (tên) trả lại điều kiện để điểm thuộc đường tròn
* Kiểm tra điểm, danh sách tập hợp điểm thuộc đường
tròn:
[> lsOncircle( f, c, cond); ↵
Trong f: Một điểm, danh sách tập hợp điểm, c: Đường tròn,
cond: trả lại điều kiện để tập hợp điểm thuộc đường tròn
* Kiểm tra hai đường tròn c1, c2 trực giao:
[> AreOrthogonal(c1, c2, cond); ↵
Trong đó: cond: trả lại điều kiện để hai đường tròn trực giao
* Kiểm tra tính tiếp xúc đường thẳng đường tròn hai đường tròn:
[> AreTangent(f, g); ↵
Trong đó: f, g: Một đường thẳng đường tròn hai đường tròn
4.12.2 Các lệnh tính tốn hình học
(153)[> coordinates(P); ↵
* Xác định tung độ (hoành độ) điểm P:
[> VerticalCoord(p); ↵ [> HorizontalCoord(p); ↵ * Tìm trung điểm đoạn thẳng:
[> midpoint(c, A, B);↵ [> midpoint(c, seg); ↵ [> midpoint(p1, p2);↵
Trong đó: C : Tên trung điểm, A, B: Hai điểm, seg: Đoạn thẳng,
pl, p2: Các tên, biểu thức điểm
* Tìm tiêu điểm Elíp Hypebol:
[> foci(fn, f); ↵
Trong : fn: (tuỳ chọn) danh sách tên, f: Một Elíp Hypebol
* Tìm độ dài trục lớn (trục bé) của Elíp (e):
[> MajorAxis(e); ↵ [> MinorAxis(e); ↵
* Tìm đường đối cực điểm đổi với cơníc đường trịn:
[> Polar(l, P, c) ↵
Trong : l: Tên đường đối cực, P: Điểm,
c: Đường cômc đường trịn
* Tìm cực đường thẳng cơníc đường trịn:
[> Pole(p, p, c); ↵
Trong đó: P : Tên cực đường thẳng, p: Đường thẳng,
(154)* Tìm hình chiếu điểm lên đường thẳng:
[> projection(Q, P, l) ; ↵
Trong đó: Q: Tên điểm chiếu, P: Điểm,
l: Đường thẳng
* Trả lại hai đầu mút đoạn thẳng, đoạn thẳng định trường đỉnh
một tam giác, hình vng:
[> DefinedAs(obj); ↵
Trong đó: obj: Đoạn thẳng, đoạn thẳng định hướng, tam giác, hình vng * Trả lại phương trình đại số đối tượng hình học:
[> Equation(obj); ↵
[> Equation(obj, [x, y]); ↵
Trong đó: obj : Đối tượng hình học,
[x, y]: (tuỳ chọn) tên hai trục toạđộ
* Trả lại tên trục hoành (trục tung) phương trình xác định đối tượng:
[> HorizontalName(obj); ↵ [> VerticalName(obi); ↵
Trong đó: obj : Đường thẳng, tam giác, đường trịn, parabol, elíp, hypebol * Trả lại dạng xác định đối tượng:
[> form(obj); ↵
Trong đó: obj: Đối tượng hình học
* Mơ tả chi tiết thuộc tính đối tượng hình học:
[> detail(g); ↵
Trong đó: g: Đối tượng, danh sách tập hợp đối tượng hình học
* Vẽ đối tượng hình học:
[> draw(obj, ); ↵
[> draw([obj_1, , obj_n], ); ↵
Trong đó: obj: Đối tượng cần vẽđồ thị,
[obj_l, , obj_n]: Danh sách đối tượng cán vẽđồ thị
(155)[> intercept(eqn1); ↵
[> intercept(eqn1, eqn2, {x, y})↵
Trong đó: eqnl, eqn2: Các phương trình (Ví dụ: y = x2 + 3), x, y: (tuỳ chọn) toạđộ biến
* Tính độ dài có hướng hai điểm A, B:
[> SensedMagnitude(A, B) ; ↵
* Tính tích có hướng hai đoạn thẳng định hướng:
[> Crossproduct(dseg1, dseg2); ↵
Trong : dseg 1, dseg2 : Hai đoạn thẳng định hướng
* Tính tỷ sốđiều hồ tự số kép điểm thẳng hàng A, B, C, D:
[> CrossRatio(A, B, C, F); ↵
* Tính cạnh tam giác hình vng (g):
[> sides(g); ↵
* Tính bán kính đường trịn c:
[> radius(c); ↵
* Tính đường kính tập hợp điểm:
[> diameter(g); ↵
Trong đó: g: Danh sách tập hợp điểm
* Tính hệ số góc đường thẳng:
[> slope(l) ; ↵ [> slope(A, B); ↵
Trong đó: l: Đường thẳng, A, B: Hai điểm
* Tính phương tích điểm P đường trịn c:
[> powerpc(p, c);↵
* Tính khoảng cách:
[> distance(p, l); ↵ [> distance(a, b); ↵
(156)l: Điểm đường thẳng,
a, b: Các biểu thức đối tượng thuộc kiểu khai báo điểm
* Tính diện tích:
[> area(obj); ↵
Trong đó: obj: Tam giác, hình vng, đường trịn elíp
* Xác định đường tròn Appollius đường tròn c1, c2, c3 cho trước:
[> Apollonius(c1, c2, c3); ↵
* Xác định trục đẳng phương hai đường tròn c1, c2:
[> RadicalAxis(l, ci, c2); ↵
* Xác định tâm đẳng phương d ba đường mòn c1, c2, c3:
[> Radicalcenter(d, c1, c2, c3); ↵
* Xác định tiếp tuyên từ điểm đến đường tròn (tiếp tuyến điểm
đường trịn đó):
[> TangentLine(obj, p, c, n); ↵ [> tangentpc(l, P, c), ↵
Trong đó: obj: Tiếp tuyến qua điểm P, l: Tiếp tuyến điểm P,
c: Đường tròn,
n: (tuỳ chọn) danh sách tên trục
* Xác định giao điểm hai đường thẳng hai đường tròn:
[> intersection(obj, f, g); ↵
Trong đó: obj: Tên giao điểm,
f, g: Hai đường thẳng hai đường trịn
* Tính góc hai đường thẳng hai đường tròn
[> FindAngle(u, v); ↵
Trong đó: u, v: Hai đường thẳng hai đường tròn
4.12.3 Một vài minh hoạ việc sử dụng lệnh
- Khai báo điểm A(x,y) : point : [> A:=[1,2]: [> point(A,[1,2]): ↵
- Đánh dấu điểm A : draw: [> draw(point(A,1,2)): ↵
(157)thẳng với lệnh segment: [> point(A,[1,2]):point(B,[-1,-2]): segment(AB,[A,B]); ↵ Hoặc sử dụng câu lệnh kép:
[> segment(AB,[point(A,[1,2]),point(B,[-1,-2])]): ↵
- Vẽđoạn thẳng qua điểm A, B định nghĩa: [> draw(segment(AB,[A,B])): ↵
- Vẽ đường thẳng qua hai điểm A,B:
[>line(l,[point(A,(1,2)),point(B,(-1,-2))]):draw(l)↵
- Xác định đường thẳng có dạng ax+by=c : [> line(l,2*x+9*y=-9,[x,y]): draw(l): ↵
- Xác định giao điểm hai đường thẳng l1, l2: intersection,
[> line(l1, x = 0, [x,y]}, line(l2, x + y = 1, [x,y]): intersection(G, l1, l2); ↵
-Xác định toạđộ giao điểm: [> coordinates(G): ↵
- Xác định giao điểm đường thẳng đường tròn biết phương trình
chúng:[>line(l, x + y = 1, [x,y]): circle(c, x^2 + y^2 = 1, [x,y]):
intersection(p, 1, c,[M,N]): detail(p): draw({l,c}); ↵
- Xác định giao điểm hai đường tròn biết phương trình chúng:
[> circle(c1, x^2 + y^2 = 1, [x,y]): circle(c2,[point(0,2,0),1.5],[x,y]): intersection(H,c2,c1,[U,V]): detail(H): ↵
-Vẽhai đường tròn cắt sau:
[> draw({c1,c2}): ↵
- Các câu lệnh sau thực cần mở gói cơng cụ hình học với lệnh :
[> with(geometry): ↵
Xác định tam giác: triangle:
-Xác định tam giác biết ba điểm:
[>point(A,0,0),point(B,1,1),point(c,1,0): triangle(T,[A,B,C]):type(T,'triangle2d'): method(T):map(coordinates,Defỉnedas(T)): ↵
- Dựng tam giác xác định ba đường thẳng:
[>line(l1,y=0,[x,y]), line(l2,y=x,[x,y]), line(l3,x+y-2=0,[x,y]):triangle(l,[l1,l2,l3]): map(coordinates,DefinedAs(T)): ↵
- Xác định tam giác biết độ dài ba cạnh, ví dụ 3,4,5:
[> triangle(T,[3,4,5]):detail(T): ↵
(158)cạnh 2, góc xen 45()
[> triangle( r,[2,'angle'=Pi/2,1]):method(T): DefinedAs( T): ↵
- Xác định đường cao altitude() và trực tâm orthocenter() tam giác:
[> triangle(ABC, [point(A,0,0), point(B,2,0), point(c,1,3)]): altitude(hA1,A,ABC): altitude(hA2,B,ABC):altitude(hA3,C,ABC):orthocenter(H,ABC): coordinates(H): ↵
- Dựng đường trung tuyến median () trọng tâm centroid() tam giác:
[> triangle(ABC, [point(A,0,0), point(B,2,0), point(c,1,3)]):
median(mA, A, ABC): median(mB, B, ABC):median(mc,C,ABC): centroid(G,ABC): coordinates(G): ↵
- Dựng đường trung trực PerpenBisector và tâm đường tròn ngoại tiếp tam giác:
[> point(A,0,0), point(B,2,0),point(C,-1,2):PerpenBisector(l1, A, B): PerpenBisector(12,C,B):PerpenBisector(13,A,C):intersection(0,l1,l2,l3): coordinates(O): ↵
- Dựng đường phân giác bisector và tâm đường tròn nội tiếp incircle tam giác:
[> triangle(ABC, [point(A,0,0), point(B,2,0), point(C,1,3)]): bisector(bA, A, ABC):bisector(bB,B, ABC): bisector(bc,C,ABC): intersection(l,bA,bB,bC):coordinates(l): ↵
- Dựng đường tròn từ ba điểm phân biệt: circle
[> circle(c1,[point(A,0,0), point(B,2,0), point(c,1,2)],'centername'= O1): center(c1), coordinates(center(c1)): radius(c1); Equation(c1); detail(ci); ↵
- Dựng đường tròn biết hai điểm cuối đường kính: circle
[> point(M,Horizontalcoord(O1)-radius(c1),Verticalcoord(O1)), point(N,Horizontalcoord(O1)+radius(c1),Verticalcoord(O1)): circle(c2,[M,N]), Equation(c2); ↵
- Dựng đưừng tròn biết tâm bán kính nó: circle
[> circle(c3,[center(c1),radius(c1)]): Equation(c3): ↵
- Dựng đường trịn biết phương trình đại số nó: circle()
[> circle(c4,Equation(c1),'centername'=O2): center(c4), coordinates(center(c4)): radius(c4): ↵
(159)[> with(geometry):
triangle(r, [point(A,0,0), point(B,2,0), point(c,1,3)]): ↵
circumcircle(Elc, r,'centername'=OO);detail(Elc); draw({Elc,T},printtext=true):
- Dựng đường tròn nội tiếp tam giác: incircle
[> with(geometry):triangle(T, [point(a,0,0), point(B,2,0), point(c,1,3)]): incircle(inc,T,'centername'=0):detail(inc): ↵
- Dựng đường tròn bàng tiếp tam giác: excircle
[> with(geometry):ps := point(A,1,1),point(B,3,1),point(c,2,4): Triangle(T, [ps]): excircle(obj, T, [c1(o1),c2(o2),c3(o3)]): draw({op(obj), T},printtext=true); ↵
- Qua điểm dựng đường thẳng song song với đường thẳng cho ParallelLine
[> with(geometry):
EnvHorizontalName:='x':EnvVerticalName:='y': point(p, 2, 3), line(l,x + y =1,[x,y]);
ParallelLine(lp, P, l);
detail(lp);draw({lp(color=magenta),l,P(color=blue)}); ↵
- Qua điểm dựng đường thẳng vng góc với đường thẳng đã cho:
PerpendicularLine
[> point(P, 2, 3), line(l, x + y =1, [x,y]):
PerpendicularLine(lp, P, l):detail(lp): draw({l,lp,P})↵
- Qua điểm dựng tiếp tuyên với đường tròn: TangentLine
[> point(A, 3, -2), circle(c, a^2 + b^2 = 1,[a,b]) TangentLine(obj, A, c, [l1, l2]):
form(l1), Equation(l1):form(l2), Equation(l2): draw({A,c,l1,l2}): ↵
- Dựng trục đẳng phương RadicalAxis hai đường tròn tâm đẳng phương
Radicalcenter ba đường tròn:
(160)- Kiểm tra hai đường thẳng có song song khơng: AreParallel [> line(l1,2*x+3*y+1=0,[x,y]):
line(l2,4*sqrt(2)*x+6*sqrt(2)*y-1=0,[x,y]): AreParallel(l1,l2): ↵
- Kiểm tra hai đường thẳng có vng góc khơng: ArePerpendicular
[> line(l1,y=x,[x,y]):line(l2,y:-x,[x,y]): ArePerpendicular(l1,l2): ↵
- Kiểm tra điểm có thuộc đường thẳng không: lsOnline
[> point(A,0,-1):line(l1,2*x-y=2,[x,y]): lsOnline(A,11): ↵
- Kiểm tra điểm có thuộc đường lrịn khơng: lsoncircle
[> point(B,1,-1):circle(c,(x-1)^2+(y-2)^2=3^2,[x,y]): lsOncircle(B,c): ↵
- Kiểm tra ba điểm có thẳng hàng khơng.AreCollinear
[> point(Ai,1 )-1):point(Bi,O,1):point(ci,2,-3): AreCollinear(A1,B1,C1): ↵
- Kiểm tra ba đường thẳng có đồng quy không: AreConcurrent
[>line(12,x-y=1,[x,y]):line(13,2*x-3*y=2,[x,y]):line(14,x+2*y=1,[x,y]): ↵ Areconcurrent(12,13,14): ↵
- Kiểm tra bốn điểm thẳng hàng có liên hợp điều hồ với khơng AreHarmonic
[> with(geometry): point(A,1,1):point(B,0,0):
point(C,-1,-1):point(D,-4,-4): AreHarmonic(A, B, C, D): ↵
- Kiểm tra hai tam giác có liên hợp với đường trịn khơng:
Areconiugate
[> triangle(T1,[point(p1,1,3/2),point(p2,2,1),point(p3,0,1)]): line(11,y=0,[x,y]),line(l2, y=x,[x,y]), line(l3,x+y-1 = 0,[x,y]):
triangle(T2,[l1,l2,l3]): circle(c,[point(o1,2),1]): AreConiugate(T1,T2,c): ↵
- Kiểm tra bốn điểm có thuộc đường trịn khơng: ArConcyclic
[> point(pi,0,0), point(P2,2,0), point(P3,2,2): point(P4,0,2), point(P5,1,7): Areconcyclic(P1,P2,P3,P4): ↵
- Kiểm tra đường trịn có trực giao khơng AreOrthogonal
[> with(geometry):_EnvHorizontalName := 'x': _EnvVerticalName := 'y':
circle(c1,x^2 + y^2 =1), circle(c2, (x-2)^2 + y^2 = 2): circle(c3, x^2 + y^2 = 2): AreOrthogonal(ci,c2): ↵
(161)[> with(geometry):_EnvHorizontalName := 'x': _EnvVerticalName := 'y': ircle(c1,x^2 + y^2 =1): line(l, 2*x + 3*y =0 ): AreTangent(l, c1): ↵
- Đường tròn tiếp xúc với đường tròn: AreTangent
[> circle(c1,x^2 + y^2 =1), circle(c2,(x-2)^2 + y^2 =1): AreTangent(c1,c2): ↵
- Kiểm tra hái tam giác có đồng dạng khơng: AresSimilar
[>point(A,0,0),point(B,0,3),point(C,1,0),point(H,0,6),point(F,2,0):point(G,3,1); triangle(T1, [A, B, C]):triangle(T2, [A, H, F]):triangle(T3, [A, H, G]):
AresSimilar(T1, T2): AresSimilar(T1, T3): ↵
- Kiểm tra tam giác có khơng: lsEquilateral
[> triangle(ABC, [point(A,0,0), point(B,2,0), point(C,1,2)]):lsEquilateral(ABC): ↵
- Kiểm tra tam giác có vng khơng: lsRightTriangle
[>triangle(ABC,[point(A,0,0),point(B,2,0), point(C,0,2)]):lsRightTriangle(ABC): ↵
- Khoảng cách hai điểm:
[> point(A, 1, -2),point(B,2,-5):distance(A,B): ↵
[> distance(segment(AB,[A,B]): ↵
- Khoảng cách điểm với đường thẳng
[> point(A,-1,2):line(l,2*x-3*y=1,[x,y]): distance(A,l): ↵
Ta tính khoảng cách điểm với đường thẳng cách tính khoảng điểm với hình chiếu đường thẳng Ta tìm toạđộ hình chiếu điểm lệnh:
[> projection(B, A, l):coordinates(B):distance(A,B): ↵
- Khoảng cách giữa hai đường thẳng:
[> line(l1,2*x-y=3,[x,y]):line(l2,x-3*y=0,[x,y]):distance(11,12): ↵
Ta lấy ngẫu nhiên điểm đường thẳng tìm hình chiếu đường thẳng Sau tính khoảng cách hai điểm vừa tìm :
[> randpoint(p, l1, -1 ):coordinates(P):projection(Q,P, l2): distance(p,Q): ↵
- Xác định hệ số góc đường thẳng: slope
(162)- Tính góc hai đường thẳng biết phương trình FindAngle
- Tính góc hai đường trịn: FindAngle
- Tính diện tích tam giác area
- Tính cạnh diagonal và diện tích hình vng area
[>point(A,0,0),point(B,1,0),point(C,1,1),point(D,0,1):square(ABCD,[A,B,C,D]): sides(ABCD):diagonal(ABCD):area(ABCD):draw(ABCD,axes=none): ↵
- Tính diện tích hình trịn: area
[> circle(c,[point(O,1,-2),5]):area(c): ↵
- Tính diện Elip: area
4.12.4 Các câu lệnh cơ bản của Maple hình học khơng gian
Để bắt đầu thực câu lệnh hình học khơng gian, phải mở
gói hình học khơng gian câu lệnh sau: [> with(geom3d): ↵
và khai báo [ > -EnvXName= ‘x’:_EnvYName:='y’ _EnvZName= ‘z’:
Các đối tượng hình học gói là: Điểm, đoạn thẳng, đoạn thẳng định hướng, đường thẳng, mặt phẳng, tam giác, hình cầu hình đa diện Để tạo đối tượng bản, ta sử dụng hàm gọi sau: dsegment, line, plane, point, segment, sphere, triangle
* Xác định đường thẳng (l) qua hai đíểm A, B:
[> ltne(l, [A, B]); ↵
* Xác định đường thẳng (l) qua A có véc tơ phương v:
[> line(l, [A, v]); ↵
* Xác định đường thẳng (l) qua A có phương đoạn thẳng định hướng
dseg:
(163)* Xác định đường thẳng (l) qua A vng góc với mặt phẳng p1 : [> line(l, [A, p1); ↵
* Xác định đường thẳng (l) giao tuyến hai mặt phẳng p1,p2 :
[> line(l, p1, p2]); ↵
* Xác định đường thẳng (l) biết phương trình tham số
[> line(l, [a1 + b1*t, a2 + b2*t, a3 + b3*t ], t), ↵ Trong đó: a1, a2, a3, b1, b2, b3: Các số thực,
t: (tuỳ chọn) tham số
* Xác định mặt phẳng (p) qua A có véc tơ pháp tuyến v:
[> plane(p, [A, v]); ↵
* Xác định mặt phẳng (p) qua A có véc tơ pháp tuyến phương với phương
của đoạn thẳng định hướng dseg1 : [> plane(p, [A, dsegi]); ↵
* Xác định mặt phẳng (p) chứa hai đoạn thẳng định hướng dseg1,dseg2 có
đầu mút:
[> plane(p, [dseg1, dseg2]); ↵
* Xác định mặt phẳng (p) chứa hai đường thẳng l1,l2 (trong trường hợp l1 l2 chéo
nhau mặt phẳng (p) xác định mặt phẳng chứa l1 song song với l2):
[> plane(p, [l1, l2]); ↵
* Xác định mặt phẳng (p) qua điểm phân biệt A, B, C:
[> plane(p, [A, B, C]); ↵
* Xác định mặt phẳng (p) qua A song song với hai đường thẳng l1, l2 :
[> plane(p, [A, l1, l2]); ↵
* Xác định mặt phẳng (p) biết phương trình đại số.
[> plane(p, eqn, n); ↵
Trong đó: eqn: Phương trình đại số,
n: (tuỳ chọn) danh sách tên biểu diễn trục toạđộ * Xác định mặt cầu (s) qua điểm phân biệt:
[> sphere(s, [A, B, C, D], n, 'centername'=m); ↵
(164)'centername'=m: (tuỳ chọn) tâm mặt cầu
* Xác định mặt cầu (s) biết đường kính AB:
[> sphere(s, [A, B], n, 'centername'=m); ↵
* Xác định mặt cầu (s) khi biết tâm A độ lớn bán kính:
[> sphere(s, [A, rad], n, 'centername'=m); ↵ Trong đó: rad: Bán kính mặt cầu
* Xác định mặt cầu (s) qua điểm A tiếp xúc với mặt phẳng p:
[> sphere(s, [A, p], n, 'centername'=m); ↵
* Xác định mặt cầu (s) biết phương trình tổng quát:
[> sphere(s, eqn, n, 'centername'=m), ↵
Trong eqn: Phương trình tổng quát mặt cầu * Đa diện :
[> Regularpolyhedron(gon, [m, n], o, r); ↵ Trong đó: gon: Tên đa diện cần tạo,
o: Điểm,
r: Số dương, phương trình Giá trị [m, n] cho bởi:
{3, 3} [3, 3]: Tứ diện,
{3, 4} [3, 4]: Lục diện (hình lập phương), {4, 3} [4, 3]: Bát diện,
{3, 5} [3, 5]: Thập nhị diện, {5, 3} [5, 3]: Nhị thập diện
* Các câu lệnh tạo trực tiếp khối đa diện đều:
[> tetrahedron(gon, o, r): ↵ Tứ diện đều, [> cube(gon, o, r): ↵ Hình lập phương, [> hexahedron(gon, o, r): ↵ Bát diện đều, [> icosahedron(gon, o, r): ↵ Thập nhị diện đều, [> dodecahedron(gon, o, r): ↵ Nhị thập diện
(165)[> area(gon): ↵ Trả lại diện tích xung quanh đa diện đều, [> center(gon): ↵ Trả lại tâm mặt cầu ngoại tiếp đa diện đều,
[> faces(gon): ↵ Trả lại mặt đa diện đều, mặt biểu diễn danh sách toạđộ đỉnh mặt đó,
[ form(gon): ↵ Trả lại dạng đa diện
[> lnRadius(gon): ↵ Trả lại bán kính mặt cầu nội tiếp đa diện (tức mặt cầu tiếp xúc với tất mặt đa diện đều),
[> MidRadius(gon): ↵ Trả lại bán kính mặt cầu tiếp xúc với tất cạnh đa diện đều,
[> radius(gon): ↵ Trả lại bán kính mặt cầu ngoại tiếp đa diện đều, [> sides(gon): ↵ Trả lại độ dài cạnh đa diện đều,
[> vertices(gon): ↵ Trả lại toạđộ đỉnh đa diện đều, [> volume(gon): ↵ Trả lại thể tích đa diện
* Hình lăng trụ:
[> parallelepiped(pp, [d1, d2, d3]); ↵ Trong pp: Tên hình lăng trụ,
d1, d2, d3 : Ba đoạn thẳng định hướng chung đỉnh
* Kiểm tra đối tượng hình học khơng trùng nhau:
[> AreDistinct(A, B, C, ); ↵
Trong A, B, C, : Các điểm, đường thẳng, mặt phẳng, .
* Kiểm tra tính thẳng hàng điểm P, Q, R:
[> AreCollinear (p, Q, R, cond); ↵
Trong đó: cond: (tuỳ chọn) tên - trả lại điều kiện để ba điểm A, B, C thẳng hàng * Kiểm tra liên hợp hai điểm A, B với hình cầu (s) cho trước:
[> AreConjugate(A, B, s, cond); ↵
Trong đó: cond: (tuỳ chọn) tên - trả lại điều kiện để A, B liên hợp với (s)
* Kiểm tra tính đồng phẳng:
(166)Trong đó: A, B, C, D: Các điểm, l1,l2: Các đường thẳng
* Kiểm tra điểm, tập hợp điểm thuộc đối tưng đó:
[> lsOnobject(f, obj, cond); ↵
Trong f: Một điểm, danh sách điểm, tập hợp điểm, obj: Đường thẳng, mặt phẳng, mặt cầu,
cond: tên-trả lại điều kiện để tập hợp điểm thuộc đối tượng
* Kiểm tra tính song song:
[> AreParallel(dseg1, dseg2, cond); ↵ [>AreParallel(l1, l2, cond); ↵
[> AreParallel(l1, p1, cond); ↵ [> AreParallel(p1, p2, cond); ↵
Trong đó: dseg1, dseg2: Các đoạn thẳng định hướng, l1, l2: Các đường thẳng,
pl, p2: Các mặt phẳng,
cond: tên - trả lại điều kiện để đối tượng song song với
* Kiểm tra tính vng góc (trực giao)
[> ArePerpendicular(dseg1, dseg2, cond); ↵ [> ArePerpendicular(l1, l2, cond); ↵
[> ArePerpendicular(l1, p1 cond); ↵ [> ArePerpendicular(p1, p2, cond); ↵ [> ArePerpendicular(s1, s2, cond) ; ↵
Trong đó: dseg1, dseg2: Các đoạn thẳng định hướng, l1, l2: Các đường thẳng,
pl, p2: Các mặt phẳng, s1, s2: Các mặt cầu,
cond: tên - trả lại điều kiện để đối tượng vng góc với
* Kiểm tra tính chéo hai đường thẳng l1,l2 :
(167)* Kiểm tra mặt phẳng (p) tiếp xúc với mặt cầu (s):
[> lsTangent(p, s); ↵ * Kiểm đa diện (gần đều):
[> lsRegular(ngon); ↵ [> lsQuasi(ngon); ↵ Trong ngon: Đa diện
* Tính khoảng cách:
[> distance(A, B); ↵ [> distance(l1, l2); ↵ [> distance(p1, p2); ↵ [> distance(A, l1); ↵ [> distance(A, p1); ↵ [> distance(l1, p1); ↵ Trong đó: A, B: Các điểm,
l1, l2: Các đường thẳng, pl, p2: Các mặt phẳng
* Tìm góc :
[> FindAngle(l1, l2); ↵ [> FindAngle(p1, p2); ↵ [> FindAngle(s1, s2); ↵ [> FindAngle(l1, p1); ↵
Trong đó: l1, l2: Các đường thẳng, pl, p2: Các mặt phẳng,
s1, s2: Các mặt cầu, A: Một điểm,
T: Một tam giác
* Lệnh trả lại góc đỉnh A tam giác T.
[> FindAngle(A, T); ↵
(168)[> area(obj1); ↵ [> volume(obj2); ↵
Trong obj1 : Tam giác, mặt cầu, đa diện đều,
obj2: Đa diện đều, hình cầu, tứ diện, hình lăng trụ
* Tìm tâm đối tượng hình học:
[> center(cn, c); ↵
Trong đó: cn: (tuỳ chọn) tên tâm, c: Hình cầu, hình đa diện * Trả lại mặt hình đa diện obj:
[> faces(obj); ↵
* Xác định mặt hình đa diện:
[> facet(gon, case, n); ↵
Trong đó: gon: Tên mặt đa diện, case: Trường hợp khối đa diện, n: Số nguyên không âm
* Xác định giao điểm hai ba đối tượng hình học:
[> intersection(obj, 11, 12)l ↵ [> intersection(obj, P1, p2); ↵ [> intersection(obj, l1, p1); ↵ [> intersection(obj1, l1, s); [> intersection(obj, p1, p2, p3); ↵ Trong đó: obj: Tên giao điểm,
l1, l2: Các đường thẳng, pl, p2, p3: Các mặt phẳng, s: Mặt cầu
* Trả lại phương trình đối tượng hình học:
[> Equation(obj); ↵ [> Equation(obj, t); ↵
(169)Trong đó: obj: Đối tượng hình học,
t: tên tham số phương trình tham số đường thẳng, [x y, z] : (tuỳ chọn) tên trục toạđộ
* Tìm tên tham biến sử dụng phương trình tham số đường thẳng:
[> tname(obj); ↵
Trong obj: Đường thẳng
* Trả lại đường thẳng (hoặc mặt phẳng qua điểm (hoặc đường thẳng)
song song với đường thẳng (hoặc mặt phẳng):
[> parallel(w, u, v); ↵
Trong đó: w: Tên đường thẳng mặt phẳng tạo ra, u: Một điểm đường thẳng,
v: đường thẳng mặt phẳng (nếu ulà điểm)
* Xác định đường đối cực (cực) điểm (mặt phẳng) đơi với hình cầu:
[> polar(p, A, s);↵ [> pole(B, q, s); ↵
Trong p: Tên đường đối cực, A: Một điểm,
s: Hình cầu, B: Tên cực, q: Mặt phẳng
* Tính phương tích điểm P hình cầu s:
[> powerps(p, s); ↵
* Xác định mặt đẳng phương hai hình cầu, xác định trục đẳng phương ba
hình cầu, xác định tâm đẳng phương bạn hình cầu cho trước:
[> RadicalPlane(p1, s1, s2); ↵ [> RadicalLine(p2, s1, s2, s3); ↵ [> RadtcalCenter(p3, s1, s2, s3, s4); ↵ Trong pl: Mặt đẳng phương,
(170)s1, s2, s3, s4: Các hình cầu
* Xác định mặt phẳng tiếp xúc điểm mặt cầu:
[> TangentPlane(p, A, s); ↵
Trong p: Tên mặt phẳng tiếp xúc điểm A, s: Mặt cầu
* Xác định hình chiếu đối tượng đối tượng khác:
[> projection(Q, A, l); ↵ [> proJection(Q, A, p); ↵ [> projection(Q, seg, p); ↵ [> projedion(Q, l, p); ↵
Trong đó: Q: Tên đối tượng tạo ra, A: Một điểm,
seg: Một đoạn thẳng đoạn thẳng định hướng, l: Đường thẳng,
p: Mặt phẳng
4.12.5 Một số minh hoạ
- Điểm A có toạđộ xác định x,y,z: point(A,x,y,z); ↵
ví dụ [> point(A,1,2,3); ↵
Để hiển thị toạđộ điểm A định nghĩa: [> coordinates(A): ↵
để hiển thị toạđộ :[> xcoord(A):ycoord(A):zcoord(A): ↵
- Đoạn thẳng qua hai điểm cho trước A,,B: segment(AB,[A,B]); ↵
Ví dụđoạn thẳng qua điểm A(1,2,3) điểm B(2,3,4): [> point(A,1,2,3):point(B,2,3,4): segment(AB,[A,B]); ↵ vẽđoạn thẳng AB vừa dựng:
[> draw(AB): ↵
- Đường thẳng qua hai điểm biết A,B line(l,[A, B]):hoặc qua điểm A có
véc tơ phương v cho trước :line(l,[A, v]),
(171)vẽđường thẳng vừa dựng : [> draw(l): ↵
- Mặt phẳng p qua ba điểm A,B,C không thẳng hàng: plane(p,[A,B,C]):
Ví dụ Mặt phẳng p qua ba điểm: A=(l,2,3), B=(l,0,3),(C=(0,2,3), [ >point(A,1,2,3):point(B,1,0,3):point(C,0,2,3); ↵
[> plane(p,[A,B,C]): ↵
- Mặt phẳng p qua điểm A nhận u véc tơ pháp tuyến: plane(p,[A,u]); Ví dụ
mặt phẳng p qua điểm A=(l,2,3) với véc tơ pháp tuyến u=(0,2,4): [> point(A,1,2,3): plane(p,[A,[0,2,4]]); ↵
- Mặt phẳng p qua điểm A có hai véc tơ phương u1,u2 cho trước:
plane(p,[A,u1,u2]); Ví dụ mặt phẳng p qua điểm A=(1,2,3) u1=(0,1,4), u2=(0,3,6)
[> point(A,1,2,3): plane(p,[A,[0,1,4],[0,3,6]]): ↵
- Mặt cầu (s) đi; qua bốn điểm khơng đồng phẳng A,B,C,D: sphere(s,[A,B,C,D]
Ví dụ: với điểm A=(l,2,3), B=(-l,-4,-5), C=(l/2,l/3,l/4), D=(2/3,l,0): [>point(A,1,2,3):
point(B,-1, 4,-5):point(c,1/2,1/3,1/4):
point(D,213,1,0):A=coordinates(A):B=coordinates(B): C=coordinates(c):D=coordinates(D): sphere(s,[A,B,C,D]): Equation(s,[x,y,z]): ↵
- Mặt cho trước có tâm O bán kính r xác định: sphere(s[o,r]);
Ví dụ mặt cầu có tâm điểm A, bán kính r:4: [> sphere(s,[A,4]): Equation(s,[x,y,z]);
- Mặt cầu có phưng trình f(x,y,z) cho trước : sphere(s,f(x,y,a),[x,y,z]);
Ví dụ mặt cầu có phương trình x2+y2+z2 =l:
- Giao điểm của ba mặt phẳng: intersection(đểm,mp1,mp2,mp3)
Ví dụ cho điểm A=(0,0,0),B=(l,0,0), C=(0,l,0),E=(0,0,l) Mặt phẳng pl qua ba điểm: A,B,C, p2 qua điểm A,C,E p3 qua điểm A,B,E Xác định toạ độ
giao điểm P mặt phẳng trên:
(172)point(E,0,0,1);plane(p1,[A,B,C]),plane(p2,[A,C,E]), plane(p3,[A,B,E]); intersection(p,p1,p2,p3); coordinates(p); ↵
- Phương trình mặt phẳng đi qua ba điểm A,B,C khơng thẳng hàng :
plane(p,[A,B,C],[x,y,z]); Ví dụ:
[>point(A,0,1,2); point(B,2,3,1); point(C,2,2,-1); plane(p,[A,B,C],[x,y,z]); Equation(p); ↵
- Dựng đường thẳng (mặt phẳng) pl địa qua điểm A song song với đường thẳng
(mặt phẳng) p cho: parallel(p1,A,p);
Ví dụ: p có phương trình x+3y+z=2 điểm A=(1,1,5):
- Dựng đường thẳng d qua điểm A vng góc với mặt phẳng p:
perpendicular(A,p,d);
- Dựng mặt phẳng p qua điểm A vng góc với đường thẳng bc qua hai điểm
B,C: perpendicular(p,A,bc);
[> point(A,0,1,1);point(B,-1,0,2);point(C,3,1,0); line(bc,[B,C]);print('pt mặt phẳng (p) là:'); perpendicular(p,A,bc) +J
- Dựng mặt đẳng phương Radicalplane của hai mặt cần trục đẳng phương Radicalline
của ba mặt cầu, tâm đẳng phương bạn mặt cầu: Radicalcenter
draw({c(color = blue),s,s1(color = black),s2(color = red),s3(color = magenta)}); ↵
- Qua điểm A dựng đường thẳng vng góc với mặt phẳng P cho (lấy điểm B
hình chiếu A P, lấy AB làm véc tơ phương)
[>plane(p,x+2*y 6*z=4,[x,y,z]): point(A,2,4,7),projection(B,A,P): coordinates(B);line(l,[A,B]): draw({l,P(coloryellow)}); ↵
- Qua điểm dựng mặt phẳng vng góc với mặt phẳng cho :
(173)if (lsOnObject(A,p) false) then
print(‘phương trình mặt phẳng vng góc với (p) là:'); ↵ plane(q,[A,B,C]); draw ({p,q}); ↵
- Qua điểm dựng mặt phẳng vng góc với đường thẳng cho:
- Qua điểm dựng đường thẳng vng góc với mặt phẳng cho :
- Kiểm tra điểm có thuộc đường thẳng hay khơng ?
[>point(p,1,2,4):point(Q,5,1,2):line(l,[Q,[1,2,31]): lsonobject(p,l); ↵
- Kiểm tra điểm có thuộc mặt phẳng hay không ?
[> plane(p,[P,[2,4,51]):lsOnObject(Q,p); ↵
-Kiểm tra đường thẳng có nằm mặt phẳng hay không ?
[> lsOnObject(FixedPoint(l),p): ↵
- Kiểm tra điểm có thuộc mặt cầu hay không ?
[>sphere(s,[point(A,1,3,2),2]):lsonobject(p,s); ↵
- Kiểm tra ba điểm có thẳng hàng hay khơng ? AreCollinear
[> point(M1,1,4,3):point(N1,2,1,2):point(p1,2,3,5): AreCollinear(M1,N1,P1): ↵
- Kiểm tra bốn điểm hai đường thẳng có đồng phẳng hay khơng?:
[>point(A1,0,0,0):point(B1,0,0,1):point(C1,0,1,0):point(D1,1,0,0): AreCoplanar(A1,B1,C1,D1 ): ↵
hoặc
[>line(ab,[A1,B1]):line(cd,[C1,D1]):line(bc,[B1,C1]): line(bd,[B1,D1]):line(ad,[A1,D1]): Arecoplanar(ab,cd): ↵
- Kiểm tra ba đường thẳng có đồng quy hay không ? AreConcurTent
- Kiểm tra tính song song : Areparatlel
Giữa đường thẳng đường thẳng: [> AreParallel(ab,cd): ↵
(174)Giữa mặt phẳng mặt phẳng : [> plane(p2,[B1,[1,2,3]]):AreParallel(p1,p2): ↵
- Kiểm tra tính vng góc: ArePerpendicular
Giữa hai đường thẳng : [> ArePerpendicular(ab,cd): ↵
Giữa đường thẳng mặt phẳng: [> ArePerpendicular(ab,p1): ↵ Giữa mặt phẳng và mặt phẳng [> ArePerpendicular(p1,p2): ↵
- Tính khoảng cách đối tượng: distance
Để tính khoảng cách hai điểm,khoảng cách từ điểm tới đường thẳng, từ điểm tới mặt phẳng, khoảng cách hai đường thẳng chéo nhau, khoảng cách hai mặt phẳng ta dùng lệnh: distance(u,v);
trong u,v điểm đường thẳng, mặt phẳng, ví dụ:
4.12.6 Một số chương trình tham khảo
(175)Hãy xác định yếu tố tam giác nhập vào toạđộ đỉnh tam giác đó: [> restart; with(geometry):
[> GiaiTamgiac:= proc(A, B, C) Local p;
triangle(ABC, [A, B, C], [x, y]),
print('phương trình đường thẳng chứa cạnh AB là', Equation(line(AB, [A,B]))); print('phương trình đường thẳng chứa cạnh BC là', Equation(line(BC, [B,C]))); print('phương trình đường thẳng chứa cạnh CA Equation(line(CA, [C,A]))); print('phương trình trung tuyến mA là', Equation(median(mA, ABC, A))); print('phương trình trung tuyến mB Equation(median(mB, ABC, B))); print('phương trình trung tuyến mC là', Equation(median(mC, ABC, C))), print('toạđộ trọng tâm G tam giác ABC là, coordinates(centroid(G, ABC))); print('phương trình đường cao hA là', Equation(altitude(hA, ABC, A)));
print('phương trình đường cao hB là', Equation(altitude(hB, ABC, B))); print('phương trình đường cao hC là’, Equation(altitude(hc, ABC, C))); print('toạđộ trực tâm tam giác ABC là’,
coordinates(orthocenter(H, ABC)));
print('phương trình đường trung trực cạnh AB là', Equation(PerpenBisector(pC, A, B)));
print('phương trình đường trung trực cạnh BC là', Equation(PerpenBisector(pA, B, C)));
Print(‘phương trình đường trung trực cạnh AB là’, Equation(PerpenBisector(pB, A, C)));
circumcircle(o, ABC, 'centername’ = O):
print('phương trình đường trịn ngoại tiếp tam giác ABC là', Equation(o)); print(' Tọa độ tâm đường trịn ngoại tiếp tam giác ABC là', coordinates(O)); print('bán kính đường tròn ngoại tiếp tam giác ABC radius(o));
print('phương trình đường phân giác góc A là', Equation(bisector(bA, A, ABC)));
(176)Equation(bisector(bB, B, ABC)));
print('phương trình đường phân giác góc C là', Equation(bisector(bc, C, ABC)));
incircle(io, ABC, 'centername' = K);
print('phương trình đường trịn nội tiếp tam giác ABC là', Equation(io)); print('toạđộ tâm đường tròn nội tiếp tam giác ABC là', coordinates(k)); print(‘bán kính đường trịn nội tiếp tam giác ABC là', radius(io)); print('phương trình đường phân giác ngồi góc A
Equation(ExternalBisector(bA, A, ABC)});
print('phương trình đường phân giác ngồi góc B là', Equation(ExternalBisector(bB, B, ABC)));
print('phương trình đường phân giác ngồi góc C là', Equation(ExternalBisector(bC, C, ABC)));
excircle(obj, ABC);
print('phương trình đường trịn bàng tiếp tam giác ABC là', Equation(obj[1]), Equation(obj[2]), Equation(obj[3]));
Print(‘ toạđộ tâm đường tròn bàng tiếp tam giác ABC là', coordinates(center(obj[1])), coordinates(center(obj[2])),
coordinates(center(obj[3])));
print('bán kính đường trịn nội tiếp tam giác ABC là', radius(obj[1]), radius(obj[2]), radius(obi[3]));
print(‘phương trình đường thẳng Euler tam giác ABC là', Equation(EulerLine(El, ABC)));
Phim(‘ Phương trinh đường tròn Euler tam giác ABC là’, Equation(EulerCircle(Ec, ABC, 'centername' = En),
print('toạđộ tâm đường tròn Euler coordinates(E)); print('bán kính đường trịn Euler là', radius(Ec)); print('diện tích tam giác ABC area(ABC)); p:= sides(ABC);
(177)draw({[ABC, o(color = blue), io(color = black), Ec(color = magenta), El(color = magenta), obi[1](color = green), obj[2](color = green), obi[3](color = green)]}, axes = none, title =' Hình vẽ minh hoạ’); end: ↵
Sử dụng chương trình sau:
Bước ; Khai báo toạđộ đỉnh tam giác ABC [> point(A, [1, -1]): point(B, [0, 0]): point(c, [-1, -1]): ↵ nhập tên trục toạđộ:
(> _EnvHorizontalName:='x': _EnVericalName= ‘y’: Bước 2: Gọi lệnh thực thủ tục đến: ↵
[> Giaitamgíac(a, B, C); ↵
* Xác định tam giác cho yếu tố yếu tố (độ lớn góc, độ dài cạnh, diện tích) tam giác
[>GiaTG := proc(eq1, eq2, eq3)
# Chuyển đổi câu trả lời từ số đo độ sang số đo radian: L:=convert(%, list): k:=0:
for n from to nops(l) nL:=convert(op(n, L), list): for m from to if (lhs(op(m, nL)) = A) then Arad:= rhs(op(m, nL)):
A2:= lhs(op(m, nL)) = rhs(op(m, nL))*180./evalf(Pi)*degrees; elif (lhs(op(m, nL)) = B) then
Brad:= rhs(op(m, nL)):
(178)nL)) = C) then
Crad:= rhs(op(m, nL)):
C2:= lhs(op(m, nL)) = rhs(op(m, nL)*180./evalf(Pi)*degreesl elif (lhs(op(m, nL)) = c) then
sidec:= rhs(op(m, nL)): elif (lhs(op(m, nL)) = b) then sideb:= rhs(op(m, nl)):
# Loại bỏ câu trả lời phức tạp: Value:= rhs(op(m, nL)):
opc:= nops(value): if opc = then
if (value <= or signum(value) <> ) then r:= r + 1: fi: else
if (signum(value) <> ) then r:= r + 1 : fi: fi: od:
if r = then
# Loại bỏ trường hợp mà tổng ba góc lởn 180 độ:
if ((rhs(A2) + rhs(B2) + rhs(c2))/degrees <= 180 + .01) then # In kết quả:
print(nL), print(A2, B2, C2); k:= k + 1:
pi:= plot([[0, 0], [sideb, 0], [sidec*cos(Arad), sidec*sin(Arad)], [ 0, 0]], style = line, color = blue, thickness = 2, scaling = constrained):
with(plots):
p2:= textplot([-.05*sideb, 0, 'A'], align = {Left}, color : red):
p3:= textplot([sideb + .05*sideb, 0, 'C'], align - {Right}, color = red): p4:= textplot([sidec*cos(Arad), sidec*sin(Arad) + .1*sidec, 'B'], align = {Above}, color = red):
p5:= textplot([-.05*sideb + .5*sidec*cos(Arad), 5*sidec*sin(Arad), 'c'], align = {Left}, color = red):
(179), a'], align = {Above, Right}, color = red):
p7:= textplot([.5*sideb, -.1*sidec*sin(Arad), 'b’],align = {Above},color = red): print(display([p1, p2, p3, p4, p5, p6, p7], axes = none));
printf('\n'); printf('\n); fi : fi : o d :
# Nếu khơng có nghiệm thực dương viết ra: if k = then
printf('không tồn tam giác'); fi: end: ↵
Sau khai báo thủ tục, ta sử dụng để giải tam giác, ví dụ: Tìm tam giác thoả mãn góc A = 630, b = 11, a = 10 (có hai tam giác): [> GiaiTG(A = 63*evalf(P1)/1 80, b = 11, a = 10); ↵
Tìm tam giác có góc A = 53(), b = 10, a = 4: l> GiaiTG(A = 53*evalf(Pi)/180, b = 10, a = 4); ↵
* Chương trình chuyển từ phương trình dạng tổng quát sang phương trình dạng
tham số đường thẳng không gian:
[> restat; with(geom3d): [> PTTSdt:= proc(l1, l2) local t, a, e1, e2;
e1:= Equation(l1): e2:= Equation(l2): a:= isolve({e1, e2}, {t}): assign(a):
print('phương trình tham số đường thẳng là', a)' end: ↵
Sử dụng chương trình: viết phương trình tham số đường thẳng cho phương trình tổng quát:
Sau khai báo mặt phẳng, ta gọi thực thủ tục: [> PTTSdt(l1, l2); ↵
(180)* Xét vị trí tương đối mặt phẳng mặt cầu, đồng thời đưa hình
ảnh trực quan lệnh vẽ đối tượng (draw) Maple (chúng ta xoay
hình vẽ theo góc độ giúp học sinh nhận thức vấn đề cách xác hơn) : [> restart; ↵
[> VitriMP MC:= proc(p, s) local H, R, d, M, l;
H:= center(s): R:= radius(s): d:= evalf(distance(H, p)): line(l, [H, p]); intersection(M, 1, p):
if d > R then print('mặt phẳng mặt cầu không cắt nhau); draw({[p, s]}, axes = none);
elif d = R then print('mặt phẳng mặt cầu tiếp xúc với đêm có toạ độ
coordinates(M)); sphere(g, [M, 0.021): # Minh hoạđiểm tiếp xúc draw({[s, p(color = blue), g(color = magenta)]}, axes = none); else print (‘mặt phẳng mặt cầu cắt theo đường tròn’); draw({[s, p(color = blue)]}, axes = none);
end; end: ↵
Sử dụng thủ tục để xét vị trí tương đối mặt cầu (S): mặt phẳng (α):
Kết quả: Mặt phẳng cắt mặt cầu theo đường trịn
* Tìm tâm sai, tiêu điểm, tâm đối xứng, bán trục (elíp), đường chuẩn cơníc
bằng section:
Kết section xuất ta cần nhập phương trình đại số cơníc vào mục Equation nhấn nút Display:
* Trong không gian oxyz cho ba điểm A(0,1,2); B(2,3,1),C(2,2,-1]);
1) Viết phương trình mặt phẳng qua ba điểm A,B,C Chứng tỏ gốc toạđộ
(181)2) Chứng tỏ tứ giác OABC hình chữ nhật.Tính diện tích hình chữ nhật
3)tính thể tích hình chóp biết đỉnh S(9,0,0)
Ta sử dụng câu lệnh sau: [> with(geom3d):
point(A,0,1,2); point(B,2,3) point(C,2,2,-1); plane(p,[A,B,C],[x,y,z]); Equation(p);point(O,0,0,0
point(S,9,0,0)line(l1,[0,A1):line(l2,B,C]):line(l3,[A,B]):
Equation(l3,[x,y,z]):Equation(l1,[x,y,z]):Equation(l2,[x,y,z]):lsOnplane(O,p): AreParallel(l1,l2) ;Areperpendicular(l2,l3);
print('Vì OA song song với BC,OA vng góc AB nên OABC hình chữ nhật: ');
print(‘ diện tích hình chữ nhật là:'); s:=distance(OA)*distance(B,A);
print('chiều cao h hình chóp khoảng cách từ S(9,00) tới (p):'); h:=distance(s,p); print(‘ Thể tích hình chóp SOABC là:'); V:=h*s/3; ↵
-5 x + 4y - z =
Rõ ràng O thuộc (P) . true
true
vì OA song song với BC,OA vng góc AB nên OABC hình chữ nhật
diện tích hình chữ nhật là
Chiều cao h hình chóp khoảng cách từ S(9,00) tới (p):
Thể tích hình chóp SOAB là;
V:=15
*Trong hệ tục loạn độ Oxyz cho hai mặt phẳng (p) (p’ ) có phương trình (p)
1 ) Chứng tỏ (p) (pl ) cắt Viết phương trình tham số giao tuyến hai mặt phẳng (p) (pl)
(182)#Các mặt phẳng có véc tơ pháp tuyến không cộng tuyến nên (p) (p1) cắt
Để tìm p.trình tham số đường thẳng ta cho z=3t tính x,y theo t
intersection(l,p,p1): detail(l): print(‘góc hai mặt phẳng là’: findAngle(p,p1): ↵
name of the object:1
form of the object: line3d
equation of the line: [x=-1/3*3_t, y=4/3-3*_t, z=3*_t]
Góc hai mặt phẳng là:
* Trong không gian cho mặt phẳng (p) và (p1) có phương trình (p) 2x-y+2z= ;
(p1) x+6y+2z+5=0
1 ) CMR Hai mặt phẳng vuông góc với nhau
2)Viết phương trình tổng qt mặt phẳng (p2) đi qua gốc toạ độ qua
giao tuyến (p) (p1)
Viết phương trình đường thẳng đi qua A(1,2,-3) song song với hai mặt
phẳng (p) (p1)
[>with(geom3d):
plane(p,2*x-y+2*z=1,[x,y,z]): plane(p1,x+6*y+2*z+5=0,[x,y,z]): ArePerpendicular(p,p1):
print('phương trình tham số giao tuyến hai mặt phẳng là’); intersection(l,p,p1): detail(l):
print('lấy hai điểm thuộc l sau viết phương trình mặt phẳng qua ba điểm') randpoint(M,l):randpoint(N,l):
point(O,0,0,0 ):plane(p2,[O,M,N],[x,y,z]): print('phương trình mặt phẳng (p2) là:'):
Equation(p2): draw({p,p1(color magenta),p2(color reo),l(color blue)}):
print('phương định đường thẳng qua điểm A(1,2,-3) song song với hai mặt phẳng point(A,1,2,-3): parallel(d,A,l);detail(d): ↵
* Trong không gian Oxyz cho hai mặt phẳng (p) (q) có phương trình (p)
2x+ky+3z=5, (q) mx-6-6z+2=0
(183)trường hợp tính khoảng cách hai mặt phẳng
2) Trong trường hợp k=m=0, gọi d 1àgiao tuyến (p) (q) Hãy tính toạ độ
hình chiếu H điểm A(1,1,1,)trên d tính khoảng cách từ A tới d
[> with(geom3d): assume (m<>0,k<>0):
print('giải hệ ta tìm m,k’);
print(‘phương trình (p) (q) là:'): subs(k=3,f(x,y,z,k)):subs(m= 4,g(x,y,z,m)):
print(để tính khoảng cách từ (p) đến (q) ta lấy đềm thuộc (p) Sau tính khoảng cách từđêm tới (q)’):
plane(q,-4*x-6*y 6*z+2=0,[x,y,z]):plane(p,2*x+3*y+3*z-5=0,[x,y,z]): distance(p,q):
print('Ta chuyển phương trình (d) dạng tham số sau lấy đềm thuộc Tích vơ hường AH phương (d) Từđó tính toạđộ H tính AH');
intersection(l,h,q3); point(A,1,1,1);detail(l);randpoint(M,l);evalg(distance(M,A)); ↵
* Trong không gian Oxyz cho điểm A(1,2,-1) mặt phẳng (p) có phương trình:
3x-2y+5z+6=0
1) Chứng tỏ A nằm (p)
2)viết phương trình đường thẳng (d) qua A vng góc vời (p)
3) Tính sin góc đường thẳng (d) và mặt phẳng
[>with(geom3d)
point(A,1,2,-1); plane(p,3*x-2*y+5*z+6=0,[x,y,z]);
print(‘Thay toạđộđiểm A vào phương trình (p) rõ ràng A thoả mãn’); perpendicular(m1,A,p); print('góc OA (p) là:’)
point(O,0,0,0);line(l,[O,A]);detail(l);FindAngle(l,p);↵
* Trong không gian Oxyz cho mặt phẳng (p) có phương trình tổng qt x+y/2+z/3=1
(184)x=19/3+6t,y=11/3+3t,z=3+2t
I) CMR (d) cắt mặt phẳng (p) Hãy tìm toạđộ giao điểm I chúng
2) CMR đường thẳng (d) vng góc với (p)
3) Gọi A,B,C giao điểm (p) ba trục toạđộ Tìm toạđộ A,B,C chứng
tỏ (d) qua trọng tâm tam giác ABC
[>with(geom3d):
plane(p,x+y/3+z/3=1,[x,y,z]);line(d2,[19/3+6*t,11/3+3*t,3+2*t],t);
print('Thay x,y,z pt (d) vào pt (p) Tính thay vào (d) tìm tọa độ giao
điểm');
intersection(l4,d2,p);coordinates(l4);
print('Vì véc tơ pháp tuyến mặt phẳng (p) cộng tuyến với vec tơ phương (d) nên (d) vuông góc vời (p)');
print('dùng cơng thức tính trọng tâm tam giác Nếu trùng với toạđộ điểm ta có (d) qua trọng tâm tam giác),
A:=[1,0,0];B:=[0,2,0];C:=[0,0,3];l1:=[29/69,49/69,71/69],
if(A[1]+B[1]+C[1]=3*11[1] and A[2]+B[2]+C[2]=3*11[2] and A[3]+B[3]+C[3]=3*l1[3] ) then print(l1 trọng tâm tam giác:');fi; ↵
* Trong không gian cho ba điểm A(0,1,1),B(-1,0,2,C(3,1,0)
1) Viết phương trình mặt phẳng (p) qua A vng góc với BC
2) Xác định toạđộ giao điểm I cuả BC (p)
3)tính khoảng cách từ A tớí BC,tính diện tích tam giác ABC
[>restart: with(geom3d):
point(A,0,1,1); point(B,-1,0,2);point(Cc,3,1,0); line(bc,[B,C]);print('pt mặt phẳng (p) là:'); detail(bc);perpendicular(p,A,bc); print(‘khoảng cách từ A,tới bc là:');distance(A,bc);
print('diện tích tam giác ABC là:');area(tnangle(abc,[A,B,C])); ↵
* Tính khoảng cách hai đường thẳng chéo nhau:
[>with(geom3d):
f: ={x-8*z+23=0,y 4*z+8=0}:#Pt đường thẳng (d1) g:={x-2*z-3=0,y+2*z+2=10}:#Pt đường thẳng(d2)
(185)ai :=coeff(f1,x):b1 :=coeff(f1,y):c1:= coeff(f1,z): a2:=coeff(f2,x):b2:=coeff(f2,y):c2:=coeff(f2,z): a3:=coeff(g1,x):b3:=coeff(g1,y):c3:=coeff(g1,z): a4;= coeff(g2,x):b4:=coeff(g2,y):c4:=coeff(g2,z): print('pt đường thẳng (d1) :’)sort(f[x,y,z]): print(‘Pt đương thẳng (d2) là:'):sort(g,[x,y,z]):
print('véc tơ phương đường thẳng (d 1) là:'): a:=Tcp(a1,b1,c1,a2,b2,c2): vectơ _a=[a[1],a[2],a[3]]:
print('vec tơ phương (d2) là:'): b:=Tcp(a3,b3,c3,a4,b4,c4): vectơ_b=[b[1],b[2],b[3]]:
print('gọi (d) đường vng góc chung (d1) (d2) Ta có véc tơ phương (d) :'): v:=Tcp(a[1],a[2],a[3],b[1],b[2],b[3]):
Vectơ v=[v[1],v[2],v[3]]:
print('gọi (P) mặt phẳng đ qua (d) (d1) véc tơ pháp tuyến (P) là:’);
vectơ_n=[vectơ_a,vectơ_b]:n:=Tcp(a[1],a[2],a[3],v[1],v[2],v[3]):vectơ_=[n[1],n[2],n[ 3]]:
print('gọi (Q) mặt phẳng qua (d) (d1) véc tơ pháp tuyến (Q) là’:) vectơ_m=[vectơ b,vectơ_v]:m:=Tcp(b[1],b[2],b[3],v[1],v[2],v[3]):
vectơ_m=[m[1],m[2],rn[31]:
print('từ pt (d1 ) cho z=0 ta tìm toạđộđiểm A thuộc (d1) :' ):
A:=solve({f[2],z=0}):assign(A):xa:=x:ya:=y:za:=z:x:='xl:y:='y':z:='z':A:='A':(xa,ya.za) : print(' Từ Pt (d2) cho z=o ta tìm toạđộ ctểm B thuộc (d2) ià:'):
B:=solve({g[1],g[2],z=0}):assign(B): xb:-x:yb:=y:zb:=z:x:='x':y:='y':z:='z:B:='B': B(xb,yb,zb):
print('pt mặt phẳng (P) là’);
h:=n[1]*(x-xa)+n[2]*(y-ya)+n[3]*(z- za):h:=sort(primpart(h,{x,y,z}),[x,y,z])=0:h: print('pt mặt phẳng (Q) là:'):
k:=m[1]*(x-xb)+m[2]*(y- yb)+m[3]*(z-zb):k:=sort(primpart(k,{x,y,z}),[x,y,z])=0:k: print(' (d) giao tuyến (P) (Q), Pt (d):');[h,k];
print(‘ Gọi M giao điểm (d) (d1),toạđộ M:'):
(186):='M': M(xm,ym,zm):
print('gọi N giao ctểm (d) (d2), toạđộ N:'): N:=solve({h,k,g[1],g[2]},{x,y,z}):assign(N):
xn:=x:yn:=y:zn:=z:x:=‘x’:y:=‘y’:z:='z':N:='N':N(xn,yn,zn): print('độ dài đường vng góc chung (di) (d2) là:') : with(student): MN=distance([xM,YM,zM],[XN,YN,zN]); MN=distance([xm,ym,zm],[xn,yn,zn]); ↵
* Minh hoạ định lí? “Nếu hai mặt phẳng cắt song song với đường
thẳng giao tuyến chúng song song với đường thẳng đó”.
[> restart:with(geom3d):
plane(p,3*x-y+z-2=0,[x,y,z]): plane(Q,x+4*y+2*z-5=0,[x,y,z]):intersection(a,P,Q): point(M,1,1,0): v1:=ParallelVector(a):
line(d,[point(A,1,2,3),v1]):if AreParallel(a,d) = true then print('Duong thang d song song voi duong thang a'); if; draw([P(Color = cyan),Q(color = yellow),d(color =blue),M(color = black),a(color = red)]);
* Minh hoạđịnh lí.”Qua điểrn cho trước có đường thẳng vng góc
với mặt phẳng (P) cho trước”.
[> restart;
with(geom3d): point(0,1,2,3): plane(p,3*x+5*y-z-2=0,[x,y,z]): line(a,[point(A,2,-2,-6),point(B,1,-1, -4)]):
n:=Parallelvector(a): plane(Q,[O,n]): intersection(b,P,Q):m:=ParallelVector(b): n:=[-1,-7,3]: line(delta,[O,n]):Areperpendicular(a,Q); Areperpendicular(delta,Q);
draw([0(color = black),P(color = green),Q(color = cyan),a(color = blue),b(colo = black),delta(color red) ]), ↵
* Xác địith thiết diện mặt phẳng qua ba điểm nằm cạnh tứ diện
Thuật toán:
+ Lấy ngẫu nhiên ba điểm G, Gl, G2 nằm ba cạnh tứ diện lệnh randpoint
+ Xác định mặt phẳng (p) qua ba điểm
+ Xác định giao điểm (p) với cạnh tứ diện
(187)with(geom3d): point(A,-2,-1,2); point(B,4,0,-1);point(C,-2,1,2); point(D,2,-2,5);line(11,[A,B]):line(12,[C,D]):line(13,[B,C]):line(14,[D,A]):line(l,[B,D]);
randpoint(G,l1,xcoord(A) Xcoord(B),ycoord(A) ycoord(B),zcoord(A) zGoord(B)); evalf(coordinate s(G));
randpotnt(G2,l2,xcoord(C) xcoord(D),ycoord(C) ycoord(D),zcoord(C) zcoord(D)), evalf(coordinates(G2));
randpoint(G1,l3,xcoord(C) xcoord(B),ycoord(C) ycoord(B),zcoord(C) zcaord(B)), evalf(coordinates(G1));
line(g1,[G,G1]);line(g2,[G,G2]);line(a,[G1,G2]); plane(p,[G,G1,G2]); gtetrahedron(v,[A,B,C,D])lAreCoplanar(G1,G2,B,D);
intersection(H,a,l);evalf(coordinates(H));
line(b,[H,G]); intersection(L,b,14); evalf(coordinates(L));
segment(c,G1,G2):segment(d,G,G2):segment(e,G,L):segment(f,L,G1):segment(g,G2,L ):segme
nt(h,G,G1):plane(s,[G,G1,G2]):segment(hg,H,G):segment(hg1,H,G1):segment(hb,H,B ): sphere(s1,[G,0.03]).sphere(s2,[G1,0.03]):sphere(s3,[G2,0.03]):
draw({c(colot = red),e(coolor = red),g(color = red),hb(color = black),hg1(color = black),hg(color = black),h(color = red),v(color = blue),s1(color = brown),s2(color = green),s3(color = magenta)},title="Thiet dien di qua ba diem cua tu dien" ); ↵
Tài liệu trích dẫn, tham khảo
[1] Hồng chúng - Phương pháp dạy học tốn học nhà trường PTTH.NXB Giáo dục - 2000
[2] Hồng Chúng - Phương pháp dạy học hình học trường THCS NXB Giáo dục - 1999
[3] Nguyễn Bá Kim (chủ biên), Vũ Dương Thụy Phương pháp dạy học mơn tốn NXB Giáo dục - 2000
(188)[5] Phan Đức Chính (tổng chủ biên),Tơn Thân (chủ biên), Vũ Hữu Bình, Phạm Gia
Đức, Trần Luận: Toán tập 1,2 (sách giáo viên) - NXB Giáo dục 2002
[6] Phạm Huy Điển, Đinh Thế Lục Tạ Duy Phượng Hường dẫn thực hành tính tốn chương trình Maple V NXB Giáo dục, 1998
[7] Phạm Huy Điển chủ biên Tính tốn, lập trình giảng dạy tốn học Maple NXB KH&KT, 2002
[8] Nguyễn Văn Qúi, Nguyễn Tiến Dũng, Nguyễn Việt Hà -Giải toán máy vi tính NXB Đà Nẵng, 1998
l9] Nguyễn Bá Kim -Phát triển sử dụng công nghệ dạy học
[10] Nguyễn Bá Kim - Học tập hoạt động hoạt động-NXBGD -1999 [11] Nguyễn Bá Kim, Đào Thái Lai, Trịnh Thanh Hải: Sử dụng công nghệ thông tin truyền thông (ICT) hỗ trợ trình dạy học hình học nhà trường phổ thơng Báo cáo Hội nghị Tốn học tồn quốc lần thứ - Huế 7-10/9/2002
[12]sử dụng Maple giảng dạy mơn hình học phẳng Luận văn Thạc sỹ tốn học Mai Cơng Mãn, 2000
[13] Đào Thái Lai -ứng dụng CNTT vấn đề đổi PPDH mơn Tốn tạp chí Nghiên cứu Giáo dục, số 9/2002
[14] Đào Thái Lai cộng :Xây dựng số phần mềm dạy học bậc tiểu học
Để tài B 94 45 04
[151.Trịnh Thanh Hải Nguyễn Trường Giang, Nguyễn Danh Nam, Bùi Viết Toàn: Nghiên cứu sử dụng phần mềm Maple, ĐHSP Thái Nguyên,5/2003
[16] Trịnh Thanh Hải, Phạm Thanh Huyền, Đỗ Thanh Mai: Nghiên cứu ứng dụng phần mềm Cabri ĐHSP Thái Nguyên,5/2003
[17] Trinh Thanh Hai Teaching Mathematics with ICT.-Journal of Science and Technology - TN.Uni.2003
[18]Trinh Thanh Hải - Tích hợp ICT dạy học tốn Website thnh.com.vn/ chuyên mục" Dành cho giáo viên"
[19] Trần Vui : Bài giảng chuyên đề cho Cao học toán, Huế - 2002 (20] TS Tran Vui
Investigating Geometry with the Geometer's Sketchpad - A Coniecturing Approach SEAMEO RECSAM, Penang, Malaysia
(189)[22 ] Sue Johnston Wilder, David Pimm
The free NCET (1995) leaflet, Mathematics ang IT - apupil's entitlement [23] I.F Kharlamov
Phát huy tính tích cực học tập học sinh nào? NXB GD -1996 [24] Technology for Teaching