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

Ung dung CNTT trong day hoc Toan

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.95 MB, 189 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>ĐẠI HỌC THÁI NGUYÊN </b>


<b>TRƯỜNG ĐẠI HỌC SU</b>

<b> PHẠM </b>



<b>KHOA TOÁN </b>



<b>Trịnh Thanh Hải </b>
(Chủ biên)

GIÁO TRÌNH



<b>Ứ</b>

<b>NG D</b>

<b>Ụ</b>

<b>NG CƠNG NGH</b>

<b>Ệ</b>

<b> THƠNG TIN </b>


<b>TRONG D</b>

<b>Ạ</b>

<b>Y H</b>

<b>Ọ</b>

<b>C TỐN </b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>L</b>

<b>ờ</b>

<b>i c</b>

<b>ả</b>

<b>m </b>

<b>ơ</b>

<b>n </b>



<i>Để 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 </i>


<i>các cộng sự thuộc khoa Tốn trường ĐHSP-ĐHTN đã trực tiếp biên soạn, góp ý và </i>


<i>sửa chữa nội dung của giáo trình. </i>


<i> Chúng tôi xin trân trọng cảm ơn các em sinh viên khoa toán các khoá K34, K35 </i>


<i>trong năm học 2002-2003 và 2003-2004 đã thử nghiệm học tập và góp ý cho những </i>


<i>bản thảo của bộ giáo trình này trong chương trình học phần </i>“<i>Tin học ứng dụng”dành </i>


<i>cho sinh viên tốn, tin.</i>


<i>Chúng tơi xin trân trọng cảm ơn Ban giám hiệu, Phòng Đào tạo NCKH-QHQT </i>


<i>trường ĐHSP-ĐHTN đã tạo điều kiện để chúng tơi có dịp giới thiệu và hướng dẫn hơn </i>



<i>300 cán bộ giáo viên bộ mơn tốn của 6 tỉnh. Hà Giang, </i>Sơn La, Bắc Kạn, Lạng Sơn<i>, </i>


<i>Cao Bằng và Thái Nguyên làm quen và thực hành theo một số nội dung của giáo trình </i>


<i>này.</i>


<i>Chúng tơi xin trân trọng cảm ơn các trường THPT Lương Ngọc Quyến- TP Thái </i>


<i>Nguyên, THPT ĐẠI TỪ, THCS Thị trấn Đại Từ - huyện Đại Từ, trường THPT Thái </i>


<i>Nguyên thuộc ĐHSP Thái Nguyên đã tạo điều kiện cho chúng tôi thử nghiệm sư phạm.</i>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Lời Nói Đầu </b>


Hiện nay chúng ta đang chứng kiến sự phát triển như vũ bão của công nghệ


thông tin và truyền thông (ICT). Với sự ra đời của Intemet đã thực sự mở ra một kỷ


nguyên ứng dụng công nghệ thông tin và truyền thông trong mọi lĩnh vực của đời sống
xã hội, kinh tế,... Trong khung cảnh đó đào tạo và giáo dục được coi là “mảnh đất mầu
mỡ” để cho các ứng dụng của ICT phát triển, điều đó sẽ tạo ra những thay đổi sâu sắc
trong công nghệ đào tạo và giáo dục. Những công nghệ tiên tiến như đa phương tiện,
truyền thông băng rộng, CD - ROM, DVD và Intemet sẽ mang đến những biến đổi có
tính cách mạng trên quy mơ tồn cầu trong lĩnh vực đào tạo, giáo dục do đó sẽ dẫn đến
những thay đổi trong phương pháp dạy học.


Việc ứng dụng công nghệ thông tin trong ngành giáo dục đã được Đảng, Nhà
nước và Bộ Giáo dục và Đào tạo đặc biệt quan tâm, đơn cử:



<i>+ </i>Chỉ thị số 58 của Bộ Chính trị, ký ngày 17/10/2000, vềđẩy mạnh ứng dụng và
phát triển công nghệ thông tin phục vụ sự nghiệp cơng nghiệp hố, hiện đại hố nêu


rõ: <i>"Đẩy mạnh ứng dụng công nghệ thông tin trong công tác giáo dục và đào tạo ở các </i>


<i>cấp học, bậc học, ngành học. Phát triển các hình thức đào tạo từ xa phục vụ cho nhu </i>


<i>cầu học tập của toàn xã hội. Đặc biệt tập trung phát triển mạng</i> <i>máy tính phục </i>vụ cho


giáo dục và đào tạo, kết nối Intemet tới tất cả các cơ sở giáo dục và đào tạo".


+Quyết định của 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 4 năm 2001 chỉ rõ: <i>"Tăng cường năng lực và nâng cao chất lượng hoạt động thư</i>


<i>viện; hình thành hệ thống thư viện điện tử kết nối giữa các trường từng bước kết nối</i>


<i>và hệ thống thư viện của các trường đại học, thư viện quốc gia của các nước trong khu </i>


<i>vực và trên thế giới. </i> <i>Mở cổng kết nôi Intemet trực tuyến cho hệ thống giáo dụi đại </i>


<i>học".</i>


+Chỉ thị số 29 của Bộ trưởng Bộ Giáo dục và Đào tạo ký ngày 30/7/2001 về việc
tăng cường giảng dạy, đào tạo và ứng dụng công nghệ thông tin trong ngành giáo dục
giai đoạn 2001-2005 nêu rõ: <i>"Đối với giáo dục và đào tạo, cơng nghệ thơng tin có tác </i>


<i>động mạnh mẽ, làm thay đổi nội dung, phương pháp. phương thức dạy và học. CNTT </i>


<i>là phương tiện để tiên tới một</i> “<i>xã hội học tập”. Mặt khác giáo dục và đào tạo đóng </i>



<i>vai trị quan trọng bậc nhất thúc đẩy sự phát triển của CNTT thông qua việc cung cấp </i>


<i>nguồn nhân làm cho CNTT” </i>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<i>"Tích cực</i> <i>áp dụng một cách sáng tạo các phương pháp tiên tiến, hiện đại, ứng dụng </i>


<i>công nghệ thơng tin vào hoạt động dạy và học."</i>


Mơn tốn là một bộ mơn vốn dĩ có mỗi 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 sẽ là
một công cụđắc lực cho q trình dạy học tốn.


Với sự hỗ trợ của MTĐT đặc biệt là của Intemet và các phần mềm dạy học q
trình dạy học tốn sẽ có những nét mới chẳng hạn:


Giáo viên khơng cịn là kho kiến thức duy nhất. Giáo viên phải thêm một chức
năng là tư vấn cho học sinh khai thác một cách tối ưu các nguồn tài nguyên tri thức
trên mạng và các 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 như nội dung
các bài giảng truyền thống mà có thể tiến hành theo phương thức linh hoạt. Phát triển
cao các 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,... trong đó chú 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 các năng lực tư duy ở học sinh.


Như vậy với mục tiêu nâng cao chất lượng đào tạo, đổi mới phương pháp giảng
dạy thì một trong các biện pháp khả thi là biết kết hợp các phương pháp dạy học
truyền thống và không truyền thống trong đó có sự dựng CNTT như một yếu tố không
thể tách rời.



Với mục tiêu khiêm tốn là cung cấp những thông tin ban đầu để bạn đọc có thể


khai thác các phần mềm tốn học vào công việc giảng dạy, học tập của llluul chúng tôi
mạnh dạn biên soạn bộ tài liệu: <i>Ứng dụng Cơng nghệ thơng tin trong dạy học tốn.</i>


giáo trình gồm:


<i>Với nội dung chính </i>" <i>Hướng dẫn sử dụng và khai thác một số phần mềm phổ biến </i>
<i>trong dạy học tốn </i>"


Đây là một cơng việc mới mẻ và "quá tải" đối với chúng tôi nên không thể tránh


được sai sót. Rất mong được sự tha thứ và đóng góp ý kiến của bạn đọc, đặc biệt là các
Thầy, Cô giáo và các em học sinh, sinh viên - đây sẽ là nguồn tư liệu quý giá để chúng
tơi hồn thiện tài liệu này.


<b>Chúng tôi xin trân trọng cảm ơn. </b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>M</b>

<b>ụ</b>

<b>c l</b>

<b>ụ</b>

<b>c </b>



Chương 1: DẠY HỌC TOÁN VỚI SỰ HỖ TRỢ CỦA CÔNG NGHỆ THÔNG TIN


VÀ TRUYỀN THÔNG (ICT) ...1


1.1. Vấn đề khai thác sử dụng ICT trong dạy học toán ...1


1.2. Tổ chức dạy học tốn trong mơi trường ICT...4


1.3. Nhận định...12



Chương 2 SỬ DỤNG PHẦN MỀM GRAPH ...13


2.1. Giới thiệu về phần mềm Graph...13


2.2. Làm việc với Graph ...13


2.3. Giới thiệu hệ thống Menu...14


2.4. Một số chức năng cơ bản ...16


2.5. Thư viện các hàm của Graph ...20


2.6. Khai thác phần mềm Graph ...21


2.7 Bài tập:...21


Chương 3 SỬ DỤNG PHẦN MỀM HÌNH HỌC ĐỘNG...22


3.1. Giới thiệu sơ lược về phần mềm Cabri Geometry...22


3.2. Các vấn đề cơ bản để làm việc với Cabri Geometry ...22


3.3. Thao tác với hệ thống các công cụ của Geometry Cabri...26


3.4. Giới thiệu phần mềm The Geometer's Sketchpad ...38


3.5. Vẽ hình với phần mềm hình học Cabri...46


3.6. Sử dụng Cabri minh hoạ bài 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 và bài tập...58


Chương 4 ...59


HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MAPLE...59


4.1. Tổng quan chung về phần mềm Maple...59


4.2. Làm việc với Maple ...59


4.3. Giao diện của cửa sổ làm việc của Maple ...60


4.4. Các thao tác cơ bản trong với Maple ...61


4.5. Sử dụng các lệnh của Maple ...66


4.5. Khai báo hàm tự tạo...85


4.6. Các cấu trúc cơ bản được sử dụng trong lập trình của Maple ...86


4.7. ứng dụng maple trong khảo sát hàm số...88


4.8. Sử dụng Maple hỗ trợ kiểm tra kết quả tính tốn. ...119


4.8.2 Kiểm tra tính lũy tính của một ma trận vuông...120


4.9 Sử dụng Maple hỗ trợ suy luận trong q trình học tốn. ...123



4.10. Khai thác Maple trong Xác suất thống kê ...132


4.11. Maple với bài tốn quy hoạch...136


4.12. Khai thác Maple trong hình học ...139


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Chương 1: DẠY HỌC TỐN VỚI SỰ HỖ TRỢ</b>


<b>CỦA CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG (ICT) </b>
<b>1.1. Vấn đề khai thác sử dụng ICT trong dạy học toán </b>


Cùng với sự phát triển như vũ bão của công nghệ thông tin và truyền thông, việc
nghiên cứu và triển khai các thế mạnh của ICT nhằm hỗ trợ quá trình dạy học toán được
nhiều quốc gia và các nhà giáo dục quan tâm.


Trong tài liệu The free NCET (1995) leanet <i>(Mathematics ang IT </i>- <i>apupil’s </i>


<i>entitlement) </i>đã mô tả 6 hướng cơ bản trong việc sử dụng ICT nhằm cung cấp các điều kiện


cho người học toán, cụ thể:


* <i>Học tập dựa trên thông tin ngược: </i>Máy tính có khả năng cung cấp nhanh và chính


xác các thơng tin phản hồi dưới góc độ khách quan. Từ những thông tin phản hồi như vậy
cho phép người học đưa ra sự ước đốn của mình và từ đó có thể thử nghiệm, thay đổi
những ý tưởng của người học.


* <i>Khả năng quan sát các mơ hình: </i>Với khả năng và tốc độ xử lý của MTĐT giúp



người học đưa ra nhiều ví dụ khi khám phá các vấn đề trong tốn học. Máy tính sẽ trợ giúp
người học quan sát, xử lý các mơ hình, từ đó đưa ra lời chứng minh trong trường hợp tổng
quát.


* <i>Phát hiện các mối quan hệ trong toán học: </i>MTĐT cho phép tính tốn biểu bảng, xử


lý đồ hoạ một n sát sự thay đổi trong cách chính xác và liên kết chúng với nhau. Việc cho
thay đổi một vài thành phần và quacác thành phán còn lại đã giúp người học phát hiện ra
mối tương quan giữa các đại lượng.


* <i>Thao tác với các hình động: </i>Người học có thể sử dụng MTĐT để biểu diễn các biểu


đồ một cách sinh động. Việc đó đã giúp cho người học hình dung ra các hình hình học một
cách tổng quát từ hình ảnh của máy tính.


* <i>Khai thác tìm kiếm thơng tin: </i>MTĐT cho phép người sử dụng làm việc trực tiếp với


các dữ liệu thực, từđó hình dung ra sựđa dạng của nó và sử dụng để phân tích hay làm sáng
tỏ một vấn đề toán học.


* <i>Dạy học với máy tính: </i>Khi người học thiết kế thuật tốn để sử dụng MTĐT giúp tìm


ra kết quả thì người học phải hoàn thành dãy các chỉ thị mệnh lệnh một cách rõ ràng, chính
xác. Họđã sắp đặt các suy nghĩ của mình cũng như các ý tưởng một cách rõ ràng.


* <i>Sử dùng đồ hoạ với máy tính: </i>Đồ thị trên máy tính là nét mới trong các lớp dạy học


toán. Kenneth Ruthven bắt đầu lựa chọn, nghiên cứu và phát triển dự án sử dụng đồ hoạ


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

độ dốc địa phương đã được phát triển ít lâu (David Tall đã sử dụng máy tính BBC).



Tall trình bày con đường sử dụng đồ hoạ máy tính của ơng để dạy học các phép tính từ
đầu năm 1980. Phần mềm "Hình ảnh máy tính" do ơng phát triển lần đầu tiên cho máy tính
BBC. Phần mềm này cho phép người học phóng to, thu nhỏ đồ thị với bất kỳ phạm vi nào,
qua đó hình thành khái niệm, chẳng hạn gradient của đồ thị. Tall đã sớm công bố một loạt
các bài báo về sự quan hệ trong dạy toán ở tạp chí <i>Mathematics Teaching, </i>sau đó các bài
báo được tập hợp lại trong một cuốn sách nhỏ (Tall 1987). Hơn nữa trong thời gian gần đây
một vài người tương tự Tall ứng dụng bảng tính, đồ hoạ, các ý tưởng này được báo cáo
trong <i>Micromath (Morgan .Jones & Mcleay, 1996; Crawford, 1998; Morrison, 1998).</i>


Một vài nghiên cứu đã chỉ ra rằng nếu giáo viên có sử dụng đồ hoạ MTĐT trong quá
trình giảng bài thì họ có thể đưa ra các câu hỏi với yêu cầu cao hơn so với lớp khơng sử


dụng. Ví dụ, Ring (1993) đã hướng dẫn 2 giáo viên để làm thế nào với đồ hoạ máy tính để


phục vụ cho câu hỏi chiến lược của giáo viên và 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 và chú trọng đến việc khảo sát tỉ mỉ,
giúp đỡ học sinh đưa ra phỏng đốn của mình. Với sự hỗ trợ của máy tính, giáo viên có thể
đề ra các câu hỏi có yêu cầu cao hoặc sử dụng những ví dụ khác nhau, qua đó khai thác vai
trị quan trọng của đồ hoạ máy tính trong sự phân tích vấn đề. Mặt khác, sử dụng đồ hoạ cho
phép ta phân tích các mối liên kết giữa đại số, hình học. Ý tưởng trên về sử dụng đồ hoạ


máy tính cho học sinh từ 11 đến 16 tuổi được trình bày trong <i>Open Calculalor Challenge </i>


của Open University (1993), Graham & Galpin (1998), Arter (1993), Ruthven (1992). Theo
Colette, một nhà nghiên cứu về dạy học mơn tốn người Pháp, thì MTĐT có khả năng tạo ra
mơi trường giải quyết vấn đề (problem solving environments) cho học sinh và mơi trường


đó có vai trị to lớn trong việc kích thích hoạt động tìm tịi khám phá và từ đó hình thành
kiến thức mới. Theo học thuyết kiến tạo (cosntructivist hypothesis) thì kiến thức học sinh



được tạo nên khi hoạt động trong mơi trường tốn học, MTĐT có khả năng rất tết trong việc
tạo ra mơi trường đó Trong mơi trường máy tính học sinh tiếp thu được bằng chính hoạt


động, thực hành của mình (learning hy doing).


John Mason (tác giả người Anh) năm 1992 đã phát triển ý tưởng cho rằng các phần
mềm máy vi tính về tốn là một hệ thống các cơng cụ có khả năng được sử dụng giải toán
và giúp nghiên cứu khái quát đểđi đến việc tìm ra các tính chất tốn học.


Rosamund Sutherland đã thông qua dự án "ANA" nghiên cứu về việc dạy học tốn với
phần mềm lịng có đúc kết rằng: "Điều quan trọng nhất khi học sinh sử dụng ngơn ngữ, kí
hiệu máy tính là đã có khả năng hình thành khái qt hố tốn học".


Các tác giả Mark Hunter, Paul Marshall, John Monaghan và Tom Rope (năm 1993) đã
tiến hành một đợt thử nghiệm với việc sử dụng hệ thống chương trình CAS trong giảng dạy
cho đối tượng học sinh THCS. Kết quả thử nghiệm cho thấy khả năng suy luận toán học của
học sinh do phương tiện mới đem lại đạt hiệu quả rất cao.


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

MTĐT trong dạy và học tốn có những đặc thù riêng. Ngồi mục tiêu trợ giúp học sinh
chiếm lĩnh kiến thức thì vấn đề phát triển tư duy suy luận lơgic, óc tưởng tượng sáng tạo
toán học và đặc biệt là khả năng tự tìm tịi chiếm lĩnh kiến thức là một mục tiêu rất quan
trọng.


Sản phẩm của môi trường học tập với sự hỗ trợ của công nghệ thơng tin là những học
sinh có năng lực tư duy sáng tạo tốn học, có năng lực giải quyết các vấn đề và năng lực tự


học một cách sáng tạo. Như vậy, việc tổ chức dạy - học với sự hỗ trợ của MTĐT và các
phần mềm tốn học nhằm xây dựng một mơi trường dạy - học với 3 đặc tính cơ bản sau:



• Tạo ra một mơi trường học tập hồn tồn mới mà trong mơi trường này tính chủ
động, sáng tạo của học sinh được phát triển tết nhất. Người học có điều kiện phát huy
khả năng phân tích, suy đốn và xử lý thơng tin một cách có hiệu quả.


• Cung cấp một mơi trường cho phép đa dạng hố mối quan hệ tương tác hai chiều
giữa thầy và trị.


• Tạo ra một mơi trường dạy và học linh hoạt, có tính mở.


Trong các hình thức tổ chức dạy - học có sự hỗ trợ của cơng nghệ thơng tin thì vai trị
của người thầy đặc biệt quan trọng. Nó địi hỏi cao hơn ở người thầy khả năng các hình thức
tổ chức dạy học truyền thống. Về một góc độ nào đó, năng lực của người thầy thể hiện qua
hệ thống định hướng giúp học sinh phát hiện và giải quyết vấn đề thông qua hệ thống các
câu hỏi. Hệ thống các câu hỏi của người thầy phải đáp ứng được các 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 con đường xử


lý thơng tin đểđi đến kiến thức mới.


• Các câu hỏi phải trợ giúp học sinh củng cố kiến thức mới và tăng cường khả năng
vận dụng kiến thức trong 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ố các tri thức đã được trang bị để giải quyết vấn


đề.


Điều khác biệt so với các hình thức dạy học truyền thống là q trình truyền đạt, phân
tích, xử lý thông tin và kiểm tra đánh giá kết quả được giáo viên, học sinh thực hiện có sự



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>1.2. Tổ chức dạy học tốn trong mơi trường ICT </b>


<i><b>1.2.1. S</b><b>ử</b><b> d</b><b>ụ</b><b>ng ph</b><b>ươ</b><b>ng ti</b><b>ệ</b><b>n ICT trong các gi</b><b>ờ</b><b> lên l</b><b>ớ</b><b>p v</b><b>ớ</b><b>i s</b><b>ố</b><b>đ</b><b>ơng h</b><b>ọ</b><b>c sinh </b></i>


Hình thức này được áp dụng với quy mô số học sinh từ 40 đến 60. Ngoài các phương
tiện dạy học thông thường của một lớp học truyền thống như bảng đen, phấn trắng, thước
kẻ... lớp học được trang bị thêm máy tính, máy chiếu Project, máy chiếu Overhead... Trong
giờ học, cả lớp quan sát kết quả xử lý của máy tính trên màn hình lớn.


<i>Hình thức này có những đặc điểm sau:</i>


- Giáo viên trực tiếp lên lớp khai thác các tính năng của ICT để trình bày kiến thức
một cách sinh động. Một số trường hợp, giáo viên có thể 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 và phán đốn theo sựđịnh hướng của giáo viên. Học sinh ít được
trực tiếp thao tác với máy tính. Ví dụ trong dạy học định lý, mơ hình tổ chức lớp học như


sau:


<i>Như vậy, lớp học thường diễn ra theo xu hướng sau:</i>


- Từng học sinh làm việc gần như "độc lập" với nhau, cùng tập trung vào quan sát, xử


lý những thơng tin trên màn hình.


- Những học sinh khá, giỏi chưa được phát huy tối đa khả năng của bản thân vì cả lớp
cùng được giao một nhiệm vụ cụ thể như nhau.



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

lại kiến thức cũ và hệ thống lại kiến thức của học sinh.


<i><b>1.2.2. T</b><b>ổ</b><b> ch</b><b>ứ</b><b>c ho</b><b>ạ</b><b>t </b><b>độ</b><b>ng h</b><b>ọ</b><b>c "c</b><b>ộ</b><b>ng tác " theo nhóm nh</b><b>ỏ</b></i>


Học sinh được chia thành các nhóm nhỏ không quá 7 học sinh.


Trang thiết bị tối thiểu mỗi nhóm có một máy tính. Nếu các máy tính được nối mạng
thì tốt hơn vì các nhóm có thể chia sẻ thơng tin với nhau.


<i>Hình thức này có những đặc điểm sau:</i>


- Giáo viên giao nhiệm vụ cho các nhóm thơng qua các định hướng gợi mở hoặc các
phiếu học tập.


- Mỗi nhóm học sinh sử dụng chung một máy tính, có trách nhiệm cộng tác, chia sẻ


những ý tưởng của bản thân để hồn thành nhiệm vụ của nhóm cũng như của mỗi bản thân.
Kết quả của nhóm chỉ thực sự có hiệu quả khi tồn bộ các thành viên trong nhóm hồn
thành mục tiêu học tập. Như vậy mỗi thành viên đều nhận thức được rằng: Không phải mỗi
học sinh làm được gì đó mà là cả nhóm đã học được điều gì. Như vậy ba yếu tố cơ bản của
hình thức này là: Sự thành cơng của tồn nhóm, trách nhiệm của mỗi cá nhân trong nhóm và


điều quan trọng là mọi thành viên trong nhóm đều có cơ hội thành cơng bình đẳng như


nhau.


<i>Hình thức làm việc </i>" <i>cộng tác </i>" <i>theo nhóm nhỏ có những </i>ưu <i>việt sau:</i>


- Có nhiều cơ hội để thể hiện, trao đổi những suy nghĩ của bản thân. Thay vì chỉ một


mình giáo viên thao tác, trình bày, ở hình thức này mỗi người trong nhóm đều có thể trực
tiếp làm việc với các đối tượng hình học và cả nhóm ln sẵn sàng đón nhận những nhận


định, phán đốn của mỗi thành viên.


- Mỗi cá nhân ngoài điều kiện làm việc trực tiếp với phần mềm, cịn có khả năng nhận


được sự hỗ trợ khơng chỉ ở một mình giáo viên mà của cả nhóm, qua đó làm tăng hiệu quả


học tập của cả học sinh được giúp đỡ và những học sinh đi giúp đỡ các bạn. Chính vì vậy
khả năng thành công của mỗi cá nhân đều tăng. - Những học sinh học kém sẽ có khả năng,
cơ hội bày tỏ và học hỏi nhiều hơn ở chính các thành viên trong nhóm. Ví dụ trong dạy học


định lý có thể tổ chức học tập theo mơ hình sau:


Hình thức học "cộng tác" chỉ thực sự phát huy tác dụng nếu ta đảm bảo được các yếu
tố quan trọng sau:


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

- Giáo viên hình thành và phát triển được kỹ năng hợp tác của mỗi học sinh.
- Khẳng định rõ ràng trách nhiệm của từng cá nhân trong nhóm.


- Tạo được môi trường tương tác giữa các thành viên trong nhóm.
- Hình thành kỹ năng giao tiếp, ứng xử cho học sinh trong học tập.
- Hình thức phân chia nhóm:


Tuỳ từng nội dung mà ta có thể 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 mới có thể sử dụng nhóm ngẫu nhiên để học
sinh giỏi, khá có thể kèm cặp, giúp đỡ học sinh yếu. Nếu là giờ luyện tập, rèn luyện kỹ năng
thì có thể phân chia theo trình độ người học để giao nhiệm vụ phù hợp nhằm phát huy được


tối đa khả năng của người học.


<i><b>1.2.3. Hình th</b><b>ứ</b><b>c h</b><b>ọ</b><b>c sinh làm vi</b><b>ệ</b><b>c </b><b>độ</b><b>c l</b><b>ậ</b><b>p t</b><b>ạ</b><b>i l</b><b>ớ</b><b>p </b></i>


- Mỗi học sinh được sử dụng một máy tính. Lớp học được tổ chức tại phịng máy tính
của trường.


- Nhiệm vụ của cả lớp được phân thành các nhiệm vụ nhỏđể giao cho các cá nhân (do
vậy học sinh đều ý thức được rằng, tuy hoạt động độc lập nhưng thành cơng của bản thân
chính là thành cơng của cả lớp và ngược lại).


<i>Hình thức này có các đặc điểm chỉnh sau:</i>


- Học sinh có điều kiện phát huy hết khả năng của bản thân.


- Trong một thời điểm có thể giải quyết nhiều bài toán khác nhau. '


- Phù hợp với việc nhận thức chênh lệch trong một lớp. Tuỳ mức độ khả năng của bản
thân mà học sinh được khuyến khích đảm nhận những nhiệm vụ vừa sức.


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=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" bằng cách
nêu nhiệm vụ chung của cả lớp. Học sinh trao đổi, phân chia bài toán thành các bài toán con
(q trình này có thể độc lập hoặc diễn ra dưới sự tham mưu của giáo viên). Mỗi cá nhân
căn cứ vào khả năng của mình nhận thi cơng một mơ đun. Trong q trình làm việc, có thể


có sự trao đổi giữa các học sinh. Kết quả của học sinh này có thể được học sinh khác sử


dụng. Thậm chí, một thành viên có thể u cầu một thành viên khác điều chỉnh kết quả theo
hướng có lợi cho việc kế thừa cho các thành viên khác.



<i><b>1.2.4. S</b><b>ử</b><b> d</b><b>ụ</b><b>ng ph</b><b>ươ</b><b>ng ti</b><b>ệ</b><b>n ICT d</b><b>ạ</b><b>y m</b><b>ộ</b><b>t n</b><b>ộ</b><b>i dung ng</b><b>ắ</b><b>n </b></i>


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

đi tìm lời giải hoặc minh hoạ kết quả lời giải. Hình thức này thường được sử dụng trong
hình thức tổ chức lớp học với sốđông. Giáo viên cho một vài học sinh trực tiếp thao tác với
máy tính. Hình thức này tận dụng được thời gian lên lớp và phù hợp hơn cả là các tiết học
nội dung bài mới.


<i>Ví dụ. </i>Sử dụng Cabri để phát hiện hoặc hình thành động cơ chứng minh định lý minh
hoạ quỹ tích, minh hoạ kết quả tổng quát vừa tìm được với những trường hợp cụ thể<i>. </i>. <i>.</i>


<i><b>1.2.5. S</b><b>ử</b><b> d</b><b>ụ</b><b>ng ph</b><b>ươ</b><b>ng ti</b><b>ệ</b><b>n ICT </b><b>để</b><b> d</b><b>ạ</b><b>y h</b><b>ọ</b><b>c tr</b><b>ọ</b><b>n v</b><b>ẹ</b><b>n m</b><b>ộ</b><b>t ph</b><b>ầ</b><b>n c</b><b>ủ</b><b>a bài h</b><b>ọ</b><b>c </b></i>


Với mục đích sử dụng phần mềm để giải quyết trọn vẹn một nội dung cụ thể trong tiết
học nên quỹ thời gian sử dụng phương tiện có thể kéo dài từ 5 đến 10 phút. Qua việc thao
tác với phần mềm, học sinh phát hiện và giải quyết trọn vẹn một vấn đề, ví dụ dạy học khái
niệm mới. Hình thức này có thể sử dụng trong cả hình thức tổ chức lớp số đơng hoặc học
tập theo nhóm. Hoạt động sử dụng, khai thác phần mềm được tiến hành đan xen với các
hoạt động khác nên giờ học rất sinh động phù hợp với tâm sinh lý của lứa tuổi học sinh.


<i><b>1.2.6. S</b><b>ử</b><b> d</b><b>ụ</b><b>ng ph</b><b>ươ</b><b>ng ti</b><b>ệ</b><b>n công ngh</b><b>ệ</b><b> thông tin d</b><b>ạ</b><b>y tr</b><b>ọ</b><b>n v</b><b>ẹ</b><b>n m</b><b>ộ</b><b>t ti</b><b>ế</b><b>t h</b><b>ọ</b><b>c </b></i>


Trong hình thức này bài giảng được thiết kế thành một hệ thống liên kết chặt chẽ phối
hợp đan xen các hoạt động của thấy và trò để đạt được mục đích của giờ giảng. Điều đặc
biệt là bài giảng được thiết kế sao cho khai thác tối đa sự hỗ trợ của phần mềm và MTĐT.
Với hình thức này, có thể thời lượng sử dụng bảng đen sẽ khơng như các giờ học khác vì
nội dung kiến thức được thiết kế sẵn trong các Slide và giáo viên chiếu lên màn hình thay
cho viết bảng (ta tạm gọi là giáo án điện tử). Giáo án điện tửđược biên soạn dưới hình thức
các Slide bao gồm các đơn vị tri thức, các bài 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á các đơn vị tri thức trong
giáo án. Các nội dung trình bày bao gồm các sự kiện sẽ nảy sinh trong quá trình tương tác.


Các tác động này thực hiện theo những lược đồ nhất định. Việc phân tích, đánh giá các đáp


ứng của người học thường dựa trên các yêu cầu đã chuẩn bị sẵn. Số lượng cũng như nội
dung của mỗi Slide được xác định sao cho thể hiện được tốt nhất nội dung bài giảng cũng
như ý đồ sư phạm. Lượng thông tin của mỗi Slide cũng không hạn chế, với sự hỗ trợ của
các phần mềm công cụ thì nội dung khơng chỉ là dạng text (văn bản) mà cịn là âm thanh,
hình vẽ, ảnh động, thậm chí cả video. Giáo án điện tử cho phép ta trình diễn một cách trực
quan sinh động các nội dung như khảo sát hàm số, dựng hình, quỹ tích mà nếu khơng sử


dụng máy vi tính thì khơng thể nào mô tảđược với chức năng siêu liên kết (Hyperlink) cho
phép ta kết nối các Slide của bài giảng thành một hệ thống, từ một vị trí ta có thể truy nhập


đến bất kỳ một nội dung (một Slide) nào khác trong bài giảng. Mặt khác, ta có thể kết nối
hàng loạt các bài giảng với nhau thành một hệ thống hoàn chỉnh để giảng dạy một vấn đề,
một chương.


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

tập có thể rẽ nhánh, triển khai đi sâu vào những nội dung chi tiết, quay lui chuyển về những
nội dung đã trình bày... Hơn nữa, khối lượng kiến thức được ơn tập lại trong một tiết rất lớn
và giáo viên tiết kiệm được thời gian để viết kẻ, vẽ lên bảng. Nhờ sự hỗ trợ của máy tính và
giáo án điện tử, giờ ơn tập chương khơng cịn là cảnh giáo viên liệt kê lại nội dung đã học
mà nó là q trình làm việc tích cực của trò dưới sự dẫn dắt của 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ư duy lôgic, biện chứng cho học sinh.


Tuy nhiên giáo án điện tửđược thiết kế theo một kịch bản của người giáo viên dựđịnh
trước nên việc đưa ra các tình huống là hữu hạn, các giải pháp đáp ứng yêu cầu cố định,
trong đó thực tế rất đa dạng và phong phú. Vậy giáo viên cần phối hợp với các 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 của người học nhằm
nâng cao chất lượng dạy học.


Quy trình thiết kế một giáo án điện tử:



</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<i><b>1.2.7. S</b><b>ử</b><b> d</b><b>ụ</b><b>ng ICT trong ki</b><b>ể</b><b>m tra, </b><b>đ</b><b>ánh giá </b></i>


Hoạt động chính của nội dung này là sử dụng MTĐT trợ giúp học sinh giải bài tập,
kiểm tra nhận thức của bản thân, cụ thể:


<i>+ </i>Giao cho cho mỗi nhóm học sinh hoặc mỗi học sinh một máy tính. Học sinh tự sử


dụng phần mềm để tìm tịi cách giải quyết vấn đề và hoàn thành nhiệm vụđược giao (giải


được bài tập hoặc hoàn thành phiếu học tập của cá nhân, của nhóm).


<i>+ </i>Kiểm tra nhận thức học sinh bằng ngân hàng điện tử: Toàn bộ câu hỏi và đáp án


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<i><b>1.2.8. Tr</b><b>ợ</b><b> giúp h</b><b>ọ</b><b>c sinh t</b><b>ự</b><b> h</b><b>ọ</b><b>c </b></i>


Trong điều kiện nhiều học sinh có điều kiện trang bị máy tính tại nhà riêng thì đây là
một hình thức cần được khuyến khích và khai thác sử dụng vì thời lượng học sinh tự học ở


ngoài một phạm vi lớp học là rất lớn, mặt khác nó khơng trói buộc học sinh về mặt thời
gian, địa điểm, cụ thể:


<i>+ </i>Giáo viên ra nhiệm vụ, học sinh sử dụng phần mềm độc lập tìm tịi và đưa ra cách
giải quyết vấn đề. Giáo viên kiểm tra, nhận định lại kết quả.


<i>+ </i>Giáo viên thiết kế nhiệm vụ học tập ghi trong các tệp tin. Học sinh mở tệp tin, theo
hướng dẫn và tiếp tục hoàn thành nhiệm vụ.Giáo viên có thể có thiết kế nhiệm vụ theo từng
liều (được ghi trong các tệp tin khác nhau) để học sinh có thể tự học theo chu trình rẽ nhánh.


<i>+ </i>Sử dụng các bài giảng "gia sưđiện tử". Tồn bộ nội dung kiến thức, ví dụ minh hoạ



và bài tập được thiết kế dưới dạng Website. Học sinh lần lượt kích chọn những nội dung cần
học và tìm hiểu nội dung đó qua các ví dụ kèm theo. Kết thúc mỗi mục có bài tập cho học
sinh tự kiểm tra đánh giá nhận thức của mình. Sau khi giải song bài tập hoặc có khó khăn,
học sinh có thể mở lời giải hoặc hướng dẫn để tham khảo.


Như vậy hiệu quả của quá trình này phụ thuộc hồn tồn vào tính chủ động, tích cực
và sự hướng đích rất cao của học sinh.


<i><b>1.2.9. D</b><b>ạ</b><b>y h</b><b>ọ</b><b>c qua m</b><b>ạ</b><b>ng </b></i>


