Luận văn Phân tích phần mềm hỗ trợ giải toán bất đẳng thức

Tài liệu Luận văn Phân tích phần mềm hỗ trợ giải toán bất đẳng thức: KH OA C NT T – Đ H KH TN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM *** LUẬN VĂN TỐT NGHIỆP ĐỀ TÀI PHẦN MỀM HỖ TRỢ GIẢI TOÁN BẤT ĐẲNG THỨC GVHD : thầy Nguyễn Tiến Huy SVTH : Lê Thu Thuỷ 9912700 Nguyễn Bạch Thuỷ Tiên 9912706 Tp Hồ Chí Minh 7-2003 KH OA C NT T – Đ H KH TN LỜI CẢM ƠN Để hoàn thành luận văn này, chúng em đã được sự trợ giúp rất nhiều của thầy cô, bạn bè và gia đình. Chúng em xin cảm ơn các thầy cô đã tận tình giảng dạy chúng em trong suốt 4 năm đại học. Chúng em xin gửi lời cảm ơn thầy Nguyễn Tiến Huy, người đã tận tình hướng dẫn cho chúng em trong quá trình tìm hiểu và thực hiện đề tài “Xây dựng phần mềm hỗ trợ giải toán bất đẳng thức “ . Một lần nữa, chúng em xin gửi lời cảm ơn đến tất cả những người đã tạo điều kiện tốt nhất để chúng em có thể hoàn thành đề tài. TP. Hồ Chí Minh, KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳn...

