Luận văn Phầm mềm hỗ trợ giảng dạy hình học giải tích

Mục lục :

1. MỞ ĐẦU :---------------------------------------------------------------------------------------9

2. YÊU CẦU CỦA ĐỀTÀI :-------------------------------------------------------------------11

2.1. Khảo sát hiện trạng :---------------------------------------------------------------------11

2.1.1. Hiện trạng vềmặt tổchức:--------------------------------------------------------11

2.1.2. Hiện trạng vềmặt nghiệp vụ:-----------------------------------------------------12

2.1.3. Hiện trạng vềmặt nhân sự:--------------------------------------------------------13

2.1.4. Hiện trạng vềmặt tin học:---------------------------------------------------------13

2.2. Yêu cầu chức năng :---------------------------------------------------------------------15

2.2.1. Yêu cầu chức năng nghiệp vụ:---------------------------------------------------15

2.2.2. Yêu cầu chức năng hệthống :----------------------------------------------------20

2.3. Yêu cầu phi chức năng :----------------------------------------------------------------21

2.3.1. Tính tiến hóa :-----------------------------------------------------------------------21

2.3.2. Tính tiện dụng :---------------------------------------------------------------------22

2.3.3. Tính hiệu quả:----------------------------------------------------------------------23

2.3.4. Tính tương thích :------------------------------------------------------------------23

2.4. Các yêu cầu khác :-----------------------------------------------------------------------24

2.4.1. Tính tái sửdụng :-------------------------------------------------------------------24

2.4.2. Tính dễbảo trì :---------------------------------------------------------------------24

2.4.3. Tính dễmang chuyển :------------------------------------------------------------24

3. PHÂN TÍCH :----------------------------------------------------------------------------------25

3.1. Sơ đồsửdụng :---------------------------------------------------------------------------25

3.2. Sơ đồlogic :------------------------------------------------------------------------------27

3.3. Sơ đồluồng dữliệu :--------------------------------------------------------------------28

3.3.1. Sơ đồcấp 0 :------------------------------------------------------------------------28

3.3.2. Sơ đồcấp 1 :------------------------------------------------------------------------29

3.3.3. Sơ đồcấp 2 :------------------------------------------------------------------------33

4. THIẾT KẾ:------------------------------------------------------------------------------------37

4.1. Hệthống các lớp đối tượng :-----------------------------------------------------------37

4.1.1. Phần lý thuyết :---------------------------------------------------------------------37

4.1.2. Phần bài tập giải tích:--------------------------------------------------------------38

4.1.3. Phần bài tập trắc nghiệm :---------------------------------------------------------39

4.1.4. Phần hỗtrợgiải toán:--------------------------------------------------------------40

4.2. Tổchức lưu trữvà truy xuất các đối tượng :-----------------------------------------48

4.2.1. Sơ đồlogic dữliệu (hoặc tổchức tập tin) :-------------------------------------48

4.2.2. Danh sách các bảng dữliệu :-----------------------------------------------------48

4.2.3. Danh sách các thuộc tính của từng bảng :---------------------------------------49

4.2.4. Danh sách các đối tượng truy xuất dữliệu :------------------------------------50

4.3. Thiết kếcác lớp đối tượng xửlý chính :----------------------------------------------51

4.3.1. Lớp BaiGiai :------------------------------------------------------------------------51

4.3.2. Lớp dbBaiGiai :---------------------------------------------------------------------52

4.3.3. Lớp PhanTu:------------------------------------------------------------------------53

4.3.4. Lớp TPHinhHoc :------------------------------------------------------------------55

4.3.5. Lớp TPQuanHe :-------------------------------------------------------------------58

4.3.6. Lớp TPPhuongTrinh :-------------------------------------------------------------61

4.3.7. Lớp PTBac1_nAn :----------------------------------------------------------------64

4.3.8. Lớp PTGan :------------------------------------------------------------------------65

4.3.9. Lớp PTBac2_1An :----------------------------------------------------------------65

4.3.10. Lớp PTBac2_nAn :----------------------------------------------------------------65

4.3.11. Lớp TH_PhanTu :------------------------------------------------------------------66

4.4. Thiết kếcác màn hình giao diện của phần mềm :-----------------------------------70

4.4.1. Sơ đồcác màn hình giao diện :---------------------------------------------------70

4.4.2. Các màn hình của phân hệgiáo viên :-------------------------------------------72

4.4.3. Các màn hình của phân hệhọc sinh :------------------------------------------113

4.4.4. Các màn hình dùng chung cho hai phân hệ:---------------------------------139

5. THỰC HIỆN VÀ KIỂM TRA :-----------------------------------------------------------142

5.1. Thực hiện phần mềm :----------------------------------------------------------------142

5.1.1. Mô tảmôi trường thực hiện phần mềmcùng với các kỹthuật, thưviện đối

tượng được sửdụng :-----------------------------------------------------------------------142