Trong điều kiện cơ sở hạ tầng công nghệ thông tin đang phát triển nhanh như hiện nay
thì ở Việt Nam các hình thức đào tạo qua mạng đã trở nên đơn giản. Mỗi nhà trường đều có
một trang web riêng của mình. Học sinh truy cập qua mạng và thực hiện theo phác đồ học
tập được quy định. Các thắc mắc hoặc trao đổi đều được thực hiện nhanh chóng bằng dịch
vụ thư điện tử (Email) hoặc trao đổi trực tuyến (online) với giáo viên hướng dẫn theo các
giờ quy định.


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

mới của giáo dục trên thế giới.
<b>1.3. Nhận định </b>


Việc khai thác có hiệu quả sự hỗ trợ của ICT sẽ tác động một cách tích cực tới hoạt


động dạy và học bởi các yếu tố sau:


* <i>Tính linh động, mềm dẻo: </i>người học bị thu hút bởi những thông tin và q trình xử


lý thơng tin trên máy tính, từđó truy tìm ngun nhân vấn đề.


* <i>Tính hệ thơng: </i>người học có thểđiều chỉnh nhận thức của mình trong hệ thống kiến



thức để nắm được vấn đề, điều hoà mâu thuẫn giữa sự hoang mang bối rối trước vấn đề mới
và tính tị mị ham muốn tìm hiểu, khám phá.


* <i>Tính kết hợp: </i>người học được làm việc trong nhóm nên khai thác được những ưu


điểm và động viên sựđóng góp tối đa của từng cá nhân.


* <i>Tính mục đích: </i>người học cố gắng, tích cực tập trung cao độ vào các hoạt động nhằm


tìm hiểu, khám phá, nhận thức cho được đối tượng.


* <i>Tính đàm thoại: </i>học là một hoạt động xã hội, quá trình đối thoại giữa người học với
nhau sẽ hỗ trợđắc lực cho việc nắm bắt được kiến thức khơng chỉ trong mà cả ngồi trường
học.


* <i>Tính ngữ cảnh: </i>hoạt động học được đặt ở vị trí có ý nghĩa đặc biệt trong các hoạt


động của thế giới thực hoặc đóng vai trị mơi trường cơ sở, do đó tạo ra một ngữ cảnh mang
tính tích cực, thúc đẩy việc học của sinh viên.


* <i>Tính phản ảnh: </i>với sự hỗ trợ của các cơng cụ, người học kết nối lại những gì họ


được học và thu nhận những phản ánh trong các q trình từ máy tính để đi đến những
quyết định đúng đắn.


Vấn đề sử dụng ICT trong nhà trường đã được khẳng định trong Chỉ thị 58- CT/TW
ngày 17- 10-2000 của 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 của Bộ trưởng Bộ Giáo dục và Đào tạo, và rất nhiều văn bản
khác của Chính phủ, của Bộ Giáo dục và Đào tạo. Điều đó chứng tỏ tính cấp thiết và hiệu


quả của việc đưa ICT vào nhà trường.


<i><b>Câu h</b><b>ỏ</b><b>i th</b><b>ả</b><b>o lu</b><b>ậ</b><b>n:</b> Khi sử dụng ICT trong dạy học thì vai trị của người Thầy có gì </i>


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>Chương 2 </b>


<b>SỬ DỤNG PHẦN MỀM GRAPH </b>
<b>2.1. Giới thiệu về phần mềm Graph </b>


Phần mềm Graph là một phần mềm hỗ


trợ minh hoạ và giải quyết một số vấn đề


trong bộ mơn tốn phổ thông tương đối gọn
nhẹ được cài đặt trong mơi trường hệ điều
hành Windows. Tồn bộ chương trình chứa
gọn trên một đĩa mềm 1.44 MB của Ivan
Johansen. Phần mềm này hiện nay có thể


download miền phí tại địa chỉ:
. Hiện nay đã có
phiên bản 3.0 được đưa lên mạng ngày
20/1/2004.


<b>2.2. Làm việc với Graph </b>


Để nạp chương trình Graph, ta thực hiện dãy thao tác: <i>StartlPrograms/Graph </i>hoặc
nháy chuột vào biểu tượng của Graph:





Giao diện của phần mềm Graph gồm các thành phần: Hệ thống menu, thanh công cụ


và trang công tác được chia
thành 2 phần: cửa sổ trái là
danh sách các đối tượng:
danh sách hàm (Functions),
danh sách các điểm (Point
series), danh sách các miền


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

<b>2.3. Giới thiệu hệ thống Menu </b>


Hệ thống mệnh của Graph gồm 6 chức năng cơ bản: <b>File, Edit, Function, Zoom, </b>
<b>Cacl, và Help </b>


<i><b>2.3.1. Menu File: </b></i>


- Mở một tệp mới ( New - Ctrl + N),
- Mở một 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 (E<i><b>x</b></i><b>it - Alt+F4), </b>


- Lưu trữ kết quả dưới dạng ảnh (Save as image -
Ctrl+B), chức năng này giúp ta có được các đồ thị đẹp


để thiết kế giáo án điện tử


<b>2.3.2.Menu Edit: </b>



- Huỷ bỏ thao tác ngay trước đó ( Undo - Ctrl-Z),
- Lặp lại thao tác ngay 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ừ bộ đệm ra trang công tác
(Paste- Ctrl+v),


- Sao chép hình ảnh (Copy image),


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<i><b>2.3.3. Menu Function: </b></i>


<i>- Khởi tạo một hàm mới(<b>Insert frunction </b>- Ins), </i>


- Tạo vẽ tiếp tuyến (Insert tangent - F2),
- Đánh dấu một miền(Insert shade... - F3),
- Vẽđiểm trên hệ toạđộ của trang công tác
(Insert point series... -F4),


- Vẽ hệ thống điểm (Insert trendline-Ctrl+T),
- Đặt tên cho các đối tượng (Insert label...),


- Cập nhật các đối tượng đang được lựa chọn (Edit...),
- Xoá bỏ các đối tượng <i>… </i>đang được lựa chọn


- Chèn đồ thịđạo hàm của hàm số (Insert f'(x)).


<i><b>2.3.4. Menu Zoom : </b></i>



Hệ thống các chức năng của menu con gồm các lệnh đểđiều khiển, thay đổi góc độ hiển thị


của trang làm việc, trong đó chú ý các chức năng sau:


- Điều chỉnh theo hướng thu hẹp khoảng [a,b] của
trục hoành được hiển thị trên trang công tác (In)


- Điều chỉnh theo hướng gia tăng khoảng [a,b] của
trục hoành được hiển thị trên trang cóng tác (Out), Chuyển
về trạng thái chuẩn ( Standard-Ctrl+D),


- Chuyển về trạng thái cho phép di chuyển các đối
tượng trên trang công tấc (Move system - Ctrl+M,


- Chuyển về chếđộ hiển thị sao cho quan sát được tất
cả các điểm trên trang công tác (All points).


<i><b>2.3.5. Menu Calc: </b></i>


- Xác định độ dài của đồ thị f(x) trên đoạn [a,b] nào


đó ( Length of path),


- Tính diện tích phần giới hạn bởi các đường thẳng
x=a, x=b với đồ thị của f(x) ( Aren),


- Xác định giá trị của f(x) tại một điểm xo nào đó (Evaluate - Ctrl+E),


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

<b>2.4. Một số chức năng cơ bản </b>



<i><b>2.4.1. V</b><b>ẽ</b><b>đồ</b><b> th</b><b>ị</b><b> hàm f(x) </b></i>


Để khởi tạo một đồ thị mới, dãy thao tác như sau:
<b>-> Function-> Insert function (ho</b>ặc chọn biểu
tượng … trên thanh công cụ). Xuất hiện bảng khai
báo các tham số:


<i>+ </i>Biểu thức tổng quát của f(x),


<i>+ </i>Giới hạn phạm vi giá trị của đối số,


<i>+ </i>Kiểu nét vẽ,


<i>+ </i>Độ rộng nét vẽ,


<i>+ </i>Mầu nét vẽ,


Khai báo xong, nhấn OK để hồn tất cơng việc.


<i><b>2.4.2. C</b><b>ậ</b><b>p nh</b><b>ậ</b><b>t </b><b>đố</b><b>i t</b><b>ượ</b><b>ng </b></i>


Để chỉnh sửa đồ thị của hàm số
đã có, thao tác như sau: Trước tiên lựa
chọn đồ thị sẽ chỉnh sửa, tiếp theo
chọn: ->Function ->Edit (hoặc bấm


đúp vào biểu thức của f(x) ở cửa sổ


bên trái) sẽ xuất hiện của sổ Edit
function để ta cập nhật lại. Ta có thể



khai báo lại giá trịđoạn [a,b], chọn lại


</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

<i><b>2.4.3. V</b><b>ẽ</b><b> ti</b><b>ế</b><b>p tuy</b><b>ế</b><b>n v</b><b>ớ</b><b>i </b><b>đồ</b><b> th</b><b>ị</b><b> f(x) t</b><b>ạ</b><b>i </b><b>đ</b><b>i</b><b>ể</b><b>m x</b><b>o</b></i>


Để Vẽ tiếp tuyến với đồ thị hàm số f(x) tại


điểm xo trước tiên phải lựa chọn hàm số, tiếp theo


chọn: <b>-> Function -> Insert tangent. Xu</b>ất hiện
cửa sổ Insert


<b>tangent. Ta nh</b>ập giá trị xo tại cửa sổ: x=,
sau đó chọn độ rộng, kiểu đường vẽ tiếp tuyến,
mầu và có thể nhập nội dung ghi chú cho tiếp
tuyến tại cửa sổ: Description. Sau cùng 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 của tiếp tuyến tại cửa sổ trái, sẽ


xuất hiện cửa sổ Edit tangent để ta cập nhật.


<i><b>2.4.4. Chèn </b><b>đồ</b><b> th</b><b>ị</b><b> c</b><b>ủ</b><b>a </b><b>đạ</b><b>o hàm f'(x) </b></i>


Graph có chức năng vẽ cùng một
hệ trục toạđộđồ thị của hàm số f(x) và
f'(x). Để sử dụng chức năng 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:


<b>->Function -> Insert f'(x). Xu</b>ất
hiện cửa sổ Insert (f’x). Ta khai báo
khoảng [a,b], kiểu nét vẽ, độ dày, mầu
và ghi chú cho đồ thị mới này. Nhấn
<b>OK </b>để hoàn tất.


<i><b>2.4.5. Xác </b><b>đị</b><b>nh </b><b>độ</b><b> dài c</b><b>ủ</b><b>a </b><b>đồ</b><b> th</b><b>ị</b><b> f(x) trên </b><b>đ</b><b>o</b><b>ạ</b><b>n [a,b] </b></i>


Chức năng Length of path cho phép ta biết


được ngay giá trị độ dài của đồ thị hàm số f(x)
trên đoạn [a,b]. Để sử dụng chức năng này, trước
tiên ta chọn hàm ở cửa sổ bên trái sau đó thao tác:
<b>->Calc -> length of path. Xu</b>ất hiện cửa sổ cho ta
nhập giá trị hai đầu mút a tại cửa sổ <i>From: </i>và b
tại cửa sổ<i>To:, </i>ta sẽ có kết quảđược thơng báo ở ơ


<i>Length. </i>Có thể nhập các giá trị a, b khác nhau để


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

<i><b>2.4.6. Tính di</b><b>ệ</b><b>n tích </b></i>


Graph có chức năng tính nhanh diện
tích phần mặt phẳng giới hạn bởi các đường
thẳng x=a, x=b với đồ thị của f(x).


Để sử dụng chức năng 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, tiếp theo ta thao tác như sau: ->
<b>Calc > Aren. Xu</b>ất hiện cửa sổ, ta nhập giá
trị đầu mút a tại cửa sổ <i>From:, </i>b tại cửa sổ


<i>To., </i>ta có kết quả diện tích sẽ được thơng


báo tại cửa sổ <i>Area. </i>Trên màn hình đồ hoạ sẽ thấy phần diện tích tương ứng sẽ được biểu
diễn bởi các đường gạch sọc. Ta có thể nhập các giá trịđầu mút a, b khác nhau để tính diện
tích các miền khác nhau.


<i><b>2.4.7. Tính giá tri f(x), f'(x), f’’(x) t</b><b>ạ</b><b>i </b><b>đ</b><b>i</b><b>ể</b><b>m x</b><b>o</b></i>


Để sử dụng chức năng này, trước tiên ta chọn hàm ở cửa sổ bên trái, tiếp theo ta thực
hiện thao tác:


<b>-> Cacl -> Evaluate, xu</b>ất hiện cửa sổ để ta
nhập giá trị của điểm xo cần tính. Kết quả được


thơng báo ở 3 cửa sổ bên dưới lần lượt là : f(x),
f'(x), f''(x).


Ta có thể thay đổi giá trị xo để có được kết


</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

<i><b>2.4.8. Tính giá tr</b><b>ị</b><b> c</b><b>ủ</b><b>a f(x) trong </b><b>đ</b><b>o</b><b>ạ</b><b>n [a,b] </b></i>
<i><b>v</b><b>ớ</b><b>i b</b><b>ướ</b><b>c chia cách </b><b>đề</b><b>u </b></i>


Chức năng Calculate table cho phân
hoạch đoạn [a,b] bởi một lưới các nút cách



đều nhau một đoạn dx và tính giá trị của
hàm số f(x) tại các điểm chia.


Để lập bảng, trước tiên ta chọn hàm ở


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

<i><b>2.4.9. V</b><b>ẽ</b><b> các </b><b>đ</b><b>i</b><b>ể</b><b>m trên h</b><b>ệ</b><b> tr</b><b>ụ</b><b>c to</b><b>ạ</b><b>độ</b><b>. </b></i>


Để sử dụng chức năng này, ta
thao tác như sau:->Function ->insert
<b>point series..., xu</b>ất hiện cửa sổ:


<i>Insert point series. </i>Ta cần khai báo


toạ độ của điểm cần vẽ. Bên trái có
các lựa chọn


- Kiểu vẽđiểm: <i>Style, </i>


- Mầu vẽđiểm: <i>Color, </i>
<i>- </i>Kích thước điểm: <i>Size, </i>


<i>- </i> Hiện toạ độ của điểm <i>Show </i>


<i>coordinates... </i>


Khai báo song nhấn <b>OK, ta s</b>ẽ nhận


được hình ảnh các điểm trên màn
hình.



<i><b>2.4.10. In </b><b>ấ</b><b>n k</b><b>ế</b><b>t qu</b><b>ả</b></i>


Để in các kết quả, ta chọn:
<b>->File ->Print. </b>


Xuất hiện cửa sổ<b> Page Setup </b>để


ta xác định các thông số trước khi
in. Nếu cần lựa chọn máy in
trong danh sách các máy in đã cài


đặt; ta chọn tiếp Printer... Đểđưa
ra máy in, ta chọn OK.


<b>2.5. Thư viện các hàm của Graph </b>


</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

SQR - Hàm cho giá trị bình phương của đối số,
SQRT - Hàm cho giá trị là căn bậc hai của đối số,
SIN - Hàm cho giá trị hàm số sin của đối số,
COS - Hàm cho giá trị hàm số cosin của đối số,
TAN - Hàm cho giá trị hàm số tang của đối số,


ARCSIN - Hàm cho giá trị của hàm số ngược của hàm số sin,
ARCCOS - Hàm cho giá trị của hàm số ngược của hàm cosin,
ARCTAN - Hàm cho giá trị của hàm số ngược của hàm tan,
LN - Hàm cho giá trị logarit cơ số e của đối số,


LOG - Hàm cho giá trị logarit cơ số thập phân của đối số,
PI - Cho giá trị của sốơi,



Toán tử ^ : dùng để biểu diễn luỹ thừa, ví dụ 10^3 là 1000, 2^8 là 256.


Để biết thêm chi tiết, chọn Help để tra cứu những thông tin cần thiết.
<b>2.6. Khai thác phần mềm Graph </b>


Graph cho ta một công cụ tương đối đầy đủ để dạy học nội dung Đạo hàm và ứng
dụng của nó trong chương trình tốn lớp 12, đặc biệt là nội dung khảo sát hàm số và nội
dung ứng dụng tích phân tính diện tích một miền.


Phương pháp chủ yếu là dùng Graph để minh hoạ và kiểm tra kết quả. Sau khi học
sinh đã hồn thành khối lượng cơng việc, giáo viên có thể sử dụng Graph để học sinh kiểm
tra lại kết quả tính tốn của mình và khảo sát chi tiết thêm hàm số nhờ vào các công cụ của
Graph.


Ta có thể sử dụng Graph để vẽ đồ thị sau đó lưu trữ đồ thị dưới dạng ảnh để đưa vào
giáo án soạn trên Word hoặc Powerpoint.


<b>2.7 Bài tập: </b>


a) Khảo sát các hàm số




b) Minh hoạ việc từ đồ thị hàm số f(x) suy ra đồ thị các hàm số: f(|x|). |f(x)|, |f(|x|)l|
cũng như tính chất của hàm số mũ, hàm số lôgarit.


c) Sử dụng các chức năng của Graph để kiểm tra kết quả tính tốn các bài tập tính độ


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

<b>Chương 3 </b>



<b>SỬ DỤNG PHẦN MỀM HÌNH HỌC ĐỘNG </b>
<b>3.1. Giới thiệu sơ lược về phần mềm Cabri Geometry </b>


Phần mềm Cabri Geometry là kết quả nghiên cứu của phòng nghiên cứu cấu trúc rời
rạc và 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 trong việc phát triển Cabri
Geometry là Laborde và Franck Bellemain. Jean - Marie Laborde bắt đầu phát triển dự án
Cabri II từ năm 1981 như một môi trường cho lý thuyết đồ thị. Franck Bellemain bắt đầu
làm việc về dự án Cabri II vào 1986 và chịu trách nhiệm để viết những phiên bản đầu tiên
của phần mềm Cabri Geometry.


Hiện nay phần mềm Cabri Geometry II có thể <i><b>download mi</b><b>ễ</b><b>n phí</b></i> tại địa chỉ


<i><b> 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 một thư mục mới ở thư mục gốc ổ C với tên là CABRI với dung lượng
khoảng 5 MB. -


Giao diện làm việc của Cabri cho phép chọn các ngôn ngữ khác nhau với ngầm định là
tiếng Anh. Tuy nhiên ta có thể Việt hoá các hệ thống mệnh của Cabri.


<b>3.2. Các vấn đề cơ bản để làm việc với Cabri Geometry </b>


<i><b>3.2.1. .Kh</b><b>ở</b><b>i </b><b>độ</b><b>ng Cabri Geometry </b></i>


Cabri là phần mềm có thể chạy trên nền của hệ điều hành MS - DOS và Windows.
Chúng tôi sẽ giới thiệu về phiên bản Cabri for Windows.


</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

Ta có thể tạo Shortcut để đóng của Cabri Geometry trên màn hình để việc gọi



được thuận tiện hơn.


Sau khi khởi động, giao diện của Cabri như sau:


<i><b>3.2.2. H</b><b>ệ</b><b> th</b><b>ố</b><b>ng menu bar c</b><b>ủ</b><b>a Cabri: </b></i>


Cabri có hệ thống mênh bai gồm 5 nhóm chức năng chính, mỗi nhóm ứng với một hệ


thống mênh dọc (Popup).


<b>* </b><i><b>Nhóm ch</b><b>ứ</b><b>c n</b><b>ă</b><b>ng File</b></i>


- New (CTRL <i><b>+ </b></i><b>N): M</b>ở một tệp (một trang hình học)
mới.


- Open (CTRL <i><b>+ </b></i><b>O): M</b>ở một tệp của Cabri đã có lưu
trữ trên đã <i>(ta phải chọn ổ</i> <i>đã, thư mục lưu giữ tệp tin, chọn </i>
<i>tên tệp tin cần mở). </i>


<i>-</i><b>Close (CTRL </b><i><b>+ </b></i><b>W): </b>Đóng tệp tin đang làm việc Nếu
ta chưa lưu trữ tệp tin, Cabri sẽ nhắc: Nếu chọn Yes: Cabri sẽ


</div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

- <b>Save (CTRL </b><i><b>+ </b></i><b>S): L</b>ưu trữ tệp tin trên
màn hình. Nếu là lần lưu trữđầu tiên sẽ xuất hiện
cửa sổ Save, ta phải chọn ổ đĩa, thư mục lưu trữ


tệp tin và tên của tệp tin này. Những lần thực
hiện lệnh ghi sau, Cabri không hỏi mà sẽ tự
động ghi theo thông sốđã chọn.



- Save As: Lưu trữ tệp với tên mới.


- Show Page: Xem tồn bộ tệp trước khi in (ta có thể chọn vùng in bằng cách di
chuyển khung chữ nhật đến vị trí cần thiết).


- Page Setup: Định các thông số trước khi in nội dung tệp.
- Print (CTRL+P): Thực hiện lệnh in


- Exit (CTRL+Q): Kết thúc phiên làm việc.


<b>* </b><i><b>Nhóm ch</b><b>ứ</b><b>c n</b><b>ă</b><b>ng</b></i> <i><b>Edit:</b></i> (bao gồm 8 chức
năng)


<i>- </i><b> Undo (CTRL+ Z): Hu</b>ỷ bỏ lệnh vừa thực
hiện.


- Cut (CTRL <i><b>+ </b></i><b>X): C</b>ắt bỏ các đối tượng đã


được lựa chọn đánh dấu khỏi màn hình làm việc
và lưu tạm vào bộđệm Clipboard.


- <b>Copy (CTRL </b><i><b>+ </b></i><b>C): Copy các </b>đối tượng


đã được lựa chọn đánh dấu lưu tạm vào bộ đệm
Clipboard.


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30>

con trỏ.


<b>- Clear (Del): Xoá b</b>ỏ các đối tượng đã được lựa chọn đánh dấu.
<b>-Select All (CTRL </b><i><b>+ </b></i><b>A): </b>Đánh dấu lựa chọn tất cả các đối tượng.


- Replay Construction: Xem lại tồn bộ q trình dựng hình.


- Refresh Drawing (CTRL <i><b>+ </b></i><b>F): L</b>ấy lại hoạ tiết thao tác dựng hình.
<b>* </b><i><b>Nhóm menu Options</b>: </i>(gồm 5 chức năng cho phép lựa chọn thuộc tính)


- <b>Hide Attributes: Cho hi</b>ện hay ẩn thanh công
cụ lựa chọn thuộc tính cho các đối tượng.


- Preferences...: Khai báo lựa chọn các 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 <i>. . .</i>


Nếu ta muốn thay đổi các thuộc tính ngầm định
của Cabri thì cần phải khai báo, lựa chọn theo ý của người sử dụng. Để lưu trữ lại sự lựa
chọn ta bấm chọn vào ô: [ ] Keep as defaults. Nếu muốn lưu trữ cấu hình như một mẫu
riêng, ta bấm chọn vào ô Sa ve to file.


- <b>Language: </b>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...).


</div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

<b>* </b><i><b>H</b><b>ệ</b><b> th</b><b>ố</b><b>ng menu Window</b></i>


Hệ thống menu này bao gồm các lệnh có cơng dụng tương
tự như các phần mềm khác trong môi trường hệ điều hành
Windows dùng để bố trí sắp xếp các cửa sổ.


* <i><b>H</b><b>ệ</b><b> th</b><b>ố</b><b>ng mênh Help</b></i>


Hệ thống trợ giúp của Cabri và giới thiệu tổng quan về phần


mềm Cabri.


<b>3.3. Thao tác với hệ thống các cơng cụ của Geometry Cabri </b>


<i>Tồn bộ hệ thống cơng cụ của Cabri bao gồm 11 nhóm chức năng chính:</i>


<i><b>3.3.1. Nhóm ch</b><b>ứ</b><b>c n</b><b>ă</b><b>ng ch</b><b>ọ</b><b>n tr</b><b>ạ</b><b>ng thái làm vi</b><b>ệ</b><b>c v</b><b>ớ</b><b>i chu</b><b>ộ</b><b>t </b></i>


<i>Khi bấm chuột vào hộp công cụ này, xuất hiện 4 sự lựa chọn: </i>


• <b>Pointer: Tr</b>ạng thái sử dụng để lựa chọn, dịch
chuyển, xoá bỏ và làm các thao tác sửa đổi với các đối tượng
hình học.


• <b>Rotate: Xoay m</b>ột hình xung quanh một điểm đã
chọn hay tâm của hình.


• Dilate: Mở rộng hay thu hẹp một hình theo tâm của hình hay một điểm đã chọn.
• Rotale and Dilate: Có thể cùng một lúc vừa xoay vừa thay đổi độ rộng, chiều
cao của hình.


<i><b>3.3.2. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b> t</b><b>ạ</b><b>o </b><b>đ</b><b>i</b><b>ể</b><b>m </b></i>


Khi bấm chuột vào nhóm cơng cụ này, xuất hiện bảng có
3 sư lựa chọn:


• <b>Point: T</b>ạo một điểm tự do.


• <b>Point on Object: T</b>ạo một điểm trên một hình đã có
• Intersection Points: Xác định điểm là giao của các hình hình học.



</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

<i>+ Tạo một điểm trên mặt phẳng:</i>


Kích chuột vào biểu tượng, chọn Point, xuất hiện 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 có thể xác định nhiều điểm liên tục không cần
chọn lại công cụ.


<i>+ Tạo một điểm thuộc một hình hình học đã có:</i>


Kích chuột vào biểu tượng, chọn <b>Point on Object, khi </b>đưa bút chì chỉ vào đối
tượng hình học đã có, xuất hiện câu hỏi, chẳng hạn: <i>"Dùng điểm này trên đường thẳng", </i>
<i>"Qua điểm này trênđường tròn "... </i>cần chọn vị trí nào, ta kích chuột vào vị trí đó.


<i>+ Xác định điểm là giao của các hình hình học đã có:</i>


Kích chuột vào biểu tượng, chọn Intersection Points, khi đưa bút chì vào vị trí là
giao của các hình hình học, xuất hiện dịng thơng báo <i>tuý tại giao điểm". </i>Nếu đúng là điểm
cán chọn, ta bấm chuột chọn điểm đó.


<i><b>3.3.3. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b> v</b><b>ẽ</b><b> các </b><b>đườ</b><b>ng và các hình </b></i>


Khi bấm chuột chọn nhóm cơng cụ này, xuất hiện bảng gồm 7 chức năng vẽ các đối
tượng hình học cơ bản:


Line: Vẽ một đường thẳng đi qua hai điểm cho trước hoặc đi qua một điểm với
góc nghiêng,


• <b>segment: D</b>ựng một đường thẳng đi qua 2


điểm cho trước,



• Ray: Dựng một tia biết gốc và hướng,


• <b>Vector: D</b>ựng một véc tơ khi biết hướng và 2


điểm mút,


• Triangle: Dựng 1 tam giác khi biết 3 đỉnh,
• Polygon: Dựng đa giác n cạnh,


• <b>Regular Polygon: D</b>ựng đa giác đều (n<=30).
<b>* Sử dụng các công cụ: </b>


<i>+ Tạo đường thẳng:</i>


</div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

<i>+ Dựng một đoạn thẳng:</i>


Kích chuột vào biểu tượng chọn Segment, đưa bút chì lần lượt xác định điểm thứ


nhất, điểm thứ 2 ta được đoạn thẳng tương ứng.


<i>+ Dựng một tia, biết gốc và hướng:</i>


Ta chọn chức năng 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 của tia, sau đó di chuyển chuột để chọn hướng của tia cần xác định; bấm
chuột trái để xác định điểm thứ 2, ta được tia cần dựng.


<i>+ Dựng một véc tơ khi biết hướng và 2 đầu mút:</i>


Ta chọn chức năng dựng véctơ: Kích chuột vào biểu tượng, chọn <b> Vector, sau </b>đó



đưa bút chì xác định điểm gốc và điểm ngọn của véc tơ cần dựng. Sau khi chọn xong 2 điểm
ta được véc tơ tương ứng.


<i>+ Dựng tam giác:</i>


Ta chọn chức năng Dựng hình tam giác: Kích chuột vào biểu tượng, chọn
<b>Triangle, sau </b>đó đưa bút chì lần lượt xác định vị trí 3 đỉnh của tam giác, khi đó ta sẽđược
tam giác tương ứng.


<i>+ Chức năng dựng đa giác:</i>


Chọn chức năng 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ì lần lượt xác định các đỉnh, kết thúc bấm đúp chuột trái, ta được đa giác tương


ứng với các điểm đã chọn.


<i>+ Chức năng dựng một đa giác đều:</i>


Chọn chức năng dựng hình đa giác đều: Kích chuột vào biểu tượng, chọn <b>Regular </b>
<b>Polygon. </b><i><b>.</b></i>Trước tiên ta đưa bút chì xác định tâm của đa giác, sau đó di chuyển bút chì để


xác định bán kính của đường trịn ngoại tiếp đa giác đều đó. Ở tâm xuất hiện số cạnh của đ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.


<i><b>3.3.4. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b> v</b><b>ẽ</b><b> các </b><b>đườ</b><b>ng cong </b></i>


Khi bấm chuột chọn nhóm cơng cụ này, xuất hiện bảng gồm 3 chức
năng vẽ cung, đường tròn và đường cơnic.



• Circle: Vẽđường trịn khi đã xác định tâm và bán kính,
• Arc: Vẽ cung trịn qua 3 điểm,


• Conic: Vẽđường conic qua 5 điểm,
<b>* Sử dụng các công cụ: </b>


</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

Chọn chức năng 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 của hình trịn, di chuyển chuột để xác định bán kính và bấm chuột
trái. Để thay đổi bán kính, ta trở về chếđộ con trỏ, sau đó chỉ chuột vào đường trịn, sẽ xuất
hiện hình bàn tay để ta thay đổi bán kính. Muốn di chuyển đường tròn, ta chỉ vào tâm tiếp
theo giữ phím trái để di chuyển hình vẽ.


<i>+ Dựng một cung tròn:</i>


Sử dụng chức năng dựng cung tròn: Kích chuột vào biểu tượng, chọn <b>Arc, sau </b>đó


đưa bút chì xác định 3 điểm, từđó hồn tồn xác định một cung tròn tương ứng với 3 điểm


đã chọn. Muốn thay đổi, ta đưa bút chì vào một trong 3 điểm xác định cung tròn để điều
chỉnh. Muốn di chuyển cả cung tròn ta đưa bút chì vào một điểm bất kỳ trên cung trịn
(ngồi 3 điểm) để di chuyển.


<i>+ Dựng đường cônic:</i>


Chọn công cụ dựng các đường cơníc: Kích chuột vào biểu tượng, chọn Conic, sau


đó ta xác định lần lượt 5 điểm. Tuỳ vị trí 5 điểm sẽ cho ta cắp hay parabol, hypecbol...



<i><b>3.3.5. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b> xác </b><b>đị</b><b>nh </b><b>đ</b><b>i</b><b>ể</b><b>m, </b><b>đườ</b><b>ng, </b><b>ả</b><b>nh các </b><b>đố</b><b>i t</b><b>ượ</b><b>ng hình h</b><b>ọ</b><b>c </b><b>đượ</b><b>c d</b><b>ẫ</b><b>n </b></i>
<i><b>xu</b><b>ấ</b><b>t t</b><b>ừ</b><b> các </b><b>đố</b><b>i t</b><b>ượ</b><b>ng hình h</b><b>ọ</b><b>c </b><b>đ</b><b>ã có </b></i>


Khi bấm chuột chọn nhóm cơng cụ này, xuất hiện gồm
10 chức năng:


• <b>Perpendicular Line: D</b>ựng đường thẳng


đi qua một điểm và vng góc với một đoạn thẳng,


đường thẳng. <i>. </i>. nào đó<i>.</i>


• <b>Parallel Line: D</b>ựng đường thẳng đi qua 1


điểm và song song với một đoạn thẳng, đường
thẳng... nào đó.


• <b>Midpoint: Xác </b>định điểm giữa của 2


điểm, trung điểm 1 đoạn thẳng.


• Perpen<b>đicular Bisector: D</b>ựng đường trung trực của đoạn thẳng, giữa 2


điểm...


• Ang le Bisector: Dựng đường phân giác của 1 góc khi biết 3 điểm.
• Vector Sum: Xác định tổng 2 véc tơ.


• Compass: Dựng đường trịn với tâm và bán kính xác định.



</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

trước một khoảng cho trước.


• <b> Locus : Xây d</b>ựng từng bước các đối tượng hình học, xây dựng quỹ tích.
• <b> Rederme Object: </b>Định nghĩa lại đối tượng hình theo sự phụ thuộc ban


đầu.


<b>* Sử dụng các công cụ: </b>


<i>+ Dựng đường thẳng vng góc:</i>


Sử dụng chức năng "Dựng đường vng góc": Kích chuột vào biểu tượng, chọn
<b>Perpendicular Line, ta l</b>ần lượt phải xác định đường thẳng hoặc đoạn thẳng cho trước và


điểm đường thẳng sẽ đi qua. Khi điểm hoặc đường thẳng thay đổi thì đường thẳng vng
góc cũng thay đổi theo.


<i>+ Dựng đường thẳng đi qua một điểm và song song với một đường thẳng hay đoạn </i>


<i>thẳng cho trướ.</i>


Ta sử dụng chức năng "Dựng đường song song": Kích chuột vào biểu tượng, chọn
<b>Parallel Line, ta l</b>ần lượt xác định đường thẳng hoặc đoạn thẳng đã có và điểm mà đường
thẳng sẽđi qua.


<i>+ Xác định trung điểm giữa hai điểm:</i>


Ta chọn chức năng " Xác định trung điểm giữa 2 đ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 màn hình sẽ xuất hiện



điểm giữa của 2 điểm hoặc đoạn thẳng.


<i>+ Dựng đường trung trực của một đoạn thẳng đã cho:</i>


Ta chọn chức năng "Dựng đường trung trực của một đoạn thẳng": Kích chuột vào biểu
tượng, chọn <b> Perpendicular Bisector, sau </b>đó đưa bút chì xác định hai đầu mút của đoạn
thẳng hoặc đoạn thẳng đã có. Trên màn hình sẽ xuất hiện đường thẳng trung trực của đoạn
thẳng mà ta vừa lựa chọn.


<i>+ Dựng đường phân giác:</i>


Sử dụng chức năng "Dựng đường phân giác": Kích chuột vào biểu tượng, chọn
<b>Angle Bisector, sau </b>đó ta đưa bút chì xác định 3 điểm theo thứ tự thuộc cạnh thứ nhất của
góc, đỉnh và điểm thuộc cạnh còn lại. Ta sẽđược đường phân giác tương ứng.


<i>+ Dựng véctơ tổng của 2 véctơ</i>:


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36>

<i>+ Dựng một hình trịn có bán kính cho trước:</i>


Ta chọn chức năng "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 <b> Compass, sau </b>đó đưa bút chì xác định 2 điểm của đoạn thẳng chọn làm
bán kính hoặc chọn một đoạn thẳng đã có để làm bán kính, tiếp theo chọn tâm của đường
trịn. Ta được đường tròn cần dựng. Tuy nhiên, khi cho đoạn đường thẳng đã chọn thay đổi
vềđộ lớn thì đường trịn cũng thay đổi theo.


<i>+ Dựng một điểm trên một đối tượng đường thẳng, với khoảng cách của điểm này với </i>


<i>một điểm xác định thuộc đường là một số xác định </i>(khoảng cách hay độ dài của một cung):


Để xác định khoảng cách, ta chọn một số xác định trên hình chọn cơng cụ



<b>Numerical Edit "T</b>ạo số" để gõ số và đơn vị. Thao tác tiếp theo bao gồm: Chọn chức năng
<b>Measurement Transfer: "xác </b>định điểm với khoảng cách", sau đó đưa bút chì chọn


điểm gốc và đưa bút chì chọn con sốđã được nhập trước đó ở màn hình; trên màn hình xuất
hiện mộ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.


<i>+ Tựđộng xây dựng từng bước đối tượng hình học (điểm, đường)</i>- <i>xây dựng quỹ tích </i>


<i>thơng qua sự chuyển động của điểm:</i>


Ta chọn chức năng: "Dựng quỹ tích của một điểm": Kích chuột vào biểu tượng, chọn
<b> Locus và thi</b>ết lập mối tương quan giữa các điểm, đường với nhau, sau đó cho một số
điểm,đường thay đổi để xác định quỹ tích.


<i>+ Định nghĩa lại đối tượng theo sự phụ thuộc ban đầu của một nhóm đối tượng: </i>Kích


chuột vào biểu tượng, chọn LJ Redefine Ohject. Ta sử dụng chức năng này để đưa một đối
tượng hình học này chuyển thành một đối tượng hình học khác.


<i><b>3.3.6. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b> d</b><b>ự</b><b>ng </b><b>ả</b><b>nh qua các phép biên hình </b></i>


Khi bấm chuột chọn hóm cơng cụ này, xuất hiện bảng gồm 6 chức năng:


• <b> Renection: D</b>ựng hình đối xứng qua một đường
thẳng, đoạn thẳng của một hình nào đó.


• Symmetry: Xoay hình 1 góc 1800.


• <b>Translation: Xác </b>định ảnh một hình qua một


phép tịnh tiến theo một véc tơ.


• <b> Rotation: Xác </b>định ảnh của một hình qua một
phép quay.


• Dilation: Xác định ảnh của một điểm qua một phép vị tự.


</div>
<span class='text_page_counter'>(37)</span><div class='page_container' data-page=37>

<b>* Sử dụng các cơng cụ: </b>


<i>+ Dựng hình đối xứng của đối tượng hình học qua một đường, đoạn thẳng, tia, trục </i>


<i>toạđộ cạnh tam giác, đa giác...</i>


Ta chọn chức năng "Phép đối xứng qua một đường". Kích chuột vào biểu tượng, chọn
Reflection, sau đó lựa chọn điểm gốc và đường chọn làm trục đối xứng, ta được ảnh
của điểm đó đối xứng qua đường đã chọn.


<i>+ Xoay hình một góc 1800 quanh một điểm xác định:</i>


Ta chọn chức năng " Phép đối xứng tâm": Kích chuột vào biểu tượng, chọn
<b>Symmetry, sau </b>đó lần lượt lựa chọn điểm cần lấy đối xứng và điểm gốc, ta sẽ thu được ảnh
của điểm đã chọn qua phép đối xứng tâm.


<i>+ Dựng hình ảnh của một đối tượng hình học qua phép tịnh tiến theo một véc tơ: </i>


Bước 1 : Ta phải xác định véc tơ làm hướng và khoảng cách cho phép tịnh tiến.
Bước 2: Chọn chức năng "Phép tịnh tiến hình": Kích chuột vào biểu tượng, chọn
<b>Translation, l</b>ần lượt chọn đối tượng cần dựng ảnh qua phép tịnh tiến và xác định véc tơ
được chọn làm hướng và khoảng cách cho phép tịnh tiến, ta được ảnh của hình đó qua phép
tịnh tiến.



<i>+ Dựng ảnh của một đối tượng hình học qua phép quay (với một điểm xác định là một </i>


<i>góc xác định)</i>


Xác định đối tượng cần quay, tâm quay và cuối cùng là góc quay (số hiện trên màn là
góc).


Bước 1 : Sử dụng chức năng <b> Numerical Edit "gõ s</b>ố và đơn vị" để xác định góc
của phép quay.


Bước 2: Chọn chức năng "Phép quay quanh một tâm": Kích chuột vào biểu tượng,
chọn <b> Rotation, ti</b>ếp theo lựa chọn hình cần quay, điểm chọn làm tâm quay và cuối cùng
chỉ vào số xác định góc quay. Ta được ảnh qua một phép quay.


<i>+ Dựng một điểm, hình hay đường của một đối tượng qua một phép vị tự (với một </i>


<i>điểm và một số xác định)</i>


Bước l: sử dụng chức năng Numerical Edit gõ số và đơn vị để nhập một giá trị


chọn làm tỷ số của phép giãn.


</div>
<span class='text_page_counter'>(38)</span><div class='page_container' data-page=38>

<i>+ Dựng điểm đối xứng của một điểm qua cung trịn:</i>


Xác định điểm cần có điểm đối xứng và cung tròn. Ta sử dụng chức năng "đối xứng
qua cung trịn": Kích chuột vào biểu tượng, chọn Inverse, tiếp theo lựa chọn điểm cần
lấy đối xứng và cung tròn được chọn làm căn cứđể đối xứng, ta thu được điểm ảnh.


<i><b>3.3.7. Nhóm cơng c</b><b>ụ</b><b> xây d</b><b>ự</b><b>ng macro </b></i>



Khi bấm chuột chọn nhóm cơng cụ này, xuất hiện bảng gồm 3 chức năng:


• <b>Initial Objects: Xác </b>định các đối tượng ban đầu để


thực hiện các lệnh macro.


• <b>Final Object: Xác </b>định các đối tượng thu được sau
khi kết thúc việc thực hiện các lệnh của macro.


• Define Macro: Định nghĩa tên và chọn phím tắt cho macro mới.
<b>* Sử dụng các công cụ: </b>


Bước 1 : Dựng hồn chỉnh hình vẽ


Bước 2: Bấm vào biểu tượng, chọn <b> Initial Objects, sau </b>đó bấm chuột vào những


đối tượng được coi là những đối tượng xuất phát (định nghĩa lúc ban đầu X)


Bước 3 : Bấm vào biểu tượng, chọn Final Object, sau đó bấm chuột vào những


đối tượng được coi là những đố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 quá trình dựng
hình, ta phải đặt tên cho Macro.


Bước 5: Chạy các macro (ta phải xác định các đối tượng đầu vào (X), chạy macro ta sẽ


thu được (Y)).



<i><b>3.3.8. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b> ki</b><b>ể</b><b>m tra thu</b><b>ộ</b><b>c tính </b></i>


Khi bấm chuột chọn nhóm cơng cụ này, xuất hiện bảng gồm 3 chức năng:


• Collinear: Kiểm tra xem 3 điểm có thẳng hàng
hay khơng ?


• Parallel: Kiểm tra xem 2 đường thẳng, đoạn
thẳng... có song song khơng?


• <b> Perpendicular: Ki</b>ểm tra xem 2 đường thẳng,


</div>
<span class='text_page_counter'>(39)</span><div class='page_container' data-page=39>

• <b>Member: Ki</b>ểm tra một điểm có thuộc một hình hay không ?
<b>* Sử dụng các công cụ: </b>


<i>+ Chức năng </i>" <i>Xác định thẳng hàng </i>":


Kích chuột vào biểu tượng, chọn Collinear, sau đó chọn các điểm cần xác định có
thẳng hàng hay khơng. Sau khi chọn điểm thứ 3, xuất hiện một khung chữ nhật, ta đưa
khung này đến một vị trí nào đó trên màn hình, bấm chuột, kết quả kiểm tra sẽ xuất hiện
trong khung đó.


<i>+ Chức năng "Song song khơng </i>":


Kích chuột vào biểu tượng, chọn <b>Parallel:, l</b>ần lượt xác định các đoạn thẳng,


đường thẳng cần kiểm tra, kết quả sẽđược thông báo trong một khung chữ nhật.


<i>+ Chức năng "Vng góc khơng </i>": Kích chuột vào biểu tượng, chọn <b> </b>



<b>Perpendicular:. S</b>ử dụng tương tự chức năng kiểm tra tính song song của 2 đoạn thẳng
hoặc 2 đường thẳng.


<i>+ Chức năng "Cách đều nhau </i>":


Để kiểm tra xem trong 3 điểm được lựa chọn có khoảng cách với nhau có bằng nhau khơng?
Kích chuột vào biểu tượng, chọn <b> Equidistant, sau </b>đó lần lượt bấm chuột vào các


điểm, nếu khoảng cách dôi 1 là như nhau, ta được thông báo 3 điểm có cách đều hay khơng.


<i>+ Xác định một đơi tượng này có thuộc đối tượng khác khơng:</i>


Sau khi chọn cơng cụ: Kích chuột vào biểu tượng, chọn <b>Member, ta l</b>ần lượt lựa chọn


đối tượng cần kiểm tra và đối tượng có khả năng chứa đối tượng cần kiểm tra. Kết quảđược
thông báo trong khung chữ nhật.


<i><b>3.3.9. Nhóm ch</b><b>ọ</b><b>n cơng c</b><b>ụ</b><b>đ</b><b>o </b><b>đạ</b><b>c t</b><b>ỉ</b><b>nh tốn </b></i>


Khi bấm chuột chọn nhóm cơng cụ này, xuất hiện
bảng gồm 7 chức năng:


• <b> Distance and Length: Xác </b>định
khoảng cách giữa 2 đối tượng, độ dài 1 đoạn
thẳng, mọi cung, chu vi của một hình hình học.
• <b>Area: Tính di</b>ện tích hình trịn, tam
giác, đa giác...


• <b> Slope: Xác </b>định hệ số góc y/x.
• Angle: Xác định sốđo của góc.



• <b> Equation and Coordinates: Xác </b>định toạđộđiểm hay phương trình của


</div>
<span class='text_page_counter'>(40)</span><div class='page_container' data-page=40>

• <b> Calculate: Tính tốn tr</b>ực tiếp (tương tự như một máy tính bỏ túi)
• <b>Tabulate: </b>Đặt các số liệu tính tốn vào bảng.


<b>* Sử dụng các công cụ: </b>


<i>+ Chức năng </i>" <i>Khoảng cách và chiều dài </i>":


Để xác định khoảng cách giữa 2 điểm bất kỳ, sau khi chọn chức năng <b> Distance </b>
<b>and Length, ta l</b>ần lượt bấm chuột để xác định 2 điểm cần đo. Để xác định chu vi của một
hình, ta đưa bút chì vào đối tượng cần xác định chu vi. Kết quả sẽ được thông báo trong
khung chữ nhật.


<i>+ Chức năng “Tính diện tích của đa giác, hình trịn, hình ellipse </i>“:


Ta chọn chức năng Area <i>"Diện tích hình", </i>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 trong khung chữ nhật.


<i>+ Xác định độ dốc (hay tg </i>- <i>xác định tỉ số y/x) của đường, đoạn, tia hay véc tơ.</i>


Ta chọn chức năng <b> Slope </b><i>"Xác định </i>rõ <i>của đường thẳng (y/x)" </i>sau đó đưa bút chì
xác định đường thẳng, đoạn thẳng, véc tơ hoặc tia cần xác định hệ số góc.


<i>+ Xác định độ lớn của góc được xác bởi ba điểm (điểm thử hai là đỉnh của góc): </i>Ta


chọn chức năng Angle <i>"Góc nghiêng", </i>sau đó đưa bút chì xác định 3 điểm theo thứ tự



lần lượt thuộc cạnh thứ nhất, đỉnh và cạnh còn lại.


<i>+ Xác định toạđơ của điểm hay phương trình của đường:</i>


Ta chọn chức năng <b> Equation and Coordinates </b><i>"'Hàm biểu diễn đường và toạđộ</i>
<i>điểm", </i>sau đó đưa bút chì để lựa chọn điểm cần xác định toạ độ hoặc lựa chọn đường cần
xác định phương trình hàm biểu diễn.


<i>+ Tính kết quả phát sinh của biểu thức:</i>


Chọn chức năng <b> Calculate </b><i>"Tính tốn </i>ta sẽ có một máy tính bỏ túi với các phép
tốn số học cơ bản. Đểđưa kết quả ra màn hình, ta chọn chức năng INV, ta được thông báo


<i>"Result" </i>và kết quả tính tốn.


<i>+ Đặt các giá trị tính tốn, hay các số liệu vào bảng:</i>


</div>
<span class='text_page_counter'>(41)</span><div class='page_container' data-page=41>

<i><b>3.3.10. Nhóm cơng c</b><b>ụ</b><b> s</b><b>ố</b><b>đặ</b><b>t tên cho các </b><b>đố</b><b>i t</b><b>ượ</b><b>ng và xác </b><b>đị</b><b>nh yêu t</b><b>ố</b><b>độ</b><b>ng </b></i>


Khi bấm chuột chọn nhóm công cụ này, xuất hiện bảng
gồm 8 chức năng:


• <b>Label: T</b>ạo, sửa các nhãn để đặt tên các đối
tương hình học.


• Comments: Tạo, sửa lời chú thích.
• Numerical Edit: Tạo, sửa lại các số.
• Mark Angle: Đánh dấu góc đã chọn.


• <b>Fix/Free: Xác </b>định điểm là cố định hay


chuyển động.


• Trace On/Off: Tạo ảnh cho sự di chuyển của đối tượng hình học (để lại
vết).


• Animation: Cho đối tượng đã chọn chuyển động theo một ràng buộc đã
Xác định trước...


• Multiple Animation: Thực hiện chuyển động phức tạp, hỗn hợp.
<b>* Sử dụng các công cụ: </b>


<i>+ Tạo các nhãn cho các đối tượng hình học:</i>


Lựa chọn chức năng <b>Label </b><i>"Đánh dấu nhãn", </i>sau đó đưa bút chì chỉ vào đối
tượng cần gán tên, sẽ xuất hiện một hộp chữ nhật để ta gõ tên cho đối tượng hình học đó.


<i>+ Sửa đổi hay thêm lời bình, ghi chú:</i>


Ta sử dụng chức năng Comments "Lời <i>bình, chú thích", </i>sau đó đưa bút chì xác


định vị trí dịng văn bản trên màn hình, khi đó xuất hiện khung chữ nhật để ta nhập nội dung
text.


<i>+ Tạo và sửa lại giá trị số.</i>


Chọn chức năng <b>Numerical Edit </b><i>"Tạo và sửa lại </i>số", hoặc ấn CTRL+U để chọn


đơn vị, sau đó nhập giá trị.


<i>+ Đánh dấu góc:</i>



Góc được xác định bằng ba điểm, điểm thứ hai là đỉnh. Ta chọn chức năng Mark Angle


<i>“Đánh dấu góc bằng nhau”</i>, sau đó đưa bút chì xác định 3 điểm tương ứng với góc cần


</div>
<span class='text_page_counter'>(42)</span><div class='page_container' data-page=42>

<i>+ Gán thuộc tính cho điểm cốđịnh, hay tự do:</i>


Ta sử dụng chức năng Fix/Free: <i>"Điểm cốđịnh, Điểm di động" </i>để xác định thuộc tính
cốđịnh hay di chuyển cho một điểm.


<i>+ Để lại vết khi di chuyển một đơi tượng hình học:</i>


Ta chọn chức năng Trace On/Off: <i>“Để lại dâu vết On/Off”, </i>sau đó lựa chọn đối
tượng hình học sẽ di chuyển. Khi đó mọi di chuyển của đối tượng trên đều để lại vết trên
màn hình.


<i>+ Tựđộng cho tịnh tiến, quay hay giãn các đối tượng hình học.</i>


Kích chuột vào đối tượng kéo và di chuột, chuyển động sẽ theo chiều của dây căng. Ta chọn
chức năng Animation <i>"Chuyển động đối tượng", </i>sau đó đưa bút chì xác định đối tượng
hình học sẽ di chuyển.


<i>+ Thực hiện các chuyển động phức tạp, có từ hai đối tượng hình trở lên cùng lúc </i>


<i>chuyển động:</i>


Ta chọn chức năng Multiple Animation “<i>chuyển động phức tạp”, </i>sau đó lần lượt lựa
chọn đối tượng và phương thức chuyển động. Để thực hiện, ta ấn phím Enter.


<i><b>3.3.11. Nhóm cơng c</b><b>ụ</b><b>đị</b><b>nh d</b><b>ạ</b><b>ng các </b><b>đố</b><b>i t</b><b>ượ</b><b>ng </b></i>



Khi bấm chuột chọn nhóm công cụ này, xuất hiện bảng gồm 9 chức năng:


• <b> Hide/ Show: Cho </b>ẩn, hiện các hình đã có.
• <b> Color: Tơ màu nét v</b>ẽ.


• Fill: Chọn mầu bên trong hình vẽ.
• <b> Thick: Thay </b>đổi kiểu nét vẽ dầy - mỏng.
• <b>Dotted : Ch</b>ọn kiểu nét liền hay nét đứt.
• Modifv Appearance: Sửa kí hiệu trên hình.
• <b> Show Axes: </b>ẩn hay hiện trục toạđộ.


• <b>New Axes: </b>Đặt toạđộ mới.
• Define Gid: Định nghĩa lưới.


<i><b>* S</b><b>ử</b><b> d</b><b>ụ</b><b>ng các công c</b><b>ụ</b><b>:</b></i>


Nguyên lý chung cho các công cụ định dạng là khi ta chọn công cụ, sẽ xuất hiện một
bảng các lựa chọn. Ta bấm chuột vào một trong những 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ụ


<i>ẩn/hiện </i>được sử dụng để che bớt không hiện ra màn hình những đối tượng được đánh dấu


</div>
<span class='text_page_counter'>(43)</span><div class='page_container' data-page=43>

<i><b>3.3.11. Bài t</b><b>ậ</b><b>p </b></i>


Bài 1 : Cho đường tròn (O) và hai điểm A, B. Dựng đường kính COD sao cho CA =
DB.


Bài 2: Cho góc xây và một điểm A ở trong góc đó. Dựng qua A một đường thẳng cắt
Ox,Oy ở M và N sao cho MA=AN.



Bài 3: Cho 3 điểm A,B,C.Dựng đường thẳng d sao cho tổng khoảng cách từ B và C


đến d bằng h cho trước.