pdf150 trang | Chia sẻ: hunglv | Lượt xem: 1028 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Phân tích phần mềm hỗ trợ giải toán bất đẳng thức, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
KH OA C NT T – Đ H KH TN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM *** LUẬN VĂN TỐT NGHIỆP ĐỀ TÀI PHẦN MỀM HỖ TRỢ GIẢI TOÁN BẤT ĐẲNG THỨC GVHD : thầy Nguyễn Tiến Huy SVTH : Lê Thu Thuỷ 9912700 Nguyễn Bạch Thuỷ Tiên 9912706 Tp Hồ Chí Minh 7-2003 KH OA C NT T – Đ H KH TN LỜI CẢM ƠN Để hoàn thành luận văn này, chúng em đã được sự trợ giúp rất nhiều của thầy cô, bạn bè và gia đình. Chúng em xin cảm ơn các thầy cô đã tận tình giảng dạy chúng em trong suốt 4 năm đại học. Chúng em xin gửi lời cảm ơn thầy Nguyễn Tiến Huy, người đã tận tình hướng dẫn cho chúng em trong quá trình tìm hiểu và thực hiện đề tài “Xây dựng phần mềm hỗ trợ giải toán bất đẳng thức “ . Một lần nữa, chúng em xin gửi lời cảm ơn đến tất cả những người đã tạo điều kiện tốt nhất để chúng em có thể hoàn thành đề tài. TP. Hồ Chí Minh, KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 3 MỤC LỤC PHẦN I : MỞ ĐẦU......................................................................................................................................10 I GIỚI THIỆU............................................................................................................................................10 II MỤC TIÊU CỦA LUẬN VĂN ...............................................................................................................11 PHẦN II : HIỆN TRẠNG VÀ YÊU CẦU ...................................................................................................12 I KHẢO SÁT HIỆN TRẠNG ....................................................................................................................12 1 Hiện trạng tổ chức .............................................................................................................................12 2 Hiện trạng tin học ..............................................................................................................................14 2.1 Phần mềm MathBook....................................................................................................................................14 2.2 Phần mềm Matlab..........................................................................................................................................14 2.3 Phần mềm Mathematica ................................................................................................................................14 II XÁC ĐỊNH YÊU CẦU ...........................................................................................................................15 1 Bảng trách nhiệm cho các yêu cầu.....................................................................................................17 2 Danh sách các biểu mẫu ....................................................................................................................19 3 Phạm vi của đề tài..............................................................................................................................21 III PHƯƠNG ÁN THỰC HIỆN PHẦN MỀM .............................................................................................24 PHẦN III : MÔ HÌNH HÓA..........................................................................................................................25 I SƠ ĐỒ SỬ DỤNG...................................................................................................................................26 1 Sơ đồ sử dụng tổng thể .......................................................................................................................26 2 Sơ đồ sử dụng cho từng yêu cầu cụ thể ..............................................................................................27 2.1 Sơ đồ sử dụng cho yêu cầu giải bài tập .........................................................................................................28 2.2 Sơ đồ sử dụng cho yêu cầu xem lại bài giải ..................................................................................................29 2.3 Sơ đồ sử dụng cho yêu cầu xem đáp án.........................................................................................................29 2.4 Sơ đồ sử dụng cho yêu cầu xem tóm tắt lý thuyết .........................................................................................30 2.5 Sơ đồ sử dụng cho yêu cầu chấm điểm bài giải.............................................................................................30 2.6 Sơ đồ sử dụng cho yêu cầu soạn tóm tắt lý thuyết.........................................................................................31 2.7 Sơ đồ sử dụng cho yêu cầu soạn đề bài tập ...................................................................................................31 2.8 Sơ đồ sử dụng cho yêu cầu phát sinh đề bài tập ............................................................................................32 2.9 Sơ đồ sử dụng cho yêu cầu soạn đáp án ........................................................................................................32 2.10 Sơ đồ sử dụng cho yêu cầu soạn quy định chấm điểm.............................................................................33 II SƠ ĐỒ LỚP.............................................................................................................................................33 1 Danh sách các lớp đối tượng .............................................................................................................33 2 Sơ đồ lớp đối tượng............................................................................................................................35 3 Cấu trúc của biểu thức.......................................................................................................................36 4 Cấu trúc của bước giải.......................................................................................................................37 III MÔ Tả CHI TIếT CÁC LớP ĐốI TƯợNG CHÍNH................................................................................................38 PHẦN IV : THIẾT KẾ PHẦN MỀM............................................................................................................41 I THIẾT KẾ TỔNG THỂ...........................................................................................................................41 1 Thành phần xử lý................................................................................................................................41 2 Tổ chức dữ liệu...................................................................................................................................47 II THIẾT KẾ CHI TIẾT ..............................................................................................................................51 1 Diễn giải chi tiết theo từng màn hình.................................................................................................51 1.1 MH_HeHocSinh............................................................................................................................................51 1.2 MH_GiaiBT ..................................................................................................................................................55 1.3 MH_XemBaiGiai ..........................................................................................................................................60 1.4 MH_XemDapAn ...........................................................................................................................................62 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 4 1.5 MH_XemLyThuyet .......................................................................................................................................63 1.6 MH_HeGiaoVien ..........................................................................................................................................65 1.7 MH_SoanLyThuyet.......................................................................................................................................68 1.8 MH_SoanBaiTap...........................................................................................................................................70 1.9 MH_SoanDapAn...........................................................................................................................................72 1.10 MH_SoanQDCD .....................................................................................................................................75 1.11 MH_ThemSachBT...................................................................................................................................77 2 Hệ thống hàm của các lớp đối tượng .................................................................................................78 2.1 Các lớp dùng chung.......................................................................................................................................78 2.2 Phân hệ học sinh............................................................................................................................................87 2.3 Phân hệ giáo viên ..........................................................................................................................................94 3 Sơ đồ hoạt động chi tiết và thuật giải một số xử lí ...........................................................................106 3.1 Kiểm tra bước giải đúng..............................................................................................................................107 3.2 Xử lý biến cố nhấn Enter khi giải bài tập ....................................................................................................116 3.3 Kiểm tra bước giải mới của bài giải ............................................................................................................117 3.4 Xử lý biến cố chọn chức năng giải bài tập ..................................................................................................118 3.5 Xử lý biến cố đổi chế độ giải.......................................................................................................................119 3.6 Lưu bài giải .................................................................................................................................................120 3.7 Lưu lý thuyết ...............................................................................................................................................121 3.8 Lưu bài tập ..................................................................................................................................................122 3.9 Lưu đáp án...................................................................................................................................................123 3.10 Chấm điểm ............................................................................................................................................124 PHẦN V : THỰC HIỆN VÀ KIỂM TRA .................................................................................................126 I TÓM TẮT KẾT QUẢ THỰC HIỆN .....................................................................................................126 II DỮ LIỆU THỬ NGHIỆM VÀ KIỂM TRA...........................................................................................127 PHẦN VI : TỔNG KẾT ...............................................................................................................................132 PHẦN VII : PHỤ LỤC...................................................................................................................................134 I PHỤ LỤC 1: BẢNG MÔ TẢ CÁC KÍ HIỆU BIỂU DIỄN CÚ PHÁP...................................................134 II PHỤ LỤC 2: BẢNG PHÂN LOẠI BƯỚC GIẢI ...................................................................................134 III PHỤ LỤC 3: BẢNG TỪ KHÓA CHO BƯỚC GIẢI ............................................................................137 IV PHỤ LỤC 4: BẢNG DANH SÁCH ĐIỀU KIỆN ĐỂ CÁC BẤT ĐẲNG THỨC HIỂN NHIÊN ĐÚNG 138 V PHỤ LỤC 5: SƠ ĐỒ BIỂU DIỄN CÁC CÚ PHÁP ..............................................................................139 1 Các sơ đồ biểu điễn cú pháp bước giải ............................................................................................139 2 Các sơ đồ biểu diễn cú pháp biểu thức, bất đẳng thức ....................................................................147 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 5 DANH MỤC HÌNH HÌNH 1: SƠ ĐỒ GIAO TIẾP GIỮA HAI PHÂN HỆ ..................................................................................24 HÌNH 2: SƠ ĐỒ SỬ DỤNG PHẦN MỀM MƯC TỔNG THỂ ....................................................................26 HÌNH 3: SƠ ĐỒ SỬ DỤNG YÊU CẦU GIẢI BÀI TẬP ..............................................................................28 HÌNH 4: SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM BÀI GIẢI .............................................................................29 HÌNH 5: SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM ĐÁP ÁN ...............................................................................29 HÌNH 6: SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM LÝ THUYẾT.......................................................................30 HÌNH 7: SƠ ĐÒ SỬ DỤNG YÊU CẦU CHẤM ĐIỂM................................................................................30 HÌNH 8: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN LÝ THUYẾT.....................................................................31 HÌNH 9: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN BÀI TẬP ............................................................................31 HÌNH 10: SƠ ĐÒ SỬ DỤNG YÊU CẦU PHÁT SINH B ÀI TẬP ...........................................................32 HÌNH 11: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN ĐÁP ÁN ........................................................................32 HÌNH 12: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN QUY ĐỊNH CHẤM ĐIỂM..........................................33 HÌNH 13: SƠ ĐỒ LỚP.................................................................................................................................35 HÌNH 14: SƠ ĐỒ BIỂU DIỄN CẤU TRÚC BIỂU THỨC .......................................................................36 HÌNH 15: SƠ ĐỒ BIỂU DIỄN CẤU TRÚC BƯỚC GIẢI........................................................................37 HÌNH 16: MÔ HÌNH BA LỚP CỦA PHẦN MỀM ...................................................................................42 HÌNH 17: SƠ ĐỒ PHỐI HỢP TỔNG THỂ PHÂN HỆ HỌC SINH........................................................45 HÌNH 18: SƠ ĐỒ PHỐI HỢP TỔNG THỂ PHÂN HỆ GIÁO VIÊN......................................................46 HÌNH 19: SƠ ĐỒ LOGIC............................................................................................................................47 HÌNH 20: MÀN HÌNH CHÍNH HỆ HỌC SINH .......................................................................................53 HÌNH 21: MÀN HÌNH GIẢI BÀI TẬP ......................................................................................................57 HÌNH 22: MÀN HÌNH XEM BÀI GIẢI .....................................................................................................61 HÌNH 23: MÀN HÌNH XEM ĐÁP ÁN .......................................................................................................62 HÌNH 24: MÀN HÌNH XEM LÝ THUYẾT...............................................................................................64 HÌNH 25: MÀN HÌNH CHÍNH HỆ GIÁO VIÊN......................................................................................67 HÌNH 26: MÀN HÌNH SOẠN LÝ THUYẾT.............................................................................................69 HÌNH 27: MÀN HÌNH SOẠN BÀI TẬP ....................................................................................................71 HÌNH 28: MÀN HÌNH SOẠN ĐÁP ÁN .....................................................................................................73 HÌNH 29: MÀN HÌNH SOẠN QUY ĐịNH CHẤM ĐIỂM .......................................................................76 HÌNH 30: MÀN HÌNH THÊM SÁCH BÀI TẬP .......................................................................................77 HÌNH 31: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 1.............................107 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 6 HÌNH 32: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 4.............................109 HÌNH 33: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 5.............................110 HÌNH 34: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 6.............................111 HÌNH 35: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 7.............................112 HÌNH 36: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 8.............................113 HÌNH 37: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 9............................114 HÌNH 38: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 12...........................115 HÌNH 39: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾNCỐ NHẤN ENTER KHI GIẢI BÀI TẬP ....................................................................................................................................................116 HÌNH 40: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾN CỐ CHỌN CHƯC NĂNG GIẢI BÀI TẬP ............................................................................................................................................118 HÌNH 41: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾNCỐ ĐỔI CHẾ ĐỘ GIẢI......................119 HÌNH 42: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU BÀI GIẢI ...........................................................120 HÌNH 43: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU LÝ THUYẾT.....................................................121 HÌNH 44: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU BÀI TẬP SOẠN ................................................122 HÌNH 45: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU ĐÁP ÁN .............................................................123 HÌNH 46: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN CHẤM ĐIỂM..............................................................124 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 7 DANH MỤC BẢNG BảNG 1: BẢNG DANH SÁCH YÊU CẦU CỦA GIÁO VIÊN ....................................................................16 BảNG 2: BẢNG DANH SÁCH YÊU CẦU CỦA HỌC SINH ......................................................................17 BảNG 3: BẢNG TRÁCH NHIỆM CHO YÊU CẦU CỦA GIÁO VIÊN.....................................................17 BảNG 4: BẢNG TRÁCH NHIỆM CHO YÊU CẦU CỦA HỌC SINH.......................................................18 BảNG 5: BẢNG DANH SÁCH CÁC LỚP ĐỐI TƯỢNG CHÍNH..............................................................33 BảNG 6: BẢNG DANH SÁCH CÁC LỚP ĐỐI TƯỢNG CỦA CHƯƠNG TRÌNH..................................42 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 8 CÁC KÍ HIỆU * * * tác nhân khối xử lý bộ nhớ luồng dữ liệu (thông tin) lớp đối tượng mối quan hệ một - nhiều mối quan hệ nhiều - nhiều mối quan hệ kế thừa luồng xử lý KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 9 TÓM TẮT Đề tài: Phần mềm hỗ trợ giải toán bất đẳng thức Nội dung của luận văn có thể chia thành các phần như sau: Phần 1 - Phần mở đầu Phần 2 - Hiện trạng và yêu cầu : trình bày về hiện trạng và phác thảo các yêu cầu của bài toán Phần 3 - Mô hình hóa : mô hình hóa các yêu cầu của bài toán Phần 4 - Thiết kế phần mềm: trình bày về các lớp đối tượng của chương trình và sự phối hợp hoạt động giữa chúng Phần 5 - Thực hiện và kiểm tra : trình bày tổng quát về môi trường thực hiện và các bộ dữ liệu kiểm tra Phần 6 - Phần tổng kết: đánh giá về các kết quả đã thực hiện trong luận văn và đưa ra hướng phát triển. Phần 7 - Phần phụ lục KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 10 PHẦN I : MỞ ĐẦU I GIỚI THIỆU Ngày nay, tin học đang trở nên phổ biến và là một nhu cầu rất cần thiết trong đời sống xã hội. Với các chương trình ứng dụng, tin học đã giúp chúng ta rất nhiều trong công việc cũng như các hoạt động hàng ngày chẳng hạn khi viết một bản báo cáo, một lá đơn, chúng ta có thể sử dụng các trình soạn thảo văn bản để cho ra các tài liệu một cách dễ dàng, chính xác, đẹp và mang tính chuyên nghiệp cao, ngoài ra các chương trình này còn cung cấp cho chúng ta một hệ thống giao diện thân thiện và các công cụ làm việc trong tầm tay, chúng ta có thể chỉnh sửa mà không cần phải bôi xóa, canh lề, viết hoa, chỉnh màu, … chỉ bằng một động tác bấm chuột. Chính vì vậy, xu hướng tin học hóa đã và đang được xem xét, thực hiện một cách nghiêm túc trên nhiều lĩnh vực và hoạt động như : thương mại điện tử, đào tạo dạy học từ xa, điện hoa, voice chat, thậm chí còn có các dịch vụ tìm bạn hay bạn đời qua mạng internet. Trong lĩnh vực giáo dục và đào tạo, hãy xem xét một công việc mà các học sinh phổ thông phải thực hiện hàng ngày đó là làm bài tập về nhà. Khi giải một bài toán bằng tay trên giấy học sinh sẽ phải sử dụng nhiều công cụ như tập vở, giấy nháp, tài liệu hướng dẫn,bút, máy tính, thước, … các công cụ này chiếm một diện tích đáng kể trên bàn học và dễ dẫn tới tình trạng lộn xộn, lầm lẫn. Khi cần chỉnh sửa hay làm lại các bài tập học sinh phải bôi xóa, hay đôi khi phải vứt bỏ các giấy tờ làm bài tập cũ điều này dẫn tới một sự lãng phí không nhỏ. Hơn nữa, đối với việc làm bài tập ở nhà, khi gặp khó khăn, không tìm được lời giải cho một bài toán học sinh sẽ dễ dàng choáng ngợp trước nhiều KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 11 cuốn sách hướng dẫn, phải mất nhiều thời gian để tra cứu và tìm ra một bài giải phù hợp. Trong trường hợp vẫn không giải được bài toán học sinh lại phải chờ đến giờ lên lớp hoặc tìm ra một cách liên lạc với giáo viên hoặc bè bạn. Vì những khó khăn đó, việc thực hiện được một chương trình trên máy tính hỗ trợ công việc giải bài tập về nhà của học sinh là một nhu cầu có thật và cần thiết II MỤC TIÊU CỦA LUẬN VĂN Đứng trước thực trạng như vậy luận văn hướng tới việc xây dựng và phát triển một chương trình ứng dụng trên máy tính hỗ trợ cho việc dạy và học của giáo viên và học sinh ngoài những giờ lên lớp. Tuy nhiên xây dựng một chương trình hỗ trợ được tất cả các môn học là một lĩnh vực lớn, đòi hỏi nhiều thời gian, trong luận văn này chúng tôi chỉ tập trung vào xây dựng chương trình hỗ trợ cho một môn học . Mục tiêu của luận văn được đề ra như sau : Xây dựng một chương trình cung cấp các công cụ hỗ trợ cho việc dạy và học của giáo viên và học sinh trong môn bất đẳng thức, chương trình sẽ mô phỏng việc dạy, trong đó : ƒ Giáo viên có thể soạn bài giảng và bài tập cùng với đáp án của bài tập ngay trên máy. Nếu muốn, giáo viên có thể gửi ngay bài giảng đến cho học sinh. Giáo viên cũng có thể in bài giảng của mình ra giấy ƒ Học sinh trong thời gian tự học ở nhà có thể tra cứu các phần lý thuyết nhanh hơn. Trong lúc giải bài tập học sinh có thể được sự hỗ trợ để kiểm tra bài giải của mình, có thể xem lại bài giải nhanh chóng thay vì phải tìm lại trong tập. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 12 PHẦN II : HIỆN TRẠNG VÀ YÊU CẦU I KHẢO SÁT HIỆN TRẠNG 1 Hiện trạng tổ chức Đây là một dạng của phần mềm hỗ trợ giảng dạy, do đó, chúng ta sẽ khảo sát hiện trạng trên 2 nhóm đối tượng có liên quan trực tiếp đến quan hệ giảng dạy là giáo viên và học sinh. Đối với giáo viên ¾ Soạn trước bài giảng ở nhà ¾ Lên lớp, giảng bài cho học sinh, cho học sinh làm bài tập áp dụng, giao bài tập về nhà cho học sinh ¾ Vào tiết sửa bài, cho học sinh lên bảng làm bài và sửa bài làm của học sinh ¾ Cho học sinh làm các bài kiểm tra định kỳ và chấm điểm bài làm của học sinh Đối với học sinh ¾ Ở lớp, nghe giáo viên giảng bài. Nêu lên thắc mắc ( nếu có) ¾ Về nhà, làm các bài tập giáo viên giao cho ¾ Làm các bài kiểm tra vào các tiết kiểm tra môn học KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 13 ™ Nhận xét Việc dạy toán học nói chung và dạy phần bất đẳng thức nói riêng thì không khác lắm so với dạy các môn học khác. Do đó một số điểm chức năng của chương trình hoàn toàn có thể áp dụng cho các phần mềm hỗ trợ giảng dạy khác. Điểm khác biệt ở đây chính là việc hỗ trợ học sinh giải bài tập ở nhà, bởi vì mỗi môn học, cụ thể là mỗi phần của môn học đều có cách giải bài tập riêng. Do đó, ta có thể tạm chia các công việc thành 2 loại: o Loại chung: là các chức năng hoàn toàn có thể áp dụng cho các phần mểm giảng dạy khác chứ không riêng phần mềm hỗ trợ giải toán bất đẳng thức, nhóm chức năng này bao gồm : - Soạn lý thuyết - Xem lý thuyết - Xem bài giải - Xem đáp án o Loại đặc thù: các công việc có liên quan đến đặc trưng của từng lĩnh vực, cụ thể ở đây là lĩnh vực về bất đẳng thức - Soạn bài tập - Giải bài tập - Chấm điểm bài giải - Soạn đáp án KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 14 2 Hiện trạng tin học Hiện nay, có rất nhiều phần mềm phục vụ giảng dạy. Trong lĩnh vực toán học có thể kể đến một số phần mềm như: MathBook, Mathlab, Mathematica … Dưới đây chúng ta sẽ khảo sát một số phần mềm kể trên. 2.1 Phần mềm MathBook Đây là một phần mềm tính toán. MathBook cho phép thực hiện các phép toán đại số và số học (cộng, trừ, nhân, chia, sin, cos,…), giải được hệ phương trình tối đa là 7 ần, tính diện tích các hình, phát sinh số ngẫu nhiên, chuyển đổi giữa các đơn vị đo lường. 2.2 Phần mềm Matlab Ngay từ cái tên của phần mềm đã cho ta hiểu sơ sơ về chức năng của nó. Matlab (viết tắt của Matrix Laboratory) là phần mềm thực hiện tính toán trên ma trận và trên số. Đây là một ngôn ngữ thủ tục với hàng loạt hàm toán học đã được xác định trước giúp cho việc lập trình trên Matlab trở nên đơn giản. Ngôn ngữ được sử dụng ở đây tương tự như một số ngôn ngữ quen thuộc đã học như Pascal, C… Tuy nhiên do giao diện của Matlab hỗ trợ cơ chế dòng lệnh nên gây ra không ít khó khăn khi sử dụng. Matlab xử lý tính toán trên ma trận nên thường được dùng trong xử lý đồ hoạ và giải hệ phương trình. 2.3 Phần mềm Mathematica Đây là phần mềm chuyên về tính toán. Nó hỗ trợ cho phần lớn các lĩnh vực toán học từ số học (lấy dư, tìm ước số chung…), đại số (giải và biện luận KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 15 phương trình…) đến giải tích (tính đạo hàm, tích phân, khảo sát và vẽ đồ thị hàm số…) thông qua việc xây dựng một bộ các hàm xác định sẵn. Mathematica cũng hỗ trợ cho việc lập trình trong một số trường hợp tính toán phức tạp. Tuy nhiên, giao diện theo cơ chế dòng lệnh cũng gây không ít khó khăn cho người sử dụng trong việc lập trình và tính toán. ™ Nhận xét: Qua khảo sát, chúng tôi thấy đa số các phần mềm giáo dục hiện nay mới dừng ở việc tính toán ra nghiệm, ra kết quả cụ thể. Chưa thấy một phần mềm nào hỗ trợ cho bài toán chứng minh, đặc biệt là chứng minh bất đẳng thức, một bài toán được coi như là “khó nuốt” nhất trong chương trình toán học phổ thông. Bên cạnh đó, các phần mềm này theo cơ chế dòng lệnh không gây được cảm giác tự nhiên và thân thiện ở người dùng. Hơn nữa, các phần mềm này đều hỗ trợ ngôn ngữ là tiếng Anh, điều này hơi khó đối với học sinh ở Việt Nam. Từ những hiện trạng thực tế trên ta thấy rằng học sinh, nhất là học sinh nước ta rất cần có một công cụ để hỗ trợ cho các em trong quá trình rèn luyện kỹ năng giải toán bất đẳng thức. Và đó chính là lý do chúng tôi thực hiện đề tài này. II XÁC ĐỊNH YÊU CẦU Việc khảo sát yêu cầu được tiến hành 2 nhóm đối tượng sử dụng chính là học sinh và giáo viên. Sau khi khảo sát, công việc của 2 nhóm đối tượng trên được trình bày thành bảng như sau: KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 16 Bộ phận: Giáo viên Mã số : GV Mã số Công việc Biểu mẫu Quy định GV_YC1 Soạn tóm tắt lý thuyết và ví dụ minh hoạ GV_YC2 Soạn đề bài tập BM1 QD1 GV_YC3 Soạn đáp án BM2 QD2 HS_YC4 Chấm điểm GV_YC5 Soạn quy định chấm điểm BM5 QD5 Bảng 1: Bảng danh sách yêu cầu của giáo viên Bộ phận : Học sinh Mã số : HS Mã số Công việc Biểu mẫu Quy định HS_YC1 Giải bài tập BM2 HS_YC2 Xem lại bài giải BM3 HS_YC3 Xem đáp án BM4 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 17 HS_YC4 Chấm điểm HS_YC5 Xem tóm tắt lý thuyết Bảng 2: Bảng danh sách yêu cầu của học sinh 1 Bảng trách nhiệm cho các yêu cầu Để xác định rõ cách thức thực hiện mỗi công việc của người dùng cũng như trách nhiệm của phần mềm để đáp ứng đối với các thao tác của người dùng, ta lập ra bảng phân công trách nhiệm cho các yêu cầu STT Nghiệp vụ Người dùng Phần mềm Ghi chú 1 Soạn bài tập Cung cấp thông tin về đề bài tập cùng với mức độ khó, thời gian làm bài Phát sinh theo biểu mẫu BM1 2 Soạn lý thuyết Cung cấp thông tin chủ đề của bài soạn và nội dung bài soạn 3 Phát sinh đề bài tập Phát sinh bài tập mới theo công thức 4 Soạn quy định chấm điểm Cung cấp thông tin theo BM5, QD5 Cập nhật thông tin Bảng 3: Bảng trách nhiệm cho yêu cầu của giáo viên KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 18 STT Nghiệp vụ Người dùng Phần mềm Ghi chú 1 Giải bài tập Nhập vào các bước giải theo BM2,QD2 Kiểm tra bước giải đúng và thông báo Danh sách các loại bước giải ( xem phần phần Phụ lục 2) 2 Xem bài giải Chọn bài tập, sau đó chọn một bài giải trong danh sách bài giải đã có của bài tập đó Xuất bài giải theo biểu mẫu BM3 3 Xem đáp án Chọn bài tập, sau đó chọn một đáp án trong danh sách ( nếu bài tập có nhiều đáp án) Xuất đáp án theo biểu mẫu BM4 4 Chấm điểm Xuất đánh giá và điểm số bài tập theo biểu mẫuBM6 , QD6 Thực hiện ngay khi bài giải hoàn tất hoặc hết giờ làm bài Bảng 4: Bảng trách nhiệm cho yêu cầu của học sinh KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 19 2 Danh sách các biểu mẫu BM3 : Danh sách bài giải STT Tên bài giải Thời điểm Thời gian làm Điểm số 1 …. 2 Nội dung bài giải: Đánh gía bài giải: BM2 : Danh sách bước giải Ta co Ù ……………………………. …………………………… QD2: biến đổi đại số, đổi biến, đặt ẩn phụ, dùng bất đẳng thức Cauchy, Bunhiaxcopki, …. BM1 : Soạn đề bài tập Độ khó:........... Thời gian làm bài:……… Đề bài: CMR Voi , …. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 20 BM6 : Đánh giá kết quả bài giải ( dựa vào quy định chấm điểm) Thời gian làm bài: Số lần nhắc nhở: Điểm số: QD 6: Đúng hoàn toàn : D1 điểm ; Hết giờ, chưa giải xong: 0 ; Mỗi biến đổi sai : trừ D2 điểm Mỗi lần xem bước giải kế tiếp (giải theo đáp án) : trừ D3 điểm Chứng minh một bất đẳng thức trung gian : cộng D4 điểm BM5 : Soạn quy định chấm điểm Điểm tối đa: D1 Điểm trừ cho một biến đổi sai: D2 Điểm trừ cho một lần xem bước giải tiếp theo D3 Điểm cộng cho bất đẳng thức trung gian D4 QD 5: 0<= D1,D2,D3,D4 <=10 BM4 : Danh sách đáp án STT Tên bài giải Thời điểm Thời gian làm Điểm số 1 …. 2 Nội dung đáp án KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 21 3 Phạm vi của đề tài Cho phép thực hiện các phép biến đổi trên bất đẳng thức như sau: - Biến đổi các biểu thức ở 2 vế (khai triển, rút gọn) - Cộng hai vế cùng một biểu thức bất kỳ - Nhân 2 vế với cùng một biểu thức dương - Lấy nghịch đảo 2 vế Để phục vụ cho các phép biến đổi trên, chương trình đã xây dựng một bộ các biểu thức toán với các tính chất sau: - Biểu thức chứa số biến không giới hạn - Chứa các toán tử +, - , *, / , ( , ) - Có thể chứa ngoặc lồng nhau - Có thể có các hàm: o Hàm căn ( bậc 2,3,4) o Hàm lũy thừa ( số mũ <10) o Hàm lượng giác (sin, cos, tg, cotg) không cho phép thực hiện các phép toán trên chúng Đối với chức năng giải bài tập, chúng tôi xây dựng một hệ thống các loại bước giải sau để kiểm tra các phép biến đổi cho các bước giải nhập vào. STT Ý nghĩa Ví dụ 1 Bước giải biến đổi tương đương từ một bước giải trước đó Ù x^2+y>0 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 22 2 Bước giải suy ra từ một bước giải trước đó => x^2+1>0 3 Bước giải đưa ra một bất đẳng thức, hoặc đẳng thức đúng Ta co x^2+y^2>0 4 Bước giải áp dụng bất đẳng thức Cauchy để đưa ra một bất đẳng thức có dạng Cauchy ADC x,y,z ta duoc … 5 Bước giải áp dụng bất đẳng thức Bunhiaxcopki ADB (x,y),(z,t) ta duoc … 6 Bước giải có thể suy ra từ 2 hay nhiều bước giải trước đó ( áp dụng tính chất bắc cầu, cộng, nhân vế các bất đẳng thức ….) Tu (1),(2),(2) suy ra … 7 Bước giải suy ra được nhờ cộng vế các bất đẳng thức trong các bước giải được chọn trước đó) Cong ve (1),(2) ta duoc .. 8 Bước giải suy ra được nhờ nhân vế các bất đẳng thức trong các bước giải được chọn trước đó) Nhan ve (1),(2) ta duoc KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 23 9 đặt ẩn phụ và thế vào bất đẳng thức của bước giải trước đó Dat u = x+1 thi (1) Ù … 10 Thay thế biểu thức Thay 2 vao 3 ta duoc 11 Đưa ra một bất đẳng thức nào đó để chứng minh trung gian Ta cm x+y^2>0 12 kiểm tra bất đẳng thức trong bước giải nào đó có phải là bất đẳng thức đúng (2) dung 13 Kiểm tra kết luận về điều phải chứng minh có đúng Ù x^2+y >0 (dpcm) hoặc Ù dpcm KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 24 III PHƯƠNG ÁN THỰC HIỆN PHẦN MỀM ¾ Phần mềm sẽ bao gồm 2 phân hệ : hệ học sinh và hệ giáo viên o Hệ giáo viên có các chức năng để hỗ trợ cho giáo viên thực hiện công việc của mình o Hệ học sinh cài đặt các chức năng hỗ trợ cho học sinh ¾ Các phân hệ giao tiếp với nhau thông qua file hoặc email. ¾ Sự giao tiếp giữa 2 phân hệ có thể được minh họa theo sơ đồ sau: Hình 1: Sơ đồ giao tiếp giữa hai phân hệ Phân hệ giáo viên Phân hệ học sinh Đề bài tập Bài giải học sinh Quy định chấm điểm Đáp án Bài học KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 25 PHẦN III : MÔ HÌNH HÓA Phần này sẽ mô hình hóa các yêu cầu đã xác định thành các sơ đồ, bao gồm 2 phần chính: ™ Trình bày sơ đồ sử dụng : mô hình hóa các yêu cầu dưới dạng sơ đồ sử dụng, gồm có: ¾ Sơ đồ sử dụng tổng thể ¾ Các sơ đồ sử dụng chi tiết ™ Trình bày sơ đồ lớp : xác định các lớp đối tượng chính, xác định các thuộc tính và phân công trách nhiệm cho các lớp đồng thời vẽ sơ đồ quan hệ giữa các lớp đối tượng. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 26 I SƠ ĐỒ SỬ DỤNG 1 Sơ đồ sử dụng tổng thể Hình 2: Sơ đồ sử dụng phần mềm mức tổng thể Học sinh Giáo viên Giải bài tập Xem lý thuyết Xem bài giải Soạn đáp án Soạn lý thuyết Soạn qui định chấm điểm Soạn bài tập Chấm điểm Phát sinh đề bài tập Xem đáp án 2.1 2.7 2.5 2.9 2.6 2.8 2.10 2.3 2.4 2.2 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 27 2 Sơ đồ sử dụng cho từng yêu cầu cụ thể Mô hình hóa các yêu cầu của bài toán theo sơ đồ sau Trong đó : D1: Thông tin do người dùng nhập vào D3: Dữ liệu đọc từ bộ nhớ cần thiết cho xử lý X D4: Dữ liệu cần lưu trữ vào bộ nhớ D6: Dữ liệu sẽ được kết xuất Người dùng Xử lý X D6D1 D4D3 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 28 2.1 Sơ đồ sử dụng cho yêu cầu giải bài tập Việc giải bài tập trước hết là kiểm tra các bước giải có đúng không. Hình 3: Sơ đồ sử dụng yêu cầu giải bài tập D1: Thông tin về một bước giải ( bất đẳng thức tương đương, hoặc đặt ẩn phụ, hoặc một bất đẳng thức đã được chứng minh để áp dụng…). D3: Thông tin về đề bài tập và bài giải ( các bước giải đúng trước đó) D4: D1 D6: Thông báo nếu bước giải không đúng Xử lý kiểm tra bước giải - Nhận D1 từ người dùng. - Đọc D3 tương ứng từ bộ nhớ phụ. - Kiểm tra bước giải có đúng không - Nếu không đúng, xuất D6 ra màn hình. Học sinh Xử lý kiểm tra bước giải D3 D6 D4 D1 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 29 2.2 Sơ đồ sử dụng cho yêu cầu xem lại bài giải Hình 4: Sơ đồ sử dụng yêu cầu xem bài giải 2.3 Sơ đồ sử dụng cho yêu cầu xem đáp án Hình 5: Sơ đồ sử dụng yêu cầu xem đáp án Học sinh Xem đáp án D3 D6 D1 D1: Thông tin về bài tập, mã số đáp án được chọn để xem. D3: Các đáp án của bài tập D6: nội dung của đáp án được chọn Xử lý xem đáp án - Nhận D1 từ người dùng. - Đọc D3 tương ứng từ bộ nhớ phụ. - Xuất D6 ra màn hình. Học sinh Xem lại bài giải D3 D6 D1 D1: Thông tin về bài tập, mã số bài giải được chọn để xem. D3: Các bài giải của bài tập D6: nội dung của bài giải được chọn Xử lý xem lại bài giải - Nhận D1 từ người dùng. - Đọc D3 tương ứng từ bộ nhớ phụ. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 30 2.4 Sơ đồ sử dụng cho yêu cầu xem tóm tắt lý thuyết Hình 6: Sơ đồ sử dụng yêu cầu xem lý thuyết 2.5 Sơ đồ sử dụng cho yêu cầu chấm điểm bài giải Hình 7: Sơ đồ sử dụng yêu cầu chấm điểm Học sinh Chấm điểm D6D1 D3 D4 D1: Nội dung bài giải. D3: Bảng qui định chấm điểm D4:Điểm số + đánh giá D6: D4. Xử lý chấm điểm - Nhận D1 từ người dùng. - Đọc D3 tương ứng từ bộ nhớ phụ - Kiểm tra qui định chấm điểm để tính D4. - Ghi D4 vào bộ nhớ phụ. - Xuất D6 ra màn hình. Học sinh Xem tóm tắt lý thuyết D3 D3: Tóm tắt lý thuyết D6: D3 Xử lý xem tóm tắt lý thuyết - Đọc D3 từ bộ nhớ phụ. - Xuất D6 ra màn hình. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 31 2.6 Sơ đồ sử dụng cho yêu cầu soạn tóm tắt lý thuyết Hình 8: Sơ đồ sử dụng yêu cầu soạn lý thuyết 2.7 Sơ đồ sử dụng cho yêu cầu soạn đề bài tập Hình 9: Sơ đồ sử dụng yêu cầu soạn bài tập Giáo viên Soạn đề bài tập D1 D4 Giáo viên Sọan tóm tắt lý thuyết D1 D4 D1: Chủ đề bài học + nội dung bài học D4: D1 Xử lý soạn tóm tắt lý thuyết - Nhận D1 từ người dùng. - Ghi D4 vào bộ nhớ phụ. D1: Thông tin về bài tập bất đẳng thức (mã sách bài tập chứa nó,mức độ khó, nội dung, thời gian cần thiết để làm bài) D4: D1+ Mã số bài tập. Xử lý soạn đề bài tập - Nhận D1 từ người dùng. - Nếu hợp lệ ghi D4 vào bộ nhớ phụ. - Nếu không, thông báo lỗi KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 32 2.8 Sơ đồ sử dụng cho yêu cầu phát sinh đề bài tập Hình 10: Sơ đồ sử dụng yêu cầu phát sinh bài tập 2.9 Sơ đồ sử dụng cho yêu cầu soạn đáp án Hình 11: Sơ đồ sử dụng yêu cầu soạn đáp án Giáo viên Soạn đáp án D4 D1 D1: Mã số bài tập, nội dung đáp án của bài tập đó. D4: D1+ Mã số đáp án. Xử lý soạn đáp án - Nhận D1 từ người dùng. - Kiểm tra đáp án (kiểm tra hợp lệ và kiểm tra các bước giải có đúng không) - Nếu thỏa thì ghi D4 vào bộ nhớ phụ. Nếu không thì báo lỗi. Giáo viên Phát sinh đề bài tập D6 D4D3 D3: Các biểu thức và bất đẳng thức được dùng cho việc phát sinh bài tập. D4 : Nội dung đề bài được phát sinh D6: D4 Xử lý phát sinh bài tập: - Đọc D3 từ bộ nhớ phụ. - Ghi D4 vào bộ nhớ phụ và xuất D6 ra cho người dùng. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 33 2.10 Sơ đồ sử dụng cho yêu cầu soạn quy định chấm điểm Hình 12: Sơ đồ sử dụng yêu cầu soạn quy định chấm điểm II SƠ ĐỒ LỚP Để mô tả lớp đối tượng, sử dụng ký hiệu sau: 1 Danh sách các lớp đối tượng Sau khi phân tích, xác định được danh sách các lớp đối tượng chính sau STT Tên lớp 1 Sách bài tập 2 Bài tập Giáo viên Soạn quy định chấm điểm D1 D4 D1: Các quy định chấm điểm. ( thang điểm tối đa, số điểm trừ khi biến đổi sai, số điểm trừ cho một lần xem gợi ý, số điểm cộng khi chứng minh được một bất đẳng thức trung gian) D4: D1 Xử lý Soạn quy định chấm điểm - Nhận D1 từ người dùng. - Ghi D4 vào bộ nhớ phụ. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 34 3 Bài giải 4 Bài học 5 Đáp án 6 Bước giải 7 Bất đẳng thức 8 Biểu thức Bảng 5: Bảng danh sách các lớp đối tượng chính KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 35 2 Sơ đồ lớp đối tượng Hình 13: Sơ đồ lớp * * * * SachBaiTap BaiTap BaiHoc DapAn BuocGiai BaiGiaiDapAnBaiGiaiTuDo BaiGiai BatDangThuc BieuThuc BieuThucDaiSo BieuThucHam BieuThucTong HamLuyThuaHamCan HamLuongGiacBieuThucTich * * * ThanhPhan Sơ đồ các loại bước giải, xem hình 15 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 36 3 Cấu trúc của biểu thức Để thực hiện các biến đổi trên bất đẳng thức, trước hết, cấn phải xây dựng lớp biểu thức, trong đó thực hiện các công việc sau: ƒ Kiểm tra hai biểu thức bằng nhau ƒ Cộng, trừ, nhân, chia hai biểu thức với nhau ƒ Xét dấu một biểu thức Ta sử dụng mẫu composite để thiết kế lớp biểu thức theo sơ đồ dưới đây: Hình 14: Sơ đồ biểu diễn cấu trúc biểu thức BieuThuc BieuThucDaiSo ThanhPhan BieuThucHam BieuThucTong BieuThucTich HamLuyThua HamCan HamLuongGiac * KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 37 4 Cấu trúc của bước giải Các bước giải được chia thành 13 loại( xem chi tiết ở phụ lục 2) có mối quan hệ theo sơ đồ dưới đây: Hình 15: Sơ đồ biểu diễn cấu trúc bước giải BuocGiai BuocGiaiLoai1 BuocGiaiLoai4BuocGiaiLoai3 BuocGiaiLoai5 BuocGiaiLoai8 BuocGiaiLoai2 BuocGiaiLoai7 BuocGiaiLoai11 BuocGiaiLoai9BuocGiaiLoai6 BuocGiaiLoai10 BuocGiaiLoai12 BuocGiaiLoai13 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 38 III Mô tả chi tiết các lớp đối tượng chính Sách bài tập - Mã sách - Tên sách - Thêm bài tập vào sách ( từ CSDL) - Nhập bài tập từ file Bài tập - Mã số - Tên bài tập - Độ khó - Thời gian làm bài - Nội dung đề bài - Xem bài giải - Xem đáp án - Giải bài tập - Import đáp án - Lấy danh sách bài giải - Lấy danh sách đáp án Bài giải - Mã số - Tên bài giải KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 39 - Nội dung bài giải - Thời gian giải - Thời điểm bắt đầu - Điểm số - Kiểm tra bước giải mới - Xử lý bước giải - Thêm bước giải - Lưu bài giải - Import bài giải - Kiểm tra bài giải toàn bộ - Chấm điểm Đáp án - Mã số - Nội dung đáp án - Ngày soạn - Lưu đáp án Bước giải - Bất đẳng thức hoặc đẳng thức - Khởi tạo bước giải - Kiểm tra bước giải đúng ( hàm ảo) KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 40 Bất đẳng thức - Biểu thức vế lớn - Biểu thức vế nhỏ - Khởi tạo từ chuỗi - Lấy dạng chuỗi - Kiểm tra bất đẳng thức là đúng - Kiểm tra tương đương Bài học - Chủ đề bài học - Nội dung bài học KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 41 PHẦN IV : THIẾT KẾ PHẦN MỀM I THIẾT KẾ TỔNG THỂ 1 Thành phần xử lý Hệ thống các đối tượng xử lý của phần mềm này được thiết kế theo mô hình 3 lớp gồm có: - Lớp đối tượng giao tiếp người dùng o Mô tả các thông tin trong màn hình giao diện o Mô tả hình thức bố trí nội dung màn hình giao diện o Mô tả các thao tác của người dùng trên màn hình giao diện. - Lớp đối tượng xử lý chính o Mô tả các thông tin về đối tượng. o Mô tả các hành động (hàm xử lý) mà đối tượng chịu trách nhiệm thực hiện. - Lớp đối tượng giao tiếp bộ nhớ o Mô tả chi tiết các thông tin về đối tượng phải lưu trữ. o Mô tả các hành động giao tiếp với bộ nhớ phụ (lấy dữ liệu, thêm, sửa đổi hoặc xóa dữ liệu) KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 42 Mô hình này hoạt động theo nguyên tắc sau: Hình 16: Mô hình 3 lớp của phần mềm Sau đây là danh sách các đối tượng xử lý của phần mềm Loại đối tượng Tên đối tượng Diễn giải MH_HeGiaoVien Màn hình giao tiếp giữa giáo viên với phần mềm MH_SoanBaiTap Màn hình dùng để giáo viên soạn bài tập MH_DapAn Màn hình dùng để giáo viên soạn đáp án MH_LyThuyet Màn hình soạn lý thuyết Đối tượng giao tiếp người dùng Phân hệ giáo viên MH_XemBaiGiai Màn hình dùng để xem các bài giải của học sinh gởi đến để chấm điểm. Đối tượng giao tiếp người dùng Đối tượng xử lý chính Đối tượng giao tiếp bộ nhớ phụ Chuyển điều khiển Chuyển điều khiển Bộ nhớ phụ Nhận biến cố Cập nhật và truy xuất KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 43 MH_SoanQDCD Màn hình soạn các quy định dùng để chấm điểm bài giải của học sinh. MH_ThemSachBT Màn hình thêm sách bài tập MH_HeHocSinh Màn hình giao tiếp giữa học sinh với phần mềm MH_GiaiBT Màn hình dùng để học sinh giải bài tập MH_XemBaiGiai Màn hình dùng để học sinh xem lại bài giải của mình MH_XemDapAn Màn hình để học sinh xem đáp án của bài tập Phân hệ học sinh MH_XemLyThuyet Màn hình để học sinh học lý thuyết CGiaoVien Lớp điều khiển, quản lý toàn bộ các lớp đối tượng trong hệ thống CSachBaiTap Lớp xử lý sách bài tập CBaiTap Lớp xử lý bài tập CBaiHoc Lớp xử lý bài học lý thuyết CDapAn Lớp xử lý đáp án của một bài tập CBaiGiai Lớp xử lý bài giải của một bài tập, gồm có hai lớp con dưới đây CBaiGiaiTuDo Lớp xử lý bài giải loại giải tự do Đối tượng xử lý chính CBaiGiaiDapAn Lớp xử lý bài giải loại giải theo KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 44 đáp án Đối tượng giaotiếp bộ nhớ CSDL Lớp xử lý mọi vấn đề về truy xuất hay cập nhật dữ liệu. Bảng 6: Bảng danh sách các lớp đối tượng của chương trình Với thiết kế 3 lớp như trên, hệ thống các đối tượng của phần mềm phối hợp với nhau hoạt động theo các sơ đồ phối hợp tổng thể sau đây. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 45 Hình 17: Sơ đồ phối hợp tổng thể phân hệ học sinh CSDL CBaiTap MH_ChinhHS CGiaoVien CBaiGiai Hoc sinh CBuocGiai CBatDangThuc MH_GiaiBT MH_XemDapAn MH_XemBaiGiai CDapAn CSachBaiTap KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 46 Hình 18: Sơ đồ phối hợp tổng thể phân hệ giáo viên CSDL CBaiTap MH_HeGiaoVien CGiaoVien CBaiHoc Giao vien MH_SoanBT MH_DapAn MH_LyThuyet CSachBaiTap CDapAn KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 47 2 Tổ chức dữ liệu Cơ sở dữ liệu của chương trình được lưu trữ trong Access và được tổ chức theo sơ đồ logic sau: Hình 19: Sơ đồ logic Sau đây là tổ chức bảng dữ liệu của chương trình: SACHBAITAP STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaSach AutoNumber Mã số sách 2 TenSach Text Tên sách BAITAP STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaSach Number 2 MaBT AutoNumber Mã bài tập Bài tập Bài giải Đáp án Sách bài tập Bài học KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 48 3 ThoiGian Number Thời gian tối đã cho phép để giải 4 DoKho Text Mức độ khó 5 DeBai Text Đề bài 6 TenBT Text Tên bài tập 7 GhiChu Memo BAIGIAI STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaBT Number 2 MaBG Text Mã bài giải do người dùng đặt 3 NoiDung Memo Nội dung bài giải 4 ThoiDiem DateTime Thời điểm bắt đầu giải 5 ThoiGian Number Thời gian để giải xong tính theo phút 6 HoanTat Yes/No Thụôc tính cho biết bài giải đã hoàn tất chưa 7 NhanXet Text Các đánh giá về bài giải (nếu có) 8 Diem Number Điểm số của bài giải (nếu có) 9 LoaiGiai Text Loại bài giải ( giải tự do hay theo đáp án) KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 49 DAPAN STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaBT Number 2 MaDA AutoNumber Mã số đáp án 3 NoiDung Memo Nội dung đáp án BAIHOC STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaBH AutoNumber Mã số của bài học 2 ChuDe Text Chủ đề bài học 3 NoiDung Memo Nội dung bài học Ngoài ra còn có thêm hai bảng phụ để chứa các tham số dùng trong chương trình và bảng chứa các biểu thức dương dùng để phát sinh bài tập. Bảng tham số STT Thuộc tính Kiểu dữ liệu Giá trị mặc định Diễn giải 1 TS1 Number 10 Thang điểm tối đa cho bài giải 2 TS2 Number 1 Số điểm cộng cho mỗi bất đẳng thức trung gian chứng minh xong 3 TS3 Number 0 Số điểm bị trừ cho một lần bị nhắc nhở 4 TS4 Number 0 Số điểm trừ cho một lần xem bước giải tiếp (đối với bài giải đáp án) KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 50 Bảng từ khoá STT Thuộc tính Kiểu dữ liệu Diễn giải 1 Loai Number Loại từ khoá 2 TuKhoa1 Text 3 TuKhoa2 Text Bảng BIEUTHUCDUONG STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaBT AutoNumber Mã số của biểu thức dương 2 BieuThucDuong Text Nội dung của biểu thức dương KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 51 II THIẾT KẾ CHI TIẾT Nội dung được trình bày ở phần này bao gồm: ™ Diễn giải chi tiết theo từng màn hình: mô tả chi tiết nội dung màn hình và các biến cố của màn hình ™ Hệ thống hàm của các lớp đối tượng: mô tả các hàm xử lí của tất cả các lớp đối tượng khác ™ Sơ đồ hoạt động chi tiết một số xử lý. 1 Diễn giải chi tiết theo từng màn hình Mỗi màn hình sẽ được mô tả chi tiết theo các nội dung sau - Nội dung màn hình ( các thuộc tính của màn hình) - Danh sách các biến cố xảy ra trên màn hình đó và thuật toán xử lý các biến cố đó. 1.1 MH_HeHocSinh 1.1.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 tabControlLopDoiTuong TabControl TabControl chứa các đối tượng chính 2 Panel Panel Khung để đặt các màn hình con lên, ví dụ như MH_GiaiBT… 3 tabPageSachBaiTap TabPage Tabpage chứa tất cả các bài tập của một sách bài tập KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 52 4 tabPageSachBaiHoc TabPage Tabpage chứa các bài học lý thuyết trong sách bài học 5 tabControlSachBaiTap TabPage Tabpage chứa tất cả các bài tập của một quyển sách bài tập 6 mainMenu MainMenu Thực đơn chính của màn hình phân hệ học sinh 7 mniChucNangPhu MenuItem Chứa các chức năng phụ của chương trình 8 mniGiupDo MenuItem Chức các chức năng hỗ trợ khác 9 mniCNP_Email MenuItem Chức năng Soạn quy định chấm điểm 10 mniThoat MenuItem Chức năng thoát chương trình 11 mniGD_HuongDan MenuItem Chức năng Hướng dẫn sử dụng chương trình 12 mniGD_GioiThieu MenuItem Chức năng giới thiệu về chương trình KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 53 Hình 20: Màn hình chính hệ học sinh 5 - tabControlSachBaiTap 2- panel : khung để đặt các màn hình con 3 - tabPageSachBaiTap 4 -tabPageSachBaiHoc 6 -mainMenu 1 -tabControlLopDoiTuong KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 54 1.1.2 Danh sách các biến cố STT Biến cố Diễn giải Hàm xử lý 1 Click chọn vào tab đối tượng Người dùng chọn loại đối tượng (bài tập hay lý thuyết) bằng cách click vào tab tương ứng tabControlDo iTuong_Selec tionChanged 2 Chọn sách bài tập khác Người dùng click chọn sách bài tập khác trong các tab Sách bài tập tabctrlSachB aiTap_Select ionChanged 3 Chọn chức năng giải bài tập Người dùng nhấp phải vào bài tập để chọn Giải bài tập ChonMucGiaiB aiTap 4 Chọn mục xem bài giải Người dùng nhấp phải vào bài tập để chọn Xem bài giải. Biến cố này do lớp CBaiTap xử lý. ChonMucXemBa iGiai 5 Chọn mục xem đáp án Người dùng nhấp chuột phải vào bài tập để chọn mục Xem đáp án.trọng thực đơn ChonMucXemDa pAn 6 Chọn mục thêm sách bài tập Người dùng nhấp phải trên danh sách các sách bài tập để chọn mục Thêm sách mới trong thực đơn KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 55 1.2 MH_GiaiBT 1.2.1 Nội dung màn hình ST T Thuộc tính Loại Diễn giải 1 rtbDeBai RichTextBox Dùng để hiển thị để bài tập đang giải 2 ckKiemTraTungBuoc Đánh dấu vào ô này để chọn chế độ giải kiểm tra từng bước. 3 ckDanhSoTuDong CheckBox Đánh dấu vào ô này để chọn chế độ đánh số bước giải tự động. 4 ckHoTroGiaiNhanh CheckBox Đánh dấu vào ô này để chọn chế độ hỗ trợ giải nhanh bằng cách phát sinh một phần bước giải 5 tabPageBaiGiaiTuDo TabPage TabPage chứa bài giải tự do 6 tabPageBaiGiaiDapAn TabPage TabPage chứa bài giải theo đáp án 7 rtbBaiGiaiTuDo HopVanBan HopVanBan là lớp kế thừa từ RichTextBox. Có hai hộp văn bản dùng để giải bài tương ứng với hai loại giải tự do và theo đáp án. 8 rtbBaiGiaiDapAn HopVanBan nt 9 lbDongHo Label Hiển thị đồng hồ canh giờ cho KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 56 học sinh giải bài tập 10 ckTrangThai CheckBox Nhấn vào nút này để bắt đầu giải hay tạm dừng. 11 ckXemGoiY CheckBox Người dùng check vào ô này nếu muốn hiển thị gợi ý cho bước giải tiếp theo trong đáp án 12 tbGoiY TextBox TextBox để hiển thị gợi ý cho bước giải tiếp theo trong đáp án 13 btnBuocGiaiTiep Button Nhấp vào nút này để hiển thị bước giải tiếp theo trong đáp án cho học sinh trong lúc giải bài. 14 btnQuayLui Button Nhấp vào nút này để quay lui một bước giải trước đó 15 btnKiemTraBaiBai Button Nhấp vào nút này để kiểm tra bài giải trong trường hợp người dùng không chọn kiểm tra từng bước . 16 btnKhung Button Các nút để tạo khung bước giải tương ứng KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 57 Hình 21: Màn hình giải bài tập 9 10 11 12 13 16 1 32 45 6 Editor để giải bài tập 14 15 7 8 KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 58 1.2.2 Danh sách các biến cố STT Biến cố Diễn giải Hàm xử lý 1 Click chuột vào điều khiển số 8 Người dùng nhấn vào đây để bắt đầu hay tạm ngưng việc giải. ckTrangThai_Ch eckedChanged 2 Chọn loại bài giải khác Người dùng nhấn chọn tab loại giải là giải tự do hay giải theo đáp án tabBaiGiai_Sel ectedIndexChan ged 4 Click vào điều khiển số 2 (ckKiemTraTungBu oc) Người dùng bật / tắt chế độ giải Kiểm tra từng bước ckKiemTraTungB uoc_CheckedCha nged 5 Click vào điều khiển số 10 (btnKiemTraBaiGiai ) Người dùng nhấn nút kiểm tra bài giải btnKiemTraBaiG iai_Click 6 Click vào điều khiển số 9 (btnQuayLui) Người dùng nhấn nút quay lui để quay lui về một bước giải trước btnQuayLui_Cli ck KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 59 7 Nhấn phím enter trong editor giải bài tập Người dùng nhấn Enter để sang bước giải mới sau khi kết thúc một bước giải. Biến cố này sẽ được xử lý trong trường hợp chế độ giải là Kiểm tra từng bước. rtbBaiGiai_Key Down Click vào điều khiển btnQuayLui Click chuột vào nút này hiển thị bước giải tiếp theo trong đáp btnBuocGiaiTie p_Click 8 Click chuột vào mục Lưu bài giải Người dùng nhấn phím phải chọn mục Lưu bài giải trong khi đang giải hoặc sau khi giải xong. mucLuuBaiGiai. Click 9 Click chọn mục Import bài giải Người dùng nhấn phải vào edior bài giải và chọn mục Import bài giải để import một bài giải từ file vào edior mucImportBaiGi ai.Click KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 60 10 Click chọn mục Import bài giải Người dùng nhấn phải vào edior bài giải và chọn mục Export bài giải để export một bài giải ra file mucExportBaiGi ai.Click 1.3 MH_XemBaiGiai 1.3.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 lvDSBaiGiai ListView ListView chứa danh sách các bài giải của bài tập được chọn. 2 rtbNoiDung RichTextBox Chứa nội dung của bài giải được chọn 3 rtbNhanXet RichTextBox Chứa nhận xét về bài giải 4 btnPrint Button Chức năng in bài giải ra giấy KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 61 Hình 22: Màn hình xem bài giải 1.3.2 Danh sách các biến cố STT Biến cố Diễn giải Hàm xử lý 1 Click chọn bài giải Người dùng click chọn bài giải cần xem trong lvDSBaiGiai lvDSBaiGiai_SelectedInd exChanged 2 Click chọn nút In Người dùng muốn in bài giải ra giấy btnPrint_Click 1-lvDSBaiGiai 2-rtbNoiDung 3-rtbNhanXet 4-btnPrint KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 62 1.4 MH_XemDapAn 1.4.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 lvDSDapAn ListView Listview chứa danh sách các đáp án của bài tập được chọn. 2 rtbNoiDung RichTextBox Chứa nội dung đáp án được chọn 3 btnPrint Button Chức năng in đáp án ra giấy Hình 23: Màn hình xem đáp án 1-lvDSDapAn 2-rtbNoiDung 3-btnPrint KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 63 1.4.2 Danh sách các biến cố STT Biến cố Diễn giải Hàm xử lý 1 Click chọn đáp án cần xem Người dùng click chọn đáp án cần xem trong lvDSDapAn lvDSDapAn_SelectedIn dexChanged 2 Click chọn nút In Người dùng muốn in đáp án ra giấy btnPrint_Click 1.5 MH_XemLyThuyet 1.5.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 rtbNoiDung RichTextBox Hiển thị nội dung bài học lý thuyết được chọn. 2 toolBarBaiHoc ToolBar Chứa các chức năng in ấn và import bài học lý thuyết. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 64 Hình 24: Màn hình xem lý thuyết 1.5.2 Danh sách các biến cố STT Biến cố Diễn giải Xử lý 1 Nhấn nút In Người dùng muốn in bài học ra giấy toolBar1_ButtonClick 2- toolBarBaiHoc 1- rtbNoiDung KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 65 1.6 MH_HeGiaoVien 1.6.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 tabControlLopDoiTuong TabControl TabControl chứa các đối tượng chính 2 panel Panel Khung để đặt các màn hình con lên, ví dụ như MH_SoanBaiTap … 3 tabPageSachBaiTap TabPage Tabpage chứa tất cả các bài tập của một quyển sách bài tập 4 tabPageSachBaiHoc TabPage Tabpage chứa các bài học lý thuyết trong sách bài học 5 cmBaiHoc ContextMenu Thực đơn chứa các chức năng của đối tượng bài học 6 cmiBaiHoc_ChuongMoi MenuItem Mục thêm một chương bài học mới 7 cmiBaiHoc_SoanMoi MenuItem Mục thêm một bài học mới 8 cmBaiTap ContextMenu Thực đơn chứa các chức năng của bài tập, bao gồm: - Soạn đáp án - Thêm bài tập mới - Xóa bài tập. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 66 9 mainMenu MainMenu Thực đơn chính của chương trình 10 mnChucNangPhu MenuItem Chứa các chức năng phụ của chương trình 11 mnCNP_Email MenuItem Chức năng liên lạc qua email 12 mnCNP_SoanQDCD MenuItem Chức năng Soạn quy định chấm điểm 13 mnThoat MenuItem Chức năng thoát chương trình 14 mnGiupDo MenuItem Chức các chức năng hỗ trợ khác 15 mnGD_HuongDan MenuItem Chức năng Hướng dẫn 16 mnGD_GioiThieu MenuItem Chức năng Giới thiêu về chương trình. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 67 Hình 25: Màn hình chính hệ giáo viên 1.6.2 Danh sách các biến cố STT Biến cố Diễn giải Hàm xử lý 1 Clich chọn tab đối tượng Người dùng chọn loại đối tượng (bài học hoặc lý thuyết) bằng cách click vào tab tương ứng tabControlLopD oiTuong_Select edIndexChanged 2 Click chọn tab Sách bài tập Người dùng click chọn bài tập trong tab Sách bài tập tabctrlSachBai Tap_SelectedIn dexChanged 2- panel: khung đặt màn hình con 1-tabControlLopDoiTuong 3- tabPageSacBaiTap 4- tabPageSacBaiHoc 9- mainMenu KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 68 3 Click vào mục Soạn mới bài học. Người dùng click phải vào phần màn hình thể hiện sách bài học và chọn mục Soạn mới bài học trong thực đơn mniBaiHoc_Soan Moi_Click 4 Click vào mục Soạn đáp án Người dùng click phải vào một bài tập và chọn mục Soạn đáp án trong thực đơn mniBaiTap_Soan DapAn_Click 5 Click vào mục Thêm bài tập mới. Người dùng click phải vào phần màn hình thể hiện sách bài tập và chọn mục Thêm mới bài tập trong thực đơn mniBaiTap_Them _Click 6 Click vào mục Thêm sách mới Người dùng nhấp phải trên danh sách các sách bài tập và chọn mục Thêm sách mới mniThemSachBT_ Click 1.7 MH_SoanLyThuyet 1.7.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 toolBarDinhDang ToolBar Thanh công cụ để định dạng văn bản lý thuyết 2 rtbLyThuyet RichTextBox Đây là một hộp văn bản để giáo viên soạn lý thuyết vào. 3 cmSoanLyThuyet ContextMenu Chứa các chức năng in ấn, export bài học KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 69 Hình 26: Màn hình soạn lý thuyết 1.7.2 Danh sách các biến cố STT Biến cố Diễn giải Xử lý 1 Chọn mục lưu bài soan Chọn mục Lưu bài học vừa soạn cmiLuuBaiSoan_Click 2 Chọn mục export bài soạn Chọn mục Export bài học cmiExport_Click 3 Chọn mục in bài soạn In bài soạn ra giấy cmiIn_Click 1-toolBarDinhDang 2- rtbLyThuyet 3- cmSoanLyThuyet KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 70 4 Chọn mục đọc từ file Đọc file bài học có sẵn từ file cmiDocFile_Click 1.8 MH_SoanBaiTap 1.8.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 cbDoKho ComboBox Mức độ khó của một bài tập 2 txtThoiGianLamBai TextBox Thời gian được tính bằng phút 3 txtDeBai TextBox Nội dung của đề bài 4 btnDocFile Button Đọc đề bài từ file 5 btnLuuBT Button Lưu bài tập lên CSDL 6 btnExport Button Export bài tập ra file 7 btnPhatSinh Button Phát sinh đề bài 8 cmBaiTap ContextMenu Thực đơn chứa các mục : - Đọc từ file - Lưu bài soạn - Export KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 71 Hình 27: Màn hình soạn bài tập 1.8.2 Danh sách các biến cố STT Biến cố Diễn giải Xử lý 1 Chọn mục Export bài tập 2 Click button Export cmiExport_Click 3 Chọn mục Lưu bài tập Chọn mục Lưu bài tập mới soạn 4 Click button Luu cmiLuuBT_Click 2-txtThoiGianLamBai 3- txtDeBai 4- btnDocFile 5- btnExport 6- btnLuu 1- cbDoKho 8- cmBaiTap 7- btnPhatSinh KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 72 5 Chọn độ khó của bài tập soạn Chọn độ khó của bài tập cbDoKho_SelectionC hangeCommitted 6 Gõ vào nội dung đề bài Nội dung đề bài thay đổi txtDeBai_KeyPress 7 Gõ vào ô thời gian làm bài Thời gian làm bài đã thay đổi txtThoiGianLamBai_ KeyDown 8 Chọn mục Đọc file đề bài Thay vì phải gõ ta chọn đọc từ một file đề bài tập có sẵn 9 Click button Đọc file Đọc bài tập từ file cmiExport_Click 10 Click button Phát sinh đề Phát sinh đề bài tập btnPhatSinhDe_Clic k 1.9 MH_SoanDapAn 1.9.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 txtDeBai TextBox Đề bài tập 2 txtDapAn TextBox Bài giải đáp án 3 lvDapAn ListView Danh sách các đáp án của bài tập 4 Các btnKhungBuocGiai Button Chứa khung của các loại bước giải KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 73 5 cmDapAn ContextMe nu Thực đơn chứa các mục: - Nhập đáp án từ file - Thêm đáp án mới - Lưu đáp án - In - Export 6 btnQuayLui Button Chức năng quay lui một bước giải Hình 28: Màn hình soạn đáp án KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 74 1.9.2 Danh sách các biến cố STT Biến cố Diễn giải Xử lý 1 Chọn mục Export đáp án Người dùng muốn export đáp án ra file cmiExport_Click 2 Chọn mục In Người dùng muốn in đáp án ra giấy cmiIn_Click 3 Chọn mục Lưu bài soạn Người dùng nhấp phải chọn Lưu bài soạn cmiLuuBaiSoan_Click 4 Chọn mục Thêm đáp án mới Người dùng muốn thêm một đáp án mới của bài tập cmiThemMoi_Click 5 Chọn mục Nhập từ file Người dùng muốn nhập đáp án từ file cmiNhapTuFile_Click 6 Click chọn nút Quay lui Người dùng muốn quay lại bước giải trước đó btnQuayLui_Click 7 Nhấn phím trong txtDapAn Người dùng gõ vào txtDapAn txtDapAn_KeyPress KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 75 1.10 MH_SoanQDCD 1.10.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 Các label Label 2 txtDiemToiDa TextBox Điểm tối đa của một bài giải 3 txtDiemCongBDTTG TextBox Điểm cộng cho việc chứng minh một bất đẳng thức trung gian 4 txtDiemTruBDSai TextBox Điểm trừ cho một biến đổi sai 5 txtDiemTruXemBG TextBox Điểm trừ một lần xem bước giải tiếp 6 btnExport Button Export quy định ra file để gửi cho phân hệ học sinh 7 btnKetThuc Button Nhấn nút này để kết thúc soạn 8 Các groupbox để gom nhóm KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 76 Hình 29: Màn hình soạn quy định chấm điểm 1.10.2 Danh sách các biến cố STT Biến cố Diễn giải Xử lý 1 Click vào nút Kết thúc Chọn chức năng thoát btnKetThuc_Click 2 Click vào nút Export Chọn chức năng export quy định ra file btnExport_Click 3 Gõ vào txtDiemToiDa Gõ vào điểm tối đa txtDiemToiDa_KeyPres s 4 Gõ vào txtĐiemCongB DTTG Gõ vào điểm cộng cho một bất đẳng thức trung gian txtDiemCongBDTTG_Key Press 5 Gõ vào txtDiemTruBD Sai Gõ vào điểm trừ cho một biến đổi sai txtDiemTruBDSai_KeyP ress KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 77 6 Gõ vào txtDiemTruXe mBG Gõ vào điểm trừ cho một lần xem bước giải tiếp txtDiemTruXemBG_KeyP ress 7 Di chuột trên btnExport btnExport_MouseHover 1.11 MH_ThemSachBT 1.11.1 Nội dung màn hình STT Thuộc tính Loại Diễn giải 1 lbTenSachDeBai Label 2 txtTenSach TextBox Ô để gõ vào tên sách mới 3 btnThem Button Nhấn nút này để cập nhật sách mới 4 btnKetThuc Button Nhấn nút này để kết thúc thêm sách. Hình 30: Màn hình thêm sách bài tập KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 78 1.11.2 Danh sách các biến cố STT Biến cố Diễn giải Xử lý 1 Click vào nút Kết thúc Click vào button Kết thúc btnKetThuc_Click 2 Click vào nút Thêm Click vào button Thêm btnThem_Click 2 Hệ thống hàm của các lớp đối tượng Các lớp đối tượng của chương trình được chia làm ba loại: - Loại 1:dùng chung cho cả hai phân hệ người dùng. - Loại 2: bao gồm những hàm dành riêng cho phân hệ học sinh - Loại 3: .bao gồm những hàm dành riêng cho phân hệ giáo viên 2.1 Các lớp dùng chung 2.1.1 Đối tượng xử lý chính 2.1.1.1 CBaiGiai STT Hàm xử lý Ý nghĩa 1 KhaiBaoBienCo() Khai báo các biến cố cho Edior đề giải bài tập 2 KhaiBaoBienCoThucDon() Khai báo các biến cố của thực đơn các chức năng cảu bài giải 3 KiemTraBuocGiaiMoi() Kiểm tra một bước giải mới được KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 79 nhập vào 4 LayBuocGiaiTruoc() Lấy bước giải trước bước giải hiện hành 5 LayThuTuBuocGiaiDanhSo () Lấy thứ tự của một bước giải được đánh số nào đó trong bài giải 6 LayBuocGiaiDanhSo() Lấy bước giải được đánh số 7 XuLiBuocGiai() Xử lí một bước giải mới đựơc nhập vào 8 XuLiBuocGiaiDung() Các xử lí tương ứng nếu bước giải là đúng 9 LaySoBuocGiai() Lấy số bước giải hiện thời của bài giải 10 ChamDiem() Chấm điểm tự động cho bài giải 11 KetThucBaiGiai() Các xử lý tương ứng khi có biến cố kết thúc bài giải 12 ThemBuocGiai Thêm bước giải mới vào bài giải 13 XoaBuocGiai() Xóa bước giải ở một vị trí nào đó trong bài giải 14 DanhSoBuocGiai Đánh số cho một bứơc giải nào đó. Qui ước đánh số theo thứ tự tăng dần 15 QuayLui(int) Quay lui một số bước nào đó trong bài giải 16 LuuBaiGiai() Lưu bài giải vào cơ sở dữ liệu 17 ChonMucLuuBaiGiai Hàm xử lí cho biến cố chọn chức năng lưu bài giải KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 80 18 ChonMucImportBaiGiai() Hàm xử lí cho biến cố chọn chức năng import bài giải 19 ChonMucExportBaiGiai() Hàm xử lí cho biến cố chọn chức năng export bài giải 2.1.1.2 Lớp CBieuThuc STT Hàm xử lý Ý nghĩa 1 PhanTich(string) Phân tích một chuỗi truyền vào theo dạng biểu thức 2 BangNhau(CBieuThuc) So sánh biểu thức với một biểu thức khác 3 DoiNhau(CBieuThuc) Kiểm tra 2 biểu thức có đối nhau 4 ChuyenThanhTongToiGia n() Chuyển một biểu thức bất kỳ thành dạng tổng tối giản (1) 5 ChuyenThanhPhanThuc() Chuyển biểu thức đang xét thành phân thức 6 ChuyenThanhBieuThucTi ch() Chuyển biểu thức đang xét thành biểu thức tích 7 LuyThua(int) Lũy thừa biểu thức theo một số mũ nào đó 8 DoiDauBieuThuc() Đổi dấu của biểu thức 9 NghichDao() Lấy nghịch đảo của biểu thức 10 Cong(CBieuThuc) Cộng biểu thức với một biểu thức khác 11 Tru(CBieuThuc) Trừ biểu thức cho một biểu thức khác KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 81 12 Nhan(CBieuThuc) Nhân biểu thức với một biểu thức 13 Chia(CBieuThuc) Chia biểu thức cho một biểu thức 14 XetDau() Xét dấu của biểu thức 15 NhanDonGian() 16 NhanKhaiTrien(CbieuTh uc) Nhân và khai triển biểu thức đang xét với một biểu thức khác 17 RutGonBieuThuc() Rút gọn biểu thức 18 SapXepBieuThuc() Sắp xếp biểu thức theo thứ tự quy ước 19 BoPhanTuThua() Bỏ các phần tử thừa trong biểu thức Vd : a+b+0 Æ a+b 20 LayChuoi() Lấy biểu thức dưới dạng chuỗi 21 SoSanhThuTu(CBieuThuc ) So sánh thứ tự của hai biểu thức theo chuẩn đã qui ước 22 ThuTuSap() Trả về một thứ tự cuả biểu thức trong bảng thứ tự qui ước 23 ChiaBT(CBieuThuc) Thực hiện phép chia theo nguyên tắc chia đa thức đối với một biểu thức đã được chuyển thành tổng tối giản Ghi chú: (1) : một biểu thức dạng tổng tối giản khi nó đã được khai triển đến mức tối đa KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 82 2.1.1.3 Lớp CBatDangThuc STT Hàm xử lý Ý nghĩa 1 KhoiTao(string) Khởi tao bất đẳng thức từ một chuỗi truyền vào 2 TuongDuong(CBatDangThuc) Kiểm tra bất đẳng thức đang xét có tương đương với một bất đẳng thức khác không 3 LaBatDangThucDung() Kiểm tra bất đẳng thức đang xét có phải là một bất đẳng thức đúng 4 CongVeTheoVe(CBatDangThuc) Cộng vế theo vế bất đẳng thức đang xét với một bất đẳng thức khác 5 NhanVeTheoVe(CBatDangThuc) Nhân vế theo vế bất đẳng thức đang xét với một bất đẳng thức khác 6 DoiChieu() Đổi chiều bất đẳng thức 7 DoiDauVaChieu() Đổi dấu và chiều của bất đẳng thức 8 SuyRaDuocTu(CBatDangThuc) Kiểm tra bất đẳng thức đang xét có thể suy ra được từ một bất đẳng thức khác KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 83 hay không 9 BacCau(CBatDangThuc) Tạo một bất đẳng thức mới ( nếu có thể) từ 2 bất đẳng thức bằng cách dựa vào tính chất bắc cầu Vd : a>b & b>c Æ a>c 10 ThoaTinhBacCau(CBatDangThuc ) Kiểm tra xem có thể áp dụng tính bắc cầu cho 2 bất đẳng thức không 11 TuongUng(CBatDangThuc) Kiểm tra bất đẳng thức đang xét có giống với một bất đẳng thức khác 12 ThayTheBieuThuc(CBieuThuc,C BieuThuc) Thay thế một biểu thức con xuất hiện trong bất đẳng thức bởi một biểu thức khác 2.1.1.4 Lớp CBuocGiai STT Hàm xử lý Ý nghĩa Ghi chú 1 KhoiTao(string) Khởi tao bước giải từ một chuỗi truyền vào 2 LayBatDangThuc() Lấy bất đẳng thức trong bước giải KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 84 3 KiemTraBuocGiai() Kiểm tra bước giải đang xét có phải là bước giải đúng Đây là hàm ảo, sẽ được cài trễ ở các lớp tương ứng của mỗi loại bước giải 2.1.2 Các lớp phụ (hỗ trợ xử lý) 2.1.2.1 Lớp CBoNho STT Hàm xử lý Ý nghĩa 1 DocNoiDungFile(string tenfile) Hàm đọc nội dung tập tin, trả về một chuỗi 2 GhiLenFile(string) Ghi một chuỗi lên file 3 DocBaiTapTuFile(string) Đọc các thông tin của một bài tập từ file 2.1.2.2 Lớp BieuThuc STT Hàm xử lý Ý nghĩa 1 PhanLoaiBieuThuc (string) Phân loại một biểu thức truyền vào dưới dạng chuỗi 2 KhoiTaoBieuThuc( string) Khởi tạo một biểu thức từ chuỗi) 3 BoNgoacThua(stri ng) Bỏ các dấu ngoăc thừa trong chuỗi biểu diễn một biểu thức KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 85 4 DemSoNgoacMo Đếm số ngoặc mở so với một vị trí nào đó trong chuỗi biểu diễn biểu thức 5 DemSoNgoacDong Đếm số ngoặc đóng so với một vị trí nào đó trong chuỗi biểu diễn biểu thức 6 DemSoNgoacTrai Đếm số ngoặc phía bên trái của một toán tử 7 DemSoNgoacPhai Đếm số ngoặc phía bên phải của một toán tử 8 DemSoNgoac Đếm số ngoặc phía bên trái và phải của một toán tử, kiểm tra chúng có bằng nhau 9 ThayĐauNgoaiCung Thay các kí tự biểu diễn toán tử và không nằm trong dấu ngoặc nào bởi một kí tự khác 10 HoanVi(CBieuThuc ,CBieuThuc) Hoán vị 2 biểu thức cho nhau 2.1.2.3 Lớp BuocGiai STT Hàm xử lý Ý nghĩa 1 PhanTichBuocGiai(st ring) Phân tích một chuỗi truyền vào thành 2 phần: - Nội dung bước giải - Kí hiệu của bước giải (nếu có) 2 PhanLoaiBuocGiai(st ring) Phân loại một bước giải truyền vào dưới dạng chuỗi 3 KhoiTaoBuocGiai(str ing) Khởi tạo một bước giải từ chuỗi 4 LayDanhSachBuocGiai Phân tích một bài giải dạng chuỗi thành KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 86 (baigiai) danh sách các bước giải 5 LayChuoiBDTTuBuocGi ai Đọc chuỗi bất đẳng thức trong bước giải 2.1.2.4 Lớp TapLenh STT Hàm xử lý Ý nghĩa 1 PhanTichDeBai(string) Phân tích đề bài truyền vào thành các phần: - Bất đẳng thức đề bài - Danh sách các điều kiện. 2 CuPhapHopLe(string maucuphap, string chuoi) Kiểm tra một chuỗi có theo đúng dạng của mẫu cú pháp hay không 3 LayCacGiaTriCuaNhom(string, string,string) KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 87 2.2 Phân hệ học sinh 2.2.1 Lớp đối tượng giao tiếp người dùng 2.2.1.1 Lớp MH_HeHocSinh STT Hàm xử lý Ý nghĩa 1 KhoiTaoMenu() Khởi tạo menu chính cho phân hệ học sinh 2 mnCNP_Email_Click(Object sender, System.EventArgs e) Mở màn hình nhận gửi mail để giao tiếp giữa học sinh và giáo viên. 4 mnThoat_Click(Object sender,System.EventArgs e) Thoát khỏi chương trình 5 mnGD_HuongDan_Click(Object sender, System.EventArgs e) Mở Help hướng dẫn sử dụng. 6 mnGD_GioiThieu_Click(Object sender,System.EventArgs e) Hiển thị màn hình giới thiệu. 7 tabctrlSachBaiTap_Selection Changed(object sender, System.EventArgs e) Thực hiện việc chọn sách bài tập tương ứng làm sách hiện hành. 8 tvNoiDungSachBaiHoc_AfterSe lect(object sender, System.Windows.Forms.TreeVi ewEventArgs e) Hiển thị nội dung bài học được chọn. 9 DoiManHinhCon(Control Hiển thị màn hình tương ứng KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 88 control) với yêu cầu. 10 mniThemSachBT_Click(object sender, System.EventArgs e) Hiển thị màn hình Thêm sách để thêm sách bài tập 11 ChonLoaiDoiTuong() Thực hiện việc chọn loại đối tượng (là sách bài tập hay sách bài học) 12 tabControlLopDoiTuong_Selec tionChanged(object sender, System.EventArgs e) Gọi hàm Chọn loại đối tượng để chọn loại đối tượng tương ứng 2.2.1.2 Lớp MH_GiaiBT STT Hàm xử lý Ý nghĩa KhoiTaoManHinhTheoBaiTap (CBaiTap baiTap) Khởi tạo màn hình giải bài tập tương ứng với các thông tin của bài tập được chọn 1 TaoMoiDongHo(int thoiGianBatDau) Khởi tạo đồng hồ để canh giờ giải bài tập. 3 ThietLapTrangThaiManHinh _1(bool bDangGiai) Thiết lập trạng thái của các đối tượng giao diện trên màn hình phù hợp với từng thời điểm 2 ThietLapTrangThaiManHinh _2(bool bGiaiTheoDapAn) Thiết lập trạng thái của các đối tượng trên màn hình khi người dùng chuyển đổi giữa 2 loại bài KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 89 giải (giải tự do và giải theo đáp án) 4 DongHo_Tick(object sender, System.EventArgs e) Hàm xử lý cho biến cố phát sinh của đồng hồ ( đếm thời gian lên 1s) 5 ckTrangThai_CheckedChang ed(object sender, System.EventArgs e) Hàm xử lý cho biến cố người dùng nhấn vào nút để bắt đầu hay tạm ngưng việc giải bài tập Æthiết lập trạng thái màn hình thích hợp. 6 tabBaiGiai_SelectedIndex Changed(object sender, System.EventArgs e) Hàm xử lý biến cố chuyển đổi qua lại giữa các chế độ giải (Giải theo đáp án và Giải tự do) 7 ChuyenDoiBaiGiai(bool DapAn_TuDo) Thực hiện việc chuyển đổi bài giải hiện hành từ chế độ giải tự do sang giải theo đáp án hay ngược lại. 8 btnKhungBuocGiai_Click(o bject sender, System.EventArgs e) Đặt khung bước giải được chọn vào ô bài giải. 10 ckKiemTraTungBuoc_Checke dChanged(object sender, System.EventArgs e) Bật hoặc tắt chế độ kiểm tra từng bước giải. 11 btnKiemTraBaiGiai_Click( object sender, Kiểm tra toàn bộ bài giải KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 90 System.EventArgs e) 12 ckXemGoiY_CheckedChanged (object sender, System.EventArgs e) Hiển thị gợi ý cho bước giải kế tiếp trong bài giải theo đáp án. 13 btnBuocGiaiTiep_Click(ob ject sender, System.EventArgs e) Hiển thị bước giải kế tiếp trong đáp án khi người dùng chọn giải theo đáp án 14 btnQuayLui_Click(object sender, System.EventArgs e) Quay lui đến một bước giải trước đó 2.2.1.3 Lớp MH_XemBaiGiai STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng. 2 TaoDanhMucBaiGiai(CBaiTap baitap) Tạo danh mục các bài giải của bài tập truyền vào. 3 BaiGiaiDuocChon() Lấy bài giải hiện hành. 4 ChonBaiGiai(object sender, System.EventArgs e) Hàm xử lý biến cố chọn một bài giải trong danh sách bài giải Æ hiển thị nội dung bài giải lên màn hình. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 91 2.2.1.4 Lớp MH_XemLyThuyet STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng. 2.2.1.5 Lớp MH_XemDapAn STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng. 2 TaoDanhMucDapAn(CBaiTap baitap) Tạo danh mục các đáp án của bài tập truyền vào. 3 DapAnDuocChon() Lấy đáp án hiện hành. 4 ChonDapAn(object sender, System.EventArgs e) Hàm xử lý biến cố chọn đáp án trong danh sách đáp án Æ hiển thị nội dung của đáp án lên màn hình 2.2.2 Lớp đối tượng xử lý 2.2.2.1 Lớp CBaiTap STT Hàm xử lý Ý nghĩa 1 DocDanhMucBaiGiai() Đọc danh sách các bài giải của bài tập 2 DocDanhMucDapAn() Đoc danh sách các đáp án của bài tập KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 92 3 LayBatDangThucDeBai() Đọc bất đẳng thức trong đề bài của bài tập 5 LayChuoiBatDangThucDeBai () Đọc bất đẳng thức trong đề bài của bài tập dưới dạng chuỗi 6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài 7 KhoiTao() Khởi tạo bài tập 8 KhoiTaoThucDon() Hàm khởi tạo thực đơn các chức năng của của bài giải KhaiBaoBienCoThucDon () 9 ChonMucGiaiBaiTap(object sender,EventArgs e) Hàm xử lí biến cố chọn chức năng giải bài tập 10 ChonMucXemBaiGiai(object sender,EventArgs e) Hàm xử lí biến cố chọn chức năng xem bài giải 11 ChonMucXemDapAn(object sender,EventArgs e) Hàm xử lí biến cố chọn chức năng xem đáp án 12 ChonMucImportDapAn(objec t sender,EventArgs e) Hàm xử lí cho biến cố chọn chức năng import đáp án 2.2.2.2 Lớp CDapAn STT Hàm xử lý Ý nghĩa 1 TimBuocGiaiTuongUng(C BuocGiai) Tìm bước giải trong đáp án giống với bước giải truyền vào KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 93 2.2.2.3 Lớp CSachBaiTap STT Hàm xử lý Ý nghĩa 1 ThemSachVao(TabContro l) Thêm thể hiện của sách vào một điều khiển 2 ThemBaiTap(baiTap) Thêm một bài tập vào sách 3 KhoiTaoDanhMucBaiTap( danhsachbaitap) Khởi tạo danh mục bài tập cho sách từ danh sách bài tập truyền vào 4 NhapBaiTapTuFile() Import một bài tập được lưu trên file 5 LuuSach() Lưu thông sách bài tập vào trong cơ sở dữ liệu 2.2.3 Lớp giao tiếp bộ nhớ phụ 2.2.3.1 CSDL STT Hàm xử lý Ý nghĩa 1 KetNoiCSDL() Hàm kết nối cơ sở dữ liệu 2 DocDanhMucSach() Đọc danh sách các sách từ database 3 DocDanhMucBaiTap() Đọc danh sách tất cả bài tập từ cơ sở dữ liệu 4 DocDanhMucBaiTap (masach) Đọc danh sách bài tập của một sách nào đó từ cơ sở dữ liệu 5 DocDanhMucBaiGiai (mabaitap) Đọc danh sách bài giải của một bài tâp từ cơ sở dữ liệu KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 94 6 DocDanhMucDapAn (mabaitap) Đọc danh sách đáp án của một bài tập từ cơ sở dữ liệu 7 DocBangThamSo() Đọc các trường dữ liệu trong bảng tham số từ cơ sở dữ liệu 8 LuuBaiTap(… ) Lưu các thông tin của một bài tập vào cơ sở dữ liệu 9 LuuBaiGiai() Lưu các thong tin của bài giải vào cơ sở dữ liệu 10 LuuDapAn() Lưu các thông tin của đáp án vào cơ sở dữ liệu 2.3 Phân hệ giáo viên 2.3.1 Đối tượng giao tiếp người dùng 2.3.1.1 Lớp MH_HeGiaoVien STT Hàm xử lý Ý nghĩa 1Æ8 Các hàm từ 1(8 trong lớp MH_HeHocSinh 9 mnCNP_SoanQDCD_Click(Objec t sender,System.EventArgs e) Mở màn hình soạn quy định chấm điểm. 10 void mniBaiHoc_SoanMoi_Click(ob ject sender, Thêm node mới vào cây bài học và để người dùng gõ vào chủ đề bài học. Mỗi bài học thuộc một KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 95 System.EventArgs e) chương nào đó. 11 mniBaiTap_Them_Click(objec t sender, System.EventArgs e) Thêm node mới vào cây bài tập và hiển thị màn hình soạn bài tập. 12 mniBaiTap_SoanDapAn_Click( object sender, System.EventArgs e) Hiển thị màn hình soạn đáp án cho bài tập được chọn. 13 ThemManHinhMoi(UserControl mh) Hiển thị màn hình tương ứng với yêu cầu. 14 tvNoiDungSachBaiHoc_AfterL abelEdit(object sender, System.Windows.Forms.NodeL abelEditEventArgs e) Hiển thị màn hình soạn bài học và chọn bài học vừa được gõ chủ đề làm bài học hiện hành. 15 tabControlLopDoiTuong_Sele ctionChanged(object sender, System.EventArgs e) Hiển thị màn hình làm việc tương ứng với đối tượng được chọn. 16 MH_HeGiaoVien_Closing(obje ct sender, System.ComponentModel.Canc elEventArgs e) Nhắc nhở lưu các bài soạn nếu thoát chương trình lúc chưa lưu. 17 mniBaiHoc_ChuongMoi_Click( object sender, System.EventArgs e) Thêm node mới vào cây bài học làm chương mới và để người dùng gõ vào tên chương. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 96 2.3.1.2 Lớp MH_SoanBaiTap STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng. 2 cbDoKho_SelectionChange Committed(object sender, System.EventArgs e) Hàm xử lý biến cố người dùng chọn độ khó của bài tập trong comboBox cbDoKho. Đánh dấu bài soạn chưa lưu. 3 txtDeBai_KeyPress(objec t sender, System.Windows.Forms.Ke yPressEventArgs e) Hàm xử lý biến cố gõ phím trong phần nội dung bài tập. Đánh dấu bài soạn chưa lưu. 4 txtThoiGianLamBai_KeyDo wn(object sender, System.Windows.Forms.Ke yEventArgs e) Hàm xử lý biến cố gõ vào thời gian làm bài. Chặn phím chỉ cho gõ kí số. Đánh dấu bài soạn chưa lưu. 5 cmiDocFile_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng Đọc nội dung bài tập từ file. 6 cmiLuuBT_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng lưu bài tập vừa soạn. 7 cmiExport_Click(object sender, Hàm xử lý biến cố chọn chức năng export bài tập ra file. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 97 System.EventArgs e) 8 cbDoKho_MouseHover(obje ct sender, System.EventArgs e) Hàm xử lý biến cố di chuột trên comboBox cbDoKho. Hiển thị tooltip giải thích. 9 txtThoiGianLamBai_Mouse Hover(object sender, System.EventArgs e) Hàm xử lý biến cố di chuột trên comboBox cbDoKho. Hiển thị tooltip giải thích 2.3.1.3 Lớp MH_SoanLyThuyet STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng. 2 HienThiNoiDung(string NoiDung) Hiển thị NoiDung lên trên rtbLyThuyet. 3 cmiLuuBaiSoan_Click(ob ject sender, System.EventArgs e) Thực hiện việc lưu bài soạn vào cơ sở dữ liệu. 4 cmiExport_Click(object sender, System.EventArgs e) Thực hiện việc export bài soạn lý thuyết ra file. 5 cmiIn_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng In bài học ra giấy. 6 rtbLyThuyet_KeyPress(o bject sender, Hiển thị nội dung lý thuyết vừa gõ vào với các định dạng được chọn. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 98 System.Windows.Forms.K eyPressEventArgs e) 8 CapNhatFont() Cập nhật font chữ cho nội dung lý thuyết đang được chọn. 9 fontComboBox_Selection ChangeCommitted(object sender, System.EventArgs e) Hàm xử lý biến cố chọn lại font chữ. 10 txtFontSize_KeyUp(obje ct sender, System.Windows.Forms.K eyEventArgs e) Hàm xử lý biến cố chọn lại cỡ chữ. 11 toolBarDinhDang_Button Click(object sender, System.Windows.Forms.T oolBarButtonClickEvent Args e) Xác định chức năng người dùng vừa chọn trên toolbar để xử lý cho phù hợp. 2.3.1.4 Lớp MH_SoanDapAn STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng. 2 TaoDanhSachDapAn() Tạo listview chứa danh sách các đáp án. 3 DocDanhSachDapAn() Đọc danh sách các đáp án của bài KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 99 tập hiện hành vào listview đáp án. 4 HienThiManHinhDapAn() Hiển thị màn hình chức các đáp án và khung để soạn đáp án mới. 5 rtbDapAn_KeyPress(object sender,System.Windows.Fo rms.KeyPressEventArgs e) Hàm xử lý biến cố gõ phím trong khung soạn đáp án. Đánh dấu bài soạn chưa lưu. 6 cmiLuuDapAn_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng lưu bài soạn đáp án. 7 cmiIn_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng In đáp án ra giấy. 8 cmiExport_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng Export bài soạn đáp án ra file. 9 lvDapAn_SelectedIndexCha nged(object sender, System.EventArgs e) Hàm xử lý biến cố chọn đáp án trong danh sách đáp án và hiển thị nội dung của nó trong khung soạn thảo. 10 cmiThemMoi_Click(object sender, System.EventArgs e) Hàm xử lý biến cố chọn chức năng thêm một đáp án mới. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 100 2.3.1.5 Lớp MH_ThemSachBaiTap STT Hàm xử lý Ý nghĩa 1 Hàm khởi tạo đối tượng. 2 - btnKetThuc_Click(object sender, System.EventArgs e) - btnThem_Click(object sender, System.EventArgs e) Kết thúc việc thêm sách. 2.3.1.6 Lớp MH_SoanQDCD STT Hàm xử lý Ý nghĩa 1 Hàm khởi tạo đối tượng. 2 btnExport_Click(object sender, System.EventArgs e) Export quy định chấm điểm ra file sẵn sàng để gửi cho phân hệ học sinh. 3 txtDiemToiDa_KeyPress(object sender, System.Windows.Forms.KeyPressE ventArgs e) 4 txtDiemCongBDTTG_KeyPress(obje ct sender, System.Windows.Forms.KeyPressE ventArgs e) 5 txtDiemTruBDSai_KeyPress(objec t sender, Chặn phím chỉ cho nhập vào chữ số. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 101 System.Windows.Forms.KeyPressE ventArgs e) 6 txtDiemTruXemBG_KeyPress(objec t sender, System.Windows.Forms.KeyPressE ventArgs e) 7 void btnExport_MouseHover(object sender, System.EventArgs e) Hiển thị tooltip giải thích chức năng của nút Export 8 btnKetThuc_Click(object sender, System.EventArgs e) Thoát khỏi màn hình soạn quy định chấm điểm 2.3.2 Đối tượng xử lý 2.3.2.1 Lớp CBaiTap STT Hàm xử lý Ý nghĩa 1 BatDangThucDeBai() Lấy bất đẳng thức trong đề bài dưới dạng đối tượng CBatDangThuc. 2 LayDanhSachDieuKien() Lấy danh sách các điều kiện trong đề bài. 3 LuuBaiTap() Lưu nội dung cùng các thuộc tính liên quan của bài tập hiện hành. 5 LuuBaiTap() Đọc bất đẳng thức trong đề bài của bài tập dưới dạng chuỗi 6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 102 7 Các hàm khởi tạo đối tượng CBaiTap. 2.3.2.2 Lớp CDapAn STT Hàm xử lý Ý nghĩa 1 Các hàm giống như trong lớp CDapAn_HeHocSinh. 2 LuuDapAn() Lưu nội dung đáp án vừa soạn của bài tập hiện hành. 2.3.2.3 Lớp CBaiHoc STT Hàm xử lý Ý nghĩa 1 Các hàm khởi tạo đối tượng CBaiHoc 2 LuuLyThuyet() Nhờ lớp CGiaoVien thực hiện lưu bài học hiện hành vào cơ sở dữ liệu. 2.3.2.4 Lớp CSachBaiTap STT Hàm xử lý Ý nghĩa 1 Các khởi tạo đối tượng CSachBaiTap 2 KhoiTaoMenu() Khởi tạo contextmenu cho đối tượng CSachBaiTap. 3 ThemBaiTap(BAITAP) Thêm một bài tập đã có nội dung KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 103 đầy đủ vào sách 4 ThemBaiTapMoi(TreeNode) Thêm một bài tập mới vào sách. 5 TaoDanhMucBaiTap(BAITAP[ ]) Tạo danh sách bài tập cho đối tượng CSachBaiTap bằng cách thêm các bài tập đã có vào cây danh sách bài tập trong tabpage sách bài tập.. 6 ChonBaiTap(object sender, System.Windows.Forms.Tre eViewEventArgs e) Hàm xử lý biến cố click chọn bài tập trong tabpage sách bài tập 7 tvNoiDungSach_MouseDown( object sender,System.Windows.Fo rms.MouseEventArgs e) Điều chỉnh contextmenu của đối tượng CBaiTap cho phù hợp với vị trí nhấn chuột trong danh sách bài tập. 8 tvNoiDungSach_AfterLabel Edit(object sender, System.Windows.Forms.Nod eLabelEditEventArgs e) Hàm xử lý biến cố người dùng đã gõ xong tên của bài tập mới vào bằng cách ghi nhận lại tên này làm tên bài tập mới. 9 ThemSachMoi(object sender,System.EventArgs e) Hàm xử lý biến cố người dùng chọn chức năng Thêm sách mới trong contextmenu của đối tượng CSachBaiTap. Cho hiển thị màn hình Thêm sách bài tập. 10 XoaSachBT(object Hàm xử lý biến cố người dùng KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 104 sender,System.EventArgs e) chọn chức năng Xóa sách bài tập. 2.3.3 Đối tượng giao tiếp bộ nhớ phụ 2.3.3.1 Lớp CSDL STT Hàm xử lý Ý nghĩa 1 KetNoiCSDL() Hàm kết nối cơ sở dữ liệu 2 -Các hàm khởi tạo đối tượng CSDL -Các hàm lấy dữ liệu của bảng được yêu cầu. 3 DocDanhMucSach() Đọc danh sách các sách từ database 4 LayMaSachBT(string TenSach) Lấy mã sách bài tập có tên là TenSach. 5 XoaSachBT(string TenSach) Xóa sách bài tập có tên là TenSach và xóa tất cả các bài tập trong sách cùng các đáp án của bài tập đó. 6 ThemSachBT(string TenSach) Ghi sách bài tập có tên là TenSach vào cơ sở dữ liệu. 7 DocDanhMucBaiTap(string TenSach) Đọc danh sách tất cả bài tập của sách bài tập có tên là TenSach từ cơ sở dữ liệu 8 LaySoBaiTap() Lấy số bài tập hiện có trong cơ sở KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 105 dữ liệu. 9 DocDanhMucBaiTap(masach) Đọc danh sách bài tập của một sách nào đó từ cơ sở dữ liệu 10 DocToanBoBaiTap() Đọc toàn bộ bài tập trong cơ sở dữ liệu. 11 LuuBaiTap(<các thuộc tính của bài tập>) Lưu một bài tập mới vào cơ sở dữ liệu. 12 XoaBaiTap(int MaSach) Xóa tất cả bài tập trong sách đó. 13 LayCacMaBT() LayMaBT(string TenBT,int MaSach) Lấy danh sách mã các bài tập hoặc lấy mã của bài tập có tên và mã sách được truyền vào. 14 LayNoiDungBaiTap(int MaBT) Đọc nội dung của bài tập có mã được truyền vào. 15 DocBangBaiGiai() Đọc danh sách tất cả các bài giải trong cơ sở dữ liệu. 16 LuuBaiGiai(<các thuộc tính >) Lưu một bài giải mới vào cơ sở dữ liệu. 17 LayDapAn(mabaitap) Đọc danh sách đáp án của một bài tập từ cơ sở dữ liệu 18 LayNoiDungDapAn(string MaDA) Đọc nội dung của một đáp án có mã là MaDA. 19 LuuDapAn(<các thuộc tính>) Lưu đáp án mới vào cơ sở dữ liệu. 20 XoaDapAn(int MaBT) Xóa tất cả đáp án của bài tập có KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 106 mã là MaBT. 21 DocDanhMucBaiHoc() Đọc tất cả danh sách bài học có trong cơ sở dữ liệu. 22 LayNoiDungBaiHoc(string ChuDe) Đọc nội dung một bài học có chủ đề là ChuDe. 23 SoanLyThuyet(string ChuDe,string NoiDung) Lưu một bài soạn lý thuyết mới vào cơ sở dữ liệu 24 SuaLyThuyet(string ChuDe,string NoiDung) Sửa lại nội dung của một bài học có chủ đề là ChuDe. 25 DocBangThamSo() Đọc các trường dữ liệu trong bảng tham số từ cơ sở dữ liệu 26 LaySoBieuThucDuong() Lấy số biểu thức dương có trong cơ sở dữ liệu. 27 LayBieuThucDuong(int MaBThuc) Lấy nội dung biểu thức dương có mã là MaBThuc. 28 DocBangBieuThucDuong() Đọc danh sách biểu thức dương có trong cơ sở dữ liệu. 3 Sơ đồ hoạt động chi tiết và thuật giải một số xử lí Phần trước đã mô tả bằng thuật toán một số xử lý đơn giản cho các biến cố. Những xử lý phức tạp hơn đòi hỏi có sự phối hợp của nhiều lớp đối tượng nếu cũng trình bày như trên sẽ gây khó hiểu cho người đọc. Vì vậy, chúng tôi sẽ mô hình hóa những xử lý đó trong phần này bằng các sơ đồ hoạt động chi tiết. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 107 3.1 Kiểm tra bước giải đúng 3.1.1 Bước giải loại 1 ( tương đương) Hình 31: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 1 ™ Thuật giải: - Lấy bất đẳng thức bdt1 của bước giải cần kiểm tra tương đương với bước giải đang xét. - Lưu vết để biết được bất đẳng thức trong bước giải đang xét xuất phát từ bất đẳng thức trong bước giải nào - Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất đẳng thức của bước giải này có tương đương với bdt1 Kiểm tra bước giải đúng CBuocGiaiLoai1 Lấy bước giải cuối CBaiGiai Kiểm tra tương đương CBatDangThuc bdt=Lấy bất đẳng thức CBuocGiaiLoai1 Bộ nhớ chính KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 108 3.1.2 Bước giải loại 2 (suy ra một bất đẳng thức từ bước giải trước đó) ™ Thuật giải: - Tương tự như hàm kiểm tra của bước giải loại 1 3.1.3 Bước giải loại 3 ( đưa ra một bất đẳng thức đúng, được bắt đầu bằng Ta co ) ™ Thuật giải: - Kiểm tra bất đẳng thức của bước giải có thỏa 1 trong các điều kiện sau: + Là một bất đẳng thức đúng hiển nhiên ( bảng liệt kê một số dạng bất đẳng thức đúng hiển nhiên xem phụ lục 4.) + Trùng với một trong số các điều kiện của đề bài. + Trùng với một bất đẳng thức đã được chứng minh đúng trong các bước giải trước đó. - Nếu thỏa một trong các điều kiện, trả về giá trị đúng. - Nếu không , trả về giá trị không biết. KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 109 3.1.4 Bước giải loại 4 (Loại bước giải có áp dụng bất đẳng thức Cauchy) Hình 32: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 4 ™ Thuật giải: - Kiểm tra các biểu thức được áp dụng trong bước giải có phải là biểu thức không âm - Nếu ít nhất một biểu thức mang dấu âm hay không kiểm tra được, trả về giá trị sai. - Nếu tất cả biểu thức đều không âm + Tạo một bất đẳng thức bdt1 theo dạng Cauchy từ các biểu thức. + Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất đẳng thức của bước giải này có tương đương với bdt1 Kiểm tra bước giải đúng CbuocGiaiLoai4 Kiểm tra tương đương CBatDangThuc Xét dấu biểu thức CBieuThuc KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 110 3.1.5 Bước giải loại 5 ( Loại bước giải áp dụng bất đẳng thức Bunhixcopki) Hình 33: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 5 ™ Thuật giải: - Tạo một bất đẳng thức bdt1 theo dạng Cauchy từ các biểu thức. - Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất đẳng thức của bước giải này có tương đương với bdt1 Kiểm tra bước giải đúng CbuocGiaiLoai5 Kiểm tra tương đương CBatDangThuc Xét dấu biểu thức CBieuThuc KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 111 3.1.6 Bước giải loại 6 ( Loại bước giải có thể suy ra từ 2 hay nhiều bước giải trước đó) Hình 34: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 6 ™ Thuật giải: - Lấy danh sách các bước giải có ký hiệu được liệt kê trong bước giải đang xét - Lấy các bất đẳng thức trong các các bước giải trên - Kiểm tra xem bất đẳng thức trong bứơc giải đang xét có thỏa một trong các điểu kiện sau: + Có thể suy ra nhờ áp dụng tính chất bắc cầu cho các bất đẳng thức trên không. + Có thể suy ra nhờ cộng vế theo vế + Có thể suy ra nhờ nhân vế theo vế Kiểm tra bước giải đúng CBuocGiaiLoai3 ♦Lấy danh sách bước giải được đánh số CBaiGiai Bộ nhớ chính ♦Cộng vế theo vế CBatDangThuc ♦Kiểm tra tương đương CBatDangThuc KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 112 - Nếu thỏa một trong các điều kiện trên, trả về giá trị đúng. - Ngược lại, trả về giá trị sai. 3.1.7 Bước giải loại 7 ( Loại bước giải cộng vế theo vế các bất đẳng thức trong các bước giải trước đó ) Hình 35: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 7 ™ Thuật giải: - Lấy danh sách các bước giải có ký hiệu được liệt kê trong bước - Lấy các bất đẳng thức trong các các bước giải trên - Cộng vế theo vế các bất đẳng thức này => bất đẳng thức mới bdt - Kiểm tra bdt có tương đương với bất đẳng thức trong bước giải đang xét Kiểm tra bước giải đúng CBuocGiaiLoai3 ♦Đọc các bước giải được đánh số trước đó CBaiGiai Bộ nhớ chính ♦Cộng vế theo vế CBatDangThuc ♦Kiểm tra tương đương CBatDangThuc KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 113 3.1.8 Bước giải loại 8 (bước giải nhân vế) Hình 36: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 8 Kiểm tra bước giải đúng CbuocGiaiLoai8 ♦Đọc các bước giải được đánh số trước đó CBaiGiai Bộ nhớ chính ♦Nhân vế theo vế CBatDangThuc ♦Kiểm tra tương đương CBatDangThuc KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 114 3.1.9 Bước giải loại 9 (bước giải đặt ẩn phụ) Hình 37: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 9 Kiểm tra bước giải đúng CbuocGiaiLoai9 ♦Đọc bước giải cuối CBaiGiai Bộ nhớ chính ♦Kiểm tra tương đương CBatDangThuc Thay ẩn phụ vào và kiểm tra trên bất đẳng thức mới này KH OA C NT T – Đ H KH TN Phần mềm hỗ trợ giải toán bất đẳng thức 115 3.1.10 Bước giải loại 12 ( bước giải đưa ra một bất đẳng thức đúng) Hình 38: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 12 3.1.11 Bước giải loại 13 (bước giải kiểm tra điều phải chứng minh) ™ Thuật giải - Kiểm tra bất đẳng thức trong bước giải cần xét có thỏa 2 điều kiện sau không: + Tương đương với

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

  • pdf99127009912706.pdf