Thật vậy với phần mềm Maple thì các câu lệnh của nó rất gần với ngôn ngữtoán học thông thường cho nên việc làm quen với phần mềm này là rất dễ dàng kể cả đối với những người mới học tin
Trang 1MỤC LỤC
Mở đầu ………
Chương 1 Giới thiệu về phần mềm Maple………
1 Giao diện và môi trường làm việc của Maple………
2 Các khái niệm và hàm cơ bản trong lập trình………
3 Lập trình trên Maple………
Chương 2 Ứng dụng của phần mềm Maple với hình học giải tích trong mặt phẳng 2.1 Xác định các đối tượng cơ bản………
2.2 Các đối tượng hình học dẫn xuất từ các đối tượng cơ bản………
2.3 Kiểm tra thuộc tính từ các đối tượng cơ bản ………
2.4 Tính khoảng cách ………
2.5 Một số chương trình giải bài toán hình học giải tích phẳng………
Chương 3 Ứng dụng của phần mềm Maple với hình học giải tích trong không gian 3.1 Xác định các đối tượng cơ bản………
3.2 Các đối tượng hình học dẫn xuất từ các đối tượng cơ bản………
3.3 Kiểm tra thuộc tính từ các đối tượng cơ bản………
3.4 Tính khoảng cách………
3.5 Xác định góc………
3.6 Một số chương trình giải bài toán hình học giải tích không gian………
Kết luận ………
Tài liệu tham khảo………
Trang 2MỞ ĐẦU
1 Lý do chọn đề tài
Cùng với sự phát triển của loài người kéo theo đó là sự phát triển của côngnghệ thông tin, hiện nay công nghệ thông tin đã chi phối đến hầu hết các mặtcủa đời sống, tiêu biểu cho sự đóng góp to lớn ấy là sự xuất hiện của chiếc máytính Nhờ có máy tính nhiều công việc liên quan đến tính toán đã trở nên vôcùng đơn giản, như ta đã biết có rất nhiều phần mềm hỗ trợ giải toán nhưng tiêubiểu trong số ấy là phần mềm Maple
Thật vậy với phần mềm Maple thì các câu lệnh của nó rất gần với ngôn ngữtoán học thông thường cho nên việc làm quen với phần mềm này là rất dễ dàng
kể cả đối với những người mới học tin học Với phần mềm Maple các công việcnhư giải phương trình, hệ phương trình, bất phương trình, tính giới hạn, đạohàm, nguyên hàm, tích phân, vẽ đồ thị và nhiều công việc khác được thực hiệnmột cách dễ dàng, nhưng phần mềm Maple mới chỉ đưa ra các câu lệnh riêngbiệt việc vận dụng chúng, liên kết chúng vào các bài toán tổng quát hay cụ thểcòn gặp rất nhiều khó khăn Vấn đề đặt ra hiện nay là làm sao để liên kết các câulệnh đó với nhau để đưa ra các câu lệnh phức hợp chính xác để giải một số dạngbài toán thường gặp, đồng thời xây dựng một số chương trình con đưa ra lời giải
cụ thể cho các bài toán hình học giải tích
Với mong muốn đóng góp phần nào đó để giảm bớt những khó khăn cho họcsinh cũng như sinh viên trong việc giải các bài toán thường gặp mà không phải
sử dụng tính toán thô sơ bằng tay nữa mà áp dụng thành tựu khoa học công nghệ
để giải quyết một bài toán một cách nhanh, gọn và cùng với đó là hỗ trợ việcgiảng dạy toán cho đội ngũ giáo viên trong công tác giảng dạy của mình Bởi
vậy chúng tôi mạnh dạn nghiên cứu đề tài “Ứng dụng của phần mềm Maple trong hình học giải tích”.
2 Mục đích nghiên cứu
Đề tài khoa học hệ thống một số câu lệnh chuyên biệt, nêu ra các tác dụngcủa nó trong giải toán, đồng thời việc kết hợp các câu lệnh này nhằm đưa racách giải, đáp án nhanh nhất cho một số dạng toán hình học giải tích
3 Nhiệm vụ nghiên cứu
Trang 3- Tìm hiểu về một số câu lệnh, chọn lọc ra hệ thống một số câu lệnh chuyênbiệt Nghiên cứu việc kết hợp các câu lệnh để giải toán, đưa ra cách giải một bàitoán sao cho nhanh nhất, việc trình bày dễ hiểu.
- Giải một số bài toán hình học giải tích có vận dụng việc kết hợp các câu lệnhcủa Maple làm ví dụ minh họa
4 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận: đọc và nghiên cứu tài liệu các giáo trình cóliên quan đến hình học giải tích và phần mềm Maple Nghiên cứu thuật toán vàcác cách xây dựng các chương trình con phục vụ giải toán hình học giải tích
- Phương pháp tổng kết kinh nghiệm: qua việc nghiên cứu các tài liệu, giáotrình rút ra các thuật toán, các chương trình giải toán hình học, giải tích trongMaple
5 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: các câu lệnh và việc kết hợp các câu lệnh trong phầnmềm Maple
- Phạm vi nghiên cứu: ứng dụng của phần mềm trong các bài toán hình học giảitích
6 Ý nghĩa khoa học và thực tiễn
- Khoa học: đề tài hệ thống một số câu lệnh chuyên biệt, đưa ra một số chươngtrình con cụ thể để giải một số bài toán hình học giải tích
- Thực tế: đề tài cũng là một tài liệu tham khảo cho học sinh, sinh viên yêuthích môn toán và học tập cùng máy tính, và các giáo viên có mong muốn tìmhiểu phần mềm Maple và ứng dụng của nó
7 Bố cục của đề tài
Chương 1 Giới thiệu về phần mềm Maple
1.1 Giao diện và môi trường làm việc của Maple
1.2 Các khái niệm và hàm cơ bản trong lập trình
1.3 Lập trình trên Maple
Chương 2 Ứng dụng của phần mềm Maple với hình học giải tích trong mặt phẳng
Trang 42.1 Xác định các đối tượng cơ bản
2.2 Các đối tượng hình học dẫn xuất từ các đối tượng cơ bản
2.3 Kiểm tra thuộc tính từ các đối tượng cơ bản
2.4 Tính khoảng cách
2.5 Một số chương trình giải bài toán hình học giải tích phẳng
Chương 3 Ứng dụng của phần mềm Maple với hình học giải tích trong không gian
3.1 Xác định các đối tượng cơ bản
3.2 Các đối tượng hình học dẫn xuất từ các đối tượng cơ bản
3.3 Kiểm tra thuộc tính từ các đối tượng cơ bản
3.4 Tính khoảng cách
3.5 Xác định góc
3.6 Một số chương trình giải bài toán hình học giải tích không gian
Trang 5
CHƯƠNG 1 GIỚI THIỆU VỀ PHẦN MỀM MAPLE 1.1 Giao diện, các menu lệnh và môi trường làm việc của Maple
Giao diện của Maple cũng giống như giao diện của các chương trình kháctrên Window, tức là cũng bao gồm các thanh menu lệnh Tuy nhiên Maple làchương trình thiên về tính toán nên nó cũng có một số chức năng đặc thù riêng,
và ở đây chúng tôi chỉ tập trung vào giới thiệu những chức năng này
1.1.1 File
Menu này chứa những chức năng thao tác trên file Cụ thể là:
+ Tạo một file mới bằng chức năng New
+ Mở một file đã có bằng chức năng Open
+ Ghi các thông tin dạng soạn thảo bằng chức năng Save
+ Ghi các thông tin đang mở sang một file bằng chức năng Save as
+ Chuyển đổi văn bản đang soạn thảo bằng chức năng Export as
+ Muốn đóng file đang soạn thảo dùng chức năng Close
+ In văn bản sử dụng chức năng Print
+ Thoát ra khỏi chức năng Maple bằng chức năng Exit
1.1.2 Edit
Các chức năng của Edit trong Maple rất giống trong window và cácchương trình soạn thảo khác cho nên chúng tôi không giới thiệu lại chỉ xin lưu ýmột số chức năng như sau:
Xóa toàn bộ đọan văn bản (paragraph) mà con trỏ đang đứng bằng chứcnăng Delete paragraph
Chọn bôi đen cả trang văn bản bằng chức năng Select all
Nhúng một đối tượng vào trang làm việc bằng chức năng Insert ole object.Khi chức năng này được chọn một hộp thoại xuất hiên với danh mục tên các loạiObject mà có thể nhúng vào trang làm việc được
1.1.3 Insert
Đây là menu chứa những lệnh về chèn
Trang 6Insert/Text Input
Lệnh này chuyển trạng thái sang chế độ soạn thảo
Insert/Execution Group
Lệnh này cho chèn vào một cụm xử lý, cũng có nghĩa là đưa một dấu nhắc lệnh
ở vị trí trước con trỏ hoặc sau con trỏ
Insert/Hyperlink
Siêu liên kết là một công cụ dịch chuyển con trỏ giữa các trang làm việc, hoặcgiữa các đoạn trong một trang làm việc Chức năng Insert/Hyperlink là công cụtạo ra các siêu liên kết Khi vào chức năng này sẽ xuất hiện hộp thoại khai báotên của siêu liên kết và tên file cần liên kết tới Nếu kết hợp với bookmark nó sẽcho ta công cụ chuyển tới vị trí dấu của đoạn văn đã được đánh dấu bằngbookmark, trong một trang làm việc định trước
1.1.4 Windows
Windows/Cascade
Trang 7Xếp tầng những trang làm việc đang được mở tại cùng một thời điểm Chứcnăng này cho ta có thể chọn nhanh một trang.
Windows/Tile
Xếp kề các trang làm việc cùng được mở chức năng này cho ta vừa có thể làmviệc với trang hiện tại vừa so sánh với trang khác Cửa sổ làm việc sẽ bị chiathành các ô có số lượng bằng số trang được mở
Windows/Horizontal
Xếp ngang những trang làm việc được mở tại cùng thời điểm về công dụng cũnggiống như Tile
Windows/Close all
Đóng tất cả các trang được mở trước khi đóng cơ hội ghi bài
Windows/Close all help
Đóng tất cả các trợ giúp của Maple đã được mở
Trang 8Trong mỗi đoạn văn bản chỉ cho phép đặt một bookmark Muốn xóa, sửachữa, tạo mới một bookmark cho một đoạn văn bản ta đặt con trỏ vào bất kỳđoạn văn bản đó, rồi chọn chức năng Edit Bookmark Sẽ xuất hiện hộp thoại vớitên bookmark cuar đoạn văn đó hoặc hộp thoại chống cho phép ta đặt tên chobookmark của đoạn văn này.
View/Show Invisible Chacraters
Cho hiển thị những ký tự hoặc từ có chức năng đặc biệt mà thường không đượchiển thị
View/Show Section Ranges
Cho hiển thị ngoặc vuông báo làm việc mà bạn mở
View/Show Group Ranges
Cho hiển thị ngoặc vuông báo mỗi nhóm
View/Expand All Selections
Mở tất cả các mục trong trang làm việc hiện tại
View/Collapse All Selection
Đóng tất cả các mục của trang làm việc hiện tại
Trang 9Môi trường làm việc của Maple có thể bao gồm những thành phần cơ bảnsau:
1.1.7 Cụm xử lý
Cụm xử lý là thành phần tính toán cơ bản trong trang làm việc Có thể dễdàng nhận biết một cụm xử lý bằng ngoặc vuông bên trái của dấu nhắc lệnh
1.1.8 Lệnh và kết quả tính toán của Maple
Lệnh của Maple (Maple Input)
Lệnh của Maple được đưa vào trang làm việc tại dấu nhắc lệnh Theo mặcđịnh dấu nhắc lệnh là “>” và lệnh của Maple được mặc định bằng font chữCourier màu đỏ Tên và cú pháp của các lệnh tính toán sẽ được hướng dẫn theotừng chuyên mục sau này, lưu ý là mỗi lệnh cần phải được kết thúc bằng dấuchấm phảy “,” hoặc dấu hai chấm “:”
Kết quả của Maple(Maple Output)
Sau khi cho thực hiện lệnh trong một cụm xử lý (nhấn phím Enter) thì kếtquả tính toán sẽ được hiện ra
1.1.9 Mục (Section)
Trang 10Mỗi mục trong trang làm việc của Maple cũng tương tự như các mục trongcác văn bản thông thường Một nét độc đáo là mục của Maple có thể được thểhiện dưới dạng “gói-mở”, nghĩa là có thể mở ra đọc và gói lại sau khi đọc.
Muốn đưa thêm một mục vào trang văn bản ta sử dụng chức năngInsert/Section
Một trang làm việc bao gồm nhiều mục, mỗi mục có thể chứa những đoạn
và những mục con thì dùng chức năng Insert/Subsection
1.1.10 Đồ thị
Maple cho phép vẽ đồ thị ngay trong trang làm việc, đặc tính này gọi là “đồhọa trực tiếp”
1.1.11 Siêu liên kết (Hyperlink)
Một siêu liên kết là một nhóm ký tự mà nếu ta kích chuột vào thì sẽ dẫn tađến một đoạn khác trong trang làm việc hiện hành, hoặc đến một trang làm việckhác Như vậy, siêu liên kết là một công cụ dịch chuyển con trỏ Thủ tục thiếtlập một siêu liên kết đã được hướng dẫn ở phần trên
1.1.12 Văn bản và đoạn văn bản (text và paragraph)
Muốn đưa văn bản vào trong trang làm việc của Maple ta chuyển trạng tháitính toán sang trạng thái văn bản bằng việc nhấn vào nút chữ T trên thanh công
cụ hoặc vào chức năng Insert/Text Văn bản trong Maple cũng được định dạngphong phú như hầu hết mọi chương trình soạn thảo văn bản khác trongwindows
Một đoạn trong trang làm việc của Maple cũng tương tự như một đoạntrong các văn bản thông thường
Muốn bắt đầu một đoạn vă bản mới ta cần dùng chức năngInsert/paragraph
1.2 Các khái niệm và các hàm cơ bản trong lập trình
1.2.1 Khái niệm cơ bản
Tên(name) và xâu ký tự
Tên là một xâu hình ký tự được dùng như một chỉ mục hay một nhãn đểđại diện cho các đối tượng trong Maple có thể thay đổi được(như biến, ký hiệutoán học, các biểu thức nói chung…) mà ta có thể gán cho nó Tên là một trong
Trang 11các thành phần không thể thiếu được trong Maple trong việc tạo ra các biểuthức Chiều dài tối đa của tên phụ thuộc vào hệ máy tính mà Maple chạy trênđó(với máy 32 bit thì chiều dài tối đa của tên là 524275).
Bất cứ biểu thức nào đều có thể gán cho một tên Nếu không có giá trị nàođược gán cho một tên thì nó sẽ nhận chính tên nó làm giá trị mặc định
Chương trình Maple sử dụng tên bắt đầu với một dấu gạch dưới ( _ ) làmcác biến toàn cục, và vì thế nên chúng ta nên tránh sử dụng
Một xâu ký tự bất kỳ có thể không phải là một xâu hình tự và do đó khôngphải là một cái tên hợp lệ Tuy nhiên, Maple cho phép tạo một tên từ một xâu ký
tự bất kỳ bằng cách cho nó vào trong cặp nháy đơn ( ‘ )
Một xâu hình tự thường là một tên hợp lệ và được xem là trùng với tênđược tạo bằng cách bao chung quanh xâu này bằng cặp dấu nháy Tuy nhiên,nếu xâu hình tự mà trùng với từ khóa của Maple thì không phải là một tên hợp
lệ, và muốn cho nó trở thành một tên ta lại phải cho nó vào trong dấu nháy
Hai dấu nháy liên tiếp trong một xâu ký tự sẽ được hiểu như là một dấu.Trong trường hợp bạn muốn loại bỏ giá trị đã gán cho biến chương trình, khôiphục lại nó như là một ký hiệu toán học, thì bạn hãy gán tên của biến cho chínhnó
1.3 Lập trình trên Maple
1.3.1 Các lệnh lập trình cơ bản
1.3.1.1 Vòng lặp while
Vòng lặp while cho phép lặp các chuỗi các câu lệnh nằm giữa do và od khi
mà điều kiện condition vẫn còn đúng Điều kiện condition được kiểm tra ngaytại đầu mỗi vòng lặp, nếu nó thỏa mãn thì các câu lệnh bên trong được thựchiện, sau đó lại tiếp tục kiểm tra điều kiện condition cho đến khi điều kiệnkhông còn thỏa mãn nữa Vòng lặp while thường được sử dụng khi số lần lặphay một chuỗi biểu thức là không xác định rõ
Trong trường hợp muốn thoát ra khỏi vòng lặp ngay từ giữa vòng lặp tathực hiện lệnh retur, break hoặc quite
1.3.1.2 Vòng lặp for
Trang 12Vòng lặp for được dùng để lặp một chuỗi các biểu thức được đặt giữa do
và od mỗi lần lặp tương ứng với một giá trị phân biệt của biến chỉ số name đứng
sau từ khóa for Ban đầu, giá trị start được gán cho biến chỉ số Nếu giá trị của
biến name nhỏ hơn hoặc bằng giá trị của biến finish thì chuỗi lệnh nằm giữa do
va od được thực hiện Sau đó biến name được gán giá trị tiếp theo bằng cách
cộng thêm vào nó giá trị change Sau đó biến name được so sánh với finish đểquyết định xem việc thực hiện chuỗi lệnh đó có tiếp tục hay không Qúa trình sosánh như vậy cứ tiếp tục cho đến khi giá trị của biến name lớn hơn giá trị finish.Gía trị cuối cùng của biến name sẽ là giá trị vượt quá finish đầu tiên
1.3.1.3 Lệnh điều kiện
Nếu bạn muốn một dãy biểu thức được thực hiện khi điều kiện nào đóđược thỏa mãn, nếu trái lại thì có thể dùng câu lệnh if-then-else-fi Trong câulệnh trên, nếu điều kiện condition là đúng thì chuỗi biểu thức sau then được thựchiện, nếu trái lại thì điều kiện condition sau từ khóa elif sẽ được kiểm tra, nếu nóđúng thì chuỗi lệnh sau then được thực hiện, cứ tiếp tục cho đến khi các điềukiện condition đều không thỏa mãn, thì các biểu thức sau lệnh else được thựchiện
1.3.1.4 Lệnh break
Trong lúc vòng lặp While/for đang được thực hiện, nếu lệnh break đượcgọi thì chương trình sẽ thoát ra khỏi ngay lập tức ra khỏi vòng lặp While/for tậntrong cùng nhất mà có chứa lệnh break Nếu lệnh break dùng ngoài các vòng lặpwhile/for thì sẽ sinh ra lỗi
1.3.1.5 Lệnh next
Lệnh next được thực hiện trong vòng lặp while/for với mục đích bỏ quamột số lệnh bên trong vòng lặp để nhảy qua lần lặp tiếp theo Khi gặp next trongvòng lặp, chương trình bỏ qua các lệnh tiếp theo của vòng lặp tận cùng nhấtchứa next cho đến khi gặp từ khóa xác định kết thúc vòng lặp Đến đây vòng lặpnhảy qua vòng lặp tiếp theo bằng cách tăng chỉ số hoặc kiểm tra điều kiện đểquyết định xem có nên thực hiện vòng lặp tiếp theo
Lệnh next sinh ra lỗi nếu nó được gọi ngoài vòng lặp while/for
1.3.2 Thiết lập một chu trình
1.3.2.1 Khai báo chương trình
Trang 131.3.2.2 Tham biến
Tham biến là biến được đặt giữa hai dấu ngoặc trong biểu thức proc(…).Tham biến được dùng để nhận dữ liệu truyền cho chu trình khi gọi chu trình đó.Tham biến có tính cục bộ chúng chỉ được sử dụng bên trong chu trình đã đượckhai báo, bên ngoài chu trình này chúng không có ý nghĩa gì Kiểu tham biến cóthể được khai báo trực tiếp
1.3.2.3 Phạm vi các biến
Biến toàn cục được khai báo sau từ khóa global trong khai báo chu trình Biến cục bộ được khai báo sau từ khóa local trong khai báo chu trình Tham biến được sử dụng để trả lại kết quả, như các ngôn ngữ truyềnthống khác
1.3.2.4 Định giá trên các biến
Định giá tên hàm và tham biến: trước tiên là tên chu trình được định giá.Sau đó là lần lượt đến các đối số trong danh sách các đối số truyền cho chutrình, nếu tên chu trình được định giá trở đến một chu trình thì chu trình ấy đượcthực thi trên các đối số đã được định giá
Định giá biến cục bộ và biến toàn cục: Các biến cục bộ và tham biếntruyền cho chu trình được định giá một cấp, còn các biến toàn cục thì được địnhgiá hoàn toàn
Xử lý các chu trình đệ qui: nghĩa là trong quá trình thực hiện có gọi đếncác hàm này
Sau đó ta chạy chương trình
Trang 14CHƯƠNG 2 ỨNG DỤNG CỦA PHẦN MỀM MAPLE VỚI HÌNH HỌC GIẢI TÍCH
TRONG MẶT PHẲNG
Trong chương này chúng tôi sẽ cung cấp cho các bạn những lệnh củaMaple liên quan đến các kiến thức về môn hình học giải tích trong mặt phẳngnhư: toạ độ điểm, phương trình đường thẳng, đường tròn, khoảng cách, diệntích…Sau đây chúng ta sẽ làm quen với các lệnh trên:
2.1 Xác định các đối tượng cơ bản.
Trước khi thực hiện các lệnh này ta phải nạp thư viện liên quan qua
lệnh: [>with(geometry):
- Khai báo điểm A(x,y): point()
Ví dụ: Điểm A(1,2)
[> A:=[1,2]; hoặc [> point(A,[1,2]);
- Đánh dấu điểm A: [> draw(point(A,1,2));
-Xác định một đoạn thẳng đi qua hai điểm A, B: Trước tiên cần khai báo hai
điểm sau đó dựng đoạn thẳng với lệnh: segment()
Ví dụ: Với hai điểm A(1,2), B(-1,-2)
-Xác định đường thẳng l có dạng ax+by=c: line()
Ví dụ: Đường thẳng l có pương trình 2x+9y=-9
Trang 15[> line(l,2*x+9*y=-9,[x,y]); draw(l);
-Khai báo đường tròn: circle()
Ví dụ: Dựng một đường tròn đi qua ba điểm A(0,0), B(2,0), C(1,2) khôngthẳng hàng
[> circle(dtr,[point(A,0,0), point(B,2,0),
point(C,1,2)],'centername'=O);
-Vẽ đường tròn tâm O vừa dựng được ở trên:[>draw(dtr,color=blue);
-Xác định tọa độ tâm đường tròn: coordinates()
Ví dụ:
[>coordinates(O);
-Dựng đường tròn khi biết phương trình của nó:
Ví dụ: Dựng đường tròn tâm O(3,-5) có dạng phương trình sau:
[> circle(dtr,(x-3)^2+(y+5)^2=3^2,[x,y],'centername'=O);
-Vẽ đường tròn vừa dựng được: [> draw(dtr,color=magenta);
-Dựng đường tròn tâm O(x1,y1), bán kính R:
2.2 Các đối tượng hình học dẫn xuất từ các đối tượng cơ bản
- Xác định giao điểm của hai đường thẳng, đường thẳng với đường tròn, hai đường tròn
- Dựng giao điểm của hai đường thẳng l1,l2: intersection()
Ví dụ: Đối với hai đường thẳng x=0 và x+y=1
[> line(l1, x = 0, [x,y]); line(l2, x + y = 1, [x,y]);
(x a− ) +(y b− ) =R
Trang 16Ví dụ: Đối với đường thẳng x+y=1 và đường tròn x2 + y2 =1
[> line(l, x + y = 1, [x,y]); circle(c, x^2 + y^2 = 1, [x,y]);
intersection(P, l, c,[M,N]); detail(P);
draw({l,c});
- Dựng giao điểm của hai đường tròn khi biết phương trình của chúng:
Ví dụ: Với hai đường tròn c1có tâm (0,0) bán kính 1; và c2 có tâm O(2,0) bánkính 1.5
[> circle(c1, x^2 + y^2 = 1, [x,y]);
- Tìm toạ độ trọng tâm G của tam giác ABC: centrold()
Ví dụ: Tam giác ABC có 3 đỉnh A(1,7), B(2,8), C(9,12)
[>tamgiac:=[point(A,1,7),point(B,2,8),point(C,9,12)];
centrold(tamgiac,G); coordinates(G);
- Tìm toạ độ trực tâm H của tam giác ABC: orthocener()
Trang 17Ví dụ: Tam giác ABC có 3 đỉnh A(3,4), B(2,5), C(9,1)
[>tamgiac:=[point(A,4,3),point(B,2,5),point(C,9,1)];
orthcenter(tamgiac,H);coordinates(H);
- Viết phương trình đường trung tuyến mA của tam giác ABC: median()
Ví dụ: Tam giác ABC có 3 đỉnh A(3,4), B(2,5), C(9,1); hãy viết phương trình
đường trung tuyến mA của tam giác ABC
[> triangle(ABC,[point(A,4,3),point(B,2,5),point(C,9,1)]);
median(ABC,A,mA);mA[equation];
- Viết phương trình đường cao hA của tam giác ABC: altitude()
Ví dụ: Tam giác ABC có 3 đỉnh A(3,4), B(2,5), C(9,1); hãy viết phương trình
đường cao hA của tam giác ABC
- Tìm toạ độ điểm I là điểm đối xứng của A qua đường thẳng d: reflect()
Ví dụ: Tìm điểm đối xứng của A(2,3) qua đường thẳng d: x-y=1
[>point(A,2,3); line(d,[x-y=1]);
Trang 18reflect(A,d,I); coordinates(I);
2.3 Kiểm tra các thuộc tính của các đổi tượng hình học
- Kiểm tra hai đường thẳng có song song không: AreParallel()
Ví dụ: Với hai đường thẳng l1: 2x+3y+1=0 và l2: 4x+6y-1=0
[> line(l1,2*x+3*y+1=0,[x,y]);
line(l2,4*x+6*y-1=0,[x,y]);
AreParallel(l1,l2);
- Kiểm tra hai đường thẳng có vuông góc không: ArePerpendicular()
Ví dụ: Với 2 đường thẳng l1: y=x và l2: y=-x
[> line(l1,y=x,[x,y]); line(l2,y=-x,[x,y]);
ArePerpendicular(l1,l2);
- Kiểm tra một điểm có thuộc một đường tròn không: IsOncircle()
Ví dụ: Với B(1,-1) và đường tròn c có tâm (1,2) bán kính 3
[> point(B,1,-1); circle(c,(x-1)^2+(y-2)^2=3^2,[x,y]);
IsOncircle(B,c);
- Kiểm tra một điểm có thuộc đường thẳng không: on_line()
Ví dụ: Với A(3,2) và đường thẳng l: x-3y=3
- Kiểm tra ba đường thẳng có đồng quy không: AreConcurrent()
Ví dụ: Với ba đường thẳng l2: x-y=1, l3: 2x-3y=2, l4: x+2y=1
Trang 19Ví dụ: Với tam giác T1 có 3 đỉnh P1(1,3), P2(2,1), P3(0,1) và tam giác T2 có
3 cạnh nằm trên 3 đường thẳng l1:y=0, l2: y=x, l3: x+y-2=0 đối với đườngtròn tâm O(1,2) bán kính 1
- Kiểm tra các đường tròn có trực giao không: AreOrthogonal()
Ví dụ: Với 3 đường tròn c1 có tâm (0,0) bán kính 1; c2 có tâm (2,0) bán kính
2 và c3 có tâm (0,0) bán kính 2
[> EnvHorizontalName := 'x';
EnvVerticalName := 'y';
Trang 20circle(c1,x^2 + y^2 =1); circle(c2, (x-2)^2 + y^2 = 4);
circle(c3, x^2 + y^2 = 4);
AreOrthogonal(c1,c2,c3);
- Đường thẳng tiếp xúc với đường tròn: AreTangent()
Ví dụ: Với đường tròn c1 có tâm (0,0) bán kính 1 và đường thẳng l: 2x+3y=0
[> _EnvHorizontalName := 'x': _EnvVerticalName := 'y' ;
circle(c1,x^2 + y^2 =1); line(l, 2*x + 3*y =0);
AreTangent(l, c1);
- Đường tròn tiếp xúc với đường tròn: AreTangent()
Ví dụ: Với 2 đường tròn c1 có tâm (0,0) bán kính 1và c2 có tâm (2,0) bán kính1
[> circle(c1,x^2 + y^2 =1); circle(c2,(x-2)^2 + y^2 =1);
AreTangent(c1,c2);
- Kiểm tra hai tam giác có đồng dạng không: AreSimilar()
Ví dụ: Với 3 tam giác T1 có 3 đỉnh A(0,0), B(0,3), C(1,0); T2 có 3 đỉnhA(0,0), H(0,6), F(2,0); và T3 có 3 đỉnh A(0,0), H(0,6), G(3,1)
[>point(A,0,0); point(B,0,3); point(C,1,0); point(H,0,6); point
- Kiểm tra tam giác có đều không: IsEquilateral()
Ví dụ: Với tam giac ABC có 3 đỉnh A(0,0), B(2,0), C(1,2)
[> triangle(ABC, [point(A,0,0), point(B,2,0), point(C,1,2)]);
IsEquilateral(ABC);
- Kiểm tra tam giác có vuông không: IsRightTriangle()
Ví dụ: Với tam giac ABC có 3 đỉnh A(0,0), B(2,0), C(0,2)
Trang 21[> triangle(ABC, [point(A,0,0), point(B,2,0), point(C,0,2)]);
- Khoảng cách giữa hai đường thẳng: distance()
Ví dụ: Với 2 đường thẳng l1: 2x-y=3 và l2: x-3y=0
[> line(l1,2*x-y=3,[x,y]); line(l2,x-3*y=0,[x,y]);
distance(l1,l2);
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ìnhchiếu của nó trên đường thẳng kia Sau đó tính khoảng cách giữa hai điểm vừatìm được:
[> randpoint(P,l1, -1 2, -1 2); coordinates(P);
Trang 22projection(Q,P,l2); distance(P,Q);
- Xác định hệ số góc của đường thẳng: slope()
Ví dụ: Với đường thẳng l: y=2x+5
- Tính góc giữa hai đường thẳng khi biết phương trình của nó: FindAngle():
Ví dụ: Với hai đường thẳng l1: 3x-y=2 và l2: 2x-5y=3
[> line(l1,3*x-y=2,[x,y]); line(l2,2*x-5*y=3,[x,y]);
FindAngle(l1,l2);
- Tính góc giữa hai đường tròn: FindAngle():
Ví dụ: Với 2 đường tròn c1 có tâm (1,3) bán kính 4; và c2 có tâm
(3,-1) bán kính 2
[> circle(c1,(x-1)^2+(y-3)^2=16,[x,y]);
circle(c2,(x-3)+(y+1)=4,[x,y]);
FindAngle(c1,c2);
- Tính diện tích tam giác: area()
Ví dụ: Với tam giác ABC có 3 đỉnh A91,2), B(-3,2), C(-2,-3)
[> triangle(ABC,[point(A,1,2),point(B,-3,2),point(C,-2,-3)]);
area(ABC);
- Tính cạnh diagonal() và diện tích hình vuông area()
Ví dụ: Với hình vuông có 4 đỉnh A(0,0), B(1,0), C(1,1), D(0,1)
[>point(A,0,0);point(B,1,0);point(C,1,1);point(D,0,1);
Trang 23Cho điểm A(3,5) và đường thẳng (d): x+2y=1.
1) Viết phương trình đường thẳng đi qua A và song song với d
2) Viết phương trình đường thẳng đi qua A và vuômg góc với d
3) Tìm bán kính đường tròn tâm A và tiếp xúc với d
Trang 24Cho 3 điểm A(3,-1), B(3,3), C(2,4)
1) Viết phương trình đường thẳng AB, BC, CA
2) Viết phương trình đường tròn ngoại tiếp tam giác ABC
print(` Phuong trinh duong thang AB, BC, CA: `);
print(`Phuong trinh duong thang AB: `);
1) Viết phương trình các cạnh và đường chéo còn lại của hình vuông ABCD.2) Viết phương trình đường tròn ngoại tiếp hình vuông ABCD
Chương trình giải
Trang 25print(` Diem C se doi xung voi diem A qua duong thang d: `);
print(` Toa do diem C la: `);
reflect(A,d,C); detail(C);
print(` Diem D se doi xung voi diem B qua duong thang d1: `);
print(` Toa do diem D la: `);
reflect(B,d1,D); detail(D);
print(` Phuong trinh cac canh cua hinh vuong ABCD: `);
print(` Phuong trinh canh AB: `);
print(` Phuong trinh duong tron ngoai tiep hinh vuong ABCD: `);
print(` Tam I cua duong tron c1 ngoai tiep hinh vuong ABCD la: `);
Trang 26Bài tập 5: Bài toán tổng quát về tam giác ABC
Với bài toán này, các bạn chỉ cần nhập tọa độ ba đỉnh của tam giác rồi nhấn Enter,sau đó màn hình sẽ đưa ra kết quả một số yếu tố liên quan đến tam giác đó Như là:diện tích tam giác, phương trình các cạnh, phương trình trung tuyến ứng với cáccạnh,…
Ch
ương trình
Trang 28assume that the names of the horizontal and vertical axes are _x and _y, respectively
assume that the names of the horizontal and vertical axes are _x and _y, respectively
assume that the names of the horizontal and vertical axes are _x and _y, respectively