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
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,
Phần mềm hỗ trợ giải toán bất đẳng thức
MỤC LỤC
PHẦN II :
I
1 2
II
1 2 3
III
I
1 2
II
1 2 3 4
PHẦN IV :
I
1 2
II
1
MỞ ĐẦU......................................................................................................................................10 PHẦN I : I GIỚI THIỆU............................................................................................................................................10 II MỤC TIÊU CỦA LUẬN VĂN ...............................................................................................................11 HIỆN TRẠNG VÀ YÊU CẦU ...................................................................................................12 KHẢO SÁT HIỆN TRẠNG ....................................................................................................................12 Hiện trạng tổ chức .............................................................................................................................12 Hiện trạng tin học ..............................................................................................................................14 Phần mềm MathBook.................................................................................................................................... 14 2.1 Phần mềm Matlab.......................................................................................................................................... 14 2.2 2.3 Phần mềm Mathematica ................................................................................................................................ 14 XÁC ĐỊNH YÊU CẦU ...........................................................................................................................15 Bảng trách nhiệm cho các yêu cầu.....................................................................................................17 Danh sách các biểu mẫu ....................................................................................................................19 Phạm vi của đề tài..............................................................................................................................21 PHƯƠNG ÁN THỰC HIỆN PHẦN MỀM .............................................................................................24 PHẦN III : MÔ HÌNH HÓA..........................................................................................................................25 SƠ ĐỒ SỬ DỤNG...................................................................................................................................26 Sơ đồ sử dụng tổng thể.......................................................................................................................26 Sơ đồ sử dụng cho từng yêu cầu cụ thể ..............................................................................................27 Sơ đồ sử dụng cho yêu cầu giải bài tập ......................................................................................................... 28 2.1 Sơ đồ sử dụng cho yêu cầu xem lại bài giải .................................................................................................. 29 2.2 Sơ đồ sử dụng cho yêu cầu xem đáp án......................................................................................................... 29 2.3 Sơ đồ sử dụng cho yêu cầu xem tóm tắt lý thuyết ......................................................................................... 30 2.4 Sơ đồ sử dụng cho yêu cầu chấm điểm bài giải............................................................................................. 30 2.5 Sơ đồ sử dụng cho yêu cầu soạn tóm tắt lý thuyết......................................................................................... 31 2.6 Sơ đồ sử dụng cho yêu cầu soạn đề bài tập ................................................................................................... 31 2.7 Sơ đồ sử dụng cho yêu cầu phát sinh đề bài tập ............................................................................................ 32 2.8 Sơ đồ sử dụng cho yêu cầu soạn đáp án ........................................................................................................ 32 2.9 2.10 Sơ đồ sử dụng cho yêu cầu soạn quy định chấm điểm............................................................................. 33 SƠ ĐỒ LỚP.............................................................................................................................................33 Danh sách các lớp đối tượng .............................................................................................................33 Sơ đồ lớp đối tượng............................................................................................................................35 Cấu trúc của biểu thức .......................................................................................................................36 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 THIẾT KẾ PHẦN MỀM............................................................................................................41 THIẾT KẾ TỔNG THỂ...........................................................................................................................41 Thành phần xử lý................................................................................................................................41 Tổ chức dữ liệu...................................................................................................................................47 THIẾT KẾ CHI TIẾT ..............................................................................................................................51 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
3
Phần mềm hỗ trợ giải toán bất đẳng thức
2
3
PHẦN V :
I II
I II III IV V
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 MH_SoanQDCD ..................................................................................................................................... 75 1.10 MH_ThemSachBT................................................................................................................................... 77 1.11 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 Phân hệ học sinh............................................................................................................................................ 87 2.2 Phân hệ giáo viên .......................................................................................................................................... 94 2.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 Lưu bài giải ................................................................................................................................................. 120 3.6 Lưu lý thuyết ............................................................................................................................................... 121 3.7 Lưu bài tập .................................................................................................................................................. 122 3.8 Lưu đáp án................................................................................................................................................... 123 3.9 Chấm điểm ............................................................................................................................................ 124 3.10 THỰC HIỆN VÀ KIỂM TRA .................................................................................................126 TÓM TẮT KẾT QUẢ THỰC HIỆN .....................................................................................................126 DỮ LIỆU THỬ NGHIỆM VÀ KIỂM TRA...........................................................................................127 TỔNG KẾT ...............................................................................................................................132 PHẦN VI : PHẦN VII : PHỤ LỤC...................................................................................................................................134 PHỤ LỤC 1: BẢNG MÔ TẢ CÁC KÍ HIỆU BIỂU DIỄN CÚ PHÁP ...................................................134 PHỤ LỤC 2: BẢNG PHÂN LOẠI BƯỚC GIẢI ...................................................................................134 PHỤ LỤC 3: BẢNG TỪ KHÓA CHO BƯỚC GIẢI ............................................................................137 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 PHỤ LỤC 5: SƠ ĐỒ BIỂU DIỄN CÁC CÚ PHÁP ..............................................................................139 Các sơ đồ biểu điễn cú pháp bước giải ............................................................................................139 Các sơ đồ biểu diễn cú pháp biểu thức, bất đẳng thức ....................................................................147
1 2
4
Phần mềm hỗ trợ giải toán bất đẳng thức
DANH MỤC HÌNH
HÌNH 1: HÌNH 2: HÌNH 3: HÌNH 4: HÌNH 5: HÌNH 6: HÌNH 7: HÌNH 8: HÌNH 9: HÌNH 10: HÌNH 11: HÌNH 12: HÌNH 13: HÌNH 14: HÌNH 15: HÌNH 16: HÌNH 17: HÌNH 18: HÌNH 19: HÌNH 20: HÌNH 21: HÌNH 22: HÌNH 23: HÌNH 24: HÌNH 25: HÌNH 26: HÌNH 27: HÌNH 28: HÌNH 29: HÌNH 30: HÌNH 31:
SƠ ĐỒ GIAO TIẾP GIỮA HAI PHÂN HỆ ..................................................................................24 SƠ ĐỒ SỬ DỤNG PHẦN MỀM MƯC TỔNG THỂ ....................................................................26 SƠ ĐỒ SỬ DỤNG YÊU CẦU GIẢI BÀI TẬP ..............................................................................28 SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM BÀI GIẢI .............................................................................29 SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM ĐÁP ÁN ...............................................................................29 SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM LÝ THUYẾT.......................................................................30 SƠ ĐÒ SỬ DỤNG YÊU CẦU CHẤM ĐIỂM................................................................................30 SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN LÝ THUYẾT .....................................................................31 SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN BÀI TẬP ............................................................................31 SƠ ĐÒ SỬ DỤNG YÊU CẦU PHÁT SINH B ÀI TẬP ...........................................................32 SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN ĐÁP ÁN ........................................................................32 SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN QUY ĐỊNH CHẤM ĐIỂM..........................................33 SƠ ĐỒ LỚP .................................................................................................................................35 SƠ ĐỒ BIỂU DIỄN CẤU TRÚC BIỂU THỨC .......................................................................36 SƠ ĐỒ BIỂU DIỄN CẤU TRÚC BƯỚC GIẢI........................................................................37 MÔ HÌNH BA LỚP CỦA PHẦN MỀM ...................................................................................42 SƠ ĐỒ PHỐI HỢP TỔNG THỂ PHÂN HỆ HỌC SINH........................................................45 SƠ ĐỒ PHỐI HỢP TỔNG THỂ PHÂN HỆ GIÁO VIÊN......................................................46 SƠ ĐỒ LOGIC............................................................................................................................47 MÀN HÌNH CHÍNH HỆ HỌC SINH .......................................................................................53 MÀN HÌNH GIẢI BÀI TẬP ......................................................................................................57 MÀN HÌNH XEM BÀI GIẢI .....................................................................................................61 MÀN HÌNH XEM ĐÁP ÁN .......................................................................................................62 MÀN HÌNH XEM LÝ THUYẾT...............................................................................................64 MÀN HÌNH CHÍNH HỆ GIÁO VIÊN......................................................................................67 MÀN HÌNH SOẠN LÝ THUYẾT .............................................................................................69 MÀN HÌNH SOẠN BÀI TẬP ....................................................................................................71 MÀN HÌNH SOẠN ĐÁP ÁN .....................................................................................................73 MÀN HÌNH SOẠN QUY ĐịNH CHẤM ĐIỂM .......................................................................76 MÀN HÌNH THÊM SÁCH BÀI TẬP .......................................................................................77 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 1.............................107
5
Phần mềm hỗ trợ giải toán bất đẳng thức
SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 4.............................109 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 5.............................110 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 6.............................111 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 7.............................112 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 8.............................113 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 9............................114 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 12...........................115
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 32: HÌNH 33: HÌNH 34: HÌNH 35: HÌNH 36: HÌNH 37: HÌNH 38: HÌNH 39: HÌNH 40:
HÌNH 41: HÌNH 42: HÌNH 43: HÌNH 44: HÌNH 45: HÌNH 46:
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 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾNCỐ ĐỔI CHẾ ĐỘ GIẢI......................119 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU BÀI GIẢI ...........................................................120 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU LÝ THUYẾT .....................................................121 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU BÀI TẬP SOẠN ................................................122 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU ĐÁP ÁN .............................................................123 SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN CHẤM ĐIỂM..............................................................124
6
Phần mềm hỗ trợ giải toán bất đẳng thức
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
7
Phần mềm hỗ trợ giải toán bất đẳng thức
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ý
8
Phần mềm hỗ trợ giải toán bất đẳng thức
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.
9
Phần 7 - Phần phụ lục
Phần mềm hỗ trợ giải toán bất đẳng thức
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
10
đượ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
Phần mềm hỗ trợ giải toán bất đẳng thức
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 đó :
(cid:131) 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
(cid:131) 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
11
tìm lại trong tập.
Phần mềm hỗ trợ giải toán bất đẳng thức
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
(cid:190) Soạn trước bài giảng ở nhà
(cid:190) 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
(cid:190) 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
(cid:190) 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
sinh
học sinh
Đối với học sinh
(cid:190) Ở lớp, nghe giáo viên giảng bài. Nêu lên thắc mắc ( nếu có)
(cid:190) Về nhà, làm các bài tập giáo viên giao cho
12
(cid:190) Làm các bài kiểm tra vào các tiết kiểm tra môn học
Phần mềm hỗ trợ giải toán bất đẳng thức
(cid:153) 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
13
- Soạn đáp án
Phần mềm hỗ trợ giải toán bất đẳng thức
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
14
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
Phần mềm hỗ trợ giải toán bất đẳng thức
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.
(cid:153) 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
15
trên được trình bày thành bảng như sau:
Phần mềm hỗ trợ giải toán bất đẳng thức
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 BM1 QD1
tập
GV_YC3 Soạn đáp án BM2 QD2
HS_YC4 Chấm điểm
BM5 QD5 GV_YC5 Soạn quy
định chấm
điểm
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 BM3
giải
16
HS_YC3 Xem đáp án BM4
Phần mềm hỗ trợ giải toán bất đẳng thức
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ú
Phát sinh theo 1 Soạn bài tập Cung cấp thông tin về đề
biểu mẫu BM1 bài tập cùng với mức độ
khó, thời gian làm bài
2 Soạn lý Cung cấp thông tin chủ
thuyết đề của bài soạn và nội
dung bài soạn
3 Phát sinh đề Phát sinh bài tập
bài tập mới theo công
thức
4 Soạn quy Cung cấp thông tin theo Cập nhật thông tin
định chấm BM5, QD5
điểm
Bảng 3:
Bảng trách nhiệm cho yêu cầu của giáo viên
17
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Kiểm tra bước Danh sách các loại
bước giải theo giải đúng và bước giải ( xem
thông báo phần phần Phụ lục BM2,QD2
2)
Xuất bài giải 2 Xem bài giải Chọn bài tập,
theo biểu mẫu sau đó chọn một
bài giải trong BM3
danh sách bài
giải đã có của
bài tập đó
Xuất đáp án 3 Xem đáp án Chọn bài tập,
theo biểu mẫu sau đó chọn một
đáp án trong BM4
danh sách ( nếu
bài tập có nhiều
đáp án)
Thực hiện ngay khi 4 Chấm điểm Xuất đánh giá
bài giải hoàn tất và điểm số bài
hoặc hết giờ làm tập theo biểu
bài mẫuBM6 ,
QD6
Bảng 4:
Bảng trách nhiệm cho yêu cầu của học sinh
18
Phần mềm hỗ trợ giải toán bất đẳng thức
Soạn đề bài tập
Thời gian làm bài:………
2 Danh sách các biểu mẫu
BM1 : Độ khó:........... Đề bài:
CMR Voi <điều kiện 1>, <điều kiện 2>….<điều kiện n>
Danh sách bước giải
BM2 : Ta co (cid:217) ……………………………. …………………………… QD2: biến đổi đại số, đổi biến, đặt ẩn phụ, dùng bất đẳng thức Cauchy, Bunhiaxcopki, ….
Danh sách bài giải
BM3 :
STT Tên bài giải
Thời gian làm Điểm số
….
Thời điểm
1 2
Đánh gía bài giải:
Nội dung bài giải:
19
Phần mềm hỗ trợ giải toán bất đẳng thức
Danh sách đáp án
BM4 :
STT Tên bài giải
Thời gian làm Điểm số
1 2
….
Thời điểm
Nội dung đáp án
Soạn quy định chấm điểm
BM5 :
Đ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
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
20
Phần mềm hỗ trợ giải toán bất đẳng thức
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 (cid:217) x^2+y>0
đương từ một bước giải
21
trước đó
Phần mềm hỗ trợ giải toán bất đẳng thức
Bước giải suy ra từ một => x^2+1>0 2
bước giải trước đó
Bước giải đưa ra một bất Ta co x^2+y^2>0 3
đẳng thức, hoặc đẳng thức
đúng
4 Bước giải áp dụng bất đẳng ADC x,y,z ta duoc …
thức Cauchy để đưa ra một
bất đẳng thức có dạng
Cauchy
5 Bước giải áp dụng bất đẳng ADB (x,y),(z,t) ta duoc …
thức Bunhiaxcopki
Tu (1),(2),(2) suy ra … 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 ….)
Cong ve (1),(2) ta duoc .. 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 đó)
Nhan 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
22
chọn trước đó)
Phần mềm hỗ trợ giải toán bất đẳng thức
9 đặt ẩn phụ và thế vào bất
Dat u = x+1 thi (1) (cid:217) … đẳng thức của bước giải
trước đó
10 Thay thế biểu thức Thay 2 vao 3 ta duoc
11 Đưa ra một bất đẳng thức Ta cm x+y^2>0
nào đó để chứng minh trung
gian
12 kiểm tra bất đẳng thức trong (2) dung
bước giải nào đó có phải là
bất đẳng thức đúng
13 Kiểm tra kết luận về điều (cid:217) x^2+y >0 (dpcm)
23
phải chứng minh có đúng hoặc (cid:217) dpcm
Phần mềm hỗ trợ giải toán bất đẳng thức
III PHƯƠNG ÁN THỰC HIỆN PHẦN MỀM
(cid:190) 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
(cid:190) Các phân hệ giao tiếp với nhau thông qua file hoặc email.
Đề bài tập
Bài học
Đáp án
Phân hệ học sinh
Phân hệ giáo viên
Quy định chấm điểm
Bài giải học sinh
(cid:190) 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ệ
24
Phần mềm hỗ trợ giải toán bất đẳng thức
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:
(cid:153) 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ó:
(cid:190) Sơ đồ sử dụng tổng thể
(cid:190) Các sơ đồ sử dụng chi tiết
(cid:153) 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ơ đồ
25
quan hệ giữa các lớp đối tượng.
Phần mềm hỗ trợ giải toán bất đẳng thức
I SƠ ĐỒ SỬ DỤNG
2.1
Giải bài tập
2.5
2.2
Chấm điểm
Xem bài giải
Học sinh
2.3
Xem đáp án
2.4
Xem lý thuyết
2.7
Soạn bài tập
2.9
Giáo viên
Soạn đáp án
2.6
Soạn lý thuyết
2.10
2.8
Soạn qui định chấm điểm
Phát sinh đề bài tập
1 Sơ đồ sử dụng tổng thể
Hình 2: Sơ đồ sử dụng phần mềm mức tổng thể
26
Phần mềm hỗ trợ giải toán bất đẳng thức
2 Sơ đồ sử dụng cho từng yêu cầu cụ thể
Người dùng
D1
D6
Xử lý X
D3
D4
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ớ
27
D6: Dữ liệu sẽ được kết xuất
Phần mềm hỗ trợ giải toán bất đẳng thức
2.1 Sơ đồ sử dụng cho yêu cầu giải bài tập
Học sinh
D1
D6
Xử lý kiểm tra bước giải
D3
D4
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
28
- Nếu không đúng, xuất D6 ra màn hình.
Phần mềm hỗ trợ giải toán bất đẳng thức
2.2 Sơ đồ sử dụng cho yêu cầu xem lại bài giải
D1: Thông tin về bài tập, mã số bài giải
Học sinh
được chọn để xem.
D1
D6
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
Xem lại bài giải
- Nhận D1 từ người dùng.
D3
- Đọc D3 tương ứng từ bộ nhớ
phụ.
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
D1: Thông tin về bài tập, mã số đáp án
Học sinh
được chọn để xem.
D3: Các đáp án của bài tập
D1
D6
D6: nội dung của đáp án được chọn
Xem đáp án
Xử lý xem đáp án
- Nhận D1 từ người dùng.
D3
- Đọc D3 tương ứng từ bộ nhớ phụ.
- Xuất D6 ra màn hình.
Hình 5: Sơ đồ sử dụng yêu cầu xem đáp án
29
Phần mềm hỗ trợ giải toán bất đẳng thức
2.4 Sơ đồ sử dụng cho yêu cầu xem tóm tắt lý thuyết
D3: Tóm tắt lý thuyết
Học sinh
D6: D3
Xử lý xem tóm tắt lý thuyết
- Đọc D3 từ bộ nhớ phụ.
Xem tóm tắt lý thuyết
- Xuất D6 ra màn hình.
D3
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
D1: Nội dung bài giải.
Học sinh
D3: Bảng qui định chấm điểm
D4:Điểm số + đánh giá
D1
D6
D6: D4.
Chấm điểm
Xử lý chấm điểm
- Nhận D1 từ người dùng.
- Đọc D3 tương ứng từ bộ nhớ phụ
D3
D4
- 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ình 7: Sơ đồ sử dụng yêu cầu chấm điểm
30
Phần mềm hỗ trợ giải toán bất đẳng thức
2.6 Sơ đồ sử dụng cho yêu cầu soạn tóm tắt lý thuyết
D1: Chủ đề bài học + nội dung bài
Giáo viên
học
D4: D1
D1
Xử lý soạn tóm tắt lý thuyết
Sọan tóm tắt lý thuyết
- Nhận D1 từ người dùng.
- Ghi D4 vào bộ nhớ phụ.
D4
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
D1: Thông tin về bài tập bất đẳng thức (mã
Giáo viên
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)
D1
D4: D1+ Mã số bài tập.
Soạn đề bài tập
Xử lý soạn đề bài tập
- Nhận D1 từ người dùng.
D4
- Nếu hợp lệ ghi D4 vào bộ nhớ phụ.
- Nếu không, thông báo lỗi
Hình 9: Sơ đồ sử dụng yêu cầu soạn bài tập
31
Phần mềm hỗ trợ giải toán bất đẳng thức
2.8 Sơ đồ sử dụng cho yêu cầu phát sinh đề bài tập
D3: Các biểu thức và bất đẳng thức được
Giáo viên
dùng cho việc phát sinh bài tập.
D4 : Nội dung đề bài được phát sinh
D6
D6: D4
Xử lý phát sinh bài tập:
Phát sinh đề bài tập
- Đọc D3 từ bộ nhớ phụ.
- Ghi D4 vào bộ nhớ phụ và xuất D6
D3
D4
ra cho người dùng.
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
D1: Mã số bài tập, nội dung đáp án của bài
Giáo viên
tập đó.
D4: D1+ Mã số đáp án.
D1
Xử lý soạn đáp án
Soạn đáp án
- Nhận D1 từ người dùng.
- Kiểm tra đáp án (kiểm tra hợp lệ và
D4
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.
Hình 11: Sơ đồ sử dụng yêu cầu soạn đáp án
32
Phần mềm hỗ trợ giải toán bất đẳng thức
2.10 Sơ đồ sử dụng cho yêu cầu soạn quy định chấm điểm
D1: Các quy định chấm điểm. ( thang điểm
Giáo viên
tối đa, số điểm trừ khi biến đổi sai, số điểm
D1
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)
Soạn quy định chấm điểm
D4: D1
D4
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ụ.
Hình 12: Sơ đồ sử dụng yêu cầu soạn quy định chấm điểm
II SƠ ĐỒ LỚP
< Tên 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
33
2 Bài tập
Phần mềm hỗ trợ giải toán bất đẳng thức
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
34
Phần mềm hỗ trợ giải toán bất đẳng thức
SachBaiTap
BaiHoc
*
* BaiTap
DapAn
* BaiGiai
*
2 Sơ đồ lớp đối tượng
Sơ đồ các loại bước giải, xem hình 15
BuocGiai
*
BatDangThuc
BaiGiaiTuDo
BaiGiaiDapAn
*
*
BieuThuc
BieuThucDaiSo
ThanhPhan
BieuThucHam
BieuThucTong
BieuThucTich
HamCan
HamLuyThua
HamLuongGiac
Hình 13: Sơ đồ lớp
35
Phần mềm hỗ trợ giải toán bất đẳng thức
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:
(cid:131) Kiểm tra hai biểu thức bằng nhau
(cid:131) Cộng, trừ, nhân, chia hai biểu thức với nhau
(cid:131) Xét dấu một biểu thức
*
BieuThuc
BieuThucHam
BieuThucDaiSo
ThanhPhan
HamCan
BieuThucTong
BieuThucTich
HamLuyThua
HamLuongGiac
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
36
Phần mềm hỗ trợ giải toán bất đẳng thức
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
BuocGiai
BuocGiaiLoai3
BuocGiaiLoai4
BuocGiaiLoai5
BuocGiaiLoai6
BuocGiaiLoai9
BuocGiaiLoai1
BuocGiaiLoai7
BuocGiaiLoai8
BuocGiaiLoai2
BuocGiaiLoai10
BuocGiaiLoai11
BuocGiaiLoai12
BuocGiaiLoai13
đây:
Hình 15: Sơ đồ biểu diễn cấu trúc bước giải
37
Phần mềm hỗ trợ giải toán bất đẳng thức
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ố
38
- Tên bài giải
Phần mềm hỗ trợ giải toán bất đẳng thức
- 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
39
- Kiểm tra bước giải đúng ( hàm ảo)
Phần mềm hỗ trợ giải toán bất đẳng thức
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
40
- Nội dung bài học
Phần mềm hỗ trợ giải toán bất đẳng thức
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,
41
sửa đổi hoặc xóa dữ liệu)
Phần mềm hỗ trợ giải toán bất đẳng thức
Đối tượng giao tiếp người dùng
Nhận biến cố
Đối tượng xử lý chính
Chuyển điều khiển
Đối tượng giao tiếp bộ nhớ phụ
Chuyển điều khiển
Bộ nhớ phụ
Cập nhật và truy xuất
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
Tên đối tượng Diễn giải Loại đối
tượng
Đối tượng MH_HeGiaoVien Màn hình giao tiếp giữa giáo viên
giao tiếp với phần mềm
người MH_SoanBaiTap Màn hình dùng để giáo viên soạn
dùng bài tập
Phân hệ MH_DapAn Màn hình dùng để giáo viên soạn
giáo viên đáp án
MH_LyThuyet Màn hình soạn lý thuyết
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
42
điểm.
Phần mềm hỗ trợ giải toán bất đẳng thức
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
Phân hệ MH_XemBaiGiai Màn hình dùng để học sinh xem
học sinh 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
MH_XemLyThuyet Màn hình để học sinh học lý
thuyết
Đối tượng CGiaoVien Lớp điều khiển, quản lý toàn bộ
xử lý các lớp đối tượng trong hệ thống
chính 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
43
CBaiGiaiDapAn Lớp xử lý bài giải loại giải theo
Phần mềm hỗ trợ giải toán bất đẳng thức
đáp án
Đối tượng CSDL Lớp xử lý mọi vấn đề về truy xuất
hay cập nhật dữ liệu. giaotiếp
bộ nhớ
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
44
nhau hoạt động theo các sơ đồ phối hợp tổng thể sau đây.
Phần mềm hỗ trợ giải toán bất đẳng thức
Hoc sinh
MH_GiaiBT
MH_XemBaiGiai
MH_XemDapAn
MH_ChinhHS
CSachBaiTap
CBaiTap
CBaiGiai
CGiaoVien
CDapAn
CBatDangThuc
CBuocGiai
CSDL
Hình 17: Sơ đồ phối hợp tổng thể phân hệ học sinh
45
Phần mềm hỗ trợ giải toán bất đẳng thức
Giao vien
MH_SoanBT
MH_HeGiaoVien
MH_DapAn
MH_LyThuyet
CSachBaiTap
CBaiTap
CGiaoVien
CDapAn
CBaiHoc
CSDL
Hình 18: Sơ đồ phối hợp tổng thể phân hệ giáo viên
46
Phần mềm hỗ trợ giải toán bất đẳng thức
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
Bài học
Sách bài tập
Bài tập
Đáp án
Bài giải
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
47
2 MaBT AutoNumber Mã bài tập
Phần mềm hỗ trợ giải toán bất đẳng thức
ThoiGian Number Thời gian tối đã cho 3
phép để giải
DoKho Mức độ khó Text 4
DeBai Đề bài Text 5
TenBT Tên bài tập Text 6
GhiChu Memo 7
BAIGIAI
STT Thuộc tính Kiểu dữ liệu Diễn giải
MaBT Number 1
MaBG Text Mã bài giải do người 2
dùng đặt
NoiDung Memo Nội dung bài giải 3
ThoiDiem DateTime Thời điểm bắt đầu giải 4
ThoiGian Number Thời gian để giải xong 5
tính theo phút
HoanTat Yes/No Thụôc tính cho biết bài 6
giải đã hoàn tất chưa
NhanXet Text Các đánh giá về bài giải 7
(nếu có)
Diem Number Điểm số của bài giải (nếu 8
có)
LoaiGiai Text Loại bài giải ( giải tự do 9
48
hay theo đáp án)
Phần mềm hỗ trợ giải toán bất đẳng thức
DAPAN
STT Thuộc tính Kiểu dữ liệu Diễn giải
MaBT Number 1
MaDA AutoNumber Mã số đáp án 2
NoiDung Memo Nội dung đáp án 3
BAIHOC
STT Thuộc tính Kiểu dữ liệu Diễn giải
MaBH AutoNumber Mã số của bài học 1
ChuDe Text Chủ đề bài học 2
NoiDung Memo Nội dung bài học 3
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 Kiểu dữ Giá trị Diễn giải
liệu mặc định tính
TS1 Number 10 Thang điểm tối đa cho bài giải 1
TS2 Number 1 Số điểm cộng cho mỗi bất đẳng thức 2
trung gian chứng minh xong
TS3 Number 0 Số điểm bị trừ cho một lần bị nhắc nhở 3
TS4 Number 0 Số điểm trừ cho một lần xem bước giải 4
49
tiếp (đối với bài giải đáp án)
Phần mềm hỗ trợ giải toán bất đẳng thức
Bảng từ khoá
STT Thuộc tính Kiểu dữ liệu Diễn giải
Loai Number Loại từ khoá 1
TuKhoa1 Text 2
TuKhoa2 Text 3
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
50
2 BieuThucDuong Text Nội dung của biểu thức dương
Phần mềm hỗ trợ giải toán bất đẳng thức
II THIẾT KẾ CHI TIẾT
Nội dung được trình bày ở phần này bao gồm:
(cid:153) 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
(cid:153) 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
(cid:153) 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
tabControlLopDoiTuong TabControl TabControl chứa các đối 1
tượng chính
Panel Panel Khung để đặt các màn hình 2
con lên, ví dụ như
MH_GiaiBT…
3 tabPageSachBaiTap TabPage Tabpage chứa tất cả các bài
51
tập của một sách bài tập
Phần mềm hỗ trợ giải toán bất đẳng thức
tabPageSachBaiHoc TabPage Tabpage chứa các bài học lý 4
thuyết trong sách bài học
tabControlSachBaiTap TabPage Tabpage chứa tất cả các bài 5
tập của một quyển sách bài
tập
mainMenu MainMenu Thực đơn chính của màn 6
hình phân hệ học sinh
mniChucNangPhu MenuItem Chứa các chức năng phụ của 7
chương trình
mniGiupDo MenuItem Chức các chức năng hỗ trợ 8
khác
mniCNP_Email MenuItem Chức năng Soạn quy định 9
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ề
52
chương trình
Phần mềm hỗ trợ giải toán bất đẳng thức
1 -tabControlLopDoiTuong
6 -mainMenu
3 - tabPageSachBaiTap
4 -tabPageSachBaiHoc 5 - tabControlSachBaiTap
2- panel : khung để đặt các màn hình con
Hình 20: Màn hình chính hệ học sinh
53
Phần mềm hỗ trợ giải toán bất đẳng thức
1.1.2 Danh sách các biến cố
STT Biến cố Diễn giải Hàm xử lý
Người dùng chọn loại đối 1 Click chọn tabControlDo
iTuong_Selec tượng (bài tập hay lý thuyết) vào tab đối
tionChanged bằng cách click vào tab tương tượng
ứng
2 Chọn sách Người dùng click chọn sách bài tabctrlSachB
aiTap_Select bài tập khác tập khác trong các tab Sách bài
ionChanged tập
Người dùng nhấp phải vào bài 3 Chọn chức ChonMucGiaiB
aiTap tập để chọn Giải bài tập năng giải bài
tập
4 Chọn mục Người dùng nhấp phải vào bài ChonMucXemBa
iGiai xem bài giải tập để chọn Xem bài giải.
Biến cố này do lớp CBaiTap
xử lý.
5 Chọn mục Người dùng nhấp chuột phải ChonMucXemDa
pAn xem đáp án vào bài tập để chọn mục Xem
đáp án.trọng thực đơn
6 Chọn mục Người dùng nhấp phải trên
thêm sách bài danh sách các sách bài tập để
tập chọn mục Thêm sách mới trong
54
thực đơn
Phần mềm hỗ trợ giải toán bất đẳng thức
1.2 MH_GiaiBT
1.2.1 Nội dung màn hình
ST Thuộc tính Loại Diễn giải
T
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
55
9 lbDongHo Label Hiển thị đồng hồ canh giờ cho
Phần mềm hỗ trợ giải toán bất đẳng thức
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<1-13> Button Các nút để tạo khung bước giải
56
tương ứng
Phần mềm hỗ trợ giải toán bất đẳng thức
2
4
3
5
6
1
9
10
11
12
Editor để giải bài tập
13
14
7 8
15
16
Hình 21: Màn hình giải bài tập
57
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Người dùng nhấn vào ckTrangThai_Ch
eckedChanged khiển số 8 đây để bắt đầu hay tạm
ngưng việc giải.
2 Chọn loại bài giải Người dùng nhấn chọn tabBaiGiai_Sel
ectedIndexChan khác tab loại giải là giải tự
ged do hay giải theo đáp
án
Người dùng bật / tắt 4 Click vào điều khiển ckKiemTraTungB
uoc_CheckedCha chế độ giải Kiểm tra số 2
nged từng bước (ckKiemTraTungBu
oc)
5 Click vào điều khiển Người dùng nhấn nút btnKiemTraBaiG
iai_Click số 10 kiểm tra bài giải
(btnKiemTraBaiGiai
)
6 Click vào điều khiển Người dùng nhấn nút btnQuayLui_Cli
ck số 9 (btnQuayLui) quay lui để quay lui về
58
một bước giải trước
Phần mềm hỗ trợ giải toán bất đẳng thức
Người dùng nhấn 7 Nhấn phím enter rtbBaiGiai_Key
Down Enter để sang bước trong editor giải bài
giải mới sau khi kết tập
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.
Click vào điều khiển Click chuột vào nút btnBuocGiaiTie
p_Click btnQuayLui này hiển thị bước giải
tiếp theo trong đáp
8 Click chuột vào mục Người dùng nhấn mucLuuBaiGiai.
Click phím phải chọn mục Lưu bài giải
Lưu bài giải trong khi
đang giải hoặc sau khi
giải xong.
9 Click chọn mục Người dùng nhấn phải mucImportBaiGi
ai.Click vào edior bài giải và Import bài giải
chọn mục Import bài
giải để import một bài
59
giải từ file vào edior
Phần mềm hỗ trợ giải toán bất đẳng thức
10 Click chọn mục Người dùng nhấn phải mucExportBaiGi
ai.Click vào edior bài giải và Import bài giải
chọn mục Export bài
giải để export một bài
giải ra file
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
lvDSBaiGiai ListView ListView chứa danh sách các bài giải 1
của bài tập được chọn.
rtbNoiDung RichTextBox Chứa nội dung của bài giải được 2
chọn
rtbNhanXet RichTextBox Chứa nhận xét về bài giải 3
60
btnPrint Button Chức năng in bài giải ra giấy 4
Phần mềm hỗ trợ giải toán bất đẳng thức
1-lvDSBaiGiai
2-rtbNoiDung
3-rtbNhanXet
4-btnPrint
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 Người dùng click
bài giải chọn bài giải cần xem lvDSBaiGiai_SelectedInd
exChanged trong lvDSBaiGiai
2 Click chọn Người dùng muốn in btnPrint_Click
61
nút In bài giải ra giấy
Phần mềm hỗ trợ giải toán bất đẳng thức
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
lvDSDapAn ListView Listview chứa danh sách các đáp 1
án của bài tập được chọn.
rtbNoiDung RichTextBox Chứa nội dung đáp án được chọn 2
1-lvDSDapAn
2-rtbNoiDung
3-btnPrint
btnPrint Button Chức năng in đáp án ra giấy 3
Hình 23: Màn hình xem đáp án
62
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Người dùng click chọn lvDSDapAn_SelectedIn
dexChanged đáp án cần đáp án cần xem trong
xem lvDSDapAn
2 Click chọn Người dùng muốn in đáp btnPrint_Click
nút In án ra giấy
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
63
học lý thuyết.
Phần mềm hỗ trợ giải toán bất đẳng thức
2- toolBarBaiHoc
1- rtbNoiDung
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 Người dùng muốn toolBar1_ButtonClick
64
nút In in bài học ra giấy
Phần mềm hỗ trợ giải toán bất đẳng thức
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
65
- Xóa bài tập.
Phần mềm hỗ trợ giải toán bất đẳng thức
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
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ề
66
chương trình.
Phần mềm hỗ trợ giải toán bất đẳng thức
1-tabControlLopDoiTuong
9- mainMenu
4- tabPageSacBaiHoc
2- panel: khung đặt màn hình con
3- tabPageSacBaiTap
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 Người dùng chọn loại đối tabControlLopD
oiTuong_Select đối tượng tượng (bài học hoặc lý
edIndexChanged thuyết) bằng cách click vào
tab tương ứng
2 Click chọn tab Người dùng click chọn bài tabctrlSachBai
Tap_SelectedIn Sách bài tập tập trong tab Sách bài tập
67
dexChanged
Phần mềm hỗ trợ giải toán bất đẳng thức
3 Click vào mục Người dùng click phải vào mniBaiHoc_Soan
Moi_Click phần màn hình thể hiện sách Soạn mới bài
bài học và chọn mục Soạn học.
mới bài học trong thực đơn
4 Click vào mục Người dùng click phải vào mniBaiTap_Soan
DapAn_Click một bài tập và chọn mục Soạn đáp án
Soạn đáp án trong thực đơn
Người dùng click phải vào 5 Click vào mục mniBaiTap_Them
_Click phần màn hình thể hiện sách Thêm bài tập
bài tập và chọn mục Thêm mới.
mới bài tập trong thực đơn
6 Click vào mục Người dùng nhấp phải trên mniThemSachBT_
Click danh sách các sách bài tập Thêm sách mới
và chọn mục Thêm sách
mới
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
68
học
Phần mềm hỗ trợ giải toán bất đẳng thức
1-toolBarDinhDang
3- cmSoanLyThuyet
2- rtbLyThuyet
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ý
Chọn mục lưu bài Chọn mục Lưu 1 cmiLuuBaiSoan_Click
soan bài học vừa soạn
Chọn mục export Chọn mục 2 cmiExport_Click
bài soạn Export bài học
Chọn mục in bài In bài soạn ra 3 cmiIn_Click
69
soạn giấy
Phần mềm hỗ trợ giải toán bất đẳng thức
4 Chọn mục đọc từ Đọc file bài học cmiDocFile_Click
file có sẵn từ file
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
cbDoKho ComboBox Mức độ khó của một bài tập 1
txtThoiGianLamBai TextBox Thời gian được tính bằng phút 2
txtDeBai TextBox Nội dung của đề bài 3
btnDocFile Button Đọc đề bài từ file 4
btnLuuBT Button Lưu bài tập lên CSDL 5
btnExport Button Export bài tập ra file 6
btnPhatSinh Button Phát sinh đề bài 7
cmBaiTap ContextMenu Thực đơn chứa các mục : 8
- Đọc từ file
- Lưu bài soạn
70
- Export
Phần mềm hỗ trợ giải toán bất đẳng thức
1- cbDoKho
2-txtThoiGianLamBai
8- cmBaiTap
3- txtDeBai
7- btnPhatSinh
4- btnDocFile
6- btnLuu
5- btnExport
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ý
Chọn mục Export 1
cmiExport_Click bài tập
2 Click button
Export
3 Chọn mục Lưu Chọn mục Lưu bài
cmiLuuBT_Click bài tập tập mới soạn
71
4 Click button Luu
Phần mềm hỗ trợ giải toán bất đẳng thức
Chọn độ khó của Chọn độ khó của 5 cbDoKho_SelectionC
hangeCommitted bài tập soạn bài tập
Gõ vào nội dung Nội dung đề bài 6 txtDeBai_KeyPress đề bài thay đổi
Gõ vào ô thời Thời gian làm bài 7 txtThoiGianLamBai_
gian làm bài đã thay đổi KeyDown
Chọn mục Đọc Thay vì phải gõ ta 8
file đề bài chọn đọc từ một
file đề bài tập có cmiExport_Click sẵn
9 Click button Đọc Đọc bài tập từ file
file
10 Click button Phát Phát sinh đề bài btnPhatSinhDe_Clic
sinh đề tập 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
txtDeBai TextBox Đề bài tập 1
txtDapAn TextBox Bài giải đáp án 2
lvDapAn ListView Danh sách các đáp án của bài tập 3
Các btnKhungBuocGiai Button Chứa khung của các loại bước 4
72
giải
Phần mềm hỗ trợ giải toán bất đẳng thức
5 cmDapAn ContextMe Thực đơn chứa các mục:
nu - 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
73
Phần mềm hỗ trợ giải toán bất đẳng thức
1.9.2 Danh sách các biến cố
STT Biến cố Diễn giải Xử lý
Chọn mục Người dùng muốn 1 cmiExport_Click
Export đáp án export đáp án ra file
Chọn mục In Người dùng muốn 2 cmiIn_Click
in đáp án ra giấy
Chọn mục Lưu Người dùng nhấp 3 cmiLuuBaiSoan_Click
bài soạn phải chọn Lưu bài
soạn
Người dùng muốn 4 Chọn mục cmiThemMoi_Click
thêm một đáp án Thêm đáp án
mới của bài tập mới
Chọn mục Người dùng muốn 5 cmiNhapTuFile_Click
Nhập từ file nhập đáp án từ file
Click chọn nút Người dùng muốn 6 btnQuayLui_Click
Quay lui quay lại bước giải
trước đó
7 Nhấn phím Người dùng gõ vào txtDapAn_KeyPress
trong txtDapAn
74
txtDapAn
Phần mềm hỗ trợ giải toán bất đẳng thức
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
Các label Label 1
txtDiemToiDa TextBox Điểm tối đa của một 2
bài giải
txtDiemCongBDTTG TextBox Điểm cộng cho việc 3
chứng minh một bất
đẳng thức trung gian
txtDiemTruBDSai TextBox Điểm trừ cho một biến 4
đổi sai
txtDiemTruXemBG TextBox Điểm trừ một lần xem 5
bước giải tiếp
btnExport Button Export quy định ra file 6
để gửi cho phân hệ
học sinh
btnKetThuc Button Nhấn nút này để kết 7
thúc soạn
Các groupbox để gom 8
75
nhóm
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Chọn chức năng btnKetThuc_Click
Kết thúc thoát
2 Click vào nút Chọn chức năng btnExport_Click
Export export quy định ra
file
3 Gõ vào Gõ vào điểm tối đa txtDiemToiDa_KeyPres
s txtDiemToiDa
4 Gõ vào Gõ vào điểm cộng txtDiemCongBDTTG_Key
Press txtĐiemCongB cho một bất đẳng
DTTG thức trung gian
5 Gõ vào Gõ vào điểm trừ txtDiemTruBDSai_KeyP
ress txtDiemTruBD cho một biến đổi sai
76
Sai
Phần mềm hỗ trợ giải toán bất đẳng thức
Gõ vào điểm trừ 6 Gõ vào txtDiemTruXemBG_KeyP
ress cho một lần xem txtDiemTruXe
bước giải tiếp mBG
7 Di chuột trên btnExport_MouseHover
btnExport
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
lbTenSachDeBai Label 1
txtTenSach TextBox Ô để gõ vào tên sách mới 2
btnThem Button Nhấn nút này để cập nhật 3
sách mới
btnKetThuc Button Nhấn nút này để kết thúc 4
thêm sách.
Hình 30: Màn hình thêm sách bài tập
77
Phần mềm hỗ trợ giải toán bất đẳng thức
1.11.2 Danh sách các biến cố
STT Biến cố Diễn giải Xử lý
Click vào nút Kết Click vào button 1 btnKetThuc_Click
thúc Kết thúc
Click vào nút Thêm Click vào button 2 btnThem_Click
Thêm
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
Khai báo các biến cố cho Edior đề 1 KhaiBaoBienCo()
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
78
Kiểm tra một bước giải mới được 3 KiemTraBuocGiaiMoi()
Phần mềm hỗ trợ giải toán bất đẳng thức
nhập vào
Lấy bước giải trước bước giải hiện 4 LayBuocGiaiTruoc()
hành
Lấy thứ tự của một bước giải được 5 LayThuTuBuocGiaiDanhSo
() đánh số nào đó trong bài giải
Lấy bước giải được đánh số 6 LayBuocGiaiDanhSo()
Xử lí một bước giải mới đựơc nhập 7 XuLiBuocGiai()
vào
Các xử lí tương ứng nếu bước giải là 8 XuLiBuocGiaiDung()
đúng
Lấy số bước giải hiện thời của bài giải 9 LaySoBuocGiai()
Chấm điểm tự động cho bài giải 10 ChamDiem()
Các xử lý tương ứng khi có biến cố 11 KetThucBaiGiai()
kết thúc bài giải
Thêm bước giải mới vào bài giải 12 ThemBuocGiai
Xóa bước giải ở một vị trí nào đó 13 XoaBuocGiai()
trong bài giải
14 Đánh số cho một bứơc giải nào đó. DanhSoBuocGiai
Qui ước đánh số theo thứ tự tăng dần
15 Quay lui một số bước nào đó trong bài QuayLui(int)
giải
Lưu bài giải vào cơ sở dữ liệu 16 LuuBaiGiai()
Hàm xử lí cho biến cố chọn chức năng 17 ChonMucLuuBaiGiai
79
lưu bài giải
Phần mềm hỗ trợ giải toán bất đẳng thức
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
Phân tích một chuỗi truyền vào theo 1 PhanTich(string)
dạng biểu thức
So sánh biểu thức với một biểu thức 2 BangNhau(CBieuThuc)
khác
Kiểm tra 2 biểu thức có đối nhau 3 DoiNhau(CBieuThuc)
Chuyển một biểu thức bất kỳ thành 4 ChuyenThanhTongToiGia
n() 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
Chuyển biểu thức đang xét thành biểu 6 ChuyenThanhBieuThucTi
ch() thức tích
Lũy thừa biểu thức theo một số mũ nào 7 LuyThua(int)
đó
Đổi dấu của biểu thức 8 DoiDauBieuThuc()
Lấy nghịch đảo của biểu thức 9 NghichDao()
Cộng biểu thức với một biểu thức khác 10 Cong(CBieuThuc)
80
Trừ biểu thức cho một biểu thức khác 11 Tru(CBieuThuc)
Phần mềm hỗ trợ giải toán bất đẳng thức
12 Nhân biểu thức với một biểu thức Nhan(CBieuThuc)
13 Chia biểu thức cho một biểu thức Chia(CBieuThuc)
14 Xét dấu của biểu thức XetDau()
15 NhanDonGian()
Nhân và khai triển biểu thức đang xét 16 NhanKhaiTrien(CbieuTh
uc) với một biểu thức khác
17 Rút gọn biểu thức RutGonBieuThuc()
18 Sắp xếp biểu thức theo thứ tự quy ước SapXepBieuThuc()
19 Bỏ các phần tử thừa trong biểu thức BoPhanTuThua()
Vd : a+b+0 (cid:198) a+b
20 Lấy biểu thức dưới dạng chuỗi LayChuoi()
21 So sánh thứ tự của hai biểu thức theo SoSanhThuTu(CBieuThuc
) chuẩn đã qui ước
22 Trả về một thứ tự cuả biểu thức trong ThuTuSap()
bảng thứ tự qui ước
23 Thực hiện phép chia theo nguyên tắc ChiaBT(CBieuThuc)
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
81
mức tối đa
Phần mềm hỗ trợ giải toán bất đẳng thức
2.1.1.3 Lớp CBatDangThuc
STT Hàm xử lý Ý nghĩa
1 Khởi tao bất đẳng thức từ KhoiTao(string)
một chuỗi truyền vào
2 Kiểm tra bất đẳng thức TuongDuong(CBatDangThuc)
đang xét có tương đương
với một bất đẳng thức khác
không
3 Kiểm tra bất đẳng thức LaBatDangThucDung()
đ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
Đổi chiều bất đẳng thức 6 DoiChieu()
Đổi dấu và chiều của bất 7 DoiDauVaChieu()
đẳng thức
Kiểm tra bất đẳng thức 8 SuyRaDuocTu(CBatDangThuc)
đang xét có thể suy ra được
82
từ một bất đẳng thức khác
Phần mềm hỗ trợ giải toán bất đẳng thức
hay không
9 Tạo một bất đẳng thức mới BacCau(CBatDangThuc)
( 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 (cid:198) a>c
10 Kiểm tra xem có thể áp ThoaTinhBacCau(CBatDangThuc
) dụng tính bắc cầu cho 2 bất
đẳng thức không
11 Kiểm tra bất đẳng thức TuongUng(CBatDangThuc)
đang xét có giống với một
bất đẳng thức khác
Thay thế một biểu thức con 12 ThayTheBieuThuc(CBieuThuc,C
BieuThuc) 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
83
bước giải
Phần mềm hỗ trợ giải toán bất đẳng thức
Đây là hàm ảo, 3 KiemTraBuocGiai() Kiểm tra bước giải đang
sẽ được cài trễ ở xét có phải là bước giải
các lớp tương đú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
Hàm đọc nội dung tập tin, trả về 1 DocNoiDungFile(string
tenfile) một chuỗi
Ghi một chuỗi lên file 2 GhiLenFile(string)
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
Phân loại một biểu thức truyền vào dưới 1 PhanLoaiBieuThuc
(string) dạng chuỗi
Khởi tạo một biểu thức từ chuỗi) 2 KhoiTaoBieuThuc(
string)
Bỏ các dấu ngoăc thừa trong chuỗi biểu diễn 3 BoNgoacThua(stri
84
ng) một biểu thức
Phần mềm hỗ trợ giải toán bất đẳng thức
Đếm số ngoặc mở so với một vị trí nào đó 4 DemSoNgoacMo
trong chuỗi biểu diễn biểu thức
Đếm số ngoặc đóng so với một vị trí nào đó 5 DemSoNgoacDong
trong chuỗi biểu diễn biểu thức
Đếm số ngoặc phía bên trái của một toán tử 6 DemSoNgoacTrai
Đếm số ngoặc phía bên phải của một toán tử 7 DemSoNgoacPhai
Đếm số ngoặc phía bên trái và phải của một 8 DemSoNgoac
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
Hoán vị 2 biểu thức cho nhau 10 HoanVi(CBieuThuc
,CBieuThuc)
2.1.2.3 Lớp BuocGiai
STT Hàm xử lý Ý nghĩa
Phân tích một chuỗi truyền vào thành 2 1 PhanTichBuocGiai(st
ring) phần:
- Nội dung bước giải
- Kí hiệu của bước giải (nếu có)
Phân loại một bước giải truyền vào dưới 2 PhanLoaiBuocGiai(st
ring) dạng chuỗi
Khởi tạo một bước giải từ chuỗi 3 KhoiTaoBuocGiai(str
ing)
85
4 LayDanhSachBuocGiai Phân tích một bài giải dạng chuỗi thành
Phần mềm hỗ trợ giải toán bất đẳng thức
danh sách các bước giải (baigiai)
Đọc chuỗi bất đẳng thức trong bước giải 5 LayChuoiBDTTuBuocGi
ai
2.1.2.4 Lớp TapLenh
STT Hàm xử lý Ý nghĩa
1 Phân tích đề bài truyền vào PhanTichDeBai(string)
thành các phần:
- Bất đẳng thức đề bài
- Danh sách các điều kiện.
Kiểm tra một chuỗi có theo 2 CuPhapHopLe(string
maucuphap, string chuoi) đúng dạng của mẫu cú pháp
hay không
3 LayCacGiaTriCuaNhom(string,
86
string,string)
Phần mềm hỗ trợ giải toán bất đẳng thức
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
Khởi tạo menu chính cho 1 KhoiTaoMenu()
phân hệ học sinh
Mở màn hình nhận gửi mail 2 mnCNP_Email_Click(Object
sender, System.EventArgs e) để giao tiếp giữa học sinh và
giáo viên.
Thoát khỏi chương trình 4 mnThoat_Click(Object
sender,System.EventArgs e)
Mở Help hướng dẫn sử dụng. 5 mnGD_HuongDan_Click(Object
sender, System.EventArgs e)
Hiển thị màn hình giới thiệu. 6 mnGD_GioiThieu_Click(Object
sender,System.EventArgs e)
Thực hiện việc chọn sách bài 7 tabctrlSachBaiTap_Selection
Changed(object sender, tập tương ứng làm sách hiện
System.EventArgs e) hành.
8 Hiển thị nội dung bài học tvNoiDungSachBaiHoc_AfterSe
lect(object sender, được chọn.
System.Windows.Forms.TreeVi
ewEventArgs e)
87
9 Hiển thị màn hình tương ứng DoiManHinhCon(Control
Phần mềm hỗ trợ giải toán bất đẳng thức
với yêu cầu. control)
Hiển thị màn hình Thêm sách 10 mniThemSachBT_Click(object
sender, System.EventArgs e) để thêm sách bài tập
11 Thực hiện việc chọn loại đối ChonLoaiDoiTuong()
tượng (là sách bài tập hay
sách bài học)
Gọi hàm Chọn loại đối tượng 12 tabControlLopDoiTuong_Selec
tionChanged(object sender, để chọn loại đối tượng tương
System.EventArgs e) ứng
2.2.1.2 Lớp MH_GiaiBT
STT Hàm xử lý Ý nghĩa
Khởi tạo màn hình giải bài tập KhoiTaoManHinhTheoBaiTap
(CBaiTap baiTap) tương ứng với các thông tin của
bài tập được chọn
Khởi tạo đồng hồ để canh giờ 1 TaoMoiDongHo(int
thoiGianBatDau) giải bài tập.
Thiết lập trạng thái của các đối 3 ThietLapTrangThaiManHinh
_1(bool bDangGiai) tượng giao diện trên màn hình
phù hợp với từng thời điểm
2 Thiết lập trạng thái của các đối ThietLapTrangThaiManHinh
_2(bool bGiaiTheoDapAn) tượng trên màn hình khi người
88
dùng chuyển đổi giữa 2 loại bài
Phần mềm hỗ trợ giải toán bất đẳng thức
giải (giải tự do và giải theo đáp
án)
Hàm xử lý cho biến cố phát sinh 4 DongHo_Tick(object
sender, System.EventArgs của đồng hồ ( đếm thời gian lên
e) 1s)
Hàm xử lý cho biến cố người 5 ckTrangThai_CheckedChang
ed(object sender, dùng nhấn vào nút để bắt đầu
System.EventArgs e) hay tạm ngưng việc giải bài tập
(cid:198)thiết lập trạng thái màn hình
thích hợp.
Hàm xử lý biến cố chuyển đổi 6 tabBaiGiai_SelectedIndex
Changed(object sender, qua lại giữa các chế độ giải (Giải
System.EventArgs e) theo đáp án và Giải tự do)
7 Thực hiện việc chuyển đổi bài ChuyenDoiBaiGiai(bool
DapAn_TuDo) giải hiện hành từ chế độ giải tự
do sang giải theo đáp án hay
ngược lại.
Đặt khung bước giải được chọn 8 btnKhungBuocGiai_Click(o
bject sender, vào ô bài giải.
System.EventArgs e)
Bật hoặc tắt chế độ kiểm tra từng 10 ckKiemTraTungBuoc_Checke
dChanged(object sender, bước giải.
System.EventArgs e)
11 Kiểm tra toàn bộ bài giải btnKiemTraBaiGiai_Click(
89
object sender,
Phần mềm hỗ trợ giải toán bất đẳng thức
System.EventArgs e)
Hiển thị gợi ý cho bước giải kế 12 ckXemGoiY_CheckedChanged
(object sender, tiếp trong bài giải theo đáp án.
System.EventArgs e)
Hiển thị bước giải kế tiếp trong 13 btnBuocGiaiTiep_Click(ob
ject sender, đáp án khi người dùng chọn giải
System.EventArgs e) theo đáp án
Quay lui đến một bước giải trước 14 btnQuayLui_Click(object
sender, System.EventArgs đó
e)
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.
Tạo danh mục các bài giải của 2 TaoDanhMucBaiGiai(CBaiTap
baitap) bài tập truyền vào.
Lấy bài giải hiện hành. 3 BaiGiaiDuocChon()
Hàm xử lý biến cố chọn một bài 4 ChonBaiGiai(object
sender, System.EventArgs giải trong danh sách bài giải (cid:198)
e) hiển thị nội dung bài giải lên
90
màn hình.
Phần mềm hỗ trợ giải toán bất đẳng thức
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.
Tạo danh mục các đáp án của bài 2 TaoDanhMucDapAn(CBaiTap
baitap) tập truyền vào.
Lấy đáp án hiện hành. 3 DapAnDuocChon()
Hàm xử lý biến cố chọn đáp án 4 ChonDapAn(object
sender, trong danh sách đáp án (cid:198) hiển thị
System.EventArgs e) 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
Đọc danh sách các bài giải của bài tập 1 DocDanhMucBaiGiai()
91
Đoc danh sách các đáp án của bài tập 2 DocDanhMucDapAn()
Phần mềm hỗ trợ giải toán bất đẳng thức
Đọc bất đẳng thức trong đề bài của bài 3 LayBatDangThucDeBai()
tập
Đọc bất đẳng thức trong đề bài của bài 5 LayChuoiBatDangThucDeBai
() tập dưới dạng chuỗi
Đọc danh sách các điều kiện của đề bài 6 LayDanhSachDieuKien()
Khởi tạo bài tập 7 KhoiTao()
Hàm khởi tạo thực đơn các chức năng 8 KhoiTaoThucDon()
của của bài giải
KhaiBaoBienCoThucDon
()
Hàm xử lí biến cố chọn chức năng giải 9 ChonMucGiaiBaiTap(object
sender,EventArgs e) bài tập
Hàm xử lí biến cố chọn chức năng xem 10 ChonMucXemBaiGiai(object
sender,EventArgs e) bài giải
11 Hàm xử lí biến cố chọn chức năng xem ChonMucXemDapAn(object
sender,EventArgs e) đáp án
12 Hàm xử lí cho biến cố chọn chức năng ChonMucImportDapAn(objec
t sender,EventArgs e) import đáp án
2.2.2.2 Lớp CDapAn
STT Hàm xử lý Ý nghĩa
Tìm bước giải trong đáp án giống với 1 TimBuocGiaiTuongUng(C
92
BuocGiai) bước giải truyền vào
Phần mềm hỗ trợ giải toán bất đẳng thức
2.2.2.3 Lớp CSachBaiTap
STT Hàm xử lý Ý nghĩa
Thêm thể hiện của sách vào một điều 1 ThemSachVao(TabContro
l) khiển
Thêm một bài tập vào sách 2 ThemBaiTap(baiTap)
Khởi tạo danh mục bài tập cho sách từ 3 KhoiTaoDanhMucBaiTap(
danhsachbaitap) danh sách bài tập truyền vào
Import một bài tập được lưu trên file 4 NhapBaiTapTuFile()
Lưu thông sách bài tập vào trong cơ sở 5 LuuSach()
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
Hàm kết nối cơ sở dữ liệu 1 KetNoiCSDL()
Đọc danh sách các sách từ database 2 DocDanhMucSach()
Đọc danh sách tất cả bài tập từ cơ sở 3 DocDanhMucBaiTap()
dữ liệu
4 Đọc danh sách bài tập của một sách DocDanhMucBaiTap
(masach) nào đó từ cơ sở dữ liệu
5 Đọc danh sách bài giải của một bài tâp DocDanhMucBaiGiai
93
(mabaitap) từ cơ sở dữ liệu
Phần mềm hỗ trợ giải toán bất đẳng thức
Đọc danh sách đáp án của một bài tập 6 DocDanhMucDapAn
(mabaitap) từ cơ sở dữ liệu
Đọc các trường dữ liệu trong bảng 7 DocBangThamSo()
tham số từ cơ sở dữ liệu
Lưu các thông tin của một bài tập vào 8 LuuBaiTap(… )
cơ sở dữ liệu
Lưu các thong tin của bài giải vào cơ 9 LuuBaiGiai()
sở dữ liệu
10 Lưu các thông tin của đáp án vào cơ sở LuuDapAn()
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(cid:198)8 Các hàm từ 1(8 trong lớp
MH_HeHocSinh
Mở màn hình soạn quy định 9 mnCNP_SoanQDCD_Click(Objec
t sender,System.EventArgs chấm điểm.
e)
Thêm node mới vào cây bài học 10 void
mniBaiHoc_SoanMoi_Click(ob và để người dùng gõ vào chủ đề
94
ject sender, bài học. Mỗi bài học thuộc một
Phần mềm hỗ trợ giải toán bất đẳng thức
chương nào đó. System.EventArgs e)
Thêm node mới vào cây bài tập 11 mniBaiTap_Them_Click(objec
t sender, System.EventArgs và hiển thị màn hình soạn bài
e) tập.
Hiển thị màn hình soạn đáp án 12 mniBaiTap_SoanDapAn_Click(
object sender, cho bài tập được chọn.
System.EventArgs e)
13 Hiển thị màn hình tương ứng ThemManHinhMoi(UserControl
mh) với yêu cầu.
14 Hiển thị màn hình soạn bài học tvNoiDungSachBaiHoc_AfterL
abelEdit(object sender, và chọn bài học vừa được gõ
System.Windows.Forms.NodeL chủ đề làm bài học hiện hành.
abelEditEventArgs e)
15 Hiển thị màn hình làm việc tabControlLopDoiTuong_Sele
ctionChanged(object tương ứng với đối tượng được
sender, System.EventArgs chọn.
e)
16 Nhắc nhở lưu các bài soạn nếu MH_HeGiaoVien_Closing(obje
ct sender, thoát chương trình lúc chưa
System.ComponentModel.Canc lưu.
elEventArgs e)
Thêm node mới vào cây bài học 17 mniBaiHoc_ChuongMoi_Click(
object sender, làm chương mới và để người
95
System.EventArgs e) dùng gõ vào tên chương.
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Hàm xử lý biến cố người dùng chọn cbDoKho_SelectionChange
Committed(object độ khó của bài tập trong comboBox
sender, cbDoKho. Đánh dấu bài soạn chưa
System.EventArgs e) lưu.
3 Hàm xử lý biến cố gõ phím trong txtDeBai_KeyPress(objec
t sender, phần nội dung bài tập. Đánh dấu bài
System.Windows.Forms.Ke soạn chưa lưu.
yPressEventArgs e)
4 Hàm xử lý biến cố gõ vào thời gian txtThoiGianLamBai_KeyDo
wn(object sender, làm bài. Chặn phím chỉ cho gõ kí
System.Windows.Forms.Ke số. Đánh dấu bài soạn chưa lưu.
yEventArgs e)
Hàm xử lý biến cố chọn chức năng 5 cmiDocFile_Click(object
sender, Đọc nội dung bài tập từ file.
System.EventArgs e)
Hàm xử lý biến cố chọn chức năng 6 cmiLuuBT_Click(object
sender, lưu bài tập vừa soạn.
System.EventArgs e)
Hàm xử lý biến cố chọn chức năng 7 cmiExport_Click(object
96
sender, export bài tập ra file.
Phần mềm hỗ trợ giải toán bất đẳng thức
System.EventArgs e)
8 Hàm xử lý biến cố di chuột trên cbDoKho_MouseHover(obje
ct sender, comboBox cbDoKho. Hiển thị
System.EventArgs e) tooltip giải thích.
Hàm xử lý biến cố di chuột trên 9 txtThoiGianLamBai_Mouse
Hover(object sender, comboBox cbDoKho. Hiển thị
System.EventArgs e) 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 Hiển thị NoiDung lên trên HienThiNoiDung(string
NoiDung) rtbLyThuyet.
Thực hiện việc lưu bài soạn vào cơ sở 3 cmiLuuBaiSoan_Click(ob
ject sender, dữ liệu.
System.EventArgs e)
Thực hiện việc export bài soạn lý 4 cmiExport_Click(object
sender, thuyết ra file.
System.EventArgs e)
5 Hàm xử lý biến cố chọn chức năng In cmiIn_Click(object
sender, bài học ra giấy.
System.EventArgs e)
Hiển thị nội dung lý thuyết vừa gõ 6 rtbLyThuyet_KeyPress(o
97
bject sender, vào với các định dạng được chọn.
Phần mềm hỗ trợ giải toán bất đẳng thức
System.Windows.Forms.K
eyPressEventArgs e)
Cập nhật font chữ cho nội dung lý 8 CapNhatFont()
thuyết đang được chọn.
9 Hàm xử lý biến cố chọn lại font chữ. fontComboBox_Selection
ChangeCommitted(object
sender,
System.EventArgs e)
10 Hàm xử lý biến cố chọn lại cỡ chữ. txtFontSize_KeyUp(obje
ct sender,
System.Windows.Forms.K
eyEventArgs e)
11 Xác định chức năng người dùng vừa toolBarDinhDang_Button
Click(object sender, chọn trên toolbar để xử lý cho phù
System.Windows.Forms.T hợp.
oolBarButtonClickEvent
Args e)
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.
Tạo listview chứa danh sách các 2 TaoDanhSachDapAn()
đáp án.
98
Đọc danh sách các đáp án của bài 3 DocDanhSachDapAn()
Phần mềm hỗ trợ giải toán bất đẳng thức
tập hiện hành vào listview đáp án.
Hiển thị màn hình chức các đáp án 4 HienThiManHinhDapAn()
và khung để soạn đáp án mới.
Hàm xử lý biến cố gõ phím trong 5 rtbDapAn_KeyPress(object
sender,System.Windows.Fo khung soạn đáp án. Đánh dấu bài
rms.KeyPressEventArgs e) soạn chưa lưu.
Hàm xử lý biến cố chọn chức năng 6 cmiLuuDapAn_Click(object
sender, System.EventArgs lưu bài soạn đáp án.
e)
Hàm xử lý biến cố chọn chức năng 7 cmiIn_Click(object
sender, System.EventArgs In đáp án ra giấy.
e)
Hàm xử lý biến cố chọn chức năng 8 cmiExport_Click(object
sender, System.EventArgs Export bài soạn đáp án ra file.
e)
Hàm xử lý biến cố chọn đáp án 9 lvDapAn_SelectedIndexCha
nged(object sender, trong danh sách đáp án và hiển thị
System.EventArgs e) nội dung của nó trong khung soạn
thảo.
Hàm xử lý biến cố chọn chức năng 10 cmiThemMoi_Click(object
sender, System.EventArgs thêm một đáp án mới.
99
e)
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Kết thúc việc thêm sách. - btnKetThuc_Click(object
sender, System.EventArgs e)
- btnThem_Click(object
sender, System.EventArgs e)
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.
Export quy định chấm 2 btnExport_Click(object sender,
System.EventArgs e) đ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) Chặn phím chỉ cho nhập
4 txtDiemCongBDTTG_KeyPress(obje vào chữ số.
sender, ct
System.Windows.Forms.KeyPressE
ventArgs e)
5 txtDiemTruBDSai_KeyPress(objec
100
sender, t
Phần mềm hỗ trợ giải toán bất đẳng thức
System.Windows.Forms.KeyPressE
ventArgs e)
6 txtDiemTruXemBG_KeyPress(objec
t sender,
System.Windows.Forms.KeyPressE
ventArgs e)
Hiển thị tooltip giải thích 7 void
btnExport_MouseHover(object chức năng của nút Export
sender, System.EventArgs e)
8 Thoát khỏi màn hình btnKetThuc_Click(object
sender, System.EventArgs e) 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
Lấy bất đẳng thức trong đề bài dưới 1 BatDangThucDeBai()
dạng đối tượng CBatDangThuc.
2 LayDanhSachDieuKien() Lấy danh sách các điều kiện trong đề
bài.
Lưu nội dung cùng các thuộc tính liên 3 LuuBaiTap()
quan của bài tập hiện hành.
Đọc bất đẳng thức trong đề bài của bài 5 LuuBaiTap()
tập dưới dạng chuỗi
101
6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài
Phần mềm hỗ trợ giải toán bất đẳng thức
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.
Lưu nội dung đáp án vừa soạn 2 LuuDapAn()
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
Nhờ lớp CGiaoVien thực hiện lưu bài 2 LuuLyThuyet()
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
Khởi tạo contextmenu cho đối 2 KhoiTaoMenu()
tượng CSachBaiTap.
102
Thêm một bài tập đã có nội dung 3 ThemBaiTap(BAITAP)
Phần mềm hỗ trợ giải toán bất đẳng thức
đầy đủ vào sách
4 ThemBaiTapMoi(TreeNode) Thêm một bài tập mới vào sách.
Tạo danh sách bài tập cho đối 5 TaoDanhMucBaiTap(BAITAP[
]) 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 Hàm xử lý biến cố click chọn bài ChonBaiTap(object
sender, tập trong tabpage sách bài tập
System.Windows.Forms.Tre
eViewEventArgs e)
7 Điều chỉnh contextmenu của đối tvNoiDungSach_MouseDown(
object tượng CBaiTap cho phù hợp với
sender,System.Windows.Fo vị trí nhấn chuột trong danh sách
rms.MouseEventArgs e) bài tập.
8 Hàm xử lý biến cố người dùng tvNoiDungSach_AfterLabel
Edit(object sender, đã gõ xong tên của bài tập mới
System.Windows.Forms.Nod vào bằng cách ghi nhận lại tên
eLabelEditEventArgs e) này làm tên bài tập mới.
Hàm xử lý biến cố người dùng 9 ThemSachMoi(object
sender,System.EventArgs chọn chức năng Thêm sách mới
e) trong contextmenu của đối
tượng CSachBaiTap. Cho hiển
thị màn hình Thêm sách bài tập.
103
10 Hàm xử lý biến cố người dùng XoaSachBT(object
Phần mềm hỗ trợ giải toán bất đẳng thức
chọn chức năng Xóa sách bài sender,System.EventArgs
e) 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
Hàm kết nối cơ sở dữ liệu 1 KetNoiCSDL()
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 Đọc danh sách các sách từ DocDanhMucSach()
database
4 Lấy mã sách bài tập có tên là LayMaSachBT(string
TenSach) TenSach.
5 Xóa sách bài tập có tên là TenSach XoaSachBT(string
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 Ghi sách bài tập có tên là TenSach ThemSachBT(string
TenSach) vào cơ sở dữ liệu.
7 Đọc danh sách tất cả bài tập của DocDanhMucBaiTap(string
TenSach) sách bài tập có tên là TenSach từ
cơ sở dữ liệu
104
8 Lấy số bài tập hiện có trong cơ sở LaySoBaiTap()
Phần mềm hỗ trợ giải toán bất đẳng thức
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 Đọc toàn bộ bài tập trong cơ sở dữ DocToanBoBaiTap()
liệu.
11 Lưu một bài tập mới vào cơ sở dữ LuuBaiTap( tính của bài tập>) liệu. 12 Xóa tất cả bài tập trong sách đó. XoaBaiTap(int MaSach) 13 Lấy danh sách mã các bài tập hoặc LayCacMaBT() LayMaBT(string TenBT,int lấy mã của bài tập có tên và mã MaSach) sách được truyền vào. 14 Đọc nội dung của bài tập có mã LayNoiDungBaiTap(int MaBT) được truyền vào. 15 Đọc danh sách tất cả các bài giải DocBangBaiGiai() trong cơ sở dữ liệu. 16 Lưu một bài giải mới vào cơ sở dữ LuuBaiGiai( tính >) liệu. 17 Đọc danh sách đáp án của một bài LayDapAn(mabaitap) tập từ cơ sở dữ liệu 18 Đọc nội dung của một đáp án có LayNoiDungDapAn(string MaDA) mã là MaDA. 19 Lưu đáp án mới vào cơ sở dữ liệu. LuuDapAn( tính>) 105 20 Xóa tất cả đáp án của bài tập có XoaDapAn(int MaBT) Phần mềm hỗ trợ giải toán bất đẳng thức mã là MaBT. 21 Đọc tất cả danh sách bài học có DocDanhMucBaiHoc() trong cơ sở dữ liệu. 22 Đọc nội dung một bài học có chủ LayNoiDungBaiHoc(string ChuDe) đề là ChuDe. 23 Lưu một bài soạn lý thuyết mới SoanLyThuyet(string ChuDe,string NoiDung) vào cơ sở dữ liệu 24 Sửa lại nội dung của một bài học SuaLyThuyet(string ChuDe,string NoiDung) có chủ đề là ChuDe. 25 Đọc các trường dữ liệu trong bảng DocBangThamSo() tham số từ cơ sở dữ liệu 26 Lấy số biểu thức dương có trong LaySoBieuThucDuong() cơ sở dữ liệu. 27 Lấy nội dung biểu thức dương có LayBieuThucDuong(int MaBThuc) 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ô 106 hình hóa những xử lý đó trong phần này bằng các sơ đồ hoạt động chi tiết. Phần mềm hỗ trợ giải toán bất đẳng thức CBuocGiaiLoai1 CBuocGiaiLoai1 CBaiGiai CBatDangThuc Lấy bước giải cuối Kiểm tra tương
đương Bộ nhớ chính (cid:153) 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 107 đẳng thức của bước giải này có tương đương với bdt1 Phần mềm hỗ trợ giải toán bất đẳng thức (suy ra một bất đẳng thức từ bước giải trước đó) (cid:153) Thuật giải: - Tương tự như hàm kiểm tra của bước giải loại 1 ( đưa ra một bất đẳng thức đúng, được bắt đầu bằng Ta co ) (cid:153) 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. 108 - Nếu không , trả về giá trị không biết. Phần mềm hỗ trợ giải toán bất đẳng thức Bước giải loại 4 (Loại bước giải có áp dụng bất đẳng thức Cauchy) Xét dấu biểu thức Kiểm tra bước giải
đúng Kiểm tra tương
đương (cid:153) 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 109 bất đẳng thức của bước giải này có tương đương với bdt1 Phần mềm hỗ trợ giải toán bất đẳng thức ( Loại bước giải áp dụng bất đẳng thức Bunhixcopki) Xét dấu biểu thức Kiểm tra bước giải
đúng Kiểm tra tương
đương (cid:153) 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 110 đẳng thức của bước giải này có tương đương với bdt1 Phần mềm hỗ trợ giải toán bất đẳng thức ( Loại bước giải có thể suy ra từ 2 hay nhiều bước giải trước đó) ♦Cộng vế theo vế Kiểm tra bước giải
đúng ♦Kiểm tra tương
đương ♦Lấy danh sách bước
giải được đánh số Bộ nhớ chính (cid:153) 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ế 111 + Có thể suy ra nhờ nhân vế theo vế Phần mềm hỗ trợ giải toán bất đẳng thức - 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. ( 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 đó ) ♦Cộng vế theo vế Kiểm tra bước giải
đúng ♦Kiểm tra tương
đương ♦Đọc các bước giải
được đánh số trước đó Bộ nhớ chính (cid:153) 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 112 - Kiểm tra bdt có tương đương với bất đẳng thức trong bước giải đang xét Phần mềm hỗ trợ giải toán bất đẳng thức Kiểm tra bước giải
đúng ♦Nhân vế theo vế ♦Kiểm tra tương
đương ♦Đọc các bước giải
được đánh số trước đó Bộ nhớ chính 113 Phần mềm hỗ trợ giải toán bất đẳng thức Thay ẩn phụ vào và
kiểm tra trên bất
đẳng thức mới này Kiểm tra bước giải
đúng ♦Kiểm tra tương
đương ♦Đọc bước giải cuối Bộ nhớ chính 114 Phần mềm hỗ trợ giải toán bất đẳng thức Kiểm tra bước giải
đúng ♦Kiểm tra đúng Bộ nhớ chính (cid:153) 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 bất đẳng thức trong bước giải trước đó. + Là bất đẳng thức trong đề bài. 115 - Nếu thỏa, trả về giá trị Đúng. Ngược lại trả về Sai. Phần mềm hỗ trợ giải toán bất đẳng thức ♦Biến cố nhấn Enter
(Bíên kiểm tra từng
bước = true) ♦Lấy bước giải ,mới ♦Kiểm tra bước giải
mới ♦Thêm bước giải ♦Kiểm tra bước giải
đúng (1) (cid:153) Thuật giải (cid:190) Thuật giải của hàm xử lí biến cố Nhấn Enter của lớp bài giải - Lấy chuỗi bước giải mới vừa được thêm vào - Kiểm tra xem bước giải có đúng không ( thuật giải: xem mục 3.1 Kiểm tra bước giải mới của bài giải ) - Nếu đúng, thêm bước giải vào danh sách bước giải của bài giải. Nếu 116 sai xuất thông báo lỗi Phần mềm hỗ trợ giải toán bất đẳng thức Thuật giải - Khởi tạo một bước giải mới từ chuỗi truyền vào - Gọi hàm kiểm tra bước giải của lớp BuocGiai ( thuật giải: xem mục 3.1 ) (cid:153) Thuật giải - Khởi tạo một bước giải mới từ chuỗi truyền vào - So sánh bước giải này với bước giải trong đáp án xem có giống nhau - Nếu giống, trả về giá trị Đúng 117 - Ngược lại, trả về giá trị Sai Phần mềm hỗ trợ giải toán bất đẳng thức (cid:153) Sơ đồ Khởi tạo màn hình Chọn chức năng
giải bài tập Giải bài tập Khởi tạo bài giải mới
Xử lý biến cố nhấn Enter Đọc đáp án Bộ nhớ phụ 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 (cid:153) Thuật giải (cid:190) Thuật giải cho chức năng giải bài tập - Khởi tạo màn hình giải bài tập - Khởi tạo 2 loại bài giải: tự do và đáp án cho bài tập 118 - Đọc các đáp án của bài tập Phần mềm hỗ trợ giải toán bất đẳng thức (cid:153) Sơ đồ ♦Đổi từ giải tự do sang
giải theo đáp án ♦Đổi lại trạng thái màn
hình ♦Đổi từ giải theo đáp
án sang giải tự do ♦Ghi nhận bài giải ♦Tạo bài giải mới
♦Ghi nhận lại chế độ giải
mới ♦Tạo bài giải mới
♦Ghi nhận lại chế độ giải
mới ♦Chép thông tin của bài
giải tự do ♦Chép thông tin của bài
giải theo đáp án ♦Đọc bước giải đáp án ♦Tìm bước giải trùng đáp
án Bộ nhớ chính (cid:153) Thuật giải (cid:190) Thuật giải đổi từ giải sang đáp án sang giải tự do 119 - Khởi tạo một bài giải tự do mới Phần mềm hỗ trợ giải toán bất đẳng thức - Chép toàn bộ nội dung bài giải theo đáp án sang bài giải tự do (cid:190) Thuật giải đổi từ giải tự do sang giải theo đáp án - Khởi tạo bài giải theo đáp án của bài tập đang giải - Tìm bước giải cuối cùng trong bài giải tự do giống với một bước giải nào đó trong đáp án - Nếu tìm thấy, chép các bước giải từ bước giải đầu tiên đến bước giải tìm thấy vào bài giải trong đáp án. Đánh dấu vị trí bước giải trong đáp án (cid:153) Sơ đồ Biến cố lưu bài giải Lưu bài giải Lưu bài giải Lưu bài giải Bộ nhớ phụ 120 Phần mềm hỗ trợ giải toán bất đẳng thức (cid:153) Thuật giải - Gọi hàm lưu bài giải của các lớp như sau CBaiGiai:LuuBaiGiai (cid:198) CGiaoVien:LuuBaiGiai (cid:198) CSDL:LuuBaiGiai Biến cố lưu bài soạn Lưu lý thuyết - Soạn lý thuyết
- Sửa lý thuyết - Kiểm tra chủ đề đã có
chưa
- Lưu lý thuyết Bộ nhớ phụ 121 Phần mềm hỗ trợ giải toán bất đẳng thức Biến cố lưu bài tập Lưu bài tập Kiểm tra đề bài hợp
lệ Lưu bài tập Lưu bài tập Bộ nhớ phụ 122 Phần mềm hỗ trợ giải toán bất đẳng thức Biến cố lưu đáp án Kiểm tra bước giải
đúng Lưu đáp án Lưu đáp án Lưu đáp án Bộ nhớ phụ 123 Phần mềm hỗ trợ giải toán bất đẳng thức (cid:153) Sơ đồ Kết thúc bài giải Chấm điểm
Ghi nhận điểm Ghi nhận điểm Ghi nhận điểm Bộ nhớ phụ (cid:153) Thuật giải: (cid:190) Thuật giải hàm chấm điểm tự động - Đọc bảng tham số để lấy các giá trị o D1 : thang điểm tối đa 124 o D2 : Số điểm trừ khi nhắc nhở Phần mềm hỗ trợ giải toán bất đẳng thức o D3 : Số điểm cộng cho bất đẳng thức trung gian được chứng minh - Lấy các thông số sau o M1 : số lần nhắc nhở o M2 : số bất đẳng thức trung gian đã chứng minh - Phát sinh điểm dựa vào công thức sau o Nếu bài giải đã hoàn tất Gán điểm = D1 o Nếu bài giải chưa hoàn tất Gán điểm = 0 điểm = điểm - D1*M1 + D2*M2 o Nếu điểm > 10 (cid:198) điểm =10 125 o Nếu điểm < 0 (cid:198) điểm = 0 Phần mềm hỗ trợ giải toán bất đẳng thức Phiên bản này đã thực hiện xong các chức năng nghiệp được mô tả trong phần II (cid:153) Về chức năng giải bài tập: - Có thể thực hiện các phép biến đổi tương đương trên bất đẳng thức. Trong đó o Mức độ biểu diễn biểu thức (cid:131) Biểu thức thức chứa số biến không giới hạn (cid:131) Chứa các toán tử +, - , *, / , ( , ‘)’ (cid:131) Có thể chứa ngoặc lồng nhau (cid:131) Có thể có các hàm: hàm căn ( bậc không giới hạn), hàm lũy thừa ( số mũ không giới hạn) (cid:131) 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 o Khả năng kiểm tra các biến đổi tương đương (cid:131) Biến đổi các biểu thức ở 2 vế (khai triển, rút gọn ) (cid:131) Cộng hai vế cùng một biểu thức bất kỳ 126 (cid:131) Nhân 2 vế với cùng một biểu thức Phần mềm hỗ trợ giải toán bất đẳng thức - Có thể áp dụng các bất đẳng thức Cauchy, Bunhiaxcopki trong quá trình giải - Có thể suy ra bất đẳng thức mới từ 2 bất đẳng thức dựa vào tính bắc cầu, cộng vế, nhân vế 2 bất đẳng thức - Cho phép đặt ẩn phụ - Cho phép chứng minh bất đẳng thức trung gian và áp dụng để chứng minh bất đẳng thức khác (cid:153) Về chức năng soạn đáp án: tương tự như giải bài tập Khi chọn chức năng giải bài tập với chế độ giải kiểm tra từng bước. Khi nhấn Enter thì ứng với bước giải nhập vào tại vị trí con nháy chương trình sẽ phân tích và thông báo kết quả kiểm tra. Các trường hợp kiểm tra được mô tả trong bảng sau Thông báo Xử lý STT Các trường hợp kiểm tra bước giải nhập vào 1 Nếu kiểm tra bước Không có thông báo Cho phép xuống giải hoàn toàn đúng hàng để nhập bước giải tiếp và đổi màu dòng đó 127 2 Nếu bước giải Thông báo ‘Bước giải Không cho phép Phần mềm hỗ trợ giải toán bất đẳng thức không hợp lệ không hợp lệ ‘ xuống hàng Thông báo ‘Biểu thức nt 3 Nếu bước giải áp dụng Cauchy, X không phải biểu nhưng có một biểu thức không âm’ thức X không thỏa điều kiện là biểu thức không âm Nếu chọn 4 Nếu không kiểm tra Thông báo ’Không ‘Không’: không được bước giải ( kiểm tra được bước cho phép xuống giải này. Bạn có hàng muốn tiếp tục với bước giải này không’ Nếu chọn ‘Có’: cho phép xuống hàng, nhưng lưu vết để biết bài giải này có bước giải không kiểm tra 128 được Phần mềm hỗ trợ giải toán bất đẳng thức Sau đây là một số bài tập mẫu để chạy thử chương trình Test Đề bài 1 CMR x4+y4>=xy3+x3y 2 CMR a+b+c>=R2(ab)+R2(bc)+R2(ca) voi a>=0,b>=0,c>=0 3 CMR 4a2b2+4b2c2+4a2c2>=a2(b+c)2+b2(a+c)2+c2(a+b)2 4 CMR a+1/(b(a-b))>=3 voi a>0,b>0,a>b 5 CMR y(1/x+1/z)+1/y(x+z)<=(1/x+1/z)(x+z) voi x>0,y>0,z>0,x<=y,x<=z,y<=z Sau đây là các bài giải mẫu chúng tôi đã chạy thử Test 1: CMR x4+y4>=xy3+x3y Bước Nội dung bước giải 0 x4+y4>=xy3+x3y (1) 1 <=> x4+y4-xy3-x3y>=0 (2) 2 <=>x3x-y)-y3(x-y)>=0 (3) 3 <=>(x-y)(x3-y3)>=0 (4) 129 4 <=>(x-y)2(x2+xy+y2) >=0 (5) Phần mềm hỗ trợ giải toán bất đẳng thức <=>(x-y)2((x+y/2)2+3y24)>=0 (6) 5 (6) dung (7) vay (1) dung Test 2: CMR a+b+c>=R2(ab)+R2(bc)+R2(ca) voi a>=0,b>=0,c>=0 Bước Nội dung 0 CMR a+b+c>=R2(ab)+R2(bc)+R2(ca) voi a>=0,b>=0,c>=0 (1) ADC a,b ta duoc (a+b)/2>=R2(ab) (2) 1 ADC b,c ta duoc (b+c)/2>=R2(bc) (3) 2 ADC c,a ta duoc (c+a)/2>=R2(ca) (4) 3 Cong ve (2),(3),(4) ta duoc 4 (a+b)/(2)+(b+c)/(2)+(c+a)/(2)>=R2(ab)+R2(bc)+R2(ac) (5) 130 <=>a+b+c>=R2(ab)+R2(bc)+R2(ca) dpcm 5 Phần mềm hỗ trợ giải toán bất đẳng thức Test 3: CMR 4a2b2+4b2c2+4a2c2>=a2(b+c)2+b2(a+c)2+c2(a+b)2 Bước Nội dung 0 4a2b2+4b2c2+4a2c2>=a2(b+c)2+b2(a+c)2+c2(a+b)2 (1) 1 ADB (a,b),(a,c) ta duoc (a2+a2)(b2+c2)>=(ab+ac)2 (2) 2 ADB (b,a),(b,c) ta duoc (b2+b2)(a2+c2)>=(ba+bc)2 (3) 3 ADB (c,a),(c,b) ta duoc (c2+c2)(a2+b2)>=(ca+cb)2 (4) 4 Cong ve 2,3,4 ta duoc
2a2(b2+c2)+(a2+c2)2b2+(a2+b2)2c2>=(ab+ac)2+(ab+bc)2+(ac+bc)2 (5) 131 5 <=>4a2b2+4b2c2+4a2c2>=a2(b+c)2+b2(a+c)2+c2(a+b)2 (dpcm) Phần mềm hỗ trợ giải toán bất đẳng thức Luận văn đã xây dựng khá thành công một chương trình hỗ trợ việc dạy và học bất đẳng thức. Trong chương trình chúng tôi sử dụng qui trình công nghệ phần mềm hướng đối tượng, theo mô hình ba lớp. Chúng tôi cũng đã kết hợp được các công việc hàng ngày trên máy tính với việc giải toán như gửi thư điện tử (email) để hỏi và chấm bài ngay trong chương trình, bên cạnh đó chúng tôi cũng cố gắng chuẩn hóa tối đa các thao tác trong chương trình so với các thao tác trong các chương trình ứng dụng quen thuộc trên máy tính như các thao tác chọn font, canh lề, chọn kiểu chữ rất giống MS Word để cung cấp cho người dùng một giao diện thân thiện, dễ sử dụng. Đồng thời, chúng tôi cũng đã cố gắng biểu diễn các kí hiệu toán học (các số mũ, dấu căn) một cách tự nhiên nhất sao cho gần giống với cách biểu diễn trong thế giới thực. Tuy chưa thể so sánh với một phần mềm hỗ trợ giải toán mang tính thương mại trên thế giới, chưa có khả năng giải bài toán một cách tự động và chưa hỗ trợ chứng minh bất đẳng thức bằng tất cả các phương pháp, nhưng với việc cung cấp cho người dùng một hệ thống công cụ tương đối hiệu quả và các gợi ý, kiểm tra qua từng bước biến đổi giúp cho họ có một cái nhìn tổng quan về bài toán và sự thuận tiện khi thực hiện công việc nên chương trình hoàn toàn có thể áp dụng vào thực tế. Chương trình có khả năng mở rộng thành một hệ thống lớn hỗ trợ nhiều phương pháp giải hơn cho bài toán bất đẳng thức, đồng thời có thể kết hợp hỗ trợ việc dạy và học các môn học thuộc nhiều cấp bậc khác nhau từ tiểu học cho tới trung học phổ thông, và các ứng dụng trong việc đào tạo từ xa, đây chính là 132 hướng nghiên cứu mà chúng tôi sẽ tập trung trong tương lai. Chúng tôi hy vọng Phần mềm hỗ trợ giải toán bất đẳng thức rằng, đề tài này sẽ nhận được nhiều sự quan tâm của các nhà nghiên cứu bởi một chương trình trên máy tính luôn có ý nghĩa khi nó phục vụ con người nhất 133 là phục vụ trong lĩnh vực giáo dục Phần mềm hỗ trợ giải toán bất đẳng thức Bảng này mô tả một số kí hiệu được sử dụng để đặc tả các cú pháp ( tham khảo thêm trong Microsoft Visual Studio.Net Documentation , keyword: ‘ regular expression ’ ) STT Cú pháp Diễn giải 1 . Ký tự bất kỳ 2 * Lặp 0 hoặc nhiều lần 3 + Lặp 1 hoặc nhiều lần 4 \s Khoảng trắng 5 ? Có thể có hoặc không 6 Phần mô tả ký hiệu để đặc tả cú pháp bước giải ( xem Phụ lục 1) STT Cú pháp Ý nghĩa Ví dụ 1 (cid:217) < bất đẳng thức> Bước giải biến đổi (cid:217) x^2+y>0 tương đương từ một bước giải trước đó 134 2 => < bất đẳng thức> Bước giải suy ra từ một => x^2+1>0 Phần mềm hỗ trợ giải toán bất đẳng thức bước giải trước đó 3 Ta co < bất đẳng Bước giải đưa ra một Ta co x^2+y^2>0 thức> bất đẳng thức, hoặc đẳng thức đúng ADC x,y,z ta duoc … 4 ADC ta duoc < bất đẳng đẳng thức Cauchy để thức> đưa ra một bất đẳng thức có dạng Cauchy 5 ADB ( duoc
thức> Tu (1),(2),(2) suy ra 6 Tu ( … 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 ….) Cong ve (1),(2) ta Bước giải suy ra được 7 Cong ve ( nhờ cộng vế các bất ta dưoc
đẳng thức trong các thức> bước giải được chọn trước đó) 8 Nhan ve ( 135 ta dươc
Phần mềm hỗ trợ giải toán bất đẳng thức thức> đẳng thức trong các bước giải được chọn trước đó) 9 Dat thức> thi
thức> giải trước đó … 10 Thay ( (kí số>) ta duoc
đẳng thức> Ta cm x+y^2>0 11 Ta cm
thức> thức nào đó để chứng minh trung gian 12 (vay)? ( trong bước giải nào đó dung có phải là bất đẳng thức đúng (cid:217) x^2+y >0 (dpcm) 13 (cid:217) Kiểm tra kết luận về hoặc (cid:217) dpcm điều phải chứng minh (dpcm) có đúng 136 Phần mềm hỗ trợ giải toán bất đẳng thức Để dễ cho việc phân tích thì mỗi loại bước giải cần phải có một cú pháp nhất định (thống nhất giữa giáo viên và học sinh) . Do đó cần phải quy định các từ khóa (các từ khóa này có thể được giáo viên thay đổi và cập nhật lại cho học sinh) Qui ước : ký hiệu X : từ khóa rỗng STT Từ khóa 1 Từ khóa 2 1 (cid:217) X => 2 X Ta co 3 X ADC 4 Ta duoc ADB 5 Ta duoc Tu 6 suy ra Cong ve 7 Ta duoc Nhan ve 8 Ta duoc Dat 9 Thi Thay 10 ta duoc 137 Ta cm 11 X Phần mềm hỗ trợ giải toán bất đẳng thức THỨC HIỂN NHIÊN ĐÚNG STT Điều kiện Bất đẳng thức đúng n 1 P2n ≥0 ∀ P, n∈ N Pi 2 ∀ n ∈ N ≥ 0 i 1
= 2 n Pi là các biểu thức dương Pi 3 ∀ n ∈ N ≥ 0 i 1
= 2 n 1
+ Pi ≤ 0 Pi là các biểu thức âm i 1
= và ∏ 4 P > Q P + G > Q 138 G ≥ 0 Phần mềm hỗ trợ giải toán bất đẳng thức 1 Các sơ đồ biểu điễn cú pháp bước giải Bước giải loại 1 Bước giải loại 2 Bước giải loại 3 Bước giải loại 4 Bước giải loại 5 Bước giải loại 6 Bước giải loại 7 Bước giải loại 8 Bước giải loại 9 Bước giải loại 10 Bước giải loại 11 Bước giải loại 12 Bước giải loại 13 139 Phần mềm hỗ trợ giải toán bất đẳng thức Bất đẳng
thức Khoản
g trắng thức) Khoản
g trắng Dấu
‘(cid:217)’ Ký số Đẳng
thức Bất đẳng
thức Khoản
g trắng trước đó) Khoản
g trắng Dấu
‘ >’ Ký số Đẳng
thức 140 Phần mềm hỗ trợ giải toán bất đẳng thức Bất đẳng
thức Từ khóa
( “Ta có”) Khoản
g trắng Đẳng
thức Từ khóa
(“ta Biểu
thức Khoản
g trắng Khoản
g trắng Khoản
g trắng Từ khóa
( Bất đẳng
thức Dấu
“ ” 141 Phần mềm hỗ trợ giải toán bất đẳng thức Từ khóa
(“ta Cặp
biểu Khoản
g trắng Khoản
g trắng Khoản
g trắng Từ khóa
( Bất đẳng
thức Dấu
“ ” Ký hiệu Từ khóa
(“suy ra”) trước đó đã được đánh số) Khoản
g trắng Khoảng
trắng Khoảng
trắng Từ khóa
( “Tu”) Đẳng
thức Bất đẳng
thức Dấu
“,” 142 Phần mềm hỗ trợ giải toán bất đẳng thức Ký hiệu Từ khóa
(“ta duoc”) Khoản
g trắng Khoảng
trắng Khoảng
trắng Từ khóa
( “Cong ve”) Đẳng
thức Bất đẳng
thức Dấu
“,” Ký hiệu Từ khóa
(“ta duoc”) Khoảng
trắng Khoảng
trắng Khoản
g trắng Từ khóa
( “Nhan ve”) Đẳng
thức Bất đẳng
thức Dấu
“,” 143 Phần mềm hỗ trợ giải toán bất đẳng thức Đẳng
thức Từ khóa
(“thi”) Khoảng
trắng Khoảng
trắng Khoảng
trắng Từ khóa
( “Dat”) Đẳng
thức Bất đẳng
thức Dấu “,” Kí hiệu Từ khóa
(“ta duoc”) Khoảng
trắng Khoảng
trắng Khoảng
trắng Khoảng
trắng Kí hiệu Từ khóa
( “Thay”) Bất đẳng
thức Từ
khoá(“vào”) 144 Phần mềm hỗ trợ giải toán bất đẳng thức Bất đẳng
thức Từ khóa
( “Ta Khoản
g trắng Đẳng
thức Ký hiệu Khoảng
trắng “dung” “vay” Khoảng
trắng “suy
ra” 145 Phần mềm hỗ trợ giải toán bất đẳng thức Bước giải
loại 1 Bước giải
loại 2 Bước giải
loại 3 Bước giải
loại 4 Bước giải
loại 5 Khoản
g trắng “dpcm
” Bước giải
loại 6 Bước giải
loại 7 Bước giải
loại 8 Bước giải
loại 9 Bước giải
loại 10 146 Phần mềm hỗ trợ giải toán bất đẳng thức 2 Các sơ đồ biểu diễn cú pháp biểu thức, bất đẳng thức “>” “=” Khoảng
trắng Khoảng
trắng Biểu
thức Biểu
thức “<” Thành
phần Biểu thức
tổng Biểu thức
tích Hàm luỹ
thừa Hàm căn Hàm
lượng giác 147 Phần mềm hỗ trợ giải toán bất đẳng thức “^” “-“ Ký tự Ký tự Ký số + Khoảng
trắng CBiểu
thức CBiểu
thức Khoảng
trắng 148 Phần mềm hỗ trợ giải toán bất đẳng thức * Khoảng
trắng CBiểu
thức CBiểu
thức Khoảng
trắng ‘ ( ‘ Biểu thức ‘ ) ‘ R Ký số 149 Phần mềm hỗ trợ giải toán bất đẳng thức ‘ ) ‘ ‘ ^ ‘ Biểu thức ‘ ( ‘ Ký số Khoảng
trắng Khoảng
trắng “sin” Biểu thức “cos” “(” “tg” 2.2 “cotg” 1503.1 Kiểm tra bước giải đúng
3.1.1 Bước giải loại 1 ( tương đương)
bdt=Lấy bất đẳng
thức
Kiểm tra bước giải
đúng
Hình 31: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 1
3.1.2 Bước giải loại 2
3.1.3 Bước giải loại 3
3.1.4
CbuocGiaiLoai4
CBieuThuc
CBatDangThuc
Hình 32: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 4
3.1.5 Bước giải loại 5
CbuocGiaiLoai5
CBieuThuc
CBatDangThuc
Hình 33: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 5
3.1.6 Bước giải loại 6
CBatDangThuc
CBuocGiaiLoai3
CBaiGiai
CBatDangThuc
Hình 34: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 6
3.1.7 Bước giải loại 7
CBatDangThuc
CBuocGiaiLoai3
CBaiGiai
CBatDangThuc
Hình 35: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 7
3.1.8 Bước giải loại 8 (bước giải nhân vế)
CbuocGiaiLoai8
CBatDangThuc
CBatDangThuc
CBaiGiai
Hình 36: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 8
3.1.9 Bước giải loại 9 (bước giải đặt ẩn phụ)
CbuocGiaiLoai9
CBatDangThuc
CBaiGiai
Hình 37: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 9
3.1.10 Bước giải loại 12 ( bước giải đưa ra một bất đẳng thức đúng)
CbuocGiaiLoai12
CBatDangThuc
CBaiGiai
* Lấy bước giải đánh số
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)
3.2 Xử lý biến cố nhấn Enter khi giải bài tập
Học sinh
CBaiGiai
CBaiGiai
CBaiGiai
CBuocGiai
CBaiGiai
Hình 39: Sơ đồ biểu diễn thuật toán xử lý biến cố nhấn enter khi giải bài tập
3.3 Kiểm tra bước giải mới của bài giải
3.3.1 Kiểm tra đối với bài giải tự do
3.3.2 Kiểm tra đối với bài giải theo đáp án
3.4 Xử lý biến cố chọn chức năng giải bài tập
Học sinh
MH_ChinhHS
MH_GiaiBT
CBaiGiai
CBaiTap
CDapAn
3.5 Xử lý biến cố đổi chế độ giải
Học sinh
MH_GiaiBT
MH_GiaiBT
MH_GiaiBT
CBaiGiaiDapAn
CBaiGiaiTuDo
CBaiGiai
CBaiGiaiDapAn
CBaiGiaiTuDo
CBaiGiaiDapAn
CDapAn
Hình 41: Sơ đồ biểu diễn thuật toán xử lý biến cố đổi chế độ giải
3.6 Lưu bài giải
Người dùng
MH_GiaiBT
CBaiGiai
CSDL
CGiaoVien
Hình 42: Sơ đồ biểu diễn thuật toán lưu bài giải
3.7 Lưu lý thuyết
Người dùng
MH_LyThuyet
CBaiHoc
CSDL
CGiaoVien
Hình 43: Sơ đồ biểu diễn thuật toán lưu lý thuyết
3.8 Lưu bài tập
Người dùng
MH_SoanBaiTap
TapLenh
CBaiTap
CSDL
CGiaoVien
Hình 44: Sơ đồ biểu diễn thuật toán lưu bài tập soạn
3.9 Lưu đáp án
Người dùng
MH_DapAn
CBuocGiai
CBaiGiai
CSDL
CGiaoVien
Hình 45: Sơ đồ biểu diễn thuật toán lưu đáp án
3.10 Chấm điểm
Người dùng
MH_GiaiBT
CBaiGiai
CSDL
CGiaoVien
Hình 46: Sơ đồ biểu diễn thuật toán chấm điểm
PHẦN V : THỰC HIỆN VÀ KIỂM TRA
I TÓM TẮT KẾT QUẢ THỰC HIỆN
II DỮ LIỆU THỬ NGHIỆM VÀ KIỂM TRA
PHẦN VI : TỔNG KẾT
PHẦN VII : PHỤ LỤC
I PHỤ LỤC 1: BẢNG MÔ TẢ CÁC KÍ HIỆU BIỂU DIỄN CÚ PHÁP
II PHỤ LỤC 2: BẢNG PHÂN LOẠI BƯỚC GIẢI
III
IV PHỤ LỤC 3: BẢNG TỪ KHÓA CHO BƯỚC GIẢI
V PHỤ LỤC 4: BẢNG DANH SÁCH ĐIỀU KIỆN ĐỂ CÁC BẤT ĐẲNG
∑
∏
VI PHỤ LỤC 5: SƠ ĐỒ BIỂU DIỄN CÁC CÚ PHÁP
1.1 Bước giải tổng quát
Bước giải
1.2 Bước giải loại 1 ( biến đổi tương đương một bất đẳng thức hoặc đẳng
Bước giải
loại 1
1.3 Bước giải loại 2 ( suy ra một bất đẳng thức hoặc đẳng thức từ bước giải
Bước giải
loại 1
1.4 Bước giải loại 3 ( đưa ra một bất đẳng thức hoặc đẳng thức đúng)
Bước giải
loại 3
1.5 Bước giải loại 4 (áp dụng bất đẳng thức Cauchy)
Bước giải
loại 4
1.6 Bước giải loại 5 (áp dụng bất đẳng thức Buniakovski)
Bước giải
loại 5
1.7 Bước giải loại 6 (suy ra một bất đẳng thức, đẳng thức từ các bước giải
Bước giải
loại 6
1.8 Bước giải loại 7 ( cộng vế theo vế các bất đẳng thức )
Bước giải
loại 8
1.9 Bước giải loại 8 ( nhân vế theo vế các bất đẳng thức)
Bước giải
loại 8
1.10 Bước giải loại 9 (đặt ẩn phụ)
Bước giải
loại 9
1.11 Bước giải loại 10
Bước giải
loại 10
1.12 Bước giải loại 11
Bước giải
loại 11
1.13 Bước giải loại 12
Bước giải
loại 12
1.14 Bước giải loại 13
Bước giải
loại 13
2.1 Bất đẳng thức
Bất đẳng
thức
2.2 Biểu thức
Biểu thức
2.3 Thành phần
Thành phần
2.4 Biểu thức tổng
Biểu thức
tổng
2.5 Biểu thức tích
Biểu thức
tích
2.6 Hàm căn
Hàm căn
2.7 Hàm luỹ thừa
Hàm luỹ
thừa
2.8 Hàm lượng giác
Hàm lượng
giác