5.1.2. Mô tảcách tổchức thưmục, tập tin, dữliệu của phần mềm :--------------142

5.2. Kiểm tra :--------------------------------------------------------------------------------142

6. TỔNG KẾT :---------------------------------------------------------------------------------146

6.1. Các kết quả đã thực hiện :------------------------------------------------------------146

6.1.1. Các yêu cầu chức năng :---------------------------------------------------------146

6.1.2. Các yêu phi chức năng :---------------------------------------------------------146

6.2. Tự đánh giá :----------------------------------------------------------------------------147

6.2.1. Ưu điểm :--------------------------------------------------------------------------147

6.2.2. Hạn chế:---------------------------------------------------------------------------147

6.3. Hướng phát triển :----------------------------------------------------------------------148

pdf148 trang | Chia sẻ: maiphuongdc | Lượt xem: 1641 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Phầm mềm hỗ trợ giảng dạy hình học giải tích, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Hyperbol 43 TieuCuHyperbol Giá Trị tiêu cự của Hyperbol 44 TrucThucHyperbol Giá Trị độ dài trục thực của Hyperbol 45 TrucAoHyperbol Giá Trị độ dài trục ảo của Hyperbol 46 TamHyperbol Điểm là tâm của Hyperbol 47 DiemThuocHyperbol Điểm thuộc Hyperbol 48 DieuKienTiepXucHyperbol Điều kiện để Đường Thẳng tiếp xúc với Hyperbol 49 TiepTuyenHyperbol Đường Thẳng là tiếp tuyến với Hyperbol 50 HyperbolTrenTrucHoanh Xác định Hyperbol nằm tên trục hoành 51 HyperbolTrenTrucTung Xác định Hyperbol nằm tên trục tung 52 BanKinhQuaTieuDiemHyperbol Giá Trị bán kính qua tiêu điểm của Hyperbol 53 KhoangCach2DuongChuanHyperbol Giá Trị khoảng cách giữa 2 đường chuẩn của Hyperbol 54 BanKinhQuaTieuDiemTraiHyperbol Giá Trị bán kính qua tiêu điểm trái của Hyperbol 55 BanKinhQuaTieuDiemPhaiHyperbol Giá Trị bán kính qua tiêu điểm phải của Hyperbol Chương 8 : Parabol 56 SoTieuParabol Giá Trị số tiêu của Parabol 57 TamParabol Điểm là tâm của Parabol 58 DiemThuocParabol Điểm thuộc Parabol 59 DieuKienTiepXucParabol Điều kiện để Đường Thẳng tiếp xúc với 45 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy Parabol 60 TiepTuyenParabol Đường Thẳng là tiếp tuyến với Parabol 61 ParabolTrenTrucHoanh Xác định Parabol nằm tên trục hoành 62 ParabolTrenTrucTung Xác định Parabol nằm tên trục tung 63 BanKinhQuaTieuDiemParabol Giá Trị bán kính qua tiêu điểm của Parabol Chương 9 : Toán Tổng Hợp 64 XuatKetQua Xuất ra kết quả thu được của 1 thành phần Hình Học 65 DatGiaTriChoTP Đặt giá trị cho 1 thành phần Hình Học 66 GiaiHePT Giải hệ phương trình 67 DonGianHePT Đơn giảnvà rút gọn hệ phương trình 68 ThayTheHePT Thay thế hệ phương trình vào 1 phương trình khác 69 XetNghiemThuI Xét nghiệm thứ I của 1 thành phần Hình học 70 LayNghiemThuI Chỉ lấy duy nhất nghiệm I cho 1 thành phần Hình Học 71 TaoMoiDoiTuong Tạo mới thành phần Hình Học từ 1 thành phần Hình Học có sẵn 72 ChungMinhQH Chứng minh 1 công thức hoặc định lý là đúng hay sai 73 CongThucTinhGT Thực hiện phép tính giá trị. VD : a=1-2 74 CongThucBienDoiPT Thực hiện các phép tính trên các phương trình. VD: (1)- (2) 75 XacDinhGiaThiet Xác định giả thiết của bài tập 76 XacDinhKetLuan Xác định kết luận của bài tập Danh sách Lớp khai báo kế thừa từ Lớp TPPhuongTrinh : Lớp TPPhuongTrinh là thể hiện cho các dạng Phương Trình đặc trưng được dùng trong chương trình chẳng hạn như : phương trình bậc 1, bậc 2, phương trình Parabol, Hyperbol, 46 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy Đường Tròn. Các phương trình này sẽ hỗ trợ cho Người Dùng thực hiện các phép tính toán, xác định xem có đủ khả năng khải không, nếu được thì cung cấp Lời Giải. Có tất cả là 23 dạng Phương Trình khác nhau giúp thể hiện các dạng khác nhau của Phương Trìnhh. nhưng tất cả đều có thể quy về dạng chuẩn là PT_Bac1nAn hoặc PT_Bac2nAn. TPPhuongTrinh (f rom Fundament) PTBac1_nAn (f rom Equation) PTBac2_nAn (f rom Equation) PTBac2_1An (f rom Equation) PTGan (f rom Equation) PTEllipse (f rom Equation) PTParabol (f rom Equation) PTDuongTron (from Equation) PTCachDeu (from Equation) PTTiepTuyen (from Equation) PTPhanGiac (from Equation) Hình 2.4.3-14 Danh sách Lớp khai báo kế thừa từ Lớp TPPhuongTrinh 47 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy 4.2. Tổ chức lưu trữ và truy xuất các đối tượng : 4.2.1. Sơ đồ logic dữ liệu (hoặc tổ chức tập tin) : Các thông tin cần lưu trữ là thông tin về danh sách Lý thuyết, Bài tập, Mẫu câu hỏi trắc nghiệm, Câu hỏi trắc nghiệm, Đề trắc nghiệm được lưu trữ và các kiểu nhập liệu Công Thức được định nghĩa. Mỗi loại có cấu trúc như sau : Hình 2.4.3-15 Sơ đồ logic dữ liệu 4.2.2. Danh sách các bảng dữ liệu : Bảng Dữ Liệu DB_BAITAP Bảng Dữ Liệu DB_CONGTHUC Bảng Dữ Liệu DB_MAUCAUTN Bảng Dữ Liệu DB_CAUHOITN 48 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy 4.2.3. Danh sách các thuộc tính của từng bảng : Bảng Dữ Liệu DB_CONGTHUC : Dùng để lưu trữ các kiểu nhập liệu (được dùng trong các Lời Gợi Ý), các thông tin này được lưu trong file “dbCongThuc.txt” và được lưu tuần tự như sau : _ dsTPHinhHoc : danh sách các Thành Phần Hình Học được sử dụng trong Công Thức, Định Lý, chỉ mang ý nghĩa tham khảo cho việc nhập liệu, không thay đổi được. _ CongThuc : là kiểu công thức nhập liệu cho 1 Cong Thức, Định Nghĩa. Bảng Dữ Liệu DB_BAITAP : Dùng để lưu trữ các thông tin về Bài Tập, các thông tin này được lưu trong file “dbBaiGia.txt” và được lưu tuần tự như sau : _ STT : số thứ tự của Bài Tập này trong danh sách các Bài Tập có trong chương trình. _ TenBai : tên của Bài Tập, thể hiện bài tập này thuộc dạng đặc trưng nào. _ Chuong : xác định xem Bài Tập thuộc chương nào (danh sách các loại Chương này căn cứ theo tiêu chuẩn của Sách Giáo Khoa). _ DoKho : xác định xem mức độ khó của Bài Tập gổm : Dễ, Trunh Bình và Khó. _ DeBai : nội dung đề bài của Bài Tập dưới dạng văn bản. _ DapAn : các Lời Gợi Ý được cung cấp dưới dạng văn bản. _ HuongDan : các lời hướng dẫn, gợi ý các cách giải Bài Tập.. _ BaiLam : nội dung Bài Làm của Học Sinh. _ NhanXet : lời nhận xét của Giáo Viên về Bài Làm của Học Sinh.. Bảng Dữ Liệu DB_CAUHOITN Lưu trữ thông tin về câu hỏi trắc nghiệm, được lưu trong tập tin NganHangCauHoi.txt với cấu trúc như sau : _STTCau : số thứ tự của câu trong ngân hàng câu hỏi. _Chuong : cho biết câu hỏi này thuộc chương nào. 49 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy 50 _De : khi câu hỏi được chọn vào một đề trắc nghiệm thì _De sẽ nhận giá trị của thứ tự đề. _NoiDung : lưu trữ phần nội dung của câu hỏi. _GoiY : lưu trữ các gợi ý (A, B, C, D) của câu hỏi. _DapAn : lưu trữ đáp án đúng của câu hỏi. Bảng Dữ Liệu DB_MAUCAUTN Lưu trữ các dạng mẫu câu hỏi dùng để phát sinh câu hỏi trắc nghiệm, được lưu trong tập tin dbMauCau.txt, và có cấu trúc như sau : _STT : số thứ tự của mẫu. _TenBai : mô phỏng ngắn gọn về mẫu. _KieuBai : cho biết dạng của mẫu. _DoKho : cho biết mức độ phức tạp của bài toán. _DeBai : lưu trữ toàn bộ câu hỏi bao gồm nội dung và các gợi ý. _DapAn : lưu trữ đáp án đúng của câu hỏi. 4.2.4. Danh sách các đối tượng truy xuất dữ liệu : Lớp dbBaiGiai : thể hiện 1 cơ sở Dữ Liệu của Bài Tập. dbBaiGiai Load() Save() LoadChiTiet() SaveChiTiet() (f rom BaiGiai LG)_Load() : thực hiện việc đọc 1 Bài Tập từ file. _Save() : thực hiện việc ghi 1 Bài Tập ra file. _ LoadChiTiet() : thực hiện việc đọc các chi tiết của Bài Tập từ file Cơ Sở Dữ Liệu. _ SaveChiTiet() : thực hiện việc ghi các chi tiết của Bài Tập ra file Cơ Sở Dữ Liệu. Lớp dbCongThuc : thể hiện 1 cơ sở Dữ Liệu của Công Thức Nhập. _ Load() : thực hiện việc đọc 1 Công Thức Nhập từ file. dbCongThuc Load() Save() PhanTichCau() (f rom Cong Thuc Nhap)_ Save() : thực hiện việc ghi 1 Công Thức Nhập ra file. _ PhanTichCau() : phân tích các dữ liệu thô (các Công Thức Nhập dưới dạn Text) thành kiểu đặc biệt áp dụng cho việc Phân Tích Bài Giải. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy Lớp dbCauHoiTN : thể hiện 1 cơ sở dữ liệu của Câu hỏi trắc nghiệm. _Load() : đọc một câu hỏi trắc nghiệm từ tập tin. dbCauHoiTN Load() Save() (f rom Logical View)_Save() : lưu một câu hỏi trắc nghiệm vào tập tin. 4.3. Thiết kế các lớp đối tượng xử lý chính : 4.3.1. Lớp BaiGiai : ™ Lớp BaiGiai : thể hiện cho 1 Bài Tập trong chương trình. 4.3.1.1. Danh sách biến thành phần : BaiGiai STT : Integer Ten : String DeBai : String DapAn : String arrTPDeBai : TPHinhHoc* arrTPPhu : TPHinhHoc* Load() Save() TienXuLyCau() TomTatCau() PhanTichDeBai() PhanTichCauDeBai() GiaiBaiTap() PhanTichCauLoiGiai() LayDSThanhPhan() (from BaiGiai LG)_ STT : số thứ tự của Bài Tập được đánh số trong Cơ Sở Dữ Liệu. _ Ten : tên của Bài Tập. _ DeBai : nội dung của đề bài. _ DapAn : nội dung của Đáp Án, chỉ ở dưới dạng text. _ arrTPDeBai : danh sách các thành phần Hình Học được tạo ra khi ta “Phân Tích” nội dung của Đề Bài. _ arrTPPhu : danh sách các thành phần Hình Học được phát sinh trong quá trình thực hiện việc “Giải Bài Tập”. 4.3.1.2. Danh sách các Hàm thành phần : _ Load() : đọc nội dung của 1 Bài Tập. _ Save() : lưu lại nội dung của 1 Bài Tập. _ TienXuLyCau : loại bỏ các ký thừa trong 1 đoạn văn bản, đồng thời tách thành từng câu riêng biệt. _ TomTatCau() : phân tích 1 câu nhập liệu thành 1 dạng xác định để so sánh với danh sách Công Thức nhập liệu xem coi có hợp lệ không. VD : ta nhập câu : “Cho điểm A(0,0) thuộc đường thẳng D:Ax+By+C=0”, khi được đưa vào hàm TomTatCau() thì trở thành “ thuộc ” đồng thời tạo ra 2 đối tượng {A ∈ Diem và D ∈ DuongThang}. 51 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy _PhanTichDeBai() : phân tích toàn bộ Đề Bài xem giả thuyết của Bài Tập cung cấp cho ta những gì, tất cả thành phần tạo ra ở đây được lưu trong mảng arrTPDeBai. _ PhanTichCauDeBai() : phân tích 1 câu xác định, được dùng trong hàm PhanTichDeBai() ở trên. _ GiaiBaiTap() : phân tích toàn bộ Lời Giải ⇒ thực hiện tuần tự từng bước đễ ra kết quả cuối cùng , tất cả thành phần tạo ra ở đây được lưu trong mảng arrTPPhuDeBai. _ PhanTichCauLoiGiai() : phân tích 1 câu Đáp Án xác định, được dùng trong hàm GiaiBaiTap() ở trên. _ LayDSThanhPhan() : danh sách các Kết Quả cuối cùng thu được, bao gồm cả Giả Thuyết và các Thành Phần trung gian. 4.3.1.3. Sơ đồ phối hợp hoạt động : _ Ham GiaiBaiTap() : BaiGiai GiaiBaiTap() BaiGiai PhanTichCauDeBai() BaiGiai PhanTichDapAn() BaiGiai PhanTichCauDapAn() BaiGiai PhanTichDeBai() _ Hàm PhanTichCauDapAn() : BaiGiaiBaiGiai PhanTichDapAn() BaiGiai TomTatCau() TienXuLyCau() _ Hàm TienXuLyCau() : BaiGiai TienXuLyCau() TPHinhHoc LayKieuNhapLieu() TPQuanHe LayKieuNhapLieu() 4.3.2. Lớp dbBaiGiai : ™ Lớp DSBaiGiai : thể hiện toàn bộ các Bài Tập có trong chương trình, thực hiện các yêu cầu quản lý, truy xuất, tìm kiếm. 52 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy 4.3.2.1. Danh sách biến thành phần : _ SoLuong : xác định số lượng các Bài Tập có trong chương trình. 4.3.2.2. Danh sách hàm thành phần : _ LoadSoLuong() : ghi nhận lại số lượng các Bài Tập có trong chương trình. _ ThemBaiGiai() : thêm 1 Bài Tập mới vào trong Cơ Sở Dữ Liệu và đưa vào cuối dữ liệu. _ LuuBaiGiai() : cập nhật lại thông tin của Bài Tập. _ XoaBaiGiai() : xóa Bài Tập này khỏi danh sách. _ LayDSBaiGiai() : lấy toàn bộ tất cả các Bài Tập có trong chương trình. _ TimTheoSTT() : tìm kiếm thông tin về Bài Tập theo số thứ tự. _ TimTheoTen() : tìm kiếm thông tin về Bài Tập theo tên bài. _ TimTheoChuong() : tìm kiếm thông tin về Bài Tập theo tên bài và chương. _ TimTheoDoKho() : tìm kiếm thông tin về Bài Tập theo tên bài và độ khó. DSBaiGiai SoLuong : Integer LoadSoLuong() ThemBaiGiai() LuuBaiGiai() XoaBaiGiai() LayDSBaiGiai() TimTheoSTT() TimTheoTen() TimTheoChuong() TimTheoDoKho() (from BaiGiai LG) 4.3.3. Lớp PhanTu: Ngoài ra, khi thực hiện việc “Giải bài Tập”, lớp BaiGiai phải thực hiện việc giao tiếp với các lớp khác, hỗ trợ cho việc tìm kiếm kết quả cuối cùng. 53 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy 0..n PhanTu (f rom Fundament) BaiGiai (f rom BaiGiai LG) CongThucQuanHe (from Cong Thuc Nhap) TPPhuongTrinh (from Fundament) TPHinhHoc (f rom Fundament) TPQuanHe (f rom Fundament) 1..* 1..* 1..* 1..* Hình 2.4.3-16 Lớp PhanTu ™ Lớp PhanTu : đây là lớp ảo và là Phần Tử cơ bản nhất trong mô hình Hỗ Trợ Giải Toán, cung cấp các khả năng thiết yếu cho các lớp con thao tác. Bản thân mỗi PhanTu này lại chứa nhiều các đối tượng PhanTu khác. 4.3.3.1. Danh sách biến thành phần : PhanTu Name : String dsPhanTu : PhanTu* KhoiTao() IsActived() OnActived() SetTP() GetTP() LayTenDinhNghia() XuatBaiGiai() (from Fundament)_ Name : tên của Phần Tử được xét. _ dsPhanTu : danh sách các đối tượng PhanTu khác mà lớp này kiểm soát. 4.3.3.2. Danh sách hàm thành phần : _ KhoiTao() : hàm khởi tạo cho các đối tượng có khả năng “nạp chồng” (override), xác định tên và số lượng các thành phần sở hữu và thực hiện các khởi tạo riêng biệt cho từng lớp con. 54 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy _ IsActived() : xác định xem đối tượng đã được “kích hoạt” chưa, “kích hoạt” là khi đối tượng đã xác định được đầy đủ giá trị. _ OnActived() : đây là 1 hàm bắt sự kiện, được thực thi khi có 1 đối tượng trong dsPhanTu được “kích hoạt” lên, đây là hàm có khả năng “nạp chồng” (override), tùy theo các lớp con khác nhau mà có các phản ứng khác nhau. Nếu bản thân lớp được “kích hoạt” thì cũng phát sinh ra sự kiện thông báo cho các đối tượng đang sở hữu nó biết được. _ SetTP() : cập nhật thông tin lại cho 1 đối tượng PhanTu mà lớp đang nắm giữ. _ GetTP() : lấy thông tin lại cho 1 đối tượng PhanTu mà lớp đang nắm giữ. _ LayTenDinhNghia() : đây là hàm ảo (abstract), dùng để lấy chuỗi ký tự đặc trưng dùng để nhận diện cho việc nhập liệu cho lớp. VD : lớp Diem có chuỗi là “ Điểm“, lớp DuongThang có chuỗi là “Đường Thẳng”. _ XuatBaiGiai() : đây là hàm ảo (abstract), dùng để xuất nội dung của đối tượng ra thành bài giải. 4.3.4. Lớp TPHinhHoc : ™ Lớp TPHinhHoc : đây là lớp ảo kế thừa từ lớp PhanTu, thể hiện cho các đối tượng Hình Học có trong 1 bài toán Hình Học Giải Tích, chẳng hạn như : Điểm, Đường Thẳng, Đường Tròn, Ellipse,…. 4.3.4.1. Danh sàch hàm thành phần : TPHinhHoc OnActived() LayDSThanhPhan() LoadCongThucNhap() XuatSoNghiem() XuatKetQua() LayKieuNhapLieu() (from Fundament)_ OnActived() : kế thừa từ lớp PhanTu, xác định lớp sẽ “kích hoạt” khi thoả điều kiện tất cả các đối tượng sở hữu đều “kích hoạt”. VD : đối tượng Điểm A được kích hoạt khi ta xác định được 2 giá trị X, Y của A. _ LayDSThanhPhan() : lấy tất cả các đối tượng mà nó sở hữu và chính nó. 55 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy _ LoadCongThucNhap() : đây là hàm ảo, dùng để đọc 1 đoạn text xem nó có thực hiện việc “nhập liệu” cho 1 đối tượng Hình Học nào đó không. VD : ta có “Điểm A(0,0)” khi đưa vào hàm này thì ta sẽ nhận được 1 khai báo là khởi tạo 1 đối tượng tên “A” có kiểu là Diem và có giá trị X = Y = 0. _ XuatSoNghiem() : xác định số nghiệm (số kết quả thu được) của 1 đối tượng Hình Học, số nghiệm có thể là : 1, 2, … _XuatKetQua() : đây là hàm ảo, dùng để xuất ra bài giải kết luận cuối cùng của đối tượng Hình Học, thường được dùng cho phần “Kết Luận” của Bài Giải. VD : phần “Kết Luận” của 1 Bài Tập “xác định phương trình Đường Thẳng” ta xuất ra bằng hàm trên là : “Đường thẳng D có phương trình đường thẳng là …” _ LayKieuNhapLieu() : lấy tất cả các kiểu nhập liệu được định nghĩa trong chương trình, được dùng trong phần Kiểm Tra Đề Bài, Đáp Án. 4.3.4.2. Sơ đồ phối hợp hoạt động : _ HamXuatKetQua() : TPHinhHoc XuatKetQua() GetAt() TPHinhHocTPHinhHoc XuatKetQua() * Chương trình đã định nghĩa 1 số lớp kế thừa từ lớp TPHinhHoc để chuyên biệt hoá các xử lý cho từng đối tượng Hình Học mà thường được sử dụng trong các Bài Toán Hình học Giải Tích. Ngoài các hàm được kế thừa từ lớp cha, các lớp này chỉ định nghĩa thêm các giá trị đặc trưng cho từng lớp. 56 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy TPHinhHoc (f rom Fundament) GiaTri Value : SoThuc (f rom Fundament) Diem X : GiaTri Y : GiaTri (f rom Geometric) DuongThang A : GiaTri B : GiaTri C : GiaTri (f rom Geometric) TamGiac A : Diem B : Diem C : Diem (f rom Geometric) TuGiac A : Diem B : Diem C : Diem D : Diem (f rom Geometric) Goc alpha : GiaTri (f rom Geometric) DuongTron I : Diem R : GiaTri (f rom Geometric) Ellipse I : Diem a : GiaTri b : GiaTri (f rom Geometric) Hyperbol I : Diem a : GiaTri b : GiaTri (f rom Geometric) Parabol I : Diem p : GiaTri (f rom Geometric) Vector U : GiaTri V : GiaTri (f rom Geometric) Hình 2.4.3-17 Lớp TPHinhHoc 4.3.4.3. Danh sách các lớp con : ƒ Lớp GiaTri : thể hiện cho 1 Biến số, Tham số hoặc Hằng số trong 1 Bài Tập, số lượng đối tượng mà lớp GiaTri nắm giữ chính là số nghiệm của 1 Biến số. Trong đó Value là giá trị thực của lớp (nếu lớp được kích hoạt) và thuộc kiểu SoThuc, kiểu dùng để thực hiện tính toán với kết quả “số đẹp” như “số căn”, “phân số”. Ngoài ra , lớp GiaTri còn được cung cấp 1 số hàm để thực hiện các phép toán +. -, *, /, được dùng để Giải Phương Trình. ƒ Lớp Góc : thể hiện cho 1 giá trị Góc, nhưng ở dưới dạng Radian, và chỉ chấp nhận các giá trị góc đặc biệt như : 0°, 30°, 45°, 90°, … ƒ Lớp Vector : thể hiện cho 1 đối tượng Hình Học là Vector có dạng u(U,V). 57 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy ƒ Lớp Diem : thể hiện cho 1 đối tượng Hình Học là Điểm có dạng A(X,Y). ƒ Lớp DuongThang : thể hiện cho 1 đối tượng Hình Học là Đường Thẳng có dạng D: Ax + By + C = 0. ƒ Lớp TamGiac : thể hiện cho 1 đối tượng Hình Học là Tam Giác gồm 3 Điểm xác định A, B, C. ƒ Lớp TuGiac : thể hiện cho 1 đối tượng Hình Học là Tam Giác gồm 4 Điểm xác định A, B, C, D ƒ Lớp DuongTron : thể hiện cho 1 đối tượng Hình Học là Đường Tròn tâm là Điểm I có dạng C: (x - Ix)² + (y - Iy)² = R². ƒ Lớp Ellipse : thể hiện cho 1 đối tượng Hình Học là Ellipse tâm là Điểm I có dạng E: (x - Ix)² / a² + (y - Iy)² / b² = 1. ƒ Lớp Hyperbol : thể hiện cho 1 đối tượng Hình Học là Hyperbol tâm là Điểm I có dạng H: (x - Ix)² / a² - (y - Iy)² / b² = 1. ƒ Lớp Parabol : thể hiện cho 1 đối tượng Hình Học là Parabol tâm là Điểm I có dạng H: (y – Iy)² = 2 * P * (x - Ix). 4.3.4.4. Danh sách các hàm được kế thừa để chuyên biệt hoá từ lớp TPHinhHoc : ƒ KhoiTao() : kế thừ từ lớp PhanTu, dùng để khởi tạo cho trường hợp mặc định cho từng đối tượng Hình Học. ƒ LayTenDihnhNghia() : lấy chuỗi định nghĩa cách thức nhập liệu cho từng đối tượng Hình Học. ƒ LoadCongThucNhap() : dùng để đọc 1 đoạn text xem nó có thực hiện việc “nhập liệu” cho 1 đối tượng Hình Học nào đó không. 4.3.5. Lớp TPQuanHe : ™ Lớp TPQuanHe : đây là lớp ảo kế thừa từ lớp PhanTu, thể hiện cho các Công Thức, Định Lý, Định Nghĩa có trong 1 bài toán Hình Học Giải Tích, chẳng hạn 58 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy như : các Công Thức tính giá trị Diện Tích, Chu Vi của Tam Giác, các Định Nghĩa “Điểm Thuộc Đường”, … 4.3.5.1. Danh sách biến thành phần : _ myPT : danh sách các Phương Trình đặc trưng cho từng lớp Quan Hệ. 4.3.5.2. Danh sách hàm thành phần : _ LayTenDinhNghia() : kế thừa từ lớp PhanTu, định nghĩa cách thức khai báo 1 Công Thức hoặc Định Lý. _ LoadCongThucNhap() : dùng để đọc 1 đoạn text xem nó có thực hiện việc “khai báo” cho 1 Công Thức hoặc Định Lý. Các cách thức nhập liệu cho đối tượng TPQuanHe này được địng nghĩa trong file “dbCongThuc.txt” và có thể hiệu chỉnh được theo ý người sử dụng. _ LayKieuNhapLieu() : lấy tất cả các kiểu nhập liệu được khai báo Công Thức, Định Lý trong chương trình, được dùng trong phần Kiểm Tra Đề Bài, Đáp Án. _ LayPhuongTrinh() : lấy thông tin về dan sách các Phương Trình đặc trưng cho từng lớp TPQuanHe. _ CapNhatPhuongTrinh() : cập nhật lại thông tin cho các Phương Trình đặc trưng từ các biến thành phần của đối tượng VD : ta có Định Nghĩa quan hệ “Điểm thuộcc Parabol” có các biến thàng phần là Điểm M(Mx, My) và Parabol P tâm là Điểm I(Ix, Iy) thì dạng phương trình đặc trưng là : (My – Iy)² = 2 * P (Mx – Ix). _ XuatBaiGiai() : kế thừa từ lớp PhanTu, dùng để xuất 1 Công Thức hoặc Định Nghĩa ra thành Lời Giải theo nguyên tắc sau : + Xuất lời dẫn thông báo sử dụng Định Lý hoặ Công Thức gì. + Xuất ra nội dung của các Phương Trình đặc trưng. TPQuanHe myPT : TPPhuongTrinh* LayTenDinhNghia() LoadCongThucNhap() LayKieuNhapLieu() LayPhuongTrinh() CapNhatPhuongTrinh() XuatBaiGiai() (from Fundament) 4.3.5.3. Sơ đồ phối hợp hoạt động : _ LoadCongThucNhap() : 59 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy TPQuanHe LoadCongThucNhap() CapNhatPhuongTrinh() CongThucQuanHe LayCongThuc() TPQuanHe * _ CapNhatPhuongTrinh() : TPQuanHe CapNhatPhuongTrinh() * TPPhuongTrinh GiaTri SetAt()SetAt() * _ XuatBaiGiai() : TPQuanHe * TPPhuongTrinh XuatBaiGiai()XuatBaiGiai() Chương trình đã định nghĩa 1 số lớp kế thừa từ lớp TPQuanHe để chuyên biệt hoá các xử lý cho từng đối tượng Công Thức hoặc Định Nghĩa mà thường được sử dụng trong các Bài Toán Hình học Giải Tích. TPQuanHe (f rom Fundament) DiemThuocDuong (from Relationship) KhoangCach2Diem (from Relationship) GiaiHePT (f rom Relationship) DiemThuocDuongTron (from Relationship) DuongThangSSDuongThang (from Relationship) DuongThangTiepTuyenDuongTron (from Relationship) PhepBienDoiPT (from Relationship) XuatKetQua (f rom Relationship) Hình 2.4.3-18 Lớp TPQuanHe 60 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy Các lớp kế thừa ở phía trên chính là các Công Thức, Địng Nghĩa chuẩn được áp dụng trong Sách Giáo Khoa. VD : lớp DuongThangTiepTuyenDuongTron chính là Định Lý được áp dụng khi 1 Đường Thẳng tiếp xúc với Đường Tròn; hay lớp KhoangCach2Diem là Công Thức áp dụng cho việc tính khoảng cách giữa 2 Điểm A, B. Các lớp này chỉ kế thừa từ lớp cha các hàm sau : _ CapNhatPhuongTrinh() : cập nhật lại thông tin cho các Phương Trình đặc trưng từ các biến thành phần của đối tượng. Các lớp kế thừa ở phía dưới chính là các Công Thức, Địng Nghĩa riêng của chương trình hỗ trợ Người Dùng giải Bài Tập trong các trường hợp đặc biệt, khi mà các Công Thức và Địng Nghĩa chuẩn không thể giải được. 4.3.5.4. Danh sách các lớp này : ƒ Lớp XuatKetQua : dùng trong phần “Kết Luận” của 1 bài giải, thông báo các kết quả cuối cùng thu được. ƒ Danh sách các lớp PhepBienDoiPT : là các lớp dùng để hỗ trợ cho Người Dùng thực hiện các phép biến đổi Phương Trình như : rút gọn, gom nhóm các Phương Trình, đặt ẩn riêng ,… ƒ Lớp GiaiHePT : là lớp dùng để hỗ trợ khả năng giải hệ các Phương Trình đã được gom nhóm. 4.3.6. Lớp TPPhuongTrinh : ™ Lớp TPPhuongTrinh : đây là lớp ảo kế thừa từ lớp PhanTu, thể hiện cho các Phương Trình đặ trưng có trong 1 bài toán Hình Học Giải Tích, chẳng hạn như : phương trình Đường Thẳng, Đường Tròn, phương trình Đường Phân Giác, … 61 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy 4.3.6.1. Danh sách hàm thành phần : _ OnActived() : kế thứ từ lớp PhanTu, xác định lớp sẽ “giải được” khi thoả điều kiện có (n – 1) các đối tượng sở hữu của Phương Trình đều “kích hoạt”. VD : phương trình Đường Thẳng : Ax + By + C = 0 có (n=5) giá trị nên có thể “giải được” khi có (n-1)=4 giá trị “kích hoạt” chẳng hạn như biết được A, B, C, x. _ SapXepLai() : sắp xếp lại Phương Trình đặc trưng này, chuyển về dạng chuẩn để Phương Trình này “có thể giải được”. Các Phương Trình chuẩn là : _ Phương trình bậc 1 n ẩn dạng : A1 * x1 + A2 * x2 + … + An * xn + K = 0. _ Phương trình bậc 2 n ẩn dạng : (A1 - x1)² + (A2 – x2)² + … + (An - xn)² = K. _ TinhGiaTri() : xác định các giá trị của Phương Trình có thoả điều kiện P(x) = 0, thường được dùng trong bài toán “Chứng Minh”. _ CacPhepToan() : ngoài ra chương trình còn bổ sung các khả năng tính toán +. -. *. / cho các Phương Trình, thường dùng để thực hiện các “Phép Biến Đổi Phương Trình”. TPPhuongTrinh OnActived() SapXepLai() XuatBaiGiai() TinhGiaTri() CacPhepToan() (f rom Fundament) 4.3.6.2. Sơ đồ phối hợp hoạt động : _ Hàm XuatBaiGiai() : TPPhuongTrinh XuatBaiGiai() SapXepLai() DatTen() PhuongTrinhChuan ThucHienGiai() TPPhuongTrinhTPPhuongTrinh _ Hàm SapXepLai() : SapXepLai() TPPhuongTrinhGiaTriGiaTri GetAt()IsActived() ManHinhThongBao ThongBaoLoi() * * 62 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giảng dạy hình học giải tích GVHD : Nguyễn Tiến Huy Chương trình đã định nghĩa 1 số lớp kế thừa từ lớp TPPhuongTrinh để chuyên biệt hoá các xử lý cho từng Phươnh Trình mà thường được sử dụng trong các Bài Toán Hình học Giải Tích. TPPhuongTrinh (f rom Fundament) PTBac1_nAn (f rom Equation) PTBac2_nAn (f rom Equation) PTBac2_1An (f rom Equation) PTGan (f

Các file đính kèm theo tài liệu này:

  • pdf12hinhhocgiaitich.pdf