Bài 4: Cho hai đường tròn (O) và (O') cắt nhau ở A và B. Dựng qua A một đường
thẳng d cắt (O) và (O') ở M,N sao cho MA+NA lớn nhất.


Bài 5: Cho góc xOy. Lấy A nằm trên Ox,B nằm trên Oy sao cho OA+OA=m cho
trước. Ttìm qũi tích trung điểm I của đoạn AB.


Bài 6: Cho đường tròn (O) và điểm A cố định,đường kính BC quay quanh O Tìm tập
hợp I là tâm đường tròn ngoại tiếp tam giác ABC.


Bài 7: Cho góc xây cố định và một điểm A nằm trong góc đó. Một góc vng có đỉnh
trùng A, hai cạnh của góc đó cắt Ox,Oy tại E và F (kể cả tia đối của Ox, Oy). Tìm tập hợp
trung điểm M của EF khi góc EAF quay quanh A.


Bài 10: Cho tam giác cân ABC (AB=AC), M nằm trên tia BA, N nằm trên tia đối của
tia CA sao 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 khi M, N thay đổi.


Bài 1 l: Thể hiện ảnh của một hình H qua phép tịnh tiến (Hình học 10).
Bài 12: Thể hiện ảnh của hình H qua phép đối xứng trục (Hình học 10).
Bài 1 3 : Thể hiện ảnh của một hình H qua phép vị tự (Hình học 10) <i>.</i>


Bài 14: Vẽ hình bởi Cabri sau đó copy hình vẽ sang Powerpoint để thiết kế giáo án nội
dung các phép biến hình ở lớp 10 và hình khơng gian ở lớp 11, 12.


<b>3.4. Giới thiệu phần mềm The Geometer's Sketchpad </b>



Chương trình The Geometer's Sketchpad là một phần mềm hình học động hỗ trợ


việc nghiên cứu và dạy học hình học rất hiệu quả. Chương trình Sketchpad có thể download
tại website: hấp://www.keypess.com/sketchpad. <i>(Về phần mềm Sketchpad, có thể tìm hiểu </i>


<i>sâu trong các tài </i>liệu <i>của TS. Trần Vui ĐHSP Huê). </i>


Để làm việc với phần mềm Sketchpad, ta thao tác như sau:


<b>-> Sart -> Programs-> Sketchpad ->The Geometer's Sketchpad </b>


(hoặc bấm chuột vào biểu tượng trên màn hình ).


</div>
<span class='text_page_counter'>(44)</span><div class='page_container' data-page=44>

<i><b>3.4.1.Thanh công c</b><b>ụ</b></i>


Hệ thống công cụ của Sketchpad gồm 6 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 các chức năng cơng cụ



<i><b>3.4.2. H</b><b>ệ</b><b> th</b><b>ố</b><b>ng các menu chính </b></i>
<i><b>* Menu File </b></i>


- New Sketch (Ctrl+N): Tạo một bản vẽ mới,
- Open (Ctrl+O: Mở một Sketch/ Script đã có,


<i>- </i><b>Save (Ctrl+S: L</b>ưu trữ Sketch/script,
- Save As: Lưu Sketch/ Script với tên mới,
- Close (Ctrl+W Đóng file hiện 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 khi in ấn,
- Phát Preview: Chọn chếđộ in, xem nội dung tài liệu trước khi in ra.
- Print: In tài liệu,


<b>- Quit (Ctrl+Q): Thoát Sketchpad, tr</b>ở về Windows.


</div>
<span class='text_page_counter'>(45)</span><div class='page_container' data-page=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 được chọn và lưu vào bộ


nhớ,


- Copy (Ctrl+C): Copy đối tượng được chọn vào bộ nhớ,
- Paste (Ctrl+V): Chép đối tượng ở bộ nhớ ra Sketch,
- Clear (Del): Xoá các đối tượng được chọn,


- Action Buttons: Tạo nút lệnh để thao tác với các đối
tượng,



- Select All (Ctrl+A): Chọn tất cả các đối tượng trên trang
làm việc,


<i>- </i>Select Parents (Ctrl+U): Chọn đối tượng cơ bản ban đầu,
- Select Children (Ctrl+D): Chọn đối tượng dẫn xuất,


- Split/Merge: Phân tách một đối tượng hình học từ một đối tượng khác / hoặc nhập
gắn kết hai đối tượng hình học lại thành một 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 của hình,


<i>- </i>Preferences...: Xác định các thuộc tính tuỳ chọn cho mầu, đơn vị đo lường, text
box...


<b>* Menu Action Buttons: </b>


<i>- Hidel Show: </i>Tạo 2 nút lệnh cho phép hiển thị/ không hiển


thị các đối tượng đã chọn.


<i>- Animation...: </i>Tạo lệnh thực hiện việc di chuyển đối tượng,


- <i>Movement. </i>. <i>. </i>: Tạo lệnh thực hiện việc di chuyển giữa hai


đối tượng được chọn,


- <i>Presenlation...: </i>Tạo các nút di chuyển, chuyển đổi...,



- <i>Link: </i>Tạo các nút liên kết các hiệu ứng chương trình,


<i>- Scroll: </i>Tạo các hiệu ứng kéo trượt.


</div>
<span class='text_page_counter'>(46)</span><div class='page_container' data-page=46>

- Line Width: Chọn 1 trong 3 dạng đường,
-<b>Color: Ch</b>ọn màu,


- Text: Chọn kiểu văn bản,
-<b>Text Font: Ch</b>ọn font chữ,


- Hide Object (Ctrl <i>+ </i>H): Không hiển thị các đối tượng đã
lựa chọn,


- Show All Hidden: Hiển thị tất cả các đối tượng đang ẩn,
- Show Labels (Ctrl <i>+ </i>K): Hiển thị tên của đối tượng,
-Trace (Ctrl+X): Đặt chế độđể lại vết khi đối tượng thay


đổi vị trí,


- <b>Erase Traces (Ctrl+B): Xố b</b>ỏ các vết do đối tượng chuyển động để lại trên màn
hình,


- Animate (Ctrl+’) Lệnh cho đối tượng chuyển động,


- <b>Increase Speed (Ctrl+[), Decrease Speed (Ctrl+]): L</b>ệnh cho thay đổi khoảng 25%
tốc độ chuyển động của đối tượng,


<i>- </i><b>Stop Animation: K</b>ết thúc các chuyển động đang xảy ra,


<b>- Show Text Palette (Shift+Ctrl+T): Hi</b>ển hay ẩn thanh công cụđịnh dạng text:



<i>- </i><b>Show Motion Controller: Hi</b>ện hay ẩn hộp chức năng điều khiển chuyển động như:


<i>thực hiện, dừng, lặp lại...</i>


<b>- Hide Toolbox: Ch</b>ọn chếđộẩn hay hiện hộp công cụ.
<b>* </b><i><b>Mênh Construc</b>t</i>


- Point On Object: Chọn điểm trên đối tượng,


- Midpoint (Ctrl+M): xác định trung điểm của một đoạn
thẳng hoặc điểm giữa của 2 điểm,


<i>- </i><b>Intersection </b>(Ctrl+I): Xác định giao điểm của hai đối
tượng,


- <b>Segment (Ctrl+L): Xác </b>định đoạn thẳng nối 2 điểm xác


định cho trước,


- <b>Line: Xác </b>định đường thẳng nối 2 điểm xác định cho
trước,


</div>
<span class='text_page_counter'>(47)</span><div class='page_container' data-page=47>

song với một đường thẳng khác,


- <b>Perpendicular Line: D</b>ựng đường thẳng đi qua một điểm và vng góc với một


đường thẳng,


- Angle Bisector: Dựng phân giác góc,



- <b>Circle By Center+ Point: D</b>ựng đường tròn khi biết tâm và một điểm trên đường
tròn,


- Circle By Center+Radius: Dựng đường tròn khi xác định tâm và bán kính,


<i>- </i><b>Arc ON Circle: D</b>ựng một cung qua 2 điểm trên đường tròn,


- Arc Through 3 Points: Dựng một cung qua 3 điểm không thẳng hàng,
- Interior:(CTRL+P) Tơ mầu bên trong miền một đa giác, hình trịn....,
- Locus: Xác định quỹ tích của một đối tượng.


<b>* </b><i><b>Menu Transform</b></i>


<b>Transform Menu </b>

<b>- Mark Center(Shift+Ctrl+F): Ch</b>ọn điểm làm tâm của
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 <i>. . . </i>: Xác định phép tịnh tiến,
- Rotate <i>...: </i>Quay đối tượng một góc với tâm đã chọn,


- Dilate <i>...: </i>Phép vị tự với tâm và tỉ số cho trước,
- Refiect ...: Đối xứng qua trục,



- Iterate: Xác định phép biến hình.
<b>* </b><i><b>Menu Measure</b></i>


<i>- </i><b>Length: Xác </b>định độ dài một/ nhiều đoạn thẳng,
- Distance: Xác định khoảng cách giữa hai điểm,
- Perimeter: Xác định chu vi của một đa giác,


</div>
<span class='text_page_counter'>(48)</span><div class='page_container' data-page=48>

- Angle: Xác định sốđo của một góc,


- Area: Xác định diện tích của một hình kín,
- Arc Angle: Xác định góc ở tâm,


- Arc Length: Xác định độ dài của dây cung,


- Radius: Xác định bán kính một hoặc nhiều đường tròn,
- Ratio: Xác định tỉ sốđộ dài của 2 đoạn,


- Abscissa(x): Xác định hoành độ của một điểm,
- Ordinate(y): Xác định tung độ của một điểm,


- <b>Coordinate Distance: Xác </b>định khoảng cách giữa hai đối
tượng,


- Slope: Xác định hệ số góc của đường thẳng,


- Equation: Xác định phương trình đường thẳng/ đường tròn.
<b>*Menu Graph </b>


- Define Coordinate System: Thiết lập hệ thống


mới (tuỳ thuộc vào đối tượng ta đang lựa chọn),


- Mark Coordinate System: Thiết lập toạđộ hệ


thống,


- <b>Grid Form: L</b>ựa chọn hệ thống toạ độ Đề các
hay toạđộ cực


- <b>Show Grid/Hide Grid: Cho hi</b>ện hay ẩn hệ


thống lưới toạđộ,


- <b>Snap Points: L</b>ựa chọn chế độ di chuyển theo
toạđộ nguyên hay bất kỳ,


- <b>Plot Points: V</b>ẽ một điểm trong toạ độ Đề các
hay toạđộ cực


- <b>New Parameter (Shift+ctrl+P): Xác l</b>ập một giá
trị cho biến,


- New Function (Ctrl+F): Xác lập một hàm với đối số x,
- Plot New Function... (Ctrl+G): Vẽđồ thị của một hàm số,
- Derivative: Xác định đạo hàm bậc nhất của một hàm số,
- Tabulate: Đưa các đối tượng đã chọn vào bảng,


</div>
<span class='text_page_counter'>(49)</span><div class='page_container' data-page=49>

<b>*. </b><i><b>T</b><b>ạ</b><b>o </b><b>đ</b><b>i</b><b>ể</b><b>m chuy</b><b>ể</b><b>n </b><b>độ</b><b>ng qu</b><b>ỹ</b><b> tích v</b><b>ớ</b><b>i Sketchpad</b></i>


Bước 1 : Chọn đối tượng cần cho chuyển động,



Bước 2: -> <i><b>Display </b></i><b>-> </b><i><b>Animate </b></i>sẽ có hộp thoại đểđiều
khiển chuyển động,


Muốn để lại vết của đối tượng khi điểm chuyển động, ta
chọn đối tượng đó, -> <i><b>Display </b></i><b>-> </b><i><b>Trace Point,</b></i>sau


đó mới chọn lệnh <i><b>Animate.</b></i>


<i><b>3.4.3. Thi</b><b>ế</b><b>t k</b><b>ế</b><b> các Script v</b><b>ớ</b><b>i Sketchpad </b></i>


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 có thể ghi các thao tác đó thành một Script và sau đó sử dụng như một
chức năng cơng cụ có sẵn của Sketchpad.


<i>Thao tác:</i>


- Trước tiên mở một tệp mới (Sketch) <i>.</i>


- Thực hiện thao tác dựng hình cần thiết.


- Chọn tất cả những đối tượng có quan hệ hình học vừa dựng mà ta muốn tạo một


<i>Script.</i>


- Chọn <i><b>Custom Tool </b></i><b>t</b>ừ thanh công cụ:


Xuất hiện bảng lệnh, gồm các chức năng cơ bản như:
tạo mới một Script, tuỳ chọn công cụ, ẩn hiện Script và
danh sách các Script đã có, ta chọn tiếp: -> Create New


<b>Tool... </b>


Xuất hiện bảng chọn:


</div>
<span class='text_page_counter'>(50)</span><div class='page_container' data-page=50>

* Thực <i>hiện một Script </i>


Sau khi đã lưu trữ, muốn sử


dụng, ta chọn <b>Custom Tool và </b>
chọn tên “công cụ” Script mà ta
cần thực hiện.


Nếu ta copy Script này, thì
trong danh sách Document sẽ có
tên và ta sử dụng chúng như một
lệnh của Sketchpad.


<i><b>3.4.1 .Bài t</b><b>ậ</b><b>p . </b></i>


<i>Bài 1: </i>Cho đường trịn (O,r) và một điểm P ở ngồi đường tròn. Một cát tuyến thay đổi đi


qua P cắt đường tròn (O,r) tại hai điểm B, C. Gọi E là điểm giữa cung BC. Gọi A, A' là tiếp


điểm của hai tiếp tuyến kẻ từ P với đường tròn (O,r).
Hãy minh hoạ tập hợp I là giao của AE với BC <i>.</i>


<i>Bài 2: </i>Giả sử hai đường tròn (O,r) và (O',r’) cắt nhau tại hai điểm A, B. Điểm M chạy trên


đường tròn (O',r’). MA, MB cắt đường trịn (O,r) tại P và N. tìm quỹ tích tâm I là tâm vịng
trịn ngoại tiếp tam giác MNP.



<i>Bài 3: </i>Cho đường tròn (O,r), vẽ bán kính OA và dây AD cố định. Vẽ vịng trịn tâm O,


đường kính OA cắt AD tại C. Một cát tuyến thay đổi đi qua O cắt đường tròn (O’,r’) tại M
và (O,r) tại N, N'. DN cắt CM tại P và DN' cắt CM tại P'.


Tìm quỹ tích P, P'.


<i>Bài 4: </i>Cho hai đường trịn (O,r) và (O’,r’) tiếp xúc ngồi nhau tại A. Một góc vng có đỉnh


trùng với điểm A, quay quanh A, hai cạnh của góc cắt (O,r) và (O',r’) tại B và C. Tìm tập
hợp hình chiếu H của A trên BC.


<i>Bài 5: </i>Cho tam giác ABC cân tại A nội tiếp trong một đường tròn (O,r). M là một điểm di


</div>
<span class='text_page_counter'>(51)</span><div class='page_container' data-page=51>

<b>3.5. Vẽ hình với phần mềm hình học Cabri </b>


Trong nội dung này, chúng tôi mô tả thao tác với Cabri để vẽ hình.


* <i>Dựng tam giác ABC, biết cạnh Bc=a, đường cao AH </i>: h, <i>trung tuyến BD=m: </i>


Thao tác dựng hình với Cabri như sau:


Bước 1 : Dựng tam giác vuông BDK biết cạnh
huyền BD = m và cạnh góc vng DK = h/2 như sau:


- Xác định điểm D và kẻ một đường thẳng Dx đi
qua điểm D.


- Vẽ một đườ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ẽ một đường tròn tâm D, bán kính = m.
=> Xác định được đ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.


* <i>Dựng tam giác ABC, biết cạnh Bc=a, đường cao AH=h, trung tuyến AM=m.</i>


- Thao tác dựng với Cabri.


- Vẽ đường thẳng Ax đi qua
A.


- Vẽ đường tròn tâm A, bán
kính = h => Xác định điểm H <i>.</i>


- Vẽ đườngthẳng vng góc
với Ax tại H.


- Vẽ đường trịn tâm A, bán
kính = m => xác định điểm M.


- Vẽ đường thẳng đi qua 2



điểm H, M.


- Lấy M là tâm, vẽđường trịn bán kính a/2 => xác định 2 giao điểm chính là B, C Vẽ


tam giác ABC.


</div>
<span class='text_page_counter'>(52)</span><div class='page_container' data-page=52>

* <i>Dựng tam giác vuông ABC (vuông tại </i>A), <i>biết góc </i>∠ B=a <i>(O<a<90o) và hiệu hai </i>


<i>cạnh BC và BA bằng 1 </i>:


Cách dựng với Cabri :
- Dựng tia Ax.


- Lấy DA = 1 (sử dụng chức năng vẽ
đường tròn biết bán kính, sau đó xác


định D là giao điểm).


- Vẽđường phân giác Op của góc
∠ xoy.


Vẽ đường OI vng góc với tia
phân giác Op => góc ∠ YOI là 90
-a/2.


- Vẽđường tròn tâm O cắt hai tia
Oy và OI tại I và K.


- Tại D vẽđường trịn Cl bán kính OI, cắt đường thẳng DA tại M.


- Tại M vẽđường trịn C2 bán kính IK.


- Xác định giao Cl và C2 là điểm Q.
- Kẻđường thẳng DQ cắt tia AI tại C.


- Đường trung tuyến đoạn CD cắt DA tại B => Tam giác vuông ABC là tam giác cần
dựng.


<b>3.6. Sử dụng Cabri minh hoạ bài tốn quỹ tích </b>


<i>*Ví dụ 1 </i>: <i>Cho tam giác ABC nội tiếp đưng tròn (O). D là một điểm chuyển động </i>trên


<i>cung BC không chứa đỉnh </i>A. <i>Nối A với D. Hạ CH vng góc với AD. </i>


<i>Minh hoạ quỹ tích của điểm H.</i>


- Sử dụng Cabri ta vẽ hình, sau đó cho điểm D di
chuyển, ta phát hiện được ít nhất có 3 đ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 khi 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 là cung chứa góc.


</div>
<span class='text_page_counter'>(53)</span><div class='page_container' data-page=53>

* <i>Ví dụ 2: Cho hình thoi ABCD có cạnh AB cố</i> <i>định. Minh hoạ quỹ tích giao điểm O </i>



<i>của hai đường chéo của hình thoi đó.</i>


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, bằng trực quan cũng như bằng kiếm
tra ta thấy rõ 3 điểm không thẳng hàng, vậy quỹ


tích có khả năng là một đường trịn đi qua B. Vì vai
trị điểm A và B như nhau nên khi cho điểm D tiến
trùng với điểm A, ta phát hiện được điểm A cũng
thuộc quỹ tích. Ta dự đốn quỹ tích điểm O là


đường trịn nhận AB là đường kính.


Bước 2: Vẽ một trường hợp bất kỳ, ta kiểm
tra điểm O có thuộc đường trịn nhận AB là đường kính hay khơng. Kết quả cho thấy <i>"Điểm </i>
<i>này nằm trên đối tượng".</i>



* <i>Ví dụ 3: Trong một đường trịn </i>(O), <i>AB là một đường kính cố</i> <i>định, M là một điểm </i>


<i>chạy trên đường tròn. Nối MA, MB và trên tia đối của </i>


<i>tia MA ta lấy điểm I sao cho MI </i>= <i>2MB. Tìm tập hợp </i>


<i>các điểm I nói trên.</i>


Với Cabri ta cho vị trí điểm M thay đổi, qua ba vị


trí cụ thể ta có ngay dựđốn: quỹ tích điểm I khơng thể


là thẳng, như vậy có khả năng quỹ tích điểm I là một
cung chứa góc. Từ đây gợi ý cho ta đi tìm yếu tố góc
khơng đổi.


<i>Điều đặc biệt ở bài này là: </i>Nếu sử dụng tính ln tựđồng dạng của tam giác MBI thì


chỉ dừng ở việc đưa ra kết luận góc ∠ AIB khơng đổi. Vậy quỹ tích là cung chứa góc dựng
trên đoạn thẳng AB. Tuy nhiên, với Cabri ta có được kết luận tương đối thú vị. <i>Quỹ tích </i>


<i>điểm I là nửa đường trịn đường kính BIO. Trong đó Io nằm trên tiếp tun với đường tròn </i>


<i>tại điểm A sao cho AIO </i>= <i>2AB.</i>


Ta mở rộng bài toán theo hai hướng sau:


</div>
<span class='text_page_counter'>(54)</span><div class='page_container' data-page=54>

<i>+ </i>MI = k.MB (với k là số thực dương cho
trước).



Kết quả cũng rất thú vị. Quỹ tích là một phần của
cung chứa góc đi qua


* <i>Ví dụ 4: Cho BC là một dây cung cố</i> <i>định của đường tròn </i>(O), <i>A là một điểm chạy </i>


<i>trên cung lớn BC sao cho tam giác ABC ln có 3 góc nhọn. Gọi M là điểm chính giữa của </i>


<i>cung nhỏ BC của đường trịn (O). Tìm quỹ tích các trung điểm I của AM.</i>


Sau khi dựđốn quỹ tích, ta phải chứng minh được góc ∠ OIM không đổi bằng 900,


điểm M, O cốđịnh, suy ra I nằm trên đường trịn đường kính OM.


Ởđây có một yếu tố góc khơng tường minh (đó
là tam giác ABC ln có 3 góc nhọn). Như vậy chắc
chắn ta phải kiểm tra giới hạn của quỹ tích. Bằng trực
quan cho điểm A di chuyển và để lại vết của điểm I
cho phép ta kiểm chứng được giới hạn của quỹ tích là
phần cung (mầu đỏ). Từ trực quan, ta dễ dàng xác


định được hai vị trí giới hạn của điểm A là điểm A1
và A2 ( tương ứng với các đường kính CA1và BA2
của đường trịn (O)).


* <i>Ví dụ 5: Cho hai đường thẳng vng góc </i>x, <i>y giao nhau tại điểm O. Tìm quỹ tích </i>


<i>điểm M biết bình phương khoảng cách từđiểm M trên đường thẳng y bằng khoảng cách từ</i>


<i>điểm M trên đường thẳng x </i>.



Xét theo góc độ hình học giải tích thì quỹ tích điểm M chính là tập hợp các điểm M(x,
y) sao cho y = x2. Tuy nhiên, với Cabri ta dựa hồn tồn vào kiến thức hình học là định lý
Talet để dựng quỹ tích.


- Dựng một đường trịn tâm O bán kính bằng 1 <i>.</i>


- Lấy một điểm X bất kỳ trên đường thẳng x và dựng đường trịn tâm O, có bán kính
OX.


- Nối điểm X với giao điểm của đường thẳng y với (O,1) (chọn giao điểm về phía dưới


đường thẳng xi gọi là d1 .


</div>
<span class='text_page_counter'>(55)</span><div class='page_container' data-page=55>

điểm về phía dưới đường thẳng x) kẻ đường thẳng song song với đoạn thẳng (d1) nói trên
gọi là d2.


- Xác định giao điểm A của d2 với đường thẳng
x.


- Dựng đường tròn (O, OA). Đường tròn này cắt


đường thẳng y tại B.


- Qua X, B lần lượt dựng các đường thẳng vng
góc với x, y. Hai đường thẳng này giao nhau tại điểm
M.


Dễ thấy MX = MB2.



- Cho điểm X di chuyển trên đường thẳng x để


minh hoạ quỹ tích cần tìm. Kết quả cho ta một parabol


<i>.</i>


<b>3.7. Khai thác phần mềm hình học động Cabri hỗ trợ dạy học tốn </b>
* <i>Ví dụ 1: </i>Minh hoạ <i>“Ảnh của một hình </i>


<i>qua phép vị tự”</i>.


- Dựng điểm O. Sử dụng chức năng., “Gõ


<i>số và đơn vị “</i> nhập một số thực k ≠ 0.


- Dựng hình H và ảnh Hệ của nó qua phép
vị tự tâm O tỉ số k (V0k).


- Khi thay đổi các yếu tố tạo nên hình H,
ta có ngay sự thay đổi tương ứng của hình H’.


- Cho thay đổi giá trị của k khi đó hình vẽ


cũng thay đổi theo, đặc biệt các giá trị k = 1 (phép đồng nhất) và k = -1 (phép đối xứng tâm
O).


* <i>Ví dụ 2: </i>Minh hoạ<i>"Nếu phép đối xứng trục biến hai điểm bất kỳ M và N thành hai </i>


<i>điểm </i>M', N’ <i>thì MN </i>= <i>M </i>N’ ".



Các bước thao tác với Cabri như sau:
- Dựng đường thẳng d.


- Dựng hai điểm M, N.


- Dựng ảnh M’ của M và N’ của N qua phép đối
xứng trục d (Đd)


- Dựng đoạn MM' và NN' bằng nét đứt


- Nối MN và M'N', đo độ dài của hai đoạn thẳng này


</div>
<span class='text_page_counter'>(56)</span><div class='page_container' data-page=56>

Ta cho thay đổi điểm M hoặc điểm N thì độ dài đoạn MN và M'N' cùng thay đổi
nhưng ln bằng nhau.


* <i>Ví dụ 3 </i>: Minh hoạ<i>"Phép vị tự biến 3 </i>


<i>điểm thẳng hàng thành 3 điểm thẳng hàng và </i>


<i>bảo tồn thứ tự của chúng </i>".


Ta thao tác với Cabri như sau:


- Dựng điểm O và nhập vào một số


thực k ≠ 0.


- Dựng đoạn thẳng AC.
- Lấy điểm B thuộc đoạn AC.



- Dựng điểm A' là ảnh của A qua phép Vok, nối OA’. Làm tương tự đối với B và C


(ảnh của chúng lần lượt là B', C').


- Sử dụng chức năng <i>"Xác định thẳng hàng" </i>để thấy rằng A', B', C' thẳng hàng và B’
nằm giữa A' và C'.


- Cho B chuyển động trên AC thì ta thấy B’ cũng chuyển động nhưng tính thẳng hàng
và thứ tự của 3 điểm A’, B', C' vẫn được bảo tồn.


- Thay đổi đoạn AC sao cho O, A, B, C thẳng hàng, thậm chí cho 1 trong 3 điểm A, B,
C trùng với O, ta vẫn thấy A', B', C' thẳng hàng và B’ nằm giữa A' và C'.


* <i>Ví dụ 4: </i>Minh hoạ<i>"Phép vị tự biến đường tròn thành đường tròn" .</i>


Thao tác với Cabri như sau:


- Dựng điểm O và gõ vào một số thực
k ≠ 0.


Dựng đường tròn (I,R), lấy M thuộc (I,R).
- Dựng ảnh I' của I qua phép Vok, nối OI.


- Dựng ảnh MI của 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 trên (I,R),
khi đó điểm MI cũng di chuyển và vạch ra quỹ tích của nó, quỹ tích đó nhìn trực quan có vẻ



như là một đường trịn tâm I'.


Từ dự đoán trên, ta giới thiệu định lý và gợi cho học sinh hướng để chứng minh: <i>Sẽ</i>


<i>chứng minh cho điểm M’ luôn cách điểm I' một khoảng không đổi. </i>Ta nối IMvà I’M’ rồi yêu


cầu học sinh sử dụng những kiến thức đã học <i>(định lý 1 của bài Phép vị tự" hoặc "tam giác </i>


<i>đồng dạng </i>") để chứng minh.


* <i>Ví dụ 5: </i>Hướng dẫn học sinh tìm lời giải bài tốn: <i>"Cho 3 phép đối xứng tâm ĐA,ĐB, </i>


</div>
<span class='text_page_counter'>(57)</span><div class='page_container' data-page=57>

<i>của M2 qua Đc. Chứng minh rằng trung điểm của đoạn thẳng MM3 là một điểm cốđịnh. Từ</i>


<i>đó suy ra quỹ tích của điểm M3 khi điểm M chạy trên một đường tròn (O) hay một đường </i>


<i>thẳng d </i>". Với Cabri có thể làm như sau:
- Dựng các điểm A, B, C, M.


- Dựng các điểm Ml, M2, M3 theo yêu cầu bài toán.


- Dựng trung điểm D của MM3


- Nối các đoạn MM1, M1M2. M2M3 bằng nét đứt và


các đoạn AB, BC, CD, DA, M3M1, MM3 bằng nét liền.


Ta cho điểm M thay đổi để minh hoạ cho kết luận
của bài toán.



Cũng trong quá trình di chuyển điểm M, yêu cầu


học sinh nhận xét về hình dáng của tứ giác ABCD (<i>là một hình bình hành cốđịnh) </i>từđó rút
ra hướng chứng minh: <i>Chứng minh cho D là đỉnh thứ tư của hình bình hành ABCD.</i>


Sau khi đã chứng minh được D là điểm cố định, nếu học sinh chưa giải được ý tiếp
theo của bài tốn thì ta có thể tiếp tục như sau:


- Đặt thuộc tính <i>"Để lại dâu vết </i>" cho điểm M3.


- Dựng đường tròn (O) hoặc đường thẳng d đi qua M.


- Cho điểm M di chuyển dọc trên (O) (hoặc d) để quan sát quỹ tích của M3, từđó xác


định phương hướng giải quyết.


* <i>Ví dụ 6: </i>Hướng dẫn học sinh tìm lời giải bài tốn: <i>"Cho hai điểm cố</i> <i>định B</i>, <i>C trên </i>


<i>đưng tròn (O) và một điểm A thay đổi trên đường trịn đó. Tìm </i>


<i>quỹ tích trực tâm H của tam giác </i>Thao tác :


- Dựng đường tròn (O).


- Dựng tam giác ABC nội tiếp trong đường tròn.


- Sử dụng Macro <i>"Đường cao </i>" để dựng các đường cao của
tam giác ABC, từđó xác định trực tâm H của tam giác đó.


- Cho điểm A chạy trên đường trịn (O) và theo dõi quỹ



tích của điểm H, ta sẽ thấy H chạy trên một đường tròn đi qua B,
C. Chọn 3 điểm trên đường tròn này và dùng Macro <i>"Tâm ngoại </i>
<i>tiếp </i>" để xác định tâm O' của đường trịn này.


Nhìn hình vẽ, học sinh có thể dựđốn rằng đường trịn (O') có bán kính bằng bán kính
của đường trịn (O) (ta có thể kiểm tra điều này bằng cách đo 2 bán kính của 2 đường trịn


đó, sau đó cho bán kính của đường trịn (O) thay đổi thì sẽ thấy bán kính của đường trịn
(O') cũng thay đổi theo). Từ dựđốn này, ta có thể hướng học sinh tới suy nghĩ rằng: (O') <i>là </i>


</div>
<span class='text_page_counter'>(58)</span><div class='page_container' data-page=58>

<i>tâm hoặc phép tịnh tiến. </i>Cụ thể như sau:


- Nếu là phép đối xứng trục thì trục là đường thẳng nào? <i>(Học sinh dễ nhận thấy rằng </i>


<i>đó là đường thẳng BC).</i>


Nếu là phép đối xứng tâm thì tâm đó là điểm nào? <i>(Học sinh dễ nhận thấy đó chính là </i>


<i>trung điểm I của BC).</i>


Nếu là phép tịnh tiến thì vectơ tịnh tiến là gì?


Cho điểm A chạy trên (O), ta thấy AH ln vng góc với BC và độ dài AH hình như


khơng đổi, từđó gợi ý học sinh chứng minh rằng véc tơ AH luôn bằng một vectơ không đổi
nào đó (đó chính là vectơ tịnh tiến cần tìm) để từđó đi đến kết luận: <i>A chính là tạo ảnh của </i>


<i>H qua phép tịnh tiến nói trên.</i>



- Ta có thểđưa ra một số trường hợp đặc biệt, chẳng hạn như cho A trùng với B hoặc
C và yêu cầu học sinh xác định điểm H


* <i>Ví dụ 7: </i>Hướng dẫn học sinh tìm lời giải bài tốn <i>"Cho đường trịn (O) và điểm P cố</i>


<i>định nằm ngoài </i>SO). <i>BC là một dây cung thay đổi của (O) nhưng có độ dài khơng đổi Tìm </i>


<i>quỹ tích trọng tâm của tam giác PBC </i>".


Để thể hiện giả thiết: <i>“Một dây </i>


<i>cung thay đổi nhưng có độ dài khơng </i>


<i>đổi của một đường trịn </i>“, ta có thể


làm như sau:


- Dựng 2 đường trịn đồng tâm
O nhưng bán kính khác nhau.


- 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 là giao điểm của d với đường trịn lớn. Dựng đoạn thẳng BC, sau đó làm ẩn


đi đường thẳng d và đường tròn nhỏ.


- Dựng điểm P nằm ngoài (O). Nối PB và PC.



- Dùng Macro <i>"Trọng tâm </i>" để dựng trọng tâm G của tam giác PBC.
- Nối IP thì dễ thấy G thuộc IP (vì I là trung điểm của BC).


- Xác định trạng thái <i>"Để lại dấu </i>vết cho điểm G, sau đó cầm điểm I di chuyển dọc
theo đường tròn nhỏ <i>(đường tròn nhỏ lúc này tuy đã bị</i> <i>ẩn đi nhưng do cách dựng điểm I </i>


<i>nên khi di chuyển thì I sẽ ln nằm trên đường trịn </i>đó), dây BC sẽ có độ dài khơng đổi vì


khoảng cách từ O đến BC ln bằng bán kính của đường trịn nhỏ.


- Quan sát dấu vết của điểm G để lại, ta dựđoán quỹ tích của G là một đường trịn. Từ


</div>
<span class='text_page_counter'>(59)</span><div class='page_container' data-page=59>

khi đã tìm được quỹ tích điểm I là đường trịn nhỏ thì cho đường trịn nhỏđó hiện lên rồi đi


đến kết luận: <i>'lquỹ tích M chính là ảnh của đường tròn nhỏ qua phép vị tự Vp2/3 .</i>


Ta mở rộng bài toán bằng cách di chuyển điểm P vào trong hoặc trên đường tròn để


nhận xét xem kết quả có cịn đúng khơng? <i>.</i>


* <i>Ví dụ 8: Cho điểm M di chuyển trên nửa đường trịn đường kính AB. Ta dựng bên </i>


<i>ngồi tam giác MAB các hình vng MBCD và MAEF.</i>


<i>Tìm quỹ tích các điểm C và E.</i>


Bước 1 : Ta xây dựng một Script <i>"Dựng hình vuông" </i>(tệp hvuong.gss) như sau:
Given:



Point A
Point B


1 <i>. </i>Let [j] = Segment between Point A and Point B.


2. Let C = 1mage of Point B rotated 90 degrees about center Point A.
3. Let D : 1mage of Point A rotated 90 degrees about center Point B.
4. Let [k] : Segment between Point C and Point D.


5. Let [l] = Segment between Point D and Point B.
6. 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 <i>"Dựng hình vng" </i>để dựng
các hình vng MBCD và MAEF khi xác định được các điểm cho trước M, B và A, M. Các
bước cụ thể thực hiện như sau:


- Dựng được 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 cửa sổ script "hvuong.gss" vừa mở. Ta
lần lượt được quan sát các bước dựng hình vng MAEF theo kịch bản đã tạo sân.


- Tương tự, dựng được hình vng MBCD với hai điểm khởi đầu là M, B.


Bước 3: Khai thác sự trợ giúp của
Sketchpad trong việc dựđốn quỹ tích của C và
E khi cho M di chuyển trên cung AB:


Chọn E và C, vào menu <i>Display </i>chọn nút


lệnh <i>Trace Object </i>để chọn chức năng để lại vết
của 2 điểm này khi chúng thay đổi.


- Chọn điểm M và cung AB, vào <i>Display </i>


</div>
<span class='text_page_counter'>(60)</span><div class='page_container' data-page=60>

hiện cửa sổ Path Match.


- Ấn vào nút <i>Animate, </i>rồi quan sát sự thay đổi tương ứng với M là hình dạng biến đổi
của các hình vng MBCD và MAEF, cùng sự thay đổi vị trí khác nhau của C và E. Tập
hợp các vị trí C và E đi qua khi M thay đổi chính là tập hợp điểm cần tìm.


Từ quan sát hình vẽ: C và E di chuyển theo cung trịn. Vấn đề đặt ra: "Cung trịn đó


được xác định cụ thể như thế nào? ". C và E chính là các ảnh của M qua phép quay lần lượt
tâm B và A. Do M di chuyển trên nửa đường trịn đường kính AB nên quỹ tích của C và E
là hai ảnh của đường tròn này trong các phép quay trên. Theo cách này, ta cần dựng thêm
hình vng ABB'A'. Đường cần tìm là 2 nửa đường trịn đường kính AA' và BB', ở bên
ngồi ABB'A'.


<i>* Ví dụ 9: </i>Hướng dẫn giải bài tập: <i>"Cho tam giác cân ABC (AB=BC). Gọi M là cung </i>


<i>điểm của đường cao AH, gọi D là giao điểm của cạnh AB với CM. Chứng minh rằng </i>


<i>AB</i>
<i>AD</i>


3
1
= ".



Hoạt động 1 : Sử dụng Cabri để vẽ tam giác cân ABC (AB=BC), đường cao AH, xác


định trung điểm M của AH, nối CM xác định D là giao điểm của CM với AB. <i>Học sinh </i>


<i>nhận xét đường cao AH đồng thời là đường trung tuyến </i>=> <i>BH=HC.</i>


Hoạt động 2: Xuất phát từ yêu cầu cần chứng
minh rằng <i>AD</i> <i>AB</i>


3
1


= , thì khi ta chia đoạn AB làm 3
phần bằng nhau bởi hai điểm chia thì điểm D phải là
một điểm, điểm cịn lại giả sửđặt tên là E. Dễ thấy E
phải là trung điểm của đoạn AD. Khi đó ta có 3 đoạn
thẳng bằng nhau AD=DE=EA (điều đó được minh
hoạ bằng kết quả con số trên màn hình là 2 cm).


Hoạt động 3: Ta nối E với H. Từ trực giác thấy hai đường thẳng HE và CD song song
và sử dụng Cabri để khẳng định điều đó.


Hoạt động 4: Ta có BH=HC và BE=ED, vậy HE đi qua trung điểm hai cạnh của tam
giác CDB nên nó phải song song với cạnh thứ ba là CD =>HE // CD => HE // MD.


Hoạt động 5: Với tam giác AEH, ta có:


AM = MH VÀ MD // HE, vậy đường thẳng MD đi qua trung điểm của cạnh AH và
song song với cạnh thứ hai là HE vậy nó phải đi qua trung điểm cạnh thứ ba tức là: AD =
DE. Vậy ta có AD = DE = EB => ĐPCM.



* <i>Ví dụ 10: Tìm mối liên hệ giữa khoảng cách từ giao điểm các đường trung trực của </i>


<i>tam giác đến một cạnh và khoảng cách từ trực tâm đến đỉnh đối diện với cạnh đó. </i>Sử dụng


</div>
<span class='text_page_counter'>(61)</span><div class='page_container' data-page=61>

Hoạt động 2: Sử dụng chức năng "Khoảng cách và
chiều dài" xác định sốđo của đoạn KE và HB. Học sinh
thực hiện phép chia và nhận được kết quả HB:KE là 2.


Hoạt động 3 : Cho tam giác ABC thay đổi. Học
sinh nhận được thông báo của Cabri: tỷ số HB:KE
không thay đổi và luôn bằng 2. Như vậy học sinh dự
đốn và tìm cách chứng minh tỷ số HB:KE ln bằng 2.
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ũ: trong một tam giác, đường trung bình của tam giác song song với
cạnh thứ ba và bằng nửa cạnh đó. Như vậy, nếu ta xác định được một tam giác mà đường
trung bình có sốđo bằng số đo KE và cạnh tương ứng có sốđo bằng sốđo cạnh HB thì bài
toán được giải quyết.


Hoạt động 5: Kẻ tia CK. Ta đã có E là trung điểm AC nên ta gợi ý cho học sinh kẻ


thêm các đường phụ sao cho KE là đường trung bình của tam giác mà A và C là hai đỉnh.
Gọi đỉnh còn lại của tam giác cần tủn là Q, theo cách dựng Anh KE vậy học sinh xác định


được đỉnh Q bằng cách từ A kẻ Ax // KE cắt CK tại điểm Q. Vậy với cách dựng trên thì KE
là đường trung bình của ∆ ACQ và KE bằng một nửa AQ <i>. </i>


Hoạt động 6: Giáo viên đặt vấn đề: để chứng minh KE bằng một nửa HB, ta cần chứng
minh được HB bằng AQ.(H5)



Từ B kẻ By // KF, giả sử By cắt CK tại Q'. Theo cách dựng KF là đường trung bình
của tam giác CBQ' và do đó ta có Q'K=KC (*), mặt khác vì KE là đường trung bình của tam
giác ACQ nên KC=KQ (**). Từ * và ** chứng tỏ Q trùng với Q' suy ra BH=AQ. Đến đây
ta đã giải quyết song bài toán: Kết quả hai khoảng cách luôn tỷ lệ với nhau với tỷ số bằng 2


* <i>Ví dụ 11 </i>: <i>Cho góc xay khác góc bẹt, Az là tia phân giác, B là điểm cốđịnh trên tia </i>


<i>Ax, C là điểm chuyển động trên đoạn thẳng AB, D là điểm chuyển động trên tia Ay sao cho </i>


<i>AD=BC. Chứng minh rằng đường trung trực của đoạn thẳng CD luôn luôn đi qua một điểm </i>


<i>cốđịnh khi </i>C, <i>D di động. </i>


Trước tiên học sinh dùng Cabri để vẽ hình, sau


đó cho thay đổi vị trí điểm C để dự đốn điểm cố
định.


Một số học sinh phát hiện ra điểm cố định là
giao của tia phân giác góc  với đường thẳng trung
trực của đoạn thẳng AB. Một số phận học sinh lại cho


điểm C di chuyển đến những vị trí đặc biệt và phát
hiện ra được điểm cố định chính là giao của hai


đường trung trực của đoạn thẳng AB và AD'. (D' trên tia Ay sao cho AD'=AB).


</div>
<span class='text_page_counter'>(62)</span><div class='page_container' data-page=62>

mình là chính xác.


Đến đây, có học sinh cảm thấy hình như có 2



điểm cố định ! <i>. </i>Để tìm hiểu vấn đề này học sinh sử


dụng chức năng kiểm tra “<i>Nằm trên đôi tượng” </i>và
kết quả cho thấy giao hai đường trung trực nằm trên
tia phân giác của góc A. Như vậy đây chỉ là 2 cách
xác định điểm cốđịnh.


Sau quá trình mò mẫm, phát hiện, học sinh đã
chứng minh được đường trung trực của đoạn thẳng
CD luôn luôn đi qua một điểm cố định khi C, D di


động.


Tuy nhiên học sinh cũng rất khó hình dung trọn vẹn hình ảnh điểm "cố<i>định" </i>khi C, D
di động ra sau?. Ta sử dụng chức năng để lại vết
khi cho C,D di động, học sinh sẽ được tận mắt
quan sát hình ảnh và hình dung đầy đủ về điểm
cốđịnh.


<i>Ví dụ 12: Cho tam giác đều ABC, M là trung điểm của BC. Vẽ ME song song </i>với <i>AB </i>


<i>(E thuộc </i>AC), <i>vẽ MF song song với AC (F thuộc AB). Chứng minh rằng</i>


∆<i> BME = </i>∆<i>FMC .</i>


Bước 1 : Sử dụng Cabri để vẽ hình.


Với giả thiết M là trung điểm của BC, học sinh dễ dàng chứng
minh được ∆BME = ∆FMC (c.c.c).



</div>
<span class='text_page_counter'>(63)</span><div class='page_container' data-page=63>

Bước 3: Tìm tịi hướng chứng minh.


Có ME//AB nên góc ∠ CME ln bằng 600<sub> (góc </sub><sub>đồ</sub><sub>ng v</sub><sub>ị</sub><sub>), </sub>


mặt khác góc ∠ MCE bằng 600 (gt) vậy ∆ MCE là tam giác đều
nên ME=MC (*).


-Tương tự ta có ∆ MBF là tam giác đều nên MB=MF (**).
Mặt khác ta có góc ∠ FMC bằng góc ∠ EMB.


-Vậy ∆ BME = ∆ FMC (c.g.c). Như vậy với Cabri đã giúp học sinh mở rộng bài toán


đã cho và giải quyết được trọn vẹn bài tốn đó.
<b>3.8. Thảo luận và bài tập </b>


* Hãy đưa ra các ví dụ cụ thể về việc khai thác phần mềm hình học động trong các tình
huống điển hình của dạy học tốn:


- Dạy học khái niệm.
- Dạy học định lý.


- Dạy học giải bài tập. <i>. . .</i>


* Xây dựng một số bài 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


</div>
<span class='text_page_counter'>(64)</span><div class='page_container' data-page=64>

<b>Chương 4 </b>


<b>HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MAPLE </b>
<b>4.1. Tổng quan chung về phần mềm Maple </b>



Phần mềm Maple là kết quả của nhóm các nhà khoa học trường Đại học Waterloo -
Canada và là một trong những bộ phần mềm toán học được sử dụng rộng rãi nhất hiện nay.


MAPLE là phần mềm có một mơi trường tính tốn khá phong phú, hỗ trợ hầu hết các
lĩnh vực của tốn học như: Giải tích số, đồ thị, đại số hình thức... do đó ta dễ dàng tính được
các 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 của hàm số, vẽ đồ thị, tính diện tích, thể tích, biến đổi ma
trận, khai triển các 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... và lập trình giải các bài tốn với cấu trúc chương trình đơn
giản. Ngoài ra, với phần mềm này ta dễ dàng biên soạn các sách giáo khoa điện tử với chức
năng Hyperlink tạo các siêu văn bản rất đơn giản mà không cần đến sự hỗ trợ của bất kỳ


một phần mềm nào khác (chẳng hạn PageText, Word, Frontpage...). Với các chức năng trên,
MAPLE là công cụđắc lực hỗ trợ cho những người làm toán.


<b>4.2. Làm việc với Maple </b>
* Khởi động Maple:


Nếu Maple được cài đặt đúng quy trình, để làm việc với MAPLE ta chọn:


<b>->Sart -> Programs -> Maple9 -> Classic Worksheet Maple 9 ho</b>ặc bấm chuột vào
biểu tượng của Maple 9 trên màn hình:


* Thốt khỏi Maple:


</div>
<span class='text_page_counter'>(65)</span><div class='page_container' data-page=65>

<b>4.3. Giao diện của cửa sổ làm việc của Maple </b>


Giao diện làm việc của Maple gồm các thành phần cơ bản như sau:



<i>Các thành phần chính của cửa sổ làm việc của Maple </i>:


* Tittle Bar (Thanh tiêu đề): Dịng chứa tên chương trình và tệp đang mở.


* Menu Bar (Thực đơn ngang): Dòng chứa các chức năng, ứng với mỗi chức năng là
một thực đơn dọc tương ứng.


* Toal Bar (Thanh công cụ): Chứa một số biểu tượng (Icon) thể hiện một 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 hiện lệnh, dung lượng nhớ các
biến chiếm khi thực hiện chương trình và dung lượng bộ nhớ còn trống


</div>
<span class='text_page_counter'>(66)</span><div class='page_container' data-page=66>

<b>4.4. Các thao tác cơ bản trong với Maple </b>


<i><b>4.4.1. Qu</b><b>ả</b><b>n lý thông tin v</b><b>ớ</b><b>i Maple </b></i>


Với Maple, các thao tác cơ bản như: lưu trữ tệp, mở một tệp đã có, mở một tệp mới,...
hoàn toàn tương tự như các phần mềm quen thuộc trong môi trường Windows như


Winword, Excell,...
* Lưu trữ tệp:


Cách 1 : -> File -> Save
Cách 2: bấm vào biểu tượng


Cách 3 : nhấn đồng thời 2 phùn CTRL và S.


Nếu là lần đầu lưu trữ, xuất hiện cửa sổđể ta nhập tên tệp, nhập tên tệp xong thì nhấn
chuột vào nút SAVE để thực hiện.



* Mở một tệp đã có trên đĩa
Cách 1 : ->File -> Open <i>..</i>


Cách 2: bấm vào biểu tượng:


Cách 3: nhấn đồng thời 2 phím CTRL và O.


Sẽ xuất hiện cửa sổđể ta chọn thư mục lưu trữ tệp và tên tệp. Ta chọn tên tệp cần mở,
nhấn vào nút Open.


* Mở một tệp mới
Cách 1 : ->File->New
Cách 2: bấm vào biểu tượng


Cách 3 : nhấn đồng thời 2 phím CTRL và N.
* Đóng tệp


<b>->File -> Close </b>


Nếu tệp chưa được lưu trữ, Maple sẽ nhắc ta có ghi hay khơng (Y/N).
* Kết thúc phiên làm việc:


Cách 1 : -> File -> Exit


Cách 2: nhấn đồng thời 2 phím : ALT và F4


Cách 3: nhấn vào nút Close [x] đểđóng cửa sổ soạn thảo.


<i><b>4.4.2. Các thao tác h</b><b>ỗ</b><b> tr</b><b>ợ</b><b> khi so</b><b>ạ</b><b>n th</b><b>ả</b><b>o v</b><b>ớ</b><b>i Maple </b></i>



* <i>Đánh dấu đoạn.</i>


</div>
<span class='text_page_counter'>(67)</span><div class='page_container' data-page=67>

giữ phím trái rồi rê tới cuối đoạn cán chọn, sau đó bng phím trái ra. Nếu muốn huỷ phần
vừa chọn, hãy dịch trỏ chuột thoát ra khỏi vùng vừa chọn rồi ấn phím trái. Phần vừa chọn sẽ


bị huỷ bỏ và trở lại trạng thái bình thường.


- Đánh dấu bằng bàn phím: Đưa con trỏđến vị trí đầu đoạn, bấm giữ phím Shift và di
chuyển con trỏđến vị trí cuối đoạn (bằng các phím điều khiển con trỏ).


Đánh dấu cả tệp: Từ bàn phím, gõ vào tổ hợp phím Ctrl+A hoặc kích chuột vào Menu
<b>Edit, ch</b>ọn Seclect All.


* <i>Cắt xoá đoạn </i>:


- Đánh dấu đoạn cần xoá.


- Nháy chuột vào Menu Edit, chọn Cut hoặc bấm Ctrl+X từ bàn phím.
- Nếu dùng trên thanh cơng cụ thì ta chọn vào


- Từ bàn phím ta cịn có thể nhấn phím Dell.


* <i>Sao chép một đoạn:</i>


- Đánh dấu đoạn cần sao chép


- Nháy chuột vào Menu Edit, chọn Copy hoặc bấm Ctrl+C từ bàn phím
- Nếu dùng trên thanh cơng cụ thì ta chọn vào .



- Đặt con trỏ chuột vào nơi cần sao chép đến. Nháy chuột vào Menu Edit, chọn Paste
hoặc bấm Ctrl+V từ bàn phín.


- Nếu dùng trên thanh cơng cụ thì ta chọn vào hoặc có thể đặt trỏ chuột vào


đoạn đã được chọn cần chọn đồng thời ấn phím Ctrl và giữ phím trái rồi rê tới nơi cần sao
chép đến, sau đó bng chuột ra.


<i><b>4.4.3. </b><b>Đ</b><b>inh d</b><b>ạ</b><b>ng các </b><b>đố</b><b>i t</b><b>ượ</b><b>ng trong Maple </b></i>


Đểđịnh dạng các đối tượng trong Maple, như thay đổi kiểu chữ của các dịng lệnh, các
dịng thơng báo kết quả, lề... ta tiến hành như sau:


Bước 1 : Lựa chọn đối tượng.


</div>
<span class='text_page_counter'>(68)</span><div class='page_container' data-page=68>

Để thay đổi các thông số ngầm định, ta chọn: -> Format-> Styles. Xuất hiện bảng để


ta khai báo các thông số cần xác định.


<i><b>4.4.4. Các </b><b>đố</b><b>i t</b><b>ượ</b><b>ng c</b><b>ơ</b><b> b</b><b>ả</b><b>n tích h</b><b>ợ</b><b>p trong m</b><b>ộ</b><b>t t</b><b>ệ</b><b>p tin c</b><b>ủ</b><b>a Maple </b></i>


<i>+ </i>Worksheet là môi trường mà người sử dụng có thể tính tốn, thực hành trên đó cịn


được gọi là trang cơng tác. Khi người sử dụng lưu trữ các kết quả lên đĩa từ, mỗi Worksheet


được ghi thành một File với phần mở rộng ngầm định là mws <i>. </i>Một Worksheet của Maple
thường có những thành phần sau:


</div>
<span class='text_page_counter'>(69)</span><div class='page_container' data-page=69>

kết quả tính tốn của Maple, đồ thị,...



Để tạo một cụm xử lý mới, ta kích chuột vào biểu tượng [> trên thanh công cụ hoặc
chọn: -> Insert -> Execution Group -> After cursor.


- Đoạn (Paragraph): Khái niệm Paragraph với Maple được hiểu như khái niệm
Paragraph của phần mềm soạn thảo văn bản Winword. Để tạo một Paragraph mới, ta chọn:
<b>Insert-> Paagraph -> After cursor. </b>


- Mục (Section): Mục có thể coi như là các modul thành phần cấu thành nên trang
công tác. Một trang có thể gồm nhiều mục, mỗi mục có thể chứa những đoạn và những mục
con. Biểu tượng của mục là dấu [+], nếu ta nháy chuột vào biểu tượng này thì nội dung của
mục được trải ra và biểu tượng của mục sẽ biến thành [-], nếu ta nháy chuột vào biểu tượng
['] này thì nội dung của mục sẽ 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 rất quen thuộc với
chúng ta trong thời đại bùng nổ của Internet. Một siêu liên kết là đối tượng mà nếu ta kích
hoạt vào đó thì sẽ dẫn ta đến một đoạn, một mục hay một Worksheet nào 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: <b>-> Format -> Convert to -> </b>
<b>Hyperlink. </b>


Tại mục: Linh Target có các sự


lựa chọn:


- URL: Liên kết đến một địa chỉ


websize nào đó.


<b>- Worksheet: Liên k</b>ết đến một


tệp nào đó của Maple.


- <b>Help Topic: Chuy</b>ển đến một
chủ đề nào đó trong nội dung
Help của Maple.


- <b>Bookmark: Chuy</b>ển đến một
bookmark nào đó đã được định
nghĩa trước đó.


Có thể nhấn <i><b>Browse</b></i> để tìm kiếm địa chỉ đích của mối liên kết. Khai báo xong nhấn
OK để hoàn tất.


Văn bản (Text): là đối tượng được sử dụng rất nhiều trong Maple với mục đích cung
cấp thơng tin dưới dạng văn bản.


Để tạo đoạn văn bản mới, ta kích chuột vào biểu tượng chữ [T] trên thanh Toal Bar
hoặc có thể chọn: -> Insert -> Text.


</div>
<span class='text_page_counter'>(70)</span><div class='page_container' data-page=70>

<i>+ </i>Lệnh của Maple (Maple Input) là những từ tựa tiếng Anh được sử dụng theo một
nghĩa nhất định và phải tuân theo cú pháp của Maple. Lệnh được nhập sau dấu nhắc lệnh
"[>" và kết thúc bởi dấu “ : ” hoặc " ; ", ví dụ để giải phương trình 5x2 <i>+ </i>3x- 2 = 0, ta gõ
lệnh [> solve(5*x^2 <i>+ </i>3*x- 2,{xi}); ↵.


Mỗi câu lệnh của Maple nếu kết thúc lệnh bằng dấu (;) kết quả sẽ hiển thị ngay ra màn
hình, nếu kết thúc lệnh bằng dấu (:) thì Maple vẫn tiến hành tính tốn bình thường nhưng
kết quả khơng hiển thị ra màn hình. Lệnh được thực hiện khi con trỏ ở trong hoặc ở cuối
dòng lệnh mà ta nhấn Enter (kí hiệu ↵).


Lệnh của Maple có hai loại lệnh trơ và lệnh trực tiếp: Lệnh trơ và lệnh trực tiếp chỉ



khác nhau ở chỗ chữ cái đầu tiên của lệnh trơ viết ìn hoa, lệnh trực tiếp cho kết quả ngay,
còn lệnh trơ chỉ cho ta biểu thức tượng trưng. Ví dụ: Tính <i>đề thi </i>


<i>tuyển sinh ĐHTN </i>- <i>Khối D </i>- <i>1999)</i>


- Nếu ta sử dụng lệnh trơ Limit, kết quả như sau:


Nếu ta sử dụng lệnh trực tiếp, kết quả như sau:


Tuy nhiên kết quả trên chưa gọn, ta có thể sử dụng lệnh sau:


như vậy kết quả <sub>64</sub>(1/3)


192
1
2
1<sub>+</sub>


sau khi đã rút gọn là
48
25


Kết quả tính tốn (Maple Output) sẽ được đưa ra màn hình, thường là mầu xanh cơ
ban sau khi ta nhấn phím enter để thực hiện câu lệnh.


Tuy nhiên Maple cũng có chếđộ cho phép thực hiện nhóm các câu lệnh <i>(như tệp bai </i>


<i>của MS </i>- <i>DOS) </i>để người sử dụng thực hiện một nhóm các câu lệnh nhằm giải quyết một vấn



đề nào đó, ví dụ tính tích phân <i>(Đề thi tuyển sinh ĐHTN </i>- <i>khối A </i>- <i>1996).</i>


Ta nhập vào 2 dòng lệnh sau:


</div>
<span class='text_page_counter'>(71)</span><div class='page_container' data-page=71>

T:=n->int(sin(x)^(2*n),x=0..Pi/2); ↵
màn hình sẽ hiện kết quả như sau:


Để tính giá trị tích phân với một n cụ thể ta chỉ việc gõ .lệnh [>T(n) ↵, chẳng hạn với
với n = 100, ta có :


và cần tính , ta chỉ gõ [>l (2004) ↵


Đồ thị (Graph): Maple cho phép vẽ và hiển thị đồ thị trong trang công tác, tính năng
này được gọi là “Khả năng đồ hoạ trực tiếp”


Ví dụ: vẽ đồ thị hàm số với m = 0 <i>(Đề thi tuyển sinh vào </i>


<i>ĐHTN </i>- <i>năm học 1999 </i>- <i>2000, khối </i>A, <i>B). </i>Ta sử dụng lệnh phụ như sau


[> plot(x^3/3-x+2/3,x=-3..2); ↵<i>. Kết quả ta được đồ thị như sau:</i>


<b>4.5. Sử dụng các lệnh của Maple </b>


Nội dung này, bạn đọc cần tham khảo những tài liệu của nhóm tác giả Phạm Huy


Điển, Đinh Thế Lục, Tạ Duy Phượng [l], [2], ở đây chúng tôi chỉ liệt kê lại một số câu lệnh


đơn giản thường sử dụng trong chương trình tốn phổ thơng và chương trình tốn ở trường


Đại học.



Làm quen với các lệnh của Maple:


<i>+ </i>Lệnh [> restart; ↵


</div>
<span class='text_page_counter'>(72)</span><div class='page_container' data-page=72>

Để xác định giá trị cho một biến, một hằng, một hàm hoặc khai báo một thủ tục Maple
sử dụng câu lệnh gán ":=", ví dụ:


Xác định biến n nhận giá trị bằng 5:
[> n := 5; ↵


Khai báo hàm f(x)= x2:


[> f := x->x ^2; ↵


<i>f:= x-x2 </i>


Sau khi khai báo hàm f(x), để biết giá trị của f(x) tại một điểm xo nào đó ta chỉ việc gõ
tên hàm và giá trị x0 trong ngoặc, ví dụ tính giá trị f(x) tại x0=3:


[> f(3); ↵


9


Khai báo một chương trình con (procedure) có tên là p với 2 tham số hình thức là a, b.
Kết quả thực hiện thủ tục cho ta giá trị của a2 <i>+ </i>b2, ví dụ:


[> p := proc(a, b) # chú ý nhấn phím Shift+Enter để xuống dòng
local c; c := a^2 <i>+ </i>b^21 c; # trả lại giá trị cuối cùng



end proc:


Để tính giá trị của thủ tục p nói trên với tham số thực sự là 2 và y, ta gõ lệnh:
[> p(2, y); ↵


4 <i>+</i> y2


Maple cung cấp một hệ thống các hàm hầu như phủ khắp các lĩnh vực của tốn học, ta
có thể kể một số hàm thông dụng:


[> factor(6*x^2 <i>+ </i>18*x - 24); #Phân tích một đa thức thành tích các nhân tử↵


6 (x <i>+ </i>4 ) (x - 1)
[> expand((x <i>+ </i>1 )^3); #Triển khai một biểu thức ↵


x3<i>+ </i>3x2<i>+ </i>3x<i> + </i>1


[> normal( (x^2 - y^2)/(x - y)^3 ); #Đưa một biểu thức về dạng chuẩn hoá


[> simplify(4^(1/2) <i>+ </i>3); #Đơn giản, rút gọn một biểu thức ↵
[> z := (x^2 <i>+ </i>1)/(x - y); #Khai báo dạng tổng quát cua Z ↵


</div>
<span class='text_page_counter'>(73)</span><div class='page_container' data-page=73>

[> numer(z); #Tách tử số của một phân thức ↵
x2<i>+ </i>1
[> denom(z); #Tách mẫu số của một phân thức ↵


<i>x </i>- y


[> eval(x^3 <i>+ </i>2*x^2 - 7*x <i>+ </i>5, x=3); #Tính giá trị của một biểu thức ↵
29



[> solve(x^2 <i>+ </i>x : 1,x); #Giải phương trình hoặc hệ phương trình ↵


[> solve({u <i>+ </i>v <i>+ </i>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 <i>+ </i>x^4 - 3*x <i>+ </i>2, x), #Lấy đạo hàm của một biểu thức theo một biến ↵
2x + 4x3 -3


[> int(sin(x), x); #Lấy tích phân của một hàm số↵
-cos( <i>x </i>)


[> limit(sin(x)/x, x=0); #Tính giới hạn của một hàm số↵
1


[> limit(g(x), x = infinity; ↵


[>plot(sin(x),x=0..2*pi); # Lệnh vẽđồ thị trong mặt phẳng ↵


[>plot3d(sin(x*y), x=0..1, y=0..1); # Lệnh vẽđồ thị trong khơng gian ↵


Như vậy, có thể thấy việc sử dụng câu lệnh của Maple rất đơn giản, trực quan. Bản
thân phần mềm Maple cũng có một hệ thống trợ giúp (Help) rất phong phú đủ cho những ai
có lịng nhiệt tình muốn tìm hiểu Maple.



<i><b>4.5.1. Nhóm các l</b><b>ệ</b><b>nh tính tốn x</b><b>ử</b><b> lý các v</b><b>ấ</b><b>n </b><b>đề</b><b> trong s</b><b>ố</b><b> h</b><b>ọ</b><b>c, </b><b>đạ</b><b>i s</b><b>ố</b></i>


</div>
<span class='text_page_counter'>(74)</span><div class='page_container' data-page=74>

[> (1245.67+2345.34^2)/(123.45^3+234.23); ↵


<i>+ </i>Lệnh tìm UCLN: gcd(a,b);, ví dụ [> gcd(55,100);


<i>+ </i>Lệnh tìm bội chung nhỏ nhất: lcm(a,b);,ví dụ [> lcm(4,6); ↵


<i>+ </i>Lệnh phân tích một số ra thừa số nguyên tố:ifactor(a); Ví dụ:
[> ifactor(2061962); ↵


(2) (7) (147283 )


<i>+ </i>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); ↵


<i>+ </i>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); ↵


<i>+ </i>Lệnh tìm nghiệm nguyên của phương trình: isolve(f, { x,y. <i>. . </i>} ); Trong đó f là biểu
thức của phương trình hoặc hệ phương trình, { x,y... } là danh sách các ẩn.


Ví dụ, tìm nghiệm ngun của bài tốn cổ vừa gà vừa chó bó lại cho trịn 36 con 100
chân chẵn. Gọi số gà là x, số chó là y ta thực hiện lệnh:



[> isolve({2*x+4*y=100,x+y=36},{x,y}) ↵


{y = 14. x = 22 }


Kết quả cho ta đáp số của bài toán là: số gà là 22, số chó là 14.


+ Lệnh tìm thương và phần dư: iquo(a,b); và irem(a,b); trong đó a, b là các biểu thức.
Ví dụ với a = 23, b = 4, ta gõ lệnh:


[> Thuong = iquo(23,4); ↵


<i>Thuong </i>= 5


[> Du = irem(23,4); ↵


Du = 3


<i>+ </i>Lệnh tìm số nhỏ nhất và số lớn nhất trong một dãy số min(); và max(); trong dấu
ngoặc đơn cần liệt kê các số, biểu thức số cần thao tác.


</div>
<span class='text_page_counter'>(75)</span><div class='page_container' data-page=75>

<i>+ </i>Lệnh tính tổng vơ hạn và tổng hữu hạn các số hạng sum(f,n=a..b); trong đó f là biểu
thức của số hạng tổng quát, a,b …∈ N là cận dưới, cận trên của giới hạn tính tổng, ví dụ:


<i>+ </i>Lệnh tính tích hữu hạn và vơ hạn các số Product(f, n=a..b); trong đó f là biểu thức
của số hạng tổng quát, a,b …∈ N là cận dưới, cận trên của giới hạn tính tích, ví dụ:


<i>+ </i>Xác định độ chính xác của các phép tính số học: evalf(f,n); trong đó f là biểu thức, n
là số các chữ số sau dấu phẩy, ví dụ:



[> eval(Pi,30); ↵


3.14159265358979323846264338328


<i>+ </i>Tính tốn với các số phức được Maple thực hiện theo quy tắc thông thường, ví dụ:


<i>+ </i>Chuyển số phức x về dạng toạđộ cực: convert((x),polar), ví dụ:


</div>
<span class='text_page_counter'>(76)</span><div class='page_container' data-page=76>

ví dụ:


<i>+ </i>Lệnh phân tích đa thức thành nhân tử: ractor(f),
ví dụ:


<i>+ </i>Lệnh xác định bậc của đa thức : degree(f),
ví dụ:


<i>+ </i>Lệnh viết đa thức dưới dạng bình phương của tổng: <b>completesquare() (l</b>ệnh này
phải phải mở gói cơng cụ student), ví dụ:


<i>+ </i>Lệnh sắp xếp đa thức theo bậc: collect(f,x), trong đó f là biểu thức, x là ẩn chọn để


xếp theo thứ bậc, ví dụ:


<i>+ </i>Lệnh đơn giản (rút gọn) biểu thức: simplify(),


<i>+ </i>Lệnh tối giản phân thức: normal().


</div>
<span class='text_page_counter'>(77)</span><div class='page_container' data-page=77>

viện readlib(rationalize), ví dụ:


<i>+ </i>Khai báo hàm số: Đểđịnh nghĩa hàm số ta dùng dấu gán (:=).


ví dụ:


Sau khi đã định nghĩa hàm số ta có thể tính giá trị của hàm số, ví dụ tính giá trị của
hàm số tại x=0.1 2345 :


[> f(0.12345); ↵


-0.8677073006


<i>+ </i>Giải phương trình solve(f, { d/s biến } )


Bước 1 : định nghĩa phương trình bởi lệnh gán :=, ví dụ :


Bước 2: giải phương trình bằng lệnh solve();


<i>+ </i>Giải hệ phương trình solve( { d/s, pt }, { d/s ẩn } ).


</div>
<span class='text_page_counter'>(78)</span><div class='page_container' data-page=78>

Bước 2: giải phương trình bằng lệnh solve.


<i>+ </i>Giải bất phương trình solve() :


Bước 1 : định nghĩa các bất phương trình bằng lệnh gán :=


Bước 2: dùng lệnh solve():


Ta có thể giải trực tiếp bất phương trình trên như sau :


<i>+ </i>Giải hệ bất phương trình với lệnh solve(), ví dụ :
Bước 1 : định nghĩa các bất phương trình:



Bước 2: dùng lệnh :


[> solve({Bpt1,Bpt2},x); ↵


{l <x,x <4}, {8 <i><x~x </i><10}


Hoặc ta có thểđưa trực tiếp bất phương trình vào trong câu lệnh như sau:


<i><b>4.5.2. Nhóm các l</b><b>ệ</b><b>nh tính tốn x</b><b>ử</b><b> lý trong </b><b>đạ</b><b>i s</b><b>ố</b><b> tuy</b><b>ế</b><b>n tính </b></i>


Để khai thác thế mạnh của Maple trong lĩnh vực đại số tuyến tính, ta khởi động
chương trình bằng lệnh restart và nạp gói công cụ chuyên ngành linalg


</div>
<span class='text_page_counter'>(79)</span><div class='page_container' data-page=79>

<i>+ </i>Lệnh so sánh hai ma trận có cùng số chiều: equal()


Trước tiên ta khai báo sử dụng gói công cụđại số linalg bởi lệnh


Thực hiện phép so sánh các ma trận trên bởi lệnh:


<i>+ </i>Lệnh tính tổng của hai ma trận: evalm() hoặc add(), ví dụ


<i>+ </i>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ó:


</div>
<span class='text_page_counter'>(80)</span><div class='page_container' data-page=80>

<i>+ </i>Lệnh tính tích vơ hướng của hai véc tơ: dotprod(), ví dụ:


<i>+ </i>Lệnh hốn vị dịng (cột) của ma trận swaprow(), swapcol(), ví dụ:


</div>
<span class='text_page_counter'>(81)</span><div class='page_container' data-page=81>

<i>+ </i>Lệnh tìm ma trận chuyển vị: transpose(), ví dụ:



<i>+ </i>Lệnh tìm bất biến của ma trận permanent(), ví dụ:


<i>+ </i>Lệnh tính giá trị riêng và véc tơ riêng của ma trận eigenvectors (), ví dụ:


</div>
<span class='text_page_counter'>(82)</span><div class='page_container' data-page=82>

các véc tơ cơ sở của không gian riêng ứng với giá trị riêng đó. Mỗi móc vuông ứng với một
giá trị riêng của ma trận, cụ thể:


+ Lệnh tìm ma trận đặc trưng charmat(), ví dụ:


<i>+ </i>Lệnh tìm đa thức đặc trưng của ma trận: charpoly(), ví dụ:


<i>+ </i>Lệnh tính hạng của ma trận rank(), ví dụ:


</div>
<span class='text_page_counter'>(83)</span><div class='page_container' data-page=83>

<i>+ </i>Lệnh giải phương trình đại số tuyến tính Ax=u: linsolve (), ví dụ:


<i><b>4.5.3. Các câu l</b><b>ệ</b><b>nh v</b><b>ẽ</b><b>đồ</b><b> th</b><b>ị</b><b> c</b><b>ủ</b><b>a Maple </b></i>


Bắt đầu khởi động chương trình bằng lệnh <b>[>restart: và ti</b>ến hành nạp chức năng vẽ
đồ thị bằng lệnh [>with(plots); [>with(plottools);


* Vẽđồ thị trong không gian hai chiều plot().
Ví dụ 1 : vẽđồ thị hàm số x4+2x3-x2+ 1


</div>
<span class='text_page_counter'>(84)</span><div class='page_container' data-page=84>

Ví dụ 3: Vẽđồ thị hàm số y= x4+2x3<sub>-x</sub>2<sub>+ l và y=2x</sub>3<sub>-2*x+2 trên cùng h</sub><sub>ệ</sub><sub> tr</sub><sub>ụ</sub><sub>c to</sub><sub>ạ</sub><sub>độ</sub><sub>: </sub>


*Vẽđồ thị hàm ẩn implicitplot().


Ví dụ: vẽ elip có phương trình x2/9 <i>+ </i>y2/4 = 1 .


* Vẽđồ thị hàm xác định từng khúc:



Trước hết cần, khai báo hàm từng khúc với câu lệnh: piecewise(),


</div>
<span class='text_page_counter'>(85)</span><div class='page_container' data-page=85>

* Vẽđồ thị hàm sin, cos theo tham số t [> plot([sin(t),cos(t)],t=-Pi..Pi); ↵


* Vẽđồ thị trong không gian ba chiều


Trước tiên ta khởi động chương trình và nạp thư viện
[> restart: with(plots): with(plottools): ↵


Tiếp theo vẽ mặt hai chiều trong không gian ba chiều bằng lệnh plot3d()


[> c1:= [cos(x)-2*cos(0.4*y), sin(x)-2*sin(0.4*y), y]:
c2:= [cos(x)+2*cos(0.4*y), sin(x)+2*sin(0.4*y), y]:
c3:= [cos(x)+2*sin(0.4*y), sin(x)-2*cos(0.4*y), y]:
c4:= [cos(x)-2*sin(0.4*y), sin(x)+2*cos(0.4*y), y]:


</div>
<span class='text_page_counter'>(86)</span><div class='page_container' data-page=86>

Maple có chức năng hỗ trợ sự vận động (animation)
của đồ thị hai chiều và đồ thị ba chiều với cú pháp
<b>[>animate (cho </b>đồ thị hai chiều), và cú pháp [>animate3d
(cho đồ thị ba chiều). Ví dụ:


Vẽđồ thị hàm y = tsin(xt).


Muốn cho đồ thị chuyển động thì tại khung đồ thị ta nhấn chuột phải sau đó chọn ->
<b>Animation -> Play </b>


Muốn cho đồ thị chuyển động liên tục không ngừng trên thanh công cụ:


</div>
<span class='text_page_counter'>(87)</span><div class='page_container' data-page=87>

<i><b>4.5.4. Các câu l</b><b>ệ</b><b>nh c</b><b>ủ</b><b>a Maple h</b><b>ỗ</b><b> tr</b><b>ợ</b><b> gi</b><b>ả</b><b>i các bài tốn gi</b><b>ả</b><b>i tích. </b></i>



<i>+ </i>Tính giới hạn của hàm số f(x) khi x tiến tới a: limit(f,x=a); giá trị dương vô cùng,
âm vơ cùng được viết là <i>infinity, </i>- <i>infinity. </i>Ví dụ:


<i>+ </i>Tính đạo hàm của hàm số f(x) theo biến x: diff(f(x),x); Diff(f(x),x);


<i>+ </i>Tính đạo hàm bậc n của hàm số f(x) theo biến x: diff(f(x),xu);


</div>
<span class='text_page_counter'>(88)</span><div class='page_container' data-page=88>

+ Tính tích phân xác định của hàm số f(x) trên đoạn [a,b]: int(f(x),x=a..b);


<i>+ </i>Tính giá trị lớn nhất, nhỏ nhất của hàm số trên miền D: minimize(f,x=a..b);
<b>maximize(f,x=a..b);Ví d</b>ụ:


+ Để xác định nguyên hàm của một hàm số, ta có thể sử dụng đoạn lệnh sau:
[> with(Maplets): with(Maplets[Elements]):


integrationMaplet3:= Maplet( Window('title'="TINH NGUYEN HAM", [["NGUYEN
HAM: ", TextField['TF1']()],[“BIEN XÁC DINH TRONG NGUYEN HAM:”,
TextField['TF2'](3)], MathMLViewer['TB1'](), ["Do thi ham va nguyên ham cua no"],
Plotter['PL1'](), [Button("NGUYEN HAM", Evaluate(TB1 = 'MathML[Export](int(TF1,
TF2))')),Button("DO THI", Evaluate('PL1'='plot([TF1, eval(int(TF1,TF2)) ], x=-2..2)')),
Button("OK", Shutdown(['TF1', 'TF2']))]] ) ):


[> Maplets[Display]( integrationMaplet3 );


</div>
<span class='text_page_counter'>(89)</span><div class='page_container' data-page=89>

+ Để xác định tích phân xác định của hàm số f(x) trên đoạn [a,b], ta có thể sử dụng


đoạn lệnh sau:
[> restart:



with(Maplets):with(Maplets[Elements]):with(student):


TICH_PHAN:= Maplet( Window('title'="TINH TICH PHAN",[[“NHAP HAM SO CAN
TINH TICH PHAN: ”, TextField[' rFi']()],["NHAP CAN DUOI: ", TextField['
rF2'](4)],["NHAP CAN TREN: ", TextField['TF3'](3)], MathMLViewer['TB1'](),["DO THI
CUA HAM DA NHAP "], Plotter['PL1'](ld),[Button("TICH PHAN", Evaluate(TB1 =
MathML[Export](int(TF1, X=TF2..TF3))')), Button("DO THI", Evaluate('PL1
middlebox(TF1,x= -5..5,colour = red)')), Button("OK", Shutdown(['TF1', 'TF2','TF3']))]] ) ):
[>Maplets[Display](TICH_PHAN );


Khi đó trên mầm hình xuất hiện cửa sổđể nhập dạng biểu thức của hàm số cần tìm tích
phân xác định và cận lấy tích phân, ta sẽ nhận được kết quả. Nếu nhấn nút "Đồ thị" ta sẽ thu


</div>
<span class='text_page_counter'>(90)</span><div class='page_container' data-page=90>

<b>4.5. Khai báo hàm tự tạo </b>


<i><b>4.5.1. Khai báo hàm b</b><b>ằ</b><b>ng toán t</b><b>ử</b><b> "->" </b></i>


Để khai báo một hàm (f) được xác định bởi biểu thức (bt(x)), trong Maple sử dụng
toán tử "->" với cú pháp như sau:


<b>[> tên hàm := x-> biểu thức xác định hàm f (đối số).Ví d</b>ụ


Sau khi đã khai báo hàm, để tính giá trị của hàm tại một giá trị nào đó, ta chỉ việc thay
giá trị cụ thểđó vào lời gọi hàm [> f(value);, ví dụ:


[> f(3); ↵


<i><b>4.5.2. Khai báo hàm t</b><b>ự</b><b> t</b><b>ạ</b><b>o b</b><b>ằ</b><b>ng proco... end </b></i>


Giữa proc(d/s tham số)... end: là các câu lệnh của hàm.


ví dụ:


</div>
<span class='text_page_counter'>(91)</span><div class='page_container' data-page=91>

if a < b then


if b < c then c else b fi;
elif a < c then c


else a fi;
end: ↵


Sau đó nếu gọi hàm Max với các số cụ thể sẽđược kết quả ví dụ: l> Max(23,5,87)l
<b>4.6. Các cấu trúc cơ bản được sử dụng trong lập trình của Maple </b>


<i><b>4.6.1. C</b><b>ấ</b><b>u trúc l</b><b>ặ</b><b>p </b><b>đ</b><b>i</b><b>ề</b><b>u ki</b><b>ệ</b><b>n tr</b><b>ướ</b><b>c </b></i>


<i>While <Điều kiện> Do </i>< <i>danh sách các câu lệnh></i>
<i>od;</i>


Vòng lặp While sẽ thực hiện lặp đi lặp lại các câu lệnh giữa do và od nếu điều kiện
sau từ khố While cịn đúng. Nếu muốn thốt sớm khỏi vòng lặp cần phải sử dụng các lệnh
<b>Return, Break, Quit. </b>


Ví dụ 1 : Thuật tốn Ơclit tìm ước số chung lớn nhất của hai số tự nhiên:
[> restart; ↵


[> a:=126:b:=34: # khai bao hai so tu nhien a=126, b=34
[> while b <> 0 do


d:=irem(a,b);
a:=b;



b:=d;
od;


print(' USCLN cua hai so la:');
value(a); ↵


Ví dụ 2: Viết ra màn hình n số hạng đầu của dãy Fibonacci
[>restart;


f(0):=1;
f(1):=1 ;
n:=2;


</div>
<span class='text_page_counter'>(92)</span><div class='page_container' data-page=92>

od;


seq(f(i),i=3..2); ↵


<i><b>4.6.2. C</b><b>ấ</b><b>u trúc l</b><b>ặ</b><b>p bi</b><b>ế</b><b>t tr</b><b>ướ</b><b>c s</b><b>ố</b><b> l</b><b>ầ</b><b>n </b></i>


<b>For <bi</b>ến> from <cận đầu> by <bước thay đổi> to <cận cuối>
<b>Do <d/s các câu l</b>ệnh>; od;


Hoặc


<b>For < tên bi</b>ến> in <danh sách giá trị>
<b>Do <d/s các l</b>ệnh>; od;


Ví dụ: Tính tổng bình phương các số chẵn trong mảng:
[> restart,



mang:=[2,5,7,8,9,23,45,67,89,24,36,42];
tong:=0;


for i in mang do


if irem(i,2)=0 then tong:=tong+i^2;
fi;


od;


print(' tong can tim la:',tong); ↵
Khi thực hiện ta được kết quả:


<i>mang </i>:= [2, 5, 7, 8, 9,23, 45, 67, 89, 24, 36, 42]


<i>tong :=0</i>


<i>tong can tinh la:, 3</i>704


<i><b>4.6.3. C</b><b>ấ</b><b>u trúc r</b><b>ẽ</b><b> nhánh </b></i>


<b>if <</b>điều kiện l> then < d/s các câu lệnh l>;
<b>elif < </b>điều kiện 2> then < d/s các câu lệnh 2>;
<b>else < d/s các câu l</b>ệnh 3>; fi;


Ví dụ: giải phương trình bậc 2, trước tiên ta khai báo một proc() :
[> ptb2::proc(a,b,c)


local delta,x1,x2;


delta:=b*b-4*a*c;
if delta < 0 then


</div>
<span class='text_page_counter'>(93)</span><div class='page_container' data-page=93>

elif delta = 0 then
x1 :=-b/(2*a);


pint(' phuong trinh co nghiem kép:x1=',x1);
else


x1:=(-b-sqrt(delta))/(2*a);
x2:=(-b+sqrt(delta))/(2*a);


print(' phuong trinh da cho co 2 nghiem phan biet :');
print(x1);


print(x2):


Để giải phương trình bậc hai, ta chỉ cần gọi tên proc() với các hệ số thực sự, ví dụ:
[> ptb2(1, 2, 1 ); <i>phuong trinh co nghiem kep: x1= - 1 </i>


[> ptb2(1,2,-1); <i>phuong trinh da cho co </i>2 <i>nghiem phan biet:</i>


[> ptb2(1,2,3); ↵<i>phuong trinh da cho vo nghiem</i>


<i><b>4.6.4. Bài t</b><b>ậ</b><b>p: </b></i>


Bài 1 : Lập trình giải phương trình trùng phương.
Bài 2: Lập trình giải hệ phương trình bậc nhất hai ẩn


Bài 3: Lập trình kiểm tra một số có là số ngun tố hay khơng?



Bài 4: Lập trình phân tích một số ngun dương thành tích các thừa số nguyên tố.


Lưu <i>ý: bốn bài tập trên chỉ có ý nghĩa cho các bạn làm quyên với việc lập trình với </i>


<i>Maple.</i>


Để tìm hiểu về lập trình với Maple, bạn đọc sẽ tìm thấy những hướng dẫn chi tiết
chuyên sâu trong các tài liệu [l],[2],[3],[4].


<b>4.7. ứng dụng maple trong khảo sát hàm số</b>


<i><b>4.7.1. Các l</b><b>ệ</b><b>nh c</b><b>ủ</b><b>a Maple có th</b><b>ể</b><b> v</b><b>ậ</b><b>n d</b><b>ụ</b><b>ng trong kh</b><b>ả</b><b>o sát hàm s</b><b>ố</b></i>


Ta có thể sử dụng các hàm của Maple khi khảo sát hàm số, chẳng hạn như: xác định
miền giá trị, khoảng đơn điệu, miền lồi, cực trị và điểm uốn, vẽđồ thị,...


* <i>Xác định miền xác định của hàm số f(x):</i>


</div>
<span class='text_page_counter'>(94)</span><div class='page_container' data-page=94>

Ta dùng nhóm các lệnh sau:
[> restart;


Y:=simplify(Y):


print('Tap xac dinh cua ham so la:');
a:=solve(denom(Y)=0,x):


if(type(denom(Y),realcons)=true)or(coeff(denom(y),x^2)<>0 and type(a[1],realcons)
=falssel then D=R;fi:



if coeff(denom(y),x^2)=0 and coeff(denom(y),x)<>0 then D={x<>a};fi; ↵
Kết quả thực hiện chương trình:


* <i>Tìm khoảng đơn điệu của hàm số.</i>


<i>Bước 1: </i>Tìm đạo hàm của hàm số với lệnh: [> diff(f(x),x);


<i>Bước 2: </i>Xác định chiều biến thiên:


Xác định khoảng đồng biến của hàm số (tức là tìm nhưng khoảng mà đạo hàm của
hàm số không âm), ta sử dụng lệnh: [> dhbn := bieuthuc r(x) >=0;


<i>Bước 3 </i>: Giải phương trình bằng lệnh [> solve(dhbn, { x } ) ;


Xác định khoảng nghịch biến của hàm số, tương tự như trên, ta dùng lệnh:


<b>[> dhbn : = bieuthuc f’(x) <=0; Và gi</b>ải phương trình bằng lệnh: [> solve(dhbn,{x});
Thí dụ: Tìm khoảng đơn điệu của hàm số: <i>y </i>= x3 - 6 x2<i>+ </i>4 <i>x </i>- 8


<i>Bước 1: </i>Tính đạo hàm:


<i>Bước 2: </i>Thiết lập bất phương trình


dhbn:= 0 ≤ 3x2 - 12x +4


</div>
<span class='text_page_counter'>(95)</span><div class='page_container' data-page=95>

* Tìm miền lồi, <i>miền lõm của hàm số</i>


<i>Bước 1: </i>Tính đạo hàm bậc nhất: [> dhb1:=diff(f(x),x);


<i>Bước 2: </i>Tính đạo hàm bậc hai: [> dhb2:=diff(dhbl,x);



<i>Bước 3: </i>Giải bất phương trình .f”x) ≥ <i>0 </i>để tìm miền lồi của hàm số, bằng lệnh:


(dhb2>=0,x);


ví dụ xét hàm số


<i>Bước 1 </i>: Tìm đạo hàm bậc nhất:


<i>Bước 2 </i>: Tìm đạo hàm bậc 2 :


<i>Bước 3 </i>: Giải phương trình tìm miền dương của đạo hàm bậc 2 (miền lồi của hàm số)


* <i>Tìm cực đại, cực tiểu:</i>


Để xác định cực đại, cực tiểu của hàm số ta xét đạo hàm bậc nhất và tính đơn điệu của
hàm số hoặc dùng tính lồi thông qua đạo hàm bậc hai, cụ thể:


<i>Bước 1 </i>: Tìm đạo hàm của hàm số: [> diff(f(x), x);


<i>Bước 2: </i>Giải phương trình f’(x)=0 để trên các điểm nghi ngờ là cực trị.


[> solve(f(x)=0, x);


<i>Bước 3: </i>Tìm khoảng đồng biến và nghịch biến của hàm số:


[> solve(f(x)>=, x);


<i>Bước 4: </i>Xét xem tại xo :



1) Nếu đạo hàm đổi dấu từ dương sang âm thì xo là điểm cực đại.


2) Nếu đạo hàm đổi dấu từ âm sang dương thì xo là điểm cực tiểu.


3) Nếu qua xođạo hàm không đổi dấu thì xo khơng phải là điểm cực trị.


</div>
<span class='text_page_counter'>(96)</span><div class='page_container' data-page=96>

<i>Bước 4: </i>


Qua nênđạo hàm bậc nhất đổi dấu từ dương sang âm nên là


điểm cực đại, còn qua đạo hàm bậc nhất đổi dấu từ âm sang dương nên
là điểm cực tiểu của hàm số


Nếu dựa vào đạo hàm bậc hai ta có thể tiến hành các bước sau:


<i>Bước 1: </i>Tìm đạo hàm của hàm số: [> dhb1:=diff(f(x),x);


<i>Bước 2: </i>Giải phương trình f’<i>(x)=</i> 0để tìm các điểm nghi ngờ là cực trị.


[> solve(dhb1=0,x);


<i>Bước 3: </i>tìm đạo hàm bậc hai: [> dhb2:=diff(dhbl,x);


Thí dụ Tìm cực trị của


<i>Bước 1 </i>:


<i>Bước 2: </i>Tìm những điểm mà đạo hàm bậc nhất bằng 0:



<i>Bước 3: </i>Tìm đạo hàm bậc hai:


</div>
<span class='text_page_counter'>(97)</span><div class='page_container' data-page=97>

bằng không:


<i>Bước 5: </i>Xét giá trị của đạo hàm bậc hai và kết luận, chẳng hạn ở ví dụ này, ta
nên là điểm cực tiểu, còn <i>y’’, </i>


nên là điểm cực đại của hàm số.
* <i>Tìm điểm uốn:</i>


Điểm uốn là điểm mà tại đó đạo hàm bậc hai đổi dấu. Để xác định điểm uốn của hàm
số, ta lần lượt thực hiện các câu lệnh sau:


<i>Bước 1. </i>Tính đạo hàm bậc nhất: [> dhbl:=diff(f(x),x);


Trong đó f(x) là hàm số mà ta cần khảo sát


<i>Bước 2: </i>Tính đạo hàm bậc hai: [> dhb2:=diff(dhbl,x);


<i>Bước 3: </i>Điểm xã là điểm uốn của hàm số nếu xo là nghiệm chung của hai bất phương trình:


[> solve(dhb2>=0); và [> solve(dhb2<=0);
Ví dụ: Tìm điểm uốn của hàm số x4 - 2x2


Kết luận: là hai điểm uốn của đồ thị hàm sốđã cho.
* <i>Tìm giá trị nhỏ nhất lớn nhất của hàm sô.</i>


Các hàm minimize(expr, vars, ranges) và maximize(expr, vars,ranges) dùng để tìm
giá trị nhỏ nhất, lớn nhất của hàm số được xác định bởi biểu thức <i>expr </i>theo giá trị của các



</div>
<span class='text_page_counter'>(98)</span><div class='page_container' data-page=98>

<i>*Xác định cực trị địa phương của hàm số extrema(f,{},x).</i>


Ví dụ xác định giá trị cực tiểu, cực đại của hàm số x4- 2x2
[> y:=x^4-2*x^2 <i>:# </i>khai báo hàm số↵


[> extrema(y,{},x);# xác định cực đại, cực tiểu của hàm số↵
{ -1, 0 }


* <i>Xác định các đường tiệm cận:</i>


Ta sử dụng lệnh tách mẫu số của f(x) bởi lệnh <b>denom(), dùng l</b>ệnh <b>solve( tìm </b>
nghiệm của mẫu số ta được tiệm cận đứng.


Lần lượt tính các giới hạn a= lim(f(x)/x) và b=lim(f(x)-ax) khi x tiến tới vô cùng
nếu các giới hạn này tồn tại sẽ cho ta tiệm cận xiên y=ax+b. Ví dụ xác định tiện cận
của hàm số :


[> Y:=(x^2+x+1)/(2*x+2);
a:=limit(y/x,x=infinity);
b:=limit(y-a*x,x=infinity);
ms:=solve(denom(y)=0,x);


</div>
<span class='text_page_counter'>(99)</span><div class='page_container' data-page=99>

print(tiem can xien y=',x*a+b); fi; ↵
Kết quả thực hiện chương trình:


* <i>Xác định giao điểm của đồ thị hàm số Y=f(x )với các trục toạđộ.</i>


Sử dụng gói cơng cụ student, sau đó dùng các lệnh: Tìm giao điểm với trục tung
intercept(y=Y,x=0,{x,y}), tìm giao điểm với trục hồnh: intercept(y=Y,y=0,{x,y}), ví
dụ xác định giao điểm với các trục toạđộ của hàm số:



[> restart:with(student):


Y:=(x^2+x+1)/(2*x+2); # mở gói cơng cụ và khai báo hàm
[> intercept(y=Y,y=0,{x,y}); <i># </i>giao điểm với trục hoành
intercept(y=Y,x=0,{x,y}); # giao điểm với trục tung ↵
Kết quả thực hiện chương trình:


Như vậy đồ thị hàm số khơng cắt trục hồnh mà chỉ có một giao điểm duy nhất
với trục tung tại điểm có toạđộ x = 0, y = 1/2.


* <i>Vẽđồ thị hàm sô.</i>


Vẽ đồ thị là một trong
những chức năng mạnh của
MaDle. Để vẽ đồ thị hàm số


f(x) trên đoạn [a,b], ta sử


dụng lệnh [>
plot(f(x),x-a..b); ví dụ với hàm số x4-2x2
trên đoạn [-2, 2]:


[> <b></b>
plot(x^4-2*x^2,x=-2..2); ↵ Kết quả ta được đồ


</div>
<span class='text_page_counter'>(100)</span><div class='page_container' data-page=100>

Qua hình dạng đồ thị, một lần nữa chứng tỏ việc xác định chiều biến thiên, điểm
uốn, chiều lồi, lõm, cực đại, cực tiểu .. với các câu lệnh của Maple


<i><b>4.7.2. M</b><b>ộ</b><b>t s</b><b>ố</b><b> ví d</b><b>ụ</b><b> minh ho</b><b>ạ</b><b>: </b></i>



* <i>Khảo sát hàm số</i> với m = <i>0 (Đề thi tuyển sinh vào </i>


<i>ĐH Thái Nguyên </i>- <i>Năm học 1999-2000, khối </i>A, B). Ta sử dụng chương trình con 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 do thi ham so la’);
solve({z=0,Y=y},{x,y});


</div>
<span class='text_page_counter'>(101)</span><div class='page_container' data-page=101>

plot(Y,x=-5..5,color=red); ↵
Kết quả thực hiện chương trình :


<i>khao sat ham so y=x^3/3-mx^2-x +m+2/</i>3 <i> voi gia tri m=0</i>


<i>Tap xac dinh cua ham so la: </i>D = <i>R</i>


<i>Tinh dao ham bac nhat cua ham so</i>


<i>giai phuog trinh f’=0:</i>
<i>Ham so dong bien tren khoan </i>


RealRange( -∞, Open( - 1 ) ). RealRange( Open(1), ∞)


<i>Ham so nghich bien tren khoang </i>


RealRange( Open(. - 1), Open( 1 ) )


<i>Tim cac gia tri dia phuong</i>


<i>~ìl 1 ~i~lo ~ ~elll ~oi tr~l~ tl~ll~</i>


<i>Tim giao diem voi truc hoanh </i>



(x = -2, y= 0 }: { <i>x </i>= 1. y = 0}. { x = 1. y = 0 }


</div>
<span class='text_page_counter'>(102)</span><div class='page_container' data-page=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’);


</div>
<span class='text_page_counter'>(103)</span><div class='page_container' data-page=103>

<i>Tap xac dinh cua ham so </i>D = {x ≠1 }


<i>Tiem can dung:, x </i>= 1


Tiem can xien


<i>Tinh dao ham bac' nhat cua ham so </i>


<i>Giai phuong trinh f’=0: </i>


<i>Ham so se dong bien tren khoang </i>


RealRang (-∞. Open( . RealRange( Open(


<i>Ham so ngich bien tren khoang</i>


RealRange( Open(1− 2). Open( 1 ) ), RealRange( Open( 1 ), Open(1+ 2 )


<i>Tim cac gia tri cuc tri dia phuong</i>


<i>Tinh dao ham bac hai cua ham so </i>
<i>Tim giao diem voi truc tung</i>


<i>{y = -2, x =0) </i>
<i>Tim giao diem voi truc hoanh </i>


{ y = 0, x = RootOf(_Z2 - 3 _Z <i>+ </i>4. <i>label= </i>


<i>-_LI)} </i>


<i> Do thi ham so co dang sau </i>


Như vậy, để khảo sát các hàm số khác
trong chương trình phổ thơng, bạn đọc chỉ cần
thay đổi chút ít, và như vậy ta đã có một cơng cụ


mạnh để kiểm tra và minh hoạ cho các bài toán
khảo sát hàm số.


* <i>Tìm quỹ tích các điểm M(xo,yo) mà từ</i> <i>đó kẻ</i> <i>được 2 tiếp tuyến vng góc với </i>


</div>
<span class='text_page_counter'>(104)</span><div class='page_container' data-page=104>

<i>2000, khối </i>A, <i>B). </i>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 hiện chương trình, ta có kết quả:


<i>Ket luan ta có phương trinh quy tich là</i>



* <i>Cho tam thức bậc hai </i>


<i>Tìm những giá trị của tham số m sao cho p(x) có 2 nghiệm x1,x2 thoả mãn: </i>


<i>1 </i>< <i>x1 </i>< <i>3 </i>< <i>x2. </i>Ta sử các câu lệnh sau sau:
[> restart;


</div>
<span class='text_page_counter'>(105)</span><div class='page_container' data-page=105>

bạn đọc tham khảo:


* <i>Chương trình khảo sát hàm số </i>


[> 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 chỉ việc gọi tên chương trình con với các tham số


thực cụ thể, ví dụ:
[>kshbh(1,2,3);


* <i>Chương trình khảo sát hàm số </i>


[> restart: with(plots): with(student):
kshb3:=proc(a,b,c,d)


</div>
<span class='text_page_counter'>(106)</span><div class='page_container' data-page=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 khi 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');


</div>
<span class='text_page_counter'>(107)</span><div class='page_container' data-page=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 khi 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}));


</div>
<span class='text_page_counter'>(108)</span><div class='page_container' data-page=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 khi 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 khi doi truc toa do');


print(plot(Y1,x1=-6..6,-20..20)); fi; fi;


end: ↵


Để sử dụng chương trình, ta chỉ việc gọi tên chương trình con với các tham số


thực cụ thể, ví dụ:
[> kshb3(1,2,3,4);


* <i>Chương trình khảo sát hàm số y </i>= <i>ax4 </i>+ <i>bx3+cx2+dx+e:</i>


[> 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}));


</div>
<span class='text_page_counter'>(109)</span><div class='page_container' data-page=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 do 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 do 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


</div>
<span class='text_page_counter'>(110)</span><div class='page_container' data-page=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 chỉ việc gọi tên chương trình con với các tham số


thực cụ thể, ví dụ:


l> kshb4(1,2,3,4,5);


* <i>Chương trình khảo sát hàm số </i>


<i>d</i>
<i>cx</i>


<i>b</i>
<i>ax</i>
<i>y</i>


+
+
=
[> 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});


</div>
<span class='text_page_counter'>(111)</span><div class='page_container' data-page=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 ra 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 do 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 chỉ việc gọi tên chương trình con với các tham số


thực cụ thể, ví dụ :
I> kshbntbn(1,2,3,4);


* <i>Chương trình khảo sát hàm số </i>


[> 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.');


</div>
<span class='text_page_counter'>(112)</span><div class='page_container' data-page=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


</div>
<span class='text_page_counter'>(113)</span><div class='page_container' data-page=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 chỉ việc gọi tên chương tnnh con với các tham số


thực cụ thể, ví dụ:
[> kshbhtbn(1,2,3,4,5);


* <i>Chương trình khảo sát hàm số </i>


[> 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);


</div>
<span class='text_page_counter'>(114)</span><div class='page_container' data-page=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 chỉ việc gọi tên chương trình con với các tham số


thực cụ thể, ví dụ:


[> kshbhtbh(1,2,3,4,5,6);



* <i>Bài tốn tìm điểm kẻđược hai riếp tuyến vng góc vói một đường cong:</i>


Print(‘(c):', y);


print('Goi M(x1,y1) la diem ma qua do ke duoc hai tiep tuyen (d) den (c) co he so goc
k thi phuong trinh:');


y2:=k*(x-x1)+y1: print('(d):',y2);


</div>
<span class='text_page_counter'>(115)</span><div class='page_container' data-page=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 do thi ham so khi va chi khi (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 trong mat phang ma tu do co the ke duoc hai tiep tuyen


den do thi ham so va hai tiep tuyen nay vuong goc voi nhau la:’)


c2/a2+1=0; ↵


* <i>Bài toán xác định phương trình của đường cong ln tiếp xúc với một đường cong </i>


<i>cho trước:</i>


[>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(' khi do phuong trinh hoanh do 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 nay xay ra khi va chi khi');
p11 := coeff(D1,m,2):


</div>
<span class='text_page_counter'>(116)</span><div class='page_container' data-page=116>

p13:=coeff(D1,m,0):


print(p11=0, p12=0, 'va',p13=0);



print('<=>',solve({p11,p12,p13},{b1,c1,d1}));.J


* <i>Bài tốn tìm đường thẳng ln tiếp xúc với một đường cong cho trước: </i>


[> 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 do 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 nay xay ra voi moi m khi 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:'); ↵


* <i>Bài tốn tìm điểm cốđịnh của một đường cong:</i>


[> restart:


</div>
<span class='text_page_counter'>(117)</span><div class='page_container' data-page=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ó một giao diện thân thiện và thao tác đơn giản khi cho học sinh
kiểm tra lại kết quả, đối với bài toán khảo sát các hàm số dạng đa thức, ta có thể 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:


</div>
<span class='text_page_counter'>(118)</span><div class='page_container' data-page=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 1 to (nops(sols) - 1) do


if evalf(subs(x = (sols[j] <i>+ </i>sols[j+1])/2, d2)) > 0 then
delta := (sols[j+1] - sols[j]) / n:



X2 := sols[j]:
for i from 1 to n do


X1 := evalf(x2): Y1 := evalf(subs(x = X1, f)):


X2 := evalf(sols[j] <i>+ </i>i * delta): Y2 := evalf(subs(x=X2,f)):


p[i] := polygonplot([[x1, 0],[X1, Y1],[X2, Y2],[X2, 0]], color=cyan,
style=patchnogrid):


</div>
<span class='text_page_counter'>(119)</span><div class='page_container' data-page=119>

polys := [op(polys) seq(p[i],i=1..n)]:
end if:


end do:


if nops(polys) = 0 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 1 to (nops(sols) - 1 ) do


if evalf(subs(x = (sols[j] <i>+ </i>sols[j+1])/2, d2)) < 0 then
delta := (sols[i+1] - sols[i]) / n:


X2 := sols[j]:
for i from 1 to n do


X1 := evalf(x2): Y1 := evalf(subs(x=X1,f)):


X2 := evalf(sols[i] <i>+ </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:


</div>
<span class='text_page_counter'>(120)</span><div class='page_container' data-page=120>

end if:
end do:


if nops(polys) = 0 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 1 to (nops(sols) - 1 ) do


if evalf(subs(x=(sols[j]+sols[j+1])/2,d1)) > 0 then


lines := [op(lines), plot(f, x=sols[j]…sols[j+1], color=blue, thickness=3)]:
end if:



end do:


if nops(lines) = 0 then
return NULL:


end if:


display(seq(lines[i],i=1..nops(lines))):
end proc:


</div>
<span class='text_page_counter'>(121)</span><div class='page_container' data-page=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 1 to (nops(sols) - 1 ) do


if evalf(subs(x=(sols[j] <i>+ </i>sols[j+1])/2,d1)) < 0 then


lines := [op(lines), plot(f, x=sols[i]..sols[j+1], color=orange, thickness=3)]:
end if:



end do:


if nops(lines) = 0 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 1 to nops(sols) do


if evalf(subs(x=sols[i],d2)) < 0 then


p := [op(p), line([sols[i],0],[sols[i],subs(x=sols[i], f)],color=blue,thickness=3)]:
end if:


end do:


</div>
<span class='text_page_counter'>(122)</span><div class='page_container' data-page=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 1 to nops(sols) do


if evalf(subs(x=sols[i],d2)) > 0 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) = 0 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 1 to n do


X1 := eval(X2): X2 := evalf(negx <i>+ </i>i * delta):
sol := fsolve(f - 0, x = X1 <i>.. </i>X2):


</div>
<span class='text_page_counter'>(123)</span><div class='page_container' data-page=123>

li := [ op(li), evalf(sol)]:
end if:


end if:


end do: li; end proc:


Gọi thực hiện chương trình:
[> Display(cal1Maplet);


Trên màn hình xuất hiện cửa số:


Ta đưa con trỏ vào hộp thoại f(x) để nhập biểu thức của hàm theo cú pháp của
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 một trong những chức năng có sẵn ta sẽ thu được kết quảở cửa sổ chính.Ví dụ nếu
ta chọn chức năng minh hoạ miền lồi, màn hìnhh có dạng:


</div>
<span class='text_page_counter'>(124)</span><div class='page_container' data-page=124>

<b>4.8. Sử dụng Maple hỗ trợ kiểm tra kết quả tính tốn. </b>


<i><b>4.8.1. Tính l</b><b>ũ</b><b>y th</b><b>ừ</b><b>a c</b><b>ủ</b><b>a ma tr</b><b>ậ</b><b>n vng </b></i>



<i>Thuật tốn: </i>(ưng dụng định lí Hamiltơn - Cayley):" <i>Giả sử A là ma trận vuông </i>


<i>và </i>PA(λ) <i>thỏa mãn: </i>PA(λ) = (-1)n λn <i>+ </i>P1λn-1 <i>+ . . . + </i>pn-1λ + pn <i>là đa thức đặc trưng </i>


<i>của A. Khi đó, </i>PA(A) = <i>0 </i>". Vậy mọi đa thức Q(λ) chia hết cho Pn(λ) thì ta cũng có


Q(A) = 0. Đặc biệt: Q(λ) = S(λ)Pn(λ) <i>+ </i>R(λ) ⇒ Q(A) = R(A) <i>.</i>


<i>Chương trình được thiết kế nhằm thực hiện tuần tự các nội dung:</i>


Tính đa thức đặc trưng của A.


- Tìm dư khi chia <i>xn</i> cho đa thức đặc trưng của A (khi đó đa thức dư sẽ có bậc
nhỏ hơn cấp của ma trận một đơ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: ↵


</div>
<span class='text_page_counter'>(125)</span><div class='page_container' data-page=125>

[> Luy thua(A, 2002); <i># </i>Thực hiện thủ tục tính luỹ thừa với số mũ là 2002 ↵



Ta có thể mở rộng cho bất kì một đa thức bậc n với ẩn là ma trận A, bằng cách
thay r:=rem(x^n, p, x) bằng r:=rem( f(x), p, x).


<b>4.8.2 Kiểm tra tính lũy tính của một ma trận vng </b>


Xét vấn đề kiểm tra một ma trận vng bất kì có phải là một ma trận lũy linh hay
không? Nếu ma trận đó là ma trận lũy linh thì chỉ ra bậc của 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 cả các giá trị riêng của ma trận.


- Nếu tất cả các giá trị riêng của ma trận đều bằng 0 thì ma trận là lũy linh, ngược
lại ma trận là không lũy linh.


- Nếu ma trận là lũy linh thì ta tìm bậc lũy linh:


<i>+ </i>Tính lũy thừa ma trận (số lũy thừa lặp từ 2 đến 100000000).


<i>+ </i>Lập ma trận không cấp bằng với ma trận đã cho.


<i>+ </i>Nếu tồn tại chỉ số i sao cho lũy thừa bậc i thì ma trận đã cho bằng ma trận
khơng. Lấy chỉ số i đó ta được bậc lũy linh của 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);


</div>
<span class='text_page_counter'>(126)</span><div class='page_container' data-page=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 2 to 100000000 do
if equal(M, A^i)=true then


print(' Ma trận đã cho là ma trận lũy linh có bậc là ', i); break; fi; od;
else print(' Ma trận đã cho không phải là ma trận lũy linh '); fi; fi; end: ↵


<i>Minh hoạ việc sử dụng chương trình</i>


[> with(LinearAlgebra): A:=<<0,-1,-2>|<-2,0,0>l<1,0,0>>;# Khai báo ma trận#↵


[> LLkhong(A);# Thực hiện chương trình con #↵


<i>Ma trận đã cho là ma trận lũy linh có bậc là, 3 </i>


[> J:=JordanForm(A): Q := JordanForm(A, output='Q'): ↵
[> Q^(-1) <i>. </i>A <i>. </i>Q; ↵


Để chỉ ra dạng chéo của ma trận ban đầu ta dựa vào dạng gần với ma trận chéo
trên để tính được hạng (ma trận có hạng bằng 2), định thức của ma trận ban đầu (một
ma trận lũy linh ln có tất cả các giá trị riêng bằng khơng, do đó có định thức bằng
khơng).



<i><b>4.8.3.Ki</b><b>ể</b><b>m tra tính giao hốn trong phép nhân các ma tr</b><b>ậ</b><b>n </b></i>


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 <> 0 or mi1- m2 <> 0 or n1-m1 <> 0 then prnt(' Nhập lai các ma trận ')
else C:=multiply(A, B); D:=multiply(B, A);


</div>
<span class='text_page_counter'>(127)</span><div class='page_container' data-page=127>

else print('false'); fi; fi; end: ↵


<i>Minh hoạ việc sử dụng chương trình</i>


[> A:=matrix(3,3,[2,0,0,0,3,0,0,0,3]); ↵


<i><b>4.8.4. Ki</b><b>ể</b><b>m tra tính chéo hóa </b><b>đượ</b><b>c c</b><b>ủ</b><b>a m</b><b>ộ</b><b>t ma tr</b><b>ậ</b><b>n vuông b</b><b>ấ</b><b>t k</b><b>ỳ</b><b> và </b><b>đư</b><b>a ma tr</b><b>ậ</b><b>n </b><b>đ</b><b>ó </b></i>
<i><b>v</b><b>ề</b><b> d</b><b>ạ</b><b>ng ma tr</b><b>ậ</b><b>n chéo (nêu ma tr</b><b>ậ</b><b>n </b><b>đ</b><b>ó chéo hóa </b><b>đượ</b><b>c). </b></i>


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 của ma trận là '); print(B); else print(' false '); vi; end: ↵


<i>Minh hoạ việc sử dụng chương trình</i>



</div>
<span class='text_page_counter'>(128)</span><div class='page_container' data-page=128>

Xét mệnh đề sau. " <i>Hai ma trận vng đồng dạng thì có cùng vết </i>". Liệu điều đó
có đúng khơng và mệnh đề đảo có đúng khơng? Ta sử dụng các câu lệnh sau của
Maple:


Như vậy ở trên ta thấy hai ma trận cùng vết (A và C) nhưng không đồng dạng,
suy ra mệnh đềđảo không đúng.


<b>4.9 Sử dụng Maple hỗ trợ suy luận trong quá trình học tốn. </b>


Với một bài tốn ta có thể dùng Maple để tính kết quả của bài tốn đó. Dựa trên
kết quả, bằng suy luận lơgíc và thơng qua mối quan hệ giữa các yếu tố của bài tốn, ta
có thểđịnh hướng cách giải một cách nhanh chóng và chính xác.


<i><b>4.9.1. Ví d</b><b>ụ</b><b> Tính </b><b>đị</b><b>nh th</b><b>ứ</b><b>c c</b><b>ủ</b><b>a ma tr</b><b>ậ</b><b>n umin</b></i>


Trước hết ta dùng các hàm của Maple tạo một ma trận với cấp xác định thỏa mãn


điều kiện bài tốn sau đó tính định thức của ma trận đó. Dựa trên kết quảđể suy luận
sau đó tổng quát hóa cho ma trận có cấp n bất kì.


</div>
<span class='text_page_counter'>(129)</span><div class='page_container' data-page=129>

[> n:=5: A:=array(1..n,1..n):
for i to n do


for j to n do


if i < j then A[i, j]:= i;


else A[i, j]:= j; fi; od; od; print(A); ↵



<i>Kết quả thực hiện thủ tục: </i>


[> det(A); ↵


Ta thấy kết quả của định thức bằng 1 <i>. </i>Ta xét thêm ma trận cấp cao hơn (cấp 10)
bằng cách thay n:= 10 vào đầu các câu lệnh trên. Kết quả ta được một ma trận cũng có


định thức bằng 1 <i>. </i>Đến đây nảy sinh vấn đề: Vậy liệu đối với một ma trận có dạng như


vậy với cấp bất kỳ thì kết quả trên cịn đúng khơng ?


Nếu điều đó đúng thì chắc chắn ma trận A sẽ phân tích được thành hai hay nhiều
ma trận có định thức đều bằng 1. Để tìm hiểu, ta thực hiện lệnh sau:


[> A1 := LUdecomp(A, L='A2',U=’u’): ↵
[> evalm(A1); ↵


Với lệnh trên ta thấy rõ ràng là ma trận A là tích của hai ma trận Al và A2, trong


</div>
<span class='text_page_counter'>(130)</span><div class='page_container' data-page=130>

vẫn đúng. Do vậy, ta nhân hai ma trận Al, A2 cấp n và thu được kết quả là ma trận A.
Như vậy, bài toán đã giải quyết xong.


<i><b>4.9.2. Tìm ma tr</b><b>ậ</b><b>n ngh</b><b>ị</b><b>ch </b><b>đả</b><b>o </b></i>


Xét ma trận A có dạng như sau:


Trước hết, ta tìm ma trận nghịch đảo của ma trận B có dạng như trên như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 của ma
trận B, từ dạng của ma trận B-1 ta có thể dựđốn được dạng nghịch đảo của 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 của A sẽ có dạng như sau:


<i><b>4.9.3. Ki</b><b>ể</b><b>m tra tính khác khơng c</b><b>ủ</b><b>a </b><b>đ</b><b>inh th</b><b>ứ</b><b>c b</b><b>ằ</b><b>ng cách dùng phép chia có d</b><b>ư</b><b> cho </b></i>
<i><b>các ph</b><b>ầ</b><b>n t</b><b>ử</b><b> trong ma tr</b><b>ậ</b><b>n </b><b>để</b><b>đư</b><b>a ma tr</b><b>ậ</b><b>n </b><b>đ</b><b>ó v</b><b>ề</b><b> d</b><b>ạ</b><b>ng </b><b>đơ</b><b>n gi</b><b>ả</b><b>n. </b></i>


</div>
<span class='text_page_counter'>(131)</span><div class='page_container' data-page=131>

[> with(linalg):


[> Matrixmod:=proc(A, p)
local u, v, i, j, B;


u:=rowdim(A),v:=coldim(A); B:=array(1..u, 1..v);
for i to u do


for j to v do B[i,j]:=A[i, j] mod p;od;od; print(B);
end: ↵


<i>Minh hoạ việc sử dụng chương trình</i>


[>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 quả là ma trận đơn vị nên có định thức khác khơng do đó ma
trận đã cho sẽ có định thức khác khơng.


<i><b>4.9.4. " Tìm h</b><b>ạ</b><b>ng c</b><b>ủ</b><b>a ma tr</b><b>ậ</b><b>n vuông c</b><b>ấ</b><b>p n mà các ph</b><b>ầ</b><b>n t</b><b>ử</b><b> trên </b><b>đườ</b><b>ng chéo chính </b></i>


<i><b>b</b><b>ằ</b><b>ng 0, cịn các ph</b><b>ầ</b><b>n t</b><b>ử</b><b> còn l</b><b>ạ</b><b>i b</b><b>ằ</b><b>ng 1 ho</b><b>ặ</b><b>c -1 ". </b></i>


Trước hết ta tạo ra một ma trận để thỏa mãn giả thiết của đề bài <i>(vì trong thư viện </i>


<i>của Maple chưa có sẵn) </i>có các phần tử trên đường chéo chính bằng 0, các phần tử còn


lại lấy các giá trị 1 hoặc - 1 một cách tùy ý.
Mã chương trình:


* Tạo ma trận:


</div>
<span class='text_page_counter'>(132)</span><div class='page_container' data-page=132>

local i, j, a, c, A; A:=matrix(m, n, []);
for i to m do


for j to n do 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 của A là ',rank(A)); end: ↵


* Sau khi đã xây dựng xong chương trình tạo ma trận, tiến hành tính hạng của
các ma trận ngẫu nhiên với cấp của ma trận được thay đổi. Ta bắt đầu từ cấp 5:


[> Matrixransign(5,5);


Kết quả hạng của A : <i>5</i>


<i>Ta tiếp tục thử cho các ma trận ngẫu nhiên khác, sau một số ma trận có hạng </i>


<i>khơng đổi, ta gặp ma trận sau đây có hạng là 4.</i>



[> Matrixransign(5,5); ↵


Kết quả hạng của A: 4
Tiếp tục với ma trận cấp 7 :


Kết quả hạng của A: 7
Tiếp tục thử ta được kết quả dưới đây:


</div>
<span class='text_page_counter'>(133)</span><div class='page_container' data-page=133>

Kết quả hạng A: 6


Như vậy, hạng của ma trận chỉ có thể là 7 (bằng cấp của ma trận) hoặc 6. Từ đó
ta đi đến dựđốn sau: “<i><b>H</b><b>ạ</b><b>ng c</b><b>ủ</b><b>a ma tr</b><b>ậ</b><b>n trên ho</b><b>ặ</b><b>c là n ho</b><b>ặ</b><b>c là n- 1”. </b></i>


Mở rộng bài toán: Thay giả thiết các phần tử bằng -1 bằng một phần tử tùy ý ta
vẫn được kết quả tương tự: “Trên đường chéo ma trận cấp n là các số 0, còn các phần
tử khác hoặc là 1 hoặc là c (c∈Z), ta có hạng của ma trận này hoặc là n-1, hoặc là <i>n </i>".


<i><b>4.9.5. Xét tính kh</b><b>ả</b><b> ng</b><b>ị</b><b>ch c</b><b>ủ</b><b>a m</b><b>ộ</b><b>t ma tr</b><b>ậ</b><b>n </b></i>


Ta thấy ma trận đơn vị có các phần tử trên đường chéo chính bằng 1, cịn các
phán tử khác bằng khơng. Rõ ràng đây là một ma trận khả nghịch. Vấn đề đặt ra là liệu
có mối quan hệ nào giữa các phần tử trên đường chéo chính với các phần tử cịn lại
trong một ma trận vuông sao cho ma trận đó là khả nghịch khơng? <i>.</i>


Ta xây dựng chương trình bao gồm các nhiệm vụ:


- <i>Tính tổng các trị tuyệt đối của các phần tử nằm ngoài đường chéo.</i>


<i>- Tính giá trị nhỏ nhất về trị tuyệt đối của các phần tử trên đường chéo.</i>



<i>- Xét tính khả nghịch của ma trận đó.</i>


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) do


if N > abs(A[i, i] then N:=abs(A[i, i]); fi; K:=K <i>+ </i>abs(A[i, i]);
for i to rowdim(A) do M:= M +abs(A[i, jn; od; od;


prnt(' Phần tửđường chéo chính có trị tuyệt đối bé nhất là ', N);


</div>
<span class='text_page_counter'>(134)</span><div class='page_container' data-page=134>

print(' Định thức của ma trận A là ', det(A)); fi; end: ↵
Minh hoạ việc sử dụng chương trình


[> Chuan(A); ↵


Phần tử trên đường chéo chính có trị tuyệt đối bé nhất là, 2.
Tổng trị tuyệt đối của các phần tử ngồi đường chéo chính là, 1 <i>.</i>
Định thức của ma trận A là, -8.


Ta thấy ma trận trên khả nghịch, có


<i>Có sự vượt trội về trị tuyệt đối của các phần tử nằm trên đường chéo chính.</i> Ta



tiếp tục thử với các 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ử trên đường chéo chính có trị tuyệt đối bé nhất là, 6.
Tổng trị tuyệt đối của các phần tử ngồi đường chéo chính là, 5.


Định thức của ma trận A là, -2604.


Kết quả trên cho thấy nếu các phần tử trên đường chéo chính có sự vượt trội về


trị tuyệt đối so với các phần tử nằm ngồi đường chéo chính thì định thức của ma trận


đó khác khơng.Ta tiếp tục lập các ma trận thỏa mãn nhận xét trên và xem định thức
của nó 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ử trên đường chéo chính có trị tuyệt đối bé nhất là, 12.
Tổng trị tuyệt đối của các phần tử ngồi đường chéo chính là, 11 <i>.</i>
Định thức của ma trận A là, 61584.


</div>
<span class='text_page_counter'>(135)</span><div class='page_container' data-page=135>

Từđó ta cơ sởđểđi đến một dựđốn là: “<i>Một ma trận vuông cấp n A=( </i>aij ) <i>thỏa </i>


<i>mãn </i> <b> thì ma trận đó khả nghịch”, </b>Đây là cách phát biểu khác của


định lí <i>Hađalnard </i>.



<i><b>4.9.6. </b><b>Đư</b><b>a bi</b><b>ể</b><b>u th</b><b>ứ</b><b>c to</b><b>ạ</b><b>độ</b><b> c</b><b>ủ</b><b>a d</b><b>ạ</b><b>ng toàn ph</b><b>ươ</b><b>ng v</b><b>ề</b><b> d</b><b>ạ</b><b>ng chính t</b><b>ắ</b><b>c </b></i>


* Cơ sở lý thuyết (phương pháp Lagrange)


Giả sử trong một cơ sở nào đó của 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 1


Giả sử aii ≠ 0, để cho tiện ta giả thiết a11≠ 0 thì biểu thức toạđộđã cho được viết


dưới dạng: + những số hạng khơng chứa


<i>+ </i>những số hạng khơng chứa


trong đó đặt


Đây là công thức phép đổi toạ độ trong V . Vậy ta đã đưa về xét biểu thức
với n - 1 toạđộ


b. Trường hợp 2:


Nếu mọi aii = 0 nhưng có aij≠ 0 với i ≠ j, chẳng hạn a12≠ 0 trong


ta đặt :


</div>
<span class='text_page_counter'>(136)</span><div class='page_container' data-page=136>

2a12xlx2 trở thành 2a12 ( 2'2
2
'


1 <i>x</i>


<i>x</i> − ) nên trở thành
trong biểu thức này hệ số của '2


1


<i>x</i> là 2a12≠ 0. Vậy ta lại đưa về trường hợp 1 đã xét ở


trên.


<i>Thiết lập chu trình với Maple</i>


[> 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 do


while has(S,{seq(x[i]^2,i=1..n)}) do for i to n do
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;


</div>
<span class='text_page_counter'>(137)</span><div class='page_container' data-page=137>

end: ↵


<i>Các ví dụ minh hoạ sử dụng chương trình</i>


<b>4.10. Khai thác Maple trong Xác suất thống kê </b>


Việc khai thác Maple trong xác suất thống kê rất đa dạng, Chúng tơi đã lập được
chương trình để giải quyết tất cả các dạng bài tập có trong giáo trình Xác suất thống
kê. Dưới đây, chúng tơi xin minh hoạ một ví dụđơn giản:


<i><b>4.10.1. Tính phân ph</b><b>ố</b><b>i chu</b><b>ẩ</b><b>n </b></i>


<i>+ </i>Định nghĩa: Biến ngẫu nhiên X được gọi là tuân theo <i>luật phân phối chuẩn, </i>kí


hiệu nếu hàm mật độ của nó có dạng


Ta có hai tham số trong (1) là a và σ2<sub> c</sub><sub>ũ</sub><sub>ng chính là hai s</sub><sub>ố</sub><sub>đặ</sub><sub>c tr</sub><sub>ư</sub><sub>ng quan tr</sub><sub>ọ</sub><sub>ng </sub>


EX và VX Về mặt đồ thị, đường cong (l) có dạng hình chng.


</div>
<span class='text_page_counter'>(138)</span><div class='page_container' data-page=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 do


if( xvalue >= x) then p[index] := polygonplot( [[xvalue, 0],[xvalue,f(xvalue)],
[xvalue <i>+ </i>delta, f(xvalue <i>+ </i>delta)], [xvalue <i>+ </i>delta, 0]],


color = reo, style = patchnogrid );


else p[index] := polygonplot( [[xvalue,0 ],[xvalue,f(xvalue)],
[xvalue <i>+ </i>delta, f(xvalue <i>+ </i>delta)], [xvalue <i>+ </i>delta, 0]],
color = blue, style = patchnogrid ) ;



fi;


index := index <i>+ </i>1 ; od;


area := int f(u), u = x..infnity);


plots[display](seq[pi], i = 1..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 hiện thủ tục trên ta cần khai báo ba tham số: giá trị dữ liệu (x), giá trị


trung bình (a), độ lệch chuẩn ( σ). Chẳng hạn nếu x = 20.9, a = 20.5, σ = 0.5


<i>Minh hoạ việc sử dụng chương trình</i>


</div>
<span class='text_page_counter'>(139)</span><div class='page_container' data-page=139>

Miền màu xanh và số bên trái chỉ xác suất P(x < 20.9), trong khi đó miền đỏ và
chữ bên phải chỉ ra rằng xác suất P(x > 20.9).


Sau đây ta xét một trường hợp đơn giản. Ta cho x = 1, a = 0, σ= 1 <i>.</i>


Ta được dạng phân phối chuẩn hoá được minh hoạ như sau:
[> x _plot( 1, 0, 1);


Nếu ta biểu diễn hai phân phối mà có cùng σ= 1 và x, a là khác nhau thì được kết
quả gần giống nhau nhưng đã có sự thay đổi, thể hiện như sau:



[> A := x_plot( 1, 0, 1):
B := x_plot(10, 8, 1):
display( {A,B});↵


Bây giờ ta so sánh dạng phân phối chuẩn và một dạng phân phối không chuẩn. <
Chẳng hạn phân phối chuẩn với các thông số ( x = 1, a = 0, σ = 1 ),


với ( x = 10, a = 11, σ= 2). Ta được:
> A := x-plot( 1, 0, 1 ):


</div>
<span class='text_page_counter'>(140)</span><div class='page_container' data-page=140>

Đồ thị của phân phối chuẩn ở bên trái còn đồ thị của phân phối không chuẩn ở


bên phải. Ta thấy rằng cả hai đồ thị của các phân phối đều có tổng diện tích chắn bởi
f(x) và trục Ox luôn bằng 1. Tuy nhiên đồ thị bên trái cao, nhọn và có đáy hẹp trong
khi đó đồ thị bên phải thấp hơn, tù và có đáy rộng hơn. Điều này chứng tỏ VX đặc
trưng cho độ tán xạ còn EX đặc trưng định vị của phân phối. Chúng ta có thể thấy rõ
thêm điều này thơng qua một vài ví dụ sau đây:


[> A := x_plot( 1, 0, 1 ):
B := x_plot( 40, 30, 10) :
display( {A,B}); ↵


[> A := x_plot( 2, 0, 1 ):
B := x_plot( 50, 30, 10)
display( {A,B}); ↵


</div>
<span class='text_page_counter'>(141)</span><div class='page_container' data-page=141>

display( {A,B}); ↵


<b>4.11. Maple với bài toán quy hoạch. </b>



Để kiểm tra kết quả bài tốn tìm phương án tối ưu và giá trị tối ưu min, max của
một hàm f(x) với điều kiện ràng buộc là một 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) do 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]) do


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) do 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];


</div>
<span class='text_page_counter'>(142)</span><div class='page_container' data-page=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) do


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) do


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) do


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 khi đã thiết lập hàm, để giải các bài toán cụ thể ta cần khai báo rõ hàm mục
tiêu f(x) và hệ các điều kiện ràng buộc (Ký hiệu là Dieu_kien) sau đó gọi thực hiện lời
gọi hàm Toi_uu(f(x), Dieu_kien)


Ví dụ 1 :


Khai báo hàm mục tiêu:


</div>
<span class='text_page_counter'>(143)</span><div class='page_container' data-page=143>

-Gọi hàm Toi_uu để giải bài tốn: [> Toi_uu(F13,Dieu_kien);
-Kết quả thực hiện


Ví dụ 2


- 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>Điều kiện </i>:= { x2<i>+ </i>y2≤ 4 }


-Gọi hàm Toi_uu để giải bài tốn: [> Toi_uu(F16,Dieu_kien);
Kết quả thực hiện:


Ví dụ 3



- 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};


</div>
<span class='text_page_counter'>(144)</span><div class='page_container' data-page=144>

Ví dụ 4


- 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 bài tốn: [> Toi_uu(F3,Dieu_kien);
Kết quả thực hiện chương trình:


- Rút gọn kết quả:
[> evalf(%);


* Bài tập: Trên cơ sở các chương trình mẫu ở phần 4.10, 4.11, hãy lập trình giải
quyết các dạng tốn trong giáo trình xác suất thống kê và giáo trình tối ưu hố để kiểm
tra kết quả tính tốn khi giải quyết các bài tốn đó.


<b>4.12. Khai thác Maple trong hình học </b>


<i><b>4.12.1. M</b><b>ộ</b><b>t s</b><b>ố</b><b> câu l</b><b>ệ</b><b>nh c</b><b>ơ</b><b> b</b><b>ả</b><b>n c</b><b>ủ</b><b>a Maple trong hình h</b><b>ọ</b><b>c ph</b><b>ẳ</b><b>ng </b></i>


Để bắt đầu thực hiện tất cả các câu lệnh trong hình học phẳng, chúng ta phải mở


gói hình học phẳng bằng câu lệnh sau:


[> with(geometry);


Tên trục toạđộ phải được khai báo khi xác định đối tượng. Nếu không khai báo
các trục toạ độ phải sử dụng câu lệnh :_EnvHorizontalName và _EnvVerticalName
sau ở đầu chương trình; nếu Maple nhắc ta nhập tên trục toạ độ, ta nhập như sau: [>
_EnvHorizontalName := 'x’ _EnvVerticalName := 'y':<i> </i>


Ta có thể sử dụng Maple để kiểm tra tính tiếp xúc, trả lại các điểm cuối của một


đố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,


</div>
<span class='text_page_counter'>(145)</span><div class='page_container' data-page=145>

đối tượng hình học trong 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 trong hàm xác định đối tượng,...


* <i>Khai báo điểm khi biết toạđộ</i>


[> point(p, Px, Py)↵
[> point(p, [Px, Py]); ↵
Trong đó: P : Tên điểm,


Px: Hồnh độ,
Py: Tung độ.


* <i>Tạo một điểm ngẫu nhiên trên một đường thẳng hoặc một đường tròn: </i>


[> randpoint(w, u, v) ; ↵


Trong đó: w: Tên của điểm ngẫu nhiên,



u: Đường thẳng, đường tròn hay miền giá trị nào đó
v: Miền giá trị.


* <i>Khai báo đường thẳng đi qua 2 điểm và biết phương trình của nó:</i>


[> line(l, [A, B]); ↵
[> line(l, eqn, n); ↵


Trong đó : l: Tên đường thẳng,


eqn: Phương trình tổng quát của đường thẳng,
A, B: Các điểm,


n: Danh sách các tên biểu diễn hai trục toạđộ (viết trong dấu [ ]).
* <i>Khai báo đoạn thẳng (đoạn thẳng đinh hướng) khi biết hai đầu mặt: </i>


[> 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 bằng toạđộ),
seg: Tên đoạn thẳng (hoặc đoạn thẳng định hướng).


* <i>Xác định đường thẳng đi qua một điểm và song song (vng góc) với một </i>


</div>
<span class='text_page_counter'>(146)</span><div class='page_container' data-page=146>

[> Parallelline(lp, P, l); ↵


[> PerpendicularLine(lp, P, l); ↵



Trong đó: lp: Tên của đường thẳng tạo ra,
P: Điểm,


l: Đường thẳng.


* <i>Khai báo tam giác khi biết 3 đỉnh:</i>


[> triangle(T, [A, B, C], n); ↵


Trong đó: T: tên của 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ạđộ.


* <i>Khai báo tam giác khi biết 3 đường thẳng chứa 3 cạnh:</i>


[> triangle(T, [|1, |2, |3], n); ↵


Trong đó : T: Tên của tam giác,


|1, |2, |3]: Ba đường thẳng chứa ba cạnh của tam giác,
n: (tuỳ chọn) danh sách tên biểu diễn hai trục toạđộ.


* <i>Khai báo tam giác T khi biết 3 cạnh (3 đoạn thẳng):</i>


[> triangle(T, [side1, side2, side3]); ↵
Trong đó: T: Tên của tam giác,


side1, side2, side3 : Ba cạnh của tam giác T.


* <i>Khai báo tam giác khi biết 2 cạnh và một góc xen giữa:</i>



[> triangle(T, [sidei, 'angle' = theta, side3], n); ↵
Trong đó: T: Tên của tam giác,


sidel, 'anglet = theta, side3: sidel và side3 là hai cạnh của tam giác, và thêm là
góc giữa chúng.


n: (tuỳ chọn) danh sách tên biểu diễn hai trục toạđộ.


* <i>Xác định đường cao của tam giác:</i>


[> altitude(hA, A, ABC, H); ↵


Trong đó: hA: Đường cao xuất phát từđỉnh A của tam giác ABC,
H: (tuỳ chọn) tên -hình chiếu của A trên cạnh đối diện.


* <i>Xác định đường phân giác trong (ngoài) của tam giác:</i>


</div>
<span class='text_page_counter'>(147)</span><div class='page_container' data-page=147>

[> ExternatBisector(bA, A, ABC); ↵


Trong đó: bA: Phân giác trong (ngoài) xuất phát từđỉnh A,
P: (tuỳ chọn) tên.


* <i>Xác định đường trung tuyến:</i>


[> median(mA, A, ABC, M); ↵


Trong đó: mA: Trung tuyến xuất phát từđỉnh A của tam giác ABC,
M: (tuỳ chọn) tên - giao điểm của ma với cạnh đối diện đỉnh A.


* <i>Xác định đường ti-ung trực của đoạn thẳng An</i>



[> PerpenBisector(l, A, Bu ↵


Trong đó: l: Tên đường thẳng cần tạo,
A, B: Hai điểm.


* <i>Tìm trực tâm H của tam giác ABC:</i>


[> orthocenter(H, ABC); ↵


* <i>Xác định trọng tâm của tam giác hoặc lâm tỉ cự G của tập hợp các điểm trong </i>


<i>mặt phẳng:</i>


[> centroid(G, g); ↵


Trong đó G: Tên của trọng tâm (tâm tỉ cự),


g: Tam giác, danh sách (tập hợp) các điểm trên một mặt phẳng.


* <i>Xác định đường tròn ngoại tiếp tam giác:</i>


[> circumcircle(cc, T<i>,</i> 'centername'= cn); ↵


Trong đó: cc: Tên của đường trịn ngoại tiếp,
T: Tam giác,


‘centemamel’= cn: (tuỳ chọn) có là tâm của đường tròn ngoại
tiếp.



* <i>Xác định đường trịn nội tiếp tam giác:</i>


[> incircle(ic,T, 'centername'=cn); ↵
Trong đó: T: Tam giác,


ic: Tên của đường tròn nội tiếp,


'centername'=cn(tuỳ chọn), cn là tâm của đường tròn nội tiếp.


</div>
<span class='text_page_counter'>(148)</span><div class='page_container' data-page=148>

[> excircle(obj, T, n); ↵


Trong đó: obj : Danh sách 3 đường tròn bàng tiếp,


n: (tuỳ chọn) danh sách gồm 3 phần tử dạng [cl(0l), c2(02), c3(03)],
trong đó cl, c2, c2, 01, 02, 03 là các tên.


<i>* Kiểm tra hai tam giác đồng dạng: </i>


[> 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.


* <i>Kiểm tra một tam giác đều:</i>


[> lsEquilateral(ABC, cond); ↵
Trong đó: ABC : Tam giác,


cond: (tuỳ chọn) tên - trả lại điều kiện để tam giác đều.



* <i>Kiểm tra một tam giác vuông:</i>


[> 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.


* <i>Xác định điểm Giécgôn và điểm Naghen của tam giác:</i>


[> GergonnePoint(G, ABC); ↵
[> NagelPoint(N, ABC); ↵
Trong đó: G: Tên điểm Giécgôn,


N: Tên điểm Naghen.


* <i>Xác định đường thẳng Euler và đường thẳng Simson của tam giác:</i>


[> 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 trên đường tròn ngoại tiếp tam giác T.


* <i>Xác định đưng tròn Euler của tam giác:</i>


[> EulerCircle(Elc, T, 'centername'=cn)l ↵


</div>
<span class='text_page_counter'>(149)</span><div class='page_container' data-page=149>

‘centemame' = cn: (tuỳ chọn) trong đó có là tâm của đường trịn Euler.



* <i>Khai báo đường tròn đi</i> <i>qua 3 điểm </i>A, B, <i>C cho trước:</i>


[> 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 của hai trục toạđộ,
'centernamet’=m: (tuỳ chọn) m là tâm của đường tròn.


* <i>Khai báo đường tròn biết tâm và bán kính (hoặc biết đường kính):</i>


[> 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: 2 đầu mút của đường kính.


* <i>Khai báo đường trịn khi biết phương trình đại số.</i>


[> circle(c, eqn, n, 'centername'=m); ↵


Trong đó: eqn: Phương trình đại số biểu diễn đường trịn.


* <i>Khai báo cơníc (c) đi qua 5 điểm phân biệt </i>A, B, C, E, <i>F:</i>


[> conic(c, [A, B, C, E], n); ↵


* <i>Khai báo cơníc (c) biết đường chuẩn, tiêu điểm và tâm sai:</i>


[> conic(c, [dir, gou, ecc], n); ↵



Trong đó: dir: Đường chuẩn của cơníc,
fou: Tiêu điểm,


ecc: Một số dương xác định tâm sai của cơníc.


* <i>Khai báo cơníc (c) biết phương trình đại số</i>.


[> conic(c, eqn, n); ↵


Trong đó: eqn: Phương trình đại số,


* <i>Khai báo Elíp khi biết hai tiêu điểm và độ dài trục lớn (độ dài trục bé): </i>


[> ellipse(e, ['foci'=foi, 'MajorAxis'=lma], n); ↵
[> ellipse(e, ['foci'=foi, 'M'norAxis'=lmi], n); ↵


</div>
<span class='text_page_counter'>(150)</span><div class='page_container' data-page=150>

'MinorAxisl=lmi: Độ dài trục bé.


* <i>Khai báo Elíp khi biết hai tiêu điểm và tổng khoảng cách từ một điểm bất kỳ thuộc </i>


<i>Elíp đến các tiêu điểm:</i>


[> ellipse(e, ['foci'=foi, 'distance'=dis], n); ↵


Trong đó: 'foci'=foi: Danh sách hai tiêu điểm của Elíp,


‘distance'=dis: Tổng khoảng cách từ một điểm bất kỳ thuộc Elíp đến các
tiêu điểm.



* <i>Khai báo Elíp khi biết hai điểm cuối của trục lớn và trục bé:</i>


[> ellipse(e, ['MajorAxis'=ep1, 'MinorAxis'=ep2], n); ↵


Trong đó: 'MajorAxis'=epl : Danh sách hai điểm cuối của trục lớn,
'MinorAxis"=ep2: Danh sách hai điểm cuối của trục bé.


* <i>Khai báo Elíp khi biết phương trình đại số của chúng:</i>


[> ellipse(e, eqn, n); ↵


Trong đó: eqn: Phương trình đại số.


* <i>Khai báo Hypebol đi qua 5 điểm A,B,C,D,E.'</i>


[> hyperbola(h, [A, B, C, E, F], n); ↵


* <i>Khai báo Hypebol khì biết đường chuẩn, tiêu điểm, tâm sai:</i>


[> 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.


* <i>Khai báo Hypebol khi biết hai tiêu điểm, các đỉnh:</i>


[> hyperbola(h, ['foci'=foi,'vertices'=ver], n); ↵


Trong đó: ‘vertices'=ver: Danh sách hai đỉnh của Hypebol,


'focil:foi: Danh sách hai tiêu điểm của Hypebol.


* <i>Khai báo Hypebol khi biết hai tiêu điểm và khoảng cách giữa hai đỉnh: </i>


[> hyperbola(h, ['foci'=foi,'distancev'=disv], n); ↵


Trong đó: 'foci'=foi: Danh sách hai tiêu điểm của Hypebol,


‘distancev'=disv: Khoảng cách giữa hai đỉnh của Hypebol.


</div>
<span class='text_page_counter'>(151)</span><div class='page_container' data-page=151>

[> hyperbola(h, ['vertices'=ver,'distancef=disf], n); ↵


Trong đó: ‘vertices'=ver: Danh sách hai đỉnh của Hypebol,
‘distancef’=disf: Khoảng cách giữa hai tiêu điểm.


* <i>Khai báo Hypebol khi biết phương trình đại số:</i>


[> hyperbola(h, eqn, n); ↵


Trong đó: eqn: Phương trình đại số của Hypebol.


* <i>Khai báo Parabol đi qua 5 điểm </i>A, B, C, E, <i>F phân biệt.</i>


[> parabola(p, [A, B, C, E, F], n); ↵


* <i>Khai báo Parabol khi biết tiêu điểm và đỉnh:</i>


[> parabola(p, ['focus'=fou, 'vertex'=ver], n);
Trong đó: 'focus' <i>= </i>fou: Tiêu điểm,



'vertex'=ver: Đỉnh của Parabol.


* <i>Khai báo Parabol khi biết đường chuẩn và tiêu điểm:</i>


[> parabola(p, ['directrix'=dir, 'focus'=fou], n); ↵
Trong đó: 'focus'=fou: Tiêu điểm,


‘directrix'=dir: Đường chuẩn.


* <i>Khai báo Parabol khi biết phương trình đại số .</i>


[> parabola(p, eqn, n); ↵


Trong đó: eqn: Phương trình đại số.


* <i>Kiểm tra 3 điểm thẳng hàng:</i>


[> 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 để 3 điểm thẳng hàng.


* <i>Kiểm tra 3 đường thẳng đồng quy:</i>


[> Areconcurrent(l1, l2, l3, cond); ↵
Trong đó: l1, l2, l3: Ba đường thẳng,


cond: tên - trả lại điều kiện để 3 đường thẳng đồng quy.


* <i>Kiểng tra hai điểm </i>A, <i>B liên hợp điều hoà với hai điểm </i>C, <i>D cho trước trên đường </i>



<i>thẳng:</i>


</div>
<span class='text_page_counter'>(152)</span><div class='page_container' data-page=152>

* <i>Kiểm tra hai đường thẳng song song:</i>


[> AreParallel(11, 12, cond); ↵
Trong đó: l1, l2: Hai đường thẳng.


cond: (tuỳ chọn) tên - trả lại điều kiện để 2 đường thẳng song song.


* <i>Kiểm tra hai đường thẳng vng gốc:</i>


[> 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.


* <i>Kiểm tra một điểm, một danh sách hoặc tập hợp các điểm thuộc một đường thẳng:</i>


[> lsOnline(f, cond); ↵


Trong đó: f: Một điểm, một danh sách hoặc tập hợp các đ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.


* <i>Kiểm tra 4 điểm P1, P2, P3, P4 bất kì cùng nằm trên một đường trịn: </i>


[> Areconcyclic(pi1, P2, P3, P4, cond); ↵



Trong đó: cond (tên) trả lại điều kiện để 4 điểm thuộc đường tròn.


* <i>Kiểm tra một điểm, một danh sách hoặc tập hợp các điểm cùng thuộc một đường </i>


<i>tròn:</i>


[> lsOncircle( f, c, cond); ↵


Trong đó f: Một điểm, một danh sách hoặc tập hợp các đ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.


* <i>Kiểm tra hai đường tròn c1, c2 trực giao:</i>


[> AreOrthogonal(c1, c2, cond); ↵


Trong đó: cond: trả lại điều kiện để hai đường trịn trực giao.


* <i>Kiểm tra tính tiếp xúc giữa đường thẳng và đường tròn hoặc giữa hai đường tròn:</i>


[> AreTangent(f, g); ↵


Trong đó: f, g: Một đường thẳng và một đường tròn hoặc hai đường tròn.


<i><b>4.12.2 Các l</b><b>ệ</b><b>nh tính tốn trong hình h</b><b>ọ</b><b>c </b></i>


</div>
<span class='text_page_counter'>(153)</span><div class='page_container' data-page=153>

[> coordinates(P); ↵


* <i>Xác định tung độ (hoành độ) của một điểm P:</i>



[> VerticalCoord(p); ↵
[> HorizontalCoord(p); ↵
* <i>Tìm trung điểm của đoạn thẳng:</i>


[> midpoint(c, A, B);↵
[> midpoint(c, seg); ↵
[> midpoint(p1, p2);↵


Trong đó: C : Tên của trung điểm,
A, B: Hai điểm,
seg: Đoạn thẳng,


pl, p2: Các tên, các biểu thức hoặc các điểm.


* <i>Tìm các tiêu điểm của Elíp hoặc Hypebol:</i>


[> foci(fn, f); ↵


Trong đó : fn: (tuỳ chọn) danh sách 2 tên,
f: Một Elíp hoặc Hypebol.


* <i>Tìm độ dài trục lớn (trục </i>bé) <i>của Elíp (e):</i>


[> MajorAxis(e); ↵
[> MinorAxis(e); ↵


* <i>Tìm đường đối cực của một điểm đổi với một cơníc hoặc một đường trịn: </i>


[> Polar(l, P, c) ↵



Trong đó : l: Tên của đường đối cực,
P: Điểm,


c: Đường cơmc hoặc đường trịn.


* <i>Tìm cực của một đường thẳng đối với một cơníc hoặc một đường trịn: </i>


[> Pole(p, p, c); ↵


Trong đó: P : Tên cực của đường thẳng,
p: Đường thẳng,


</div>
<span class='text_page_counter'>(154)</span><div class='page_container' data-page=154>

* <i>Tìm hình chiếu của một điểm lên một đường thẳng:</i>


[> projection(Q, P, l) ; ↵


Trong đó: Q: Tên của điểm chiếu,
P: Điểm,


l: Đường thẳng.


* <i>Trả lại hai đầu mút của một đoạn thẳng, đoạn thẳng định trường hoặc các đỉnh của </i>


<i>một tam giác, hình vng:</i>


[> DefinedAs(obj); ↵


Trong đó: obj: Đoạn thẳng, đoạn thẳng định hướng, tam giác, hình vng.
* <i>Trả lại phương trình đại số của một đối tượng hình học:</i>



[> Equation(obj); ↵


[> Equation(obj, [x, y]); ↵


Trong đó: obj : Đối tượng hình học,


[x, y]: (tuỳ chọn) tên của hai trục toạđộ.


* <i>Trả lại tên trục hoành (trục tung) trong phương trình xác định của đối tượng: </i>


[> HorizontalName(obj); ↵
[> VerticalName(obi); ↵


Trong đó: obj : Đường thẳng, tam giác, đường trịn, parabol, elíp, hypebol.
* <i>Trả lại dạng xác định đối tượng:</i>


[> form(obj); ↵


Trong đó: obj: Đối tượng hình học.


* <i>Mơ tả chi tiết các thuộc tính của đối tượng hình học:</i>


[> detail(g); ↵


Trong đó: g: Đối tượng, danh sách hoặc tập hợp các đối tượng hình học.


* <i>Vẽ các đối tượng hình học:</i>


[> draw(obj,...); ↵



[> draw([obj_1,..., obj_n],...); ↵


Trong đó: obj: Đối tượng cần vẽđồ thị,


[obj_l,..., obj_n]: Danh sách các đối tượng cán vẽđồ thị.


</div>
<span class='text_page_counter'>(155)</span><div class='page_container' data-page=155>

[> intercept(eqn1); ↵


[> intercept(eqn1, eqn2, {x, y})↵


Trong đó: eqnl, eqn2: Các phương trình (Ví dụ: y = x2 <i>+ </i>3),
x, y: (tuỳ chọn) toạđộ của các biến.


* <i>Tính độ dài có hướng giữa hai điểm </i>A, <i>B:</i>


[> SensedMagnitude(A, B) ; ↵


* <i>Tính tích có hướng của hai đoạn thẳng định hướng:</i>


[> Crossproduct(dseg1, dseg2); ↵


Trong đó : dseg 1, dseg2 : Hai đoạn thẳng định hướng.


* <i>Tính tỷ sốđiều hồ hoặc tự số kép của 4 điểm thẳng hàng </i>A, B, C, <i>D: </i>


[> CrossRatio(A, B, C, F); ↵


* <i>Tính các cạnh của tam giác hoặc hình vng (g):</i>



[> sides(g); ↵


<i>* Tính bán kính của đường trịn c:</i>


[> radius(c); ↵


*<i> Tính đường kính của một tập hợp điểm:</i>


[> diameter(g); ↵


Trong đó: g: Danh sách hoặc tập hợp các điểm.


<i>* Tính hệ số góc của một đường thẳng:</i>


[> slope(l) ; ↵
[> slope(A, B); ↵


Trong đó: l: Đường thẳng,
A, B: Hai điểm.


* <i>Tính phương tích của điểm P đối với đường trịn c:</i>


[> powerpc(p, c);↵


* <i>Tính khoảng cách:</i>


[> distance(p, l); ↵
[> distance(a, b); ↵


</div>
<span class='text_page_counter'>(156)</span><div class='page_container' data-page=156>

l: Điểm hoặc đường thẳng,



a, b: Các biểu thức hoặc các đối tượng thuộc kiểu khai báo điểm.


* <i>Tính diện tích:</i>


[> area(obj); ↵


Trong đó: obj: Tam giác, hình vng, đường trịn hoặc elíp.


* <i>Xác định đường tròn Appollius của 3 đường tròn c1, c2, c3 cho trước: </i>


[> Apollonius(c1, c2, c3); ↵


* <i>Xác định trục đẳng phương 1 của hai đường tròn c1, c2:</i>


[> RadicalAxis(l, ci, c2); ↵


* <i>Xác định tâm đẳng phương d của ba đường mòn c1, c2, c3:</i>


[> Radicalcenter(d, c1, c2, c3); ↵


* <i>Xác định tiếp tuyên từ một điểm đến một đường tròn (tiếp tuyến tại một điểm trên </i>


<i>đường trịn đó):</i>


[> TangentLine(obj, p, c, n); ↵
[> tangentpc(l, P, c), ↵


Trong đó: obj: Tiếp tuyến đi qua điểm P,
l: Tiếp tuyến tại điểm P,



c: Đường tròn,


n: (tuỳ chọn) danh sách tên trục.


* <i>Xác định giao điểm của hai đường thẳng hoặc hai đường trịn:</i>


[> intersection(obj, f, g); ↵


Trong đó: obj: Tên các giao điểm,


f, g: Hai đường thẳng hoặc hai đường trịn.


* <i>Tính góc giữa hai đường thẳng hoặc hai đường trịn</i>


[> FindAngle(u, v); ↵


Trong đó: u, v: Hai đường thẳng hoặc hai đường tròn.


<i><b>4.12.3. M</b><b>ộ</b><b>t vài minh ho</b><b>ạ</b><b> vi</b><b>ệ</b><b>c s</b><b>ử</b><b> d</b><b>ụ</b><b>ng các l</b><b>ệ</b><b>nh trên </b></i>


<i>- Khai báo điểm A(x,y) </i>: point : [> A:=[1,2]: hoặc [> point(A,[1,2]): ↵


<i>- Đánh dấu điểm A </i>: draw: [> draw(point(A,1,2)): ↵


</div>
<span class='text_page_counter'>(157)</span><div class='page_container' data-page=157>

thẳng với lệnh segment: [> point(A,[1,2]):point(B,[-1,-2]): segment(AB,[A,B]); ↵
Hoặc có thể sử dụng câu lệnh kép:


[> segment(AB,[point(A,[1,2]),point(B,[-1,-2])]): ↵



<i>- Vẽđoạn thẳng qua 2 điểm </i>A, <i>B đã định nghĩa: </i>[> draw(segment(AB,[A,B])): ↵


- <i>Vẽ</i> <i>đường thẳng qua hai điểm A,B: </i>


[>line(l,[point(A,(1,2)),point(B,(-1,-2))]):draw(l)↵


- <i>Xác định đường thẳng 1 có dạng ax+by=c </i>: [> line(l,2*x+9*y=-9,[x,y]): draw(l): ↵


- <i>Xác định giao điểm của hai đường thẳng l1, l2: </i>intersection,


[> line(l1, x = 0, [x,y]}, line(l2, x <i>+ y </i>= 1, [x,y]): intersection(G, l1, l2); ↵


<i>-Xác định toạđộ giao điểm: </i>[> coordinates(G): ↵


<i>- Xác định giao điểm giữa đường thẳng và đường trịn khi biết các phương trình của </i>


<i>chúng:</i>[>line(l, x <i>+ </i>y = 1, [x,y]): circle(c, x^2 <i>+ </i>y^2 = 1, [x,y]):


intersection(p, 1, c,[M,N]): detail(p): draw({l,c}); ↵


<i>- Xác định giao điểm của hai đường trịn khi biết phương trình của chúng: </i>


[> circle(c1, x^2 <i>+ </i>y^2 = 1, [x,y]): circle(c2,[point(0,2,0),1.5],[x,y]):
intersection(H,c2,c1,[U,V]): detail(H): ↵


-Vẽ<i>hai đường tròn cắt nhau ở trên như sau:</i>


[> draw({c1,c2}): ↵


<i>- Các câu lệnh sau khi thực hiện cần mở gói cơng cụ hình học với lệnh </i>:



[> with(geometry): ↵


Xác định tam giác: triangle:


<i>-Xác định tam giác khi biết ba điểm:</i>


[>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)): ↵


<i>- Dựng tam giác xác định bởi ba đường thẳng:</i>


[>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)): ↵


<i>- Xác định tam giác khi biết độ dài ba cạnh, </i>ví dụ là 3,4,5:


[> triangle(T,[3,4,5]):detail(T): ↵


</div>
<span class='text_page_counter'>(158)</span><div class='page_container' data-page=158>

cạnh lần lượt là 2, 1 và góc xen giữa là 45().


[> triangle( r,[2,'angle'=Pi/2,1]):method(T): DefinedAs( T): ↵


- X<i>ác định các đường cao </i>altitude() <i>và trực tâm </i>orthocenter() <i>tam giác:</i>


[> 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): ↵


<i>- Dựng các đường trung tuyến </i>median () là <i>trọng tâm </i>centroid() <i>tam giác:</i>



[> 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): ↵


- <i>Dựng các đường trung trực</i> PerpenBisector <i>và tâm đường tròn ngoại tiếp tam giác:</i>


[> 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): ↵


- <i>Dựng các đường phân giác </i>bisector <i>và tâm đường tròn nội tiếp </i>incircle <i>tam giác: </i>


[> 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): ↵


<i>- Dựng đường tròn từ ba điểm phân biệt: </i>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); ↵


- <i>Dựng đường tròn khi biết hai điểm cuối của một đường kính: </i>circle


[> point(M,Horizontalcoord(O1)-radius(c1),Verticalcoord(O1)),
point(N,Horizontalcoord(O1)+radius(c1),Verticalcoord(O1)):
circle(c2,[M,N]), Equation(c2); ↵


<i>- Dựng đưừng trịn khi biết tâm và bán kính của nó: </i>circle



[> circle(c3,[center(c1),radius(c1)]): Equation(c3): ↵


<i>- Dựng đường tròn khi biết phương trình đại số của nó: </i>circle()


[> circle(c4,Equation(c1),'centername'=O2): center(c4), coordinates(center(c4)):
radius(c4): ↵


</div>
<span class='text_page_counter'>(159)</span><div class='page_container' data-page=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):


- <i>Dựng đường tròn nội tiếp một tam giác: </i>incircle


[> with(geometry):triangle(T, [point(a,0,0), point(B,2,0), point(c,1,3)]):
incircle(inc,T,'centername'=0):detail(inc): ↵


<i>- Dựng các đường tròn bàng tiếp một tam giác: </i>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); ↵


- <i>Qua một điểm dựng đường thẳng song song với đường thẳng đã cho </i>ParallelLine


[> with(geometry):


EnvHorizontalName:='x':EnvVerticalName:='y':
point(p, 2, 3), line(l,x <i>+ </i>y =1,[x,y]);



ParallelLine(lp, P, l);


detail(lp);draw({lp(color=magenta),l,P(color=blue)}); ↵


<i>- Qua một </i> <i>điểm dựng </i> <i>đường thẳng vng góc với </i> <i>đường thẳng </i> <i>đã cho: </i>


PerpendicularLine


[> point(P, 2, 3), line(l, x <i>+ </i>y =1, [x,y]):


PerpendicularLine(lp, P, l):detail(lp): draw({l,lp,P})↵


- <i>Qua một điểm dựng tiếp tuyên với một đường tròn: </i>TangentLine


[> point(A, 3, -2), circle(c, a^2 <i>+ </i>b^2 = 1,[a,b]).
TangentLine(obj, A, c, [l1, l2]):


form(l1), Equation(l1):form(l2), Equation(l2): draw({A,c,l1,l2}): ↵


<i>- Dựng trục đẳng phương RadicalAxis của hai đường tròn và tâm đẳng phương </i>


<i>Radicalcenter của ba đường tròn:</i>


</div>
<span class='text_page_counter'>(160)</span><div class='page_container' data-page=160>

<i>- Kiểm tra hai đường thẳng có song song khơng: </i>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): ↵


<i>- Kiểm tra hai đường thẳng có vng góc không: </i>ArePerpendicular



[> line(l1,y=x,[x,y]):line(l2,y:-x,[x,y]): ArePerpendicular(l1,l2): ↵


- <i>Kiểm tra một điểm có thuộc một đường thẳng khơng: </i>lsOnline


[> point(A,0,-1):line(l1,2*x-y=2,[x,y]): lsOnline(A,11): ↵


<i>- Kiểm tra một điểm có thuộc một đường lrịn không: </i>lsoncircle


[> point(B,1,-1):circle(c,(x-1)^2+(y-2)^2=3^2,[x,y]): lsOncircle(B,c): ↵


- <i>Kiểm tra ba điểm có thẳng hàng khơng.</i>AreCollinear


[> point(Ai,1 )-1):point(Bi,O,1):point(ci,2,-3): AreCollinear(A1,B1,C1): ↵


- <i>Kiểm tra ba đường thẳng có đồng quy khơng: </i>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): ↵


- <i>Kiểm tra bốn điểm thẳng hàng có liên hợp điều hồ với nhau khơng. </i>AreHarmonic


[> with(geometry): point(A,1,1):point(B,0,0):


point(C,-1,-1):point(D,-4,-4): AreHarmonic(A, B, C, D): ↵


- <i>Kiểm tra hai tam giác có liên hợp với nhau đối với một </i> <i>đường trịn khơng: </i>


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): ↵


- <i>Kiểm tra bốn điểm có thuộc cùng một đường trịn khơng: </i>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): ↵


- <i>Kiểm tra các đường trịn có trực giao khơng. </i>AreOrthogonal


[> with(geometry):_EnvHorizontalName := 'x': _EnvVerticalName := 'y':


circle(c1,x^2 <i>+ </i>y^2 =1), circle(c2, (x-2)^2 <i>+ </i>y^2 = 2): circle(c3, x^2 <i>+ </i>y^2 = 2):
AreOrthogonal(ci,c2): ↵


</div>
<span class='text_page_counter'>(161)</span><div class='page_container' data-page=161>

[> with(geometry):_EnvHorizontalName := 'x': _EnvVerticalName := 'y':
ircle(c1,x^2 <i>+ </i>y^2 =1): line(l, 2*x <i>+ </i>3*y =0 ): AreTangent(l, c1): ↵


- <i>Đường tròn tiếp xúc với đường tròn: </i>AreTangent


[> circle(c1,x^2 <i>+ </i>y^2 =1), circle(c2,(x-2)^2 <i>+ </i>y^2 =1): AreTangent(c1,c2): ↵


- <i>Kiểm tra hái tam giác có đồng dạng khơng: </i>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): ↵



- <i>Kiểm tra tam giác có đều khơng: </i>lsEquilateral


[> triangle(ABC, [point(A,0,0), point(B,2,0), point(C,1,2)]):lsEquilateral(ABC): ↵


- <i>Kiểm tra tam giác có vng khơng: </i>lsRightTriangle


[>triangle(ABC,[point(A,0,0),point(B,2,0), point(C,0,2)]):lsRightTriangle(ABC): ↵


- <i>Khoảng cách giữa hai điểm:</i>


[> point(A, 1, -2),point(B,2,-5):distance(A,B): ↵
hoặc


[> distance(segment(AB,[A,B]): ↵


<i>- Khoảng cách giữa điểm với đường thẳng</i>


[> point(A,-1,2):line(l,2*x-3*y=1,[x,y]): distance(A,l): ↵


Ta cũng có thể tính khoảng cách giữa điểm với đường thẳng bằng cách tính
khoảng giữa điểm đó với hình chiếu của nó trên đường thẳng. Ta tìm toạđộ hình chiếu
của điểm bằng lệnh:


[> projection(B, A, l):coordinates(B):distance(A,B): ↵


<i>- Khoảng cách </i>giữa <i>hai đường thẳng:</i>


[> line(l1,2*x-y=3,[x,y]):line(l2,x-3*y=0,[x,y]):distance(11,12): ↵



Ta cũng có thể lấy ngẫu nhiên một điểm trên một đường thẳng và tìm hình chiếu
của nó trên đường thẳng kia. Sau đó tính khoảng cách giữa hai điểm vừa tìm được :


[> randpoint(p, l1, -1..2 ):coordinates(P):projection(Q,P, l2): distance(p,Q): ↵


- <i>Xác định hệ số góc của đường thẳng: </i>slope


</div>
<span class='text_page_counter'>(162)</span><div class='page_container' data-page=162>

- <i>Tính góc giữa hai đường thẳng khi biết phương trình của nó </i>FindAngle


- <i>Tính góc giữa hai đường trịn: </i>FindAngle


- Tính diện tích tam giác area


- <i>Tính cạnh </i>diagonal <i>và diện tích hình vng </i>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): ↵


- <i>Tính diện tích hình trịn: </i>area


[> circle(c,[point(O,1,-2),5]):area(c): ↵


- <i>Tính diện rích Elip: </i>area


<i><b>4.12.4. Các câu l</b><b>ệ</b><b>nh c</b><b>ơ</b><b> b</b><b>ả</b><b>n c</b><b>ủ</b><b>a Maple trong hình h</b><b>ọ</b><b>c không gian</b></i>


Để bắt đầu thực hiện các câu lệnh trong hình học khơng gian, chúng ta phải mở


gói hình học không gian bằng 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 trong gói này 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 và hình đa diện. Để tạo các đối
tượng cơ bản, ta sử dụng các hàm gọi sau: dsegment, line, plane, point, segment,
sphere, triangle.


<i>* Xác định đường thẳng (l) đi qua hai đíểm </i>A, <i>B:</i>


[> ltne(l, [A, B]); ↵


* <i>Xác định đường thẳng (l) đi qua A và có véc tơ chỉ phương v:</i>


[> line(l, [A, v]); ↵


* <i>Xác định đường thẳng (l) đi qua A và có phương của một đoạn thẳng định hướng </i>


<i>dseg:</i>


</div>
<span class='text_page_counter'>(163)</span><div class='page_container' data-page=163>

* <i>Xác định đường thẳng (l) đi qua A và vng góc với mặt phẳng p1 </i>:
[> line(l, [A, p1); ↵


* <i>Xác định đường thẳng (l) là giao tuyến của hai mặt phẳng p1,p2 </i>:


[> line(l, p1, p2]); ↵


* <i>Xác định đường thẳng (l) khi biết phương trình tham số .</i>


[> line(l, [a1 <i>+ </i>b1*t, a2 <i>+ </i>b2*t, a3 <i>+ </i>b3*t ], t), ↵


Trong đó: a1, a2, a3, b1, b2, b3: Các số thực,


t: (tuỳ chọn) tham số.


* <i>Xác định mặt phẳng (p) đi qua A và có véc tơ pháp tuyến v:</i>


[> plane(p, [A, v]); ↵


* <i>Xác định mặt phẳng (p) đi qua A và có véc tơ pháp tuyến cùng phương với phương </i>


<i>của đoạn thẳng định hướng dseg1 </i>:
[> plane(p, [A, dsegi]); ↵


* <i>Xác định mặt phẳng (p) chứa hai đoạn thẳng định hướng dseg1,dseg2 có cùng một </i>


<i>đầu mút:</i>


[> plane(p, [dseg1, dseg2]); ↵


* <i>Xác định mặt phẳng (p) chứa hai đường thẳng l1,l2 (trong trường hợp l1 và l2 chéo </i>


<i>nhau thì mặt phẳng (p) được xác định là mặt phẳng chứa l1 và song song với l2):</i>


[> plane(p, [l1, l2]); ↵


* <i>Xác định mặt phẳng (p) đi qua 3 điểm phân biệt </i>A, B, <i>C:</i>


[> plane(p, [A, B, C]); ↵


* <i>Xác định mặt phẳng (p) đi qua A và song song với hai đường thẳng l1,</i> <i>l2 </i>:



[> plane(p, [A, l1, l2]); ↵


<i>* Xác định mặt phẳng (p) khi biết phương trình đại số.</i>


[> 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ạđộ.
* <i>Xác định mặt cầu (s) đi qua 4 điểm phân biệt:</i>


[> sphere(s, [A, B, C, D], n, 'centername'=m); ↵


</div>
<span class='text_page_counter'>(164)</span><div class='page_container' data-page=164>

'centername'=m: (tuỳ chọn) tâm của mặt cầu.


* <i>Xác định mặt cầu (s) khi biết đường kính AB:</i>


[> sphere(s, [A, B], n, 'centername'=m); ↵


* X<i>ác định mặt cầu </i>(s) <i>khi biết tâm A và độ lớn của bán kính:</i>


[> sphere(s, [A, rad], n, 'centername'=m); ↵
Trong đó: rad: Bán kính của mặt cầu.


* <i>Xác định mặt cầu (s) đi qua điểm A và tiếp xúc với mặt phẳng p:</i>


[> sphere(s, [A, p], n, 'centername'=m); ↵


* <i>Xác định mặt cầu (s) khi biết phương trình tổng quát:</i>



[> sphere(s, eqn, n, 'centername'=m), ↵


Trong đó eqn: Phương trình tổng quát của mặt cầu.
* <i>Đa diện đều </i>:


[> Regularpolyhedron(gon, [m, n], o, r); ↵
Trong đó: gon: Tên của đa diện cần tạo,


o: Điểm,


r: Số dương, một phương trình.
Giá trị [m, n] được cho bởi:


{3, 3} hoặc [3, 3]: Tứ diện,


{3, 4} hoặc [3, 4]: Lục diện (hình lập phương),
{4, 3} hoặc [4, 3]: Bát diện,


{3, 5} hoặc [3, 5]: Thập nhị diện,
{5, 3} hoặc [5, 3]: Nhị thập diện.


* <i>Các câu lệnh tạo trực tiếp các khối đa diện đều:</i>


[> 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 đều.



</div>
<span class='text_page_counter'>(165)</span><div class='page_container' data-page=165>

[> area(gon): ↵ Trả lại diện tích xung quanh của đa diện đều,
[> center(gon): ↵ Trả lại tâm của mặt cầu ngoại tiếp đa diện đều,


[> faces(gon): ↵ Trả lại các mặt của đa diện đều, mỗi mặt được biểu diễn bởi một
danh sách toạđộ của các đỉnh của các mặt đó,


[ form(gon): ↵ Trả lại dạng của đa diện đều


[> lnRadius(gon): ↵ Trả lại bán kính của mặt cầu nội tiếp đa diện đều (tức mặt
cầu tiếp xúc với tất cả các mặt của đa diện đều),


[> MidRadius(gon): ↵ Trả lại bán kính của mặt cầu tiếp xúc với tất cả các cạnh
của đa diện đều,


[> radius(gon): ↵ Trả lại bán kính của mặt cầu ngoại tiếp đa diện đều,
[> sides(gon): ↵ Trả lại độ dài các cạnh của đa diện đều,


[> vertices(gon): ↵ Trả lại toạđộ các đỉnh của đa diện đều,
[> volume(gon): ↵ Trả lại thể tích của đa diện đều.


* <i>Hình lăng trụ:</i>


[> parallelepiped(pp, [d1, d2, d3]); ↵
Trong đó pp: Tên của hình lăng trụ,


d1, d2, d3 : Ba đoạn thẳng định hướng chung một đỉnh.


* <i>Kiểm tra các đối tượng hình học khơng trùng nhau:</i>


[> AreDistinct(A, B, C, <i>...); </i>↵



Trong đó A, B, C, <i>. . </i>. : Các điểm, các đường thẳng, các mặt phẳng, <i>. . .</i>


* <i>Kiểm tra tính thẳng hàng của 3 điểm </i>P, Q, <i>R:</i>


[> 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.
* <i>Kiểm tra sự liên hợp của hai điểm </i>A, <i>B với một hình cầu (s) cho trước: </i>


[> 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 nhau đối
với (s)


* <i>Kiểm tra tính đồng phẳng:</i>


</div>
<span class='text_page_counter'>(166)</span><div class='page_container' data-page=166>

Trong đó: A, B, C, D: Các điểm,
l1,l2: Các đường thẳng.


* <i>Kiểm tra điểm, tập hợp các điểm thuộc một đối tưng nào đó:</i>


[> lsOnobject(f, obj, cond); ↵


Trong đó f: Một điểm, danh sách điểm, tập hợp các đ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 trên.


* <i>Kiểm tra tính song song:</i>



[> 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 để các đối tượng song song với nhau.


* <i>Kiểm tra tính vng góc (trực giao)</i>


[> 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 để các đối tượng vng góc với nhau.



* <i>Kiểm tra tính chéo nhau của hai đường thẳng l1,l2 </i>:


</div>
<span class='text_page_counter'>(167)</span><div class='page_container' data-page=167>

* <i>Kiểm tra mặt phẳng (p) tiếp xúc với mặt cầu (s):</i>


[> lsTangent(p, s); ↵
* <i>Kiểm đa diện đều (gần đều):</i>


[> lsRegular(ngon); ↵
[> lsQuasi(ngon); ↵
Trong đó ngon: Đa diện.


* <i>Tính khoảng cách:</i>


[> 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.


* <i>Tìm góc </i>:


[> 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, <i>s2: </i>Các mặt cầu,
A: Một điểm,


T: Một tam giác.


* <i>Lệnh trả lại góc trong tại đỉnh A của tam giác T.</i>


[> FindAngle(A, T); ↵


</div>
<span class='text_page_counter'>(168)</span><div class='page_container' data-page=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ụ.


* <i>Tìm tâm của các đối tượng hình học:</i>


[> center(cn, c); ↵


Trong đó: cn: (tuỳ chọn) tên của tâm,
c: Hình cầu, hình đa diện.
* <i>Trả lại các mặt của hình đa diện obj:</i>


[> faces(obj); ↵



* <i>Xác định một mặt của hình đa diện:</i>


[> facet(gon, case, n); ↵


Trong đó: gon: Tên của mặt đa diện,
case: Trường hợp khối đa diện,
n: Số nguyên không âm.


* <i>Xác định giao điểm giữa hai hoặc ba đối tượng hình học:</i>


[> 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 của các giao điểm,


l1, l2: Các đường thẳng,
pl, p2, p3: Các mặt phẳng,
s<i>: </i>Mặt cầu.


* <i>Trả lại phương trình của các đối tượng hình học:</i>


[> Equation(obj); ↵
[> Equation(obj, t); ↵


</div>
<span class='text_page_counter'>(169)</span><div class='page_container' data-page=169>

Trong đó: obj: Đối tượng hình học,


t: tên tham số trong phương trình tham số của đường thẳng,


[x y, z] : (tuỳ chọn) tên của các trục toạđộ.


* <i>Tìm tên của tham biến được sử dụng trong phương trình tham số của đường thẳng:</i>


[> tname(obj); ↵


Trong đó obj: Đường thẳng.


* <i>Trả lại đường thẳng (hoặc mặt phẳng đi qua một điểm (hoặc một đường thẳng) và </i>


<i>song song với một đường thẳng (hoặc mặt phẳng):</i>


[> parallel(w, u, v); ↵


Trong đó: w: Tên của đường thẳng hoặc mặt phẳng được tạo ra,
u: Một điểm hoặc một đường thẳng,


v: đường thẳng hoặc mặt phẳng (nếu ulà một điểm).


<i>* Xác định đường đối cực (cực) của một điểm (mặt phẳng) đơi với một hình cầu: </i>


[> polar(p, A, s);↵
[> pole(B, q, s); ↵


Trong đó p: Tên của đường đối cực,
A: Một điểm,


s: Hình cầu,
B: Tên của cực,
q: Mặt phẳng.



* <i>Tính phương tích của điểm P đối với hình cầu s:</i>


[> powerps(p, s); ↵


* <i>Xác định mặt đẳng phương của hai hình cầu, xác định trục đẳng phương của ba </i>


<i>hình cầu, xác định tâm đẳng phương của bạn hình cầu cho trước:</i>


[> RadicalPlane(p1, s1, s2); ↵
[> RadicalLine(p2, s1, s2, s3); ↵
[> RadtcalCenter(p3, s1, s2, s3, s4); ↵
Trong đó pl: Mặt đẳng phương,


</div>
<span class='text_page_counter'>(170)</span><div class='page_container' data-page=170>

s1, s2, s3, s4: Các hình cầu.


<i>* Xác định mặt phẳng tiếp xúc của một điểm trên mặt cầu:</i>


[> TangentPlane(p, A, s); ↵


Trong đó p: Tên của mặt phẳng tiếp xúc tại điểm
A, s: Mặt cầu.


* <i>Xác định hình chiếu của một đối tượng trên một đối tượng khác:</i>


[> projection(Q, A, l); ↵
[> proJection(Q, A, p); ↵
[> projection(Q, seg, p); ↵
[> projedion(Q, l, p); ↵



Trong đó: Q: Tên của đối tượng được tạo ra,
A: Một điểm,


seg: Một đoạn thẳng hoặc một đoạn thẳng định hướng,
l: Đường thẳng,


p: Mặt phẳng.


<i><b>4.12.5. M</b><b>ộ</b><b>t s</b><b>ố</b><b> minh ho</b><b>ạ</b></i>


- <i>Điểm A có toạđộ xác định x,y,z: </i>point(A,x,y,z); ↵


ví dụ. [> point(A,1,2,3); ↵


Để hiển thị toạđộ của điểm A đã định nghĩa: [> coordinates(A): ↵


để hiển thị từng toạđộ :[> xcoord(A):ycoord(A):zcoord(A): ↵


- <i>Đoạn thẳng đi qua hai điểm cho trước A,,B: </i>segment(AB,[A,B]); ↵


Ví dụđoạn thẳng đi qua điểm A(1,2,3) và đ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): ↵


<i>- Đường thẳng đi qua hai điểm đã biết A,B line(l,[A, B]):hoặc đi qua một điểm A và có </i>


<i>véc tơ chỉ phương v cho trước :line(l,[A, v]),</i>



</div>
<span class='text_page_counter'>(171)</span><div class='page_container' data-page=171>

vẽđường thẳng vừa dựng được :
[> draw(l): ↵


- <i>Mặt phẳng p qua ba điểm A,B,C khơng thẳng hàng: </i>plane(p,[A,B,C]):


Ví dụ Mặt phẳng p đi 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]): ↵


<i>- Mặt phẳng p đi qua một điểm A nhận u là véc tơ pháp tuyến: </i>plane(p,[A,u]); Ví dụ


mặt phẳng p đi 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]]); ↵


- <i>Mặt phẳng p đi qua một điểm A và có hai véc tơ chỉ phương u1,u2 cho trước: </i>


plane(p,[A,u1,u2]); Ví <i>dụ mặt phẳng p đi qua điểm A=(1,2,3) và u1=(0,1,4), </i>
<i>u2=(0,3,6)</i>


[> point(A,1,2,3): plane(p,[A,[0,1,4],[0,3,6]]): ↵


- <i>Mặt cầu (s) đi; qua bốn điểm không đồng phẳng A,B,C,D: </i>sphere(s,[A,B,C,D]


Ví dụ: với 4 đ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]): ↵


- <i>Mặt cho trước hoặc có tâm O và bán kính r xác định: </i>sphere(s[o,r]);


Ví dụ mặt cầu có tâm là điểm A, bán kính r:4:
[> sphere(s,[A,4]): Equation(s,[x,y,z]);


<i>- Mặt cầu có phưng trình f(x,y,z) cho trước </i>: sphere(s,f(x,y,a),[x,y,z]);


Ví dụ mặt cầu có phương trình x2+y2+z2 =l:


- <i>Giao điểm của của ba mặt phẳng: </i>intersection(đểm,mp1,mp2,mp3)


Ví dụ cho 4 điểm A=(0,0,0),B=(l,0,0), C=(0,l,0),E=(0,0,l). Mặt phẳng pl đi qua
ba điểm: A,B,C, p2 đi qua 3 điểm A,C,E và p3 đi qua 3 điểm A,B,E. Xác định toạ độ


giao điểm P của 3 mặt phẳng trên:


</div>
<span class='text_page_counter'>(172)</span><div class='page_container' data-page=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); ↵


- <i>Phương trình mặt phẳng </i> <i>đi qua ba điểm A,B,C khơng thẳng hàng </i>:


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); ↵


- <i>Dựng đường thẳng (mặt phẳng) pl địa qua điểm A và song song với đường thẳng </i>



<i>(mặt phẳng) p đã cho: </i>parallel(p1,A,p);


Ví <i>dụ: p có phương trình x+3y+z=2 và điểm A=(1,1,</i>5):


<i>- Dựng </i> <i>đường thẳng d đi qua một </i> <i>điểm A và vuông góc với mặt phẳng p: </i>


perpendicular(A,p,d);


- <i>Dựng mặt phẳng p đi qua điểm A và vng góc với đường thẳng bc đi qua hai điểm </i>


<i>B,C: </i>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


- <i>Dựng mặt đẳng phương </i>Radicalplane <i>của hai mặt cần trục đẳng phương </i>Radicalline


<i>của ba mặt cầu, tâm đẳng phương của bạn mặt cầu: </i>Radicalcenter


draw({c(color = blue),s,s1(color = black),s2(color = red),s3(color = magenta)}); ↵


- <i>Qua một điểm A dựng đường thẳng vng góc với mặt phẳng P đã cho (lấy điểm B là </i>


<i>hình chiếu của A trên P, lấy AB làm véc tơ chỉ phương)</i>


[>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)}); ↵


- <i>Qua một điểm dựng mặt phẳng vng góc với mặt phẳng đã cho </i>:



</div>
<span class='text_page_counter'>(173)</span><div class='page_container' data-page=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}); ↵


<i>- Qua một điểm dựng mặt phẳng vng góc với đường thẳng đã cho:</i>


<i>- Qua một điểm dựng đường thẳng vng góc với mặt phẳng đã cho </i>:


<i>- Kiểm tra một điểm có thuộc một đường thẳng hay không </i>?


[>point(p,1,2,4):point(Q,5,1,2):line(l,[Q,[1,2,31]): lsonobject(p,l); ↵


- <i>Kiểm tra một điểm có thuộc một mặt phẳng hay khơng </i>?


[> plane(p,[P,[2,4,51]):lsOnObject(Q,p); ↵


<i>-Kiểm tra một đường thẳng có nằm trong một mặt phẳng hay không </i>?


[> lsOnObject(FixedPoint(l),p): ↵


- <i>Kiểm tra một điểm có thuộc một mặt cầu hay khơng </i>?


[>sphere(s,[point(A,1,3,2),2]):lsonobject(p,s); ↵


- <i>Kiểm tra ba điểm có thẳng hàng hay không </i>? AreCollinear


[> point(M1,1,4,3):point(N1,2,1,2):point(p1,2,3,5):
AreCollinear(M1,N1,P1): ↵



- <i>Kiểm tra bốn điểm hoặc hai đường thẳng có đồng phẳng hay không?: </i>


[>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): ↵


<i>- Kiểm tra ba đường thẳng có đồng quy hay khơng </i>? AreConcurTent


- <i>Kiểm tra tính song song </i>: Areparatlel


Giữa đường thẳng và đường thẳng: [> AreParallel(ab,cd): ↵


</div>
<span class='text_page_counter'>(174)</span><div class='page_container' data-page=174>

Giữa mặt phẳng và mặt phẳng : [> plane(p2,[B1,[1,2,3]]):AreParallel(p1,p2): ↵


- <i>Kiểm tra tính vng góc: </i>ArePerpendicular


Giữa hai đường thẳng : [> ArePerpendicular(ab,cd): ↵


Giữa đường thẳng và mặt phẳng: [> ArePerpendicular(ab,p1): ↵
Giữa mặt phẳng và và mặt phẳng [> ArePerpendicular(p1,p2): ↵


- <i>Tính khoảng cách giữa các đối tượng: </i>distance


Để tính khoảng cách giữa hai điểm,khoảng cách từ một điểm tới một đường
thẳng, từ một điểm tới mặt phẳng, khoảng cách giữa hai đường thẳng chéo nhau,


khoảng cách giữa hai mặt phẳng ta dùng lệnh: distance(u,v);


trong đó u,v là điểm hoặc đường thẳng, hoặc mặt phẳng, ví dụ:


<i><b>4.12.6. M</b><b>ộ</b><b>t s</b><b>ố</b><b> ch</b><b>ươ</b><b>ng trình con tham kh</b><b>ả</b><b>o</b></i>


</div>
<span class='text_page_counter'>(175)</span><div class='page_container' data-page=175>

Hãy xác định các yếu tố của tam giác khi nhập vào toạđộ 3 đỉnh của 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 là 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 là 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 của 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 của tam giác ABC là’,


coordinates(orthocenter(H, ABC)));


print('phương trình đường trung trực của cạnh AB là',


Equation(PerpenBisector(pC, A, B)));


print('phương trình đường trung trực của cạnh BC là',
Equation(PerpenBisector(pA, B, C)));


Print(‘phương trình đường trung trực của 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 là radius(o));


print('phương trình đường phân giác trong của góc A là',
Equation(bisector(bA, A, ABC)));


</div>
<span class='text_page_counter'>(176)</span><div class='page_container' data-page=176>

Equation(bisector(bB, B, ABC)));


print('phương trình đường phân giác trong của 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 của góc A là


Equation(ExternalBisector(bA, A, ABC)});



print('phương trình đường phân giác ngồi của góc B là',
Equation(ExternalBisector(bB, B, ABC)));


print('phương trình đường phân giác ngồi của góc C là',
Equation(ExternalBisector(bC, C, ABC)));


excircle(obj, ABC);


print('phương trình các đường trịn bàng tiếp tam giác ABC lần lượt là',
Equation(obj[1]), Equation(obj[2]), Equation(obj[3]));


Print(‘ toạđộ các tâm đường tròn bàng tiếp tam giác ABC lần lượt 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ần lượt là',
radius(obj[1]), radius(obj[2]), radius(obi[3]));


print(‘phương trình đường thẳng Euler của tam giác ABC là',
Equation(EulerLine(El, ABC)));


Phim(‘ Phương trinh đường tròn Euler của tam giác ABC là’,
Equation(EulerCircle(Ec, ABC, 'centername' = En),


print('toạđộ tâm đường tròn Euler là coordinates(E));
print('bán kính đường trịn Euler là', radius(Ec));
print('diện tích tam giác ABC là area(ABC));
p:= sides(ABC);



</div>
<span class='text_page_counter'>(177)</span><div class='page_container' data-page=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 <i>=' </i>Hình vẽ minh hoạ’);
end: ↵


Sử dụng chương trình trên như sau:


Bước 1 ; Khai báo toạđộ 3 đỉnh của tam giác ABC
[> point(A, [1, -1]): point(B, [0, 0]): point(c, [-1, -1]): ↵
và nhập tên các trục toạđộ:


(> _EnvHorizontalName:='x': _EnVericalName= ‘y’:
Bước 2: Gọi lệnh thực hiện thủ tục đến: ↵


[> Giaitamgíac(a, B, C); ↵


* Xác định tam giác khi cho bất kì 3 yếu tố trong các yếu tố (độ lớn 3 góc, độ dài 3
cạnh, diện tích) của một tam giác.


[>GiaTG := proc(eq1, eq2, eq3)


# Chuyển đổi các câu trả lời trên từ số đo bằng độ sang số đo bằng radian:
L:=convert(%, list): k:=0:


for n from 1 to nops(l) do nL:=convert(op(n, L), list):
for m from 1 to 7 do 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)):


</div>
<span class='text_page_counter'>(178)</span><div class='page_container' data-page=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ỏ những câu trả lời phức tạp:
Value:= rhs(op(m, nL)):


opc:= nops(value):
if opc = 1 then


if (value <= 0 or signum(value) <> 1 ) then
r:= <i>r + </i>1: fi: else


if (signum(value) <> 1 ) then
r:= r <i>+ </i>1 : fi: fi: od:


if r = 0 then


# Loại bỏ trường hợp mà tổng ba góc lởn hơn 180 độ:



if ((rhs(A2) <i>+ </i>rhs(B2) <i>+ </i>rhs(c2))/degrees <= 180 <i>+ </i>.01) then
# In ra kết quả:


print(nL), print(A2, B2, C2); k:= k <i>+ </i>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 <i>+ </i>.05*sideb, 0, 'C'], align - {Right}, color = red):
p4:= textplot([sidec*cos(Arad), sidec*sin(Arad) <i>+ </i>.1*sidec, 'B'],
align = {Above}, color = red):


p5:= textplot([-.05*sideb <i>+ </i>.5*sidec*cos(Arad), .5*sidec*sin(Arad), 'c'],
align = {Left}, color = red):


</div>
<span class='text_page_counter'>(179)</span><div class='page_container' data-page=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 thì viết ra:
if k = 0 then



printf('không tồn tại tam giác'); fi:
end: ↵


Sau khi đã khai báo thủ tục, ta có thể sử dụng để giải các tam giác, ví dụ:
Tìm các 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 các tam giác có góc A = 53(), b = 10, a = 4:
l> GiaiTG(A = 53*evalf(Pi)/180, b = 10, a = 4); ↵


* <i>Chương trình chuyển từ phương trình dạng tổng quát sang phương trình dạng </i>


<i>tham số của đường thẳng trong không gian:</i>


[> 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ố của đường thẳng là', a)'
end: ↵


Sử dụng chương trình: viết phương trình tham số của đường thẳng cho bởi
phương trình tổng quát:


Sau khi khai báo 2 mặt phẳng, ta gọi thực hiện thủ tục:
[> PTTSdt(l1, l2); ↵



</div>
<span class='text_page_counter'>(180)</span><div class='page_container' data-page=180>

* <i>Xét vị trí tương đối của một mặt phẳng và một mặt cầu, đồng thời đưa ra một hình </i>


<i>ảnh trực quan bằng lệnh vẽ các đối tượng (draw) của Maple </i>(chúng ta có thể xoay


hình vẽ theo mọi góc độ giúp học sinh nhận thức vấn đề một cách chính 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):


<i>if </i>d > R then print('mặt phẳng và mặt cầu không cắt nhau);
draw({[p, s]}, axes = none);


elif d = R then print('mặt phẳng và mặt cầu tiếp xúc với nhau tạ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 và mặt cầu cắt nhau theo một đường tròn’);
draw({[s, p(color = blue)]}, axes = none);


end;
end: ↵


Sử dụng thủ tục trên để xét vị trí tương đối của mặt cầu (S): và mặt phẳng (α):..


Kết quả: Mặt phẳng cắt mặt cầu theo một đường trịn



* <i>Tìm tâm sai, tiêu điểm, tâm đối xứng, các bán trục (elíp), đường chuẩn của cơníc </i>


<i>bằng một section:</i>


Kết quả là một section xuất hiện và ta chỉ cần nhập phương trình đại số của cơníc vào
mục Equation và nhấn nút Display:


* <i>Trong không gian oxyz cho ba điểm A(0,1,2); B(2,3,1),C(2,2,-1]);</i>


<i>1) Viết phương trình mặt phẳng đi qua ba điểm A,B,C. Chứng tỏ gốc toạđộ cũng </i>


</div>
<span class='text_page_counter'>(181)</span><div class='page_container' data-page=181>

2) <i>Chứng tỏ tứ giác OABC là hình chữ nhật.Tính diện tích hình chữ nhật đó </i>


<i>3)tính thể tích hình chóp biết đỉnh S(9,0,0)</i>


Ta sử dụng các 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 là 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 của hình chóp là khoảng cách từ S(9,00) tới (p):');
h:=distance(s,p); print(‘ Thể tích của hình chóp SOABC là:'); V:=h*s/3; ↵


-5 <i>x + </i>4y - 2 <i>z </i>= 0


. . .. <i>Rõ ràng O thuộc (P) ... .. ...</i>
<i>true</i>


<i>true</i>


<i>vì OA song song với BC,OA vng góc AB nên OABC là hình chữ nhật </i>


<i>diện tích hình chữ nhật là</i>


Chiều cao h của hình chóp là khoảng cách từ S(9,00) tới (p):


<i>Thể tích hình chóp SOAB là;</i>


V:=15


<i>*Trong hệ tục loạn độ Oxyz cho hai mặt phẳng (p) và (p’ </i>) <i>có phương trình (p)</i>


1 ) Chứng tỏ (p) và (pl ) cắt nhau .Viết phương trình tham số của giao tuyến của
hai mặt phẳng (p) và (pl)


</div>
<span class='text_page_counter'>(182)</span><div class='page_container' data-page=182>

#Các mặt phẳng có véc tơ pháp tuyến không cộng tuyến nên (p) và (p1) cắt nhau.


Để tìm p.trình tham số của đường thẳng ta cho z=3t rồi tính x,y theo t



intersection(l,p,p1): detail(l): print(‘góc giữa hai mặt phẳng là’: findAngle(p,p1): ↵


<i>name of the object:1</i>


<i> form of the object: line3d </i>


<i>equation of the line: [x=-1/3*3_t, y=4/3-3*_t, z=3*_t]</i>


<i>Góc giữa hai mặt phẳng là:</i>


* <i>Trong khơng gian cho 2 mặt phẳng </i>(p) <i>và (p1) có phương trình </i>(p) <i>2x-y+2z= 1 </i>;


<i>(p1) x+6y+2z+5=0</i>


<i>1 </i>) <i>CMR Hai mặt phẳng trên vng góc với nhau</i>


<i>2)Viết phương trình tổng quát của mặt phẳng (p2) </i>đi <i>qua gốc toạ</i> <i>độ và đi qua </i>


<i>giao tuyến của (p) và (p1)</i>


Viết <i>phương trình đường thẳng </i>đi <i>qua A(1,2,-3) và song song với cả hai mặt </i>


<i>phẳng (p) và (p1)</i>


[>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ố của 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 đi 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 đi qua điểm A(1,2,-3) và song song với hai mặt
phẳng là point(A,1,2,-3): parallel(d,A,l);detail(d): ↵


* <i>Trong không gian Oxyz cho hai mặt phẳng (p) và (q) có phương trình (p) </i>


<i>2x+ky+3z=5, (q) mx-6-6z+2=0</i>


</div>
<span class='text_page_counter'>(183)</span><div class='page_container' data-page=183>

<i>trường hợp đó hãy tính khoảng cách giữa hai mặt phẳng</i>


2) <i>Trong trường hợp k=m=0, gọi d 1àgiao tuyến của (p) và </i>(q). <i>Hãy tính toạ</i> <i>độ</i>


<i>hình chiếu H của điểm A(1,1,1,)trên d và tính khoảng cách từ A tới d </i>


[> with(geom3d): assume (m<>0,k<>0):


print('giải hệ ta tìm m,k’);


print(‘phương trình của (p) và (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 bất kì 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) về dạng tham số sau đó lấy đềm bất kì thuộc nó.
Tích vơ hường của AH và chỉ phương của (d) sẽ bằng 0. Từđó tính được toạđộ H và
tính AH');


intersection(l,h,q3); point(A,1,1,1);detail(l);randpoint(M,l);evalg(distance(M,A)); ↵


* <i>Trong không gian Oxyz cho điểm A(1,2,-1) và mặt phẳng (p) có phương trình: </i>


<i>3x-2y+5z+6=0</i>


1) <i>Chứng tỏ A nằm trên (p)</i>


<i>2)viết phương trình đường thẳng (d) đi qua A và vng góc vời (p)</i>


3) <i>Tính sin của góc giữa đường thẳng (</i>d) <i>và mặt phẳng</i>


[>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) thì rõ ràng A thoả mãn’);
perpendicular(m1,A,p); print('góc giữa OA và (p) là:’)



point(O,0,0,0);line(l,[O,A]);detail(l);FindAngle(l,p);↵


* <i>Trong khơng gian Oxyz cho mặt phẳng (p) có phương trình tổng quát x+y/2+z/3=1 </i>


</div>
<span class='text_page_counter'>(184)</span><div class='page_container' data-page=184>

<i>x=19/3+6t,y=11/3+3t,z=3+2t</i>


I) <i>CMR (d) cắt mặt phẳng (p). Hãy tìm toạđộ giao điểm I của chúng</i>


2) <i>CMR đường thẳng (d) vng góc </i>với <i>(p)</i>


3) <i>Gọi A,B,C là giao điểm của (p) và ba trục toạđộ. Tìm toạđộ A,B,C và chứng </i>


<i>tỏ (d) đi qua trọng tâm tam giác ABC</i>


[>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 trong pt (d) vào pt (p) <i>. </i>Tính rồi thay vào (d) tìm được tọa độ giao


điểm');


intersection(l4,d2,p);coordinates(l4);


print('Vì véc tơ pháp tuyến của mặt phẳng (p) cộng tuyến với vec tơ chỉ phương của
(d) nên (d) vng góc vời (p)');


print('dùng cơng thức tính trọng tâm của tam giác .Nếu trùng với toạđộ điểm 1 thì ta
có (d) đi qua trọng tâm của 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 là trọng tâm tam giác:');fi; ↵


* <i>Trong không gian cho ba điểm A(0,1,1),B(-1,0,2,C(3,1,0)</i>


<i>1) Viết phương trình mặt phẳng (p) đi qua A và vng góc với BC</i>


2) <i>Xác định toạđộ giao điểm I cuả BC và (p)</i>


<i>3)tính khoảng cách từ A tớí BC,tính diện tích tam giác ABC</i>


[>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])); ↵


* <i>Tính khoảng cách giữa hai đường thẳng chéo nhau:</i>


[>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)


</div>
<span class='text_page_counter'>(185)</span><div class='page_container' data-page=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) là :’)sort(f[x,y,z]):
print(‘Pt đương thẳng (d2) là:'):sort(g,[x,y,z]):


print('véc tơ chỉ phương của đườ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ơ chỉ phương của (d2) là:'): b:=Tcp(a3,b3,c3,a4,b4,c4):
vectơ_b=[b[1],b[2],b[3]]:


print('gọi (d) là đường vng góc chung của (d1) và (d2). Ta có véc tơ chỉ phương của
(d) là :'): 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) là mặt phẳng đ qua (d) và (d1) thì véc tơ pháp tuyến của (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) là mặt phẳng qua (d) và (d1) thì véc tơ pháp tuyến của (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 được toạđộđiểm A thuộc (d1) là <i>:' </i>):


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 được 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) là giao tuyến của (P) và (Q), Pt (d):');[h,k];


print(‘ Gọi M là giao điểm của (d) và (d1),toạđộ M:'):


</div>
<span class='text_page_counter'>(186)</span><div class='page_container' data-page=186>

:='M': M(xm,ym,zm):


print('gọi N là giao ctểm của (d) và (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 của (di) và (d2) là:') :
with(student): MN=distance([xM,YM,zM],[XN,YN,zN]);
MN=distance([xm,ym,zm],[xn,yn,zn]); ↵


<i>* Minh hoạ</i> <i>định lí? “Nếu hai mặt phẳng cắt nhau và cùng song song với một đường </i>


<i>thẳng thì giao tuyến của chúng song song với đường thẳng đó”.</i>


[> 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)]);


* <i>Minh hoạđịnh lí.”Qua một điểrn cho trước có duy nhất một đường thẳng vng góc </i>


<i>với mặt phẳng (P) cho trước”.</i>


[> 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) ]), ↵


* <i>Xác địith thiết diện của mặt phẳng đi qua ba điểm bất kỳ nằm trên cạnh của tứ diện. </i>


Thuật toán:


<i>+ </i>Lấy ngẫu nhiên ba điểm G, Gl, G2 nằm trên ba cạnh của tứ diện bằng lệnh
<b>randpoint. </b>


<i>+ </i>Xác định mặt phẳng (p) đi qua ba điểm trên.



<i>+ </i>Xác định giao điểm của (p) với các cạnh của tứ diện.


</div>
<span class='text_page_counter'>(187)</span><div class='page_container' data-page=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" ); ↵


<b>Tài liệu trích dẫn, tham khảo </b>


[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]. Hoà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


</div>
<span class='text_page_counter'>(188)</span><div class='page_container' data-page=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: Tốn 6 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 và Tạ Duy Phượng <i>. </i>Hường dẫn thực hành tính
tốn trên chương trình Maple V <i>. </i>NXB Giáo dục, 1998


[7] Phạm Huy Điển chủ biên Tính tốn, lập trình và giảng dạy toán học trên 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 tốn trên máy vi tính
NXB Đà Nẵng, 1998


l9] Nguyễn Bá Kim -Phát triển và sử dụng công nghệ dạy học


[10] Nguyễn Bá Kim - Học tập trong hoạt động và bằ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


và truyền thông (ICT) hỗ trợ quá trình dạy học hình học trong nhà trường phổ thơng
Báo cáo tại Hội nghị Tốn học tồn quốc lần thứ 6 - Huế 7-10/9/2002


[12]sử dụng Maple trong giảng dạy mơn hình học phẳng Luận văn Thạc sỹ tốn học
của Mai Công Mãn, 2000


[13] Đào Thái Lai -ứng dụng CNTT và vấn đề đổi mớ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 và các cộng sự :Xây dựng một 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 trong dạy học toá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.



</div>
<span class='text_page_counter'>(189)</span><div class='page_container' data-page=189>

[22 ] Sue Johnston Wilder, và 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 của học sinh như thế nào? NXB GD -1996
[24] Technology for Teaching


</div>

<!--links-->

×