150
KHOA CNTT – ĐH KHTN TRƯỜNG ĐẠI HC KHOA HC TNHIÊN TP HCM KHOA CÔNG NGHTHÔNG TIN BMÔN CÔNG NGHPHN MM *** LUN VĂN TT NGHIP ĐỀ TÀI PHN MM HTRGII TOÁN BT ĐẲNG THC GVHD : thy Nguyn Tiến Huy SVTH : Lê Thu Thu9912700 Nguyn Bch ThuTiên 9912706 Tp HChí Minh 7-2003

Phan mem day toan bat dang thuc

Embed Size (px)

Citation preview

Page 1: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

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

Page 2: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

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,

Page 3: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

3

MỤC LỤC PHẦN I : MỞ ĐẦU......................................................................................................................................10

I GIỚI THIỆU............................................................................................................................................10 II MỤC TIÊU CỦA LUẬN VĂN ...............................................................................................................11

PHẦN II : HIỆN TRẠNG VÀ YÊU CẦU ...................................................................................................12 I KHẢO SÁT HIỆN TRẠNG ....................................................................................................................12

1 Hiện trạng tổ chức .............................................................................................................................12 2 Hiện trạng tin học ..............................................................................................................................14

2.1 Phần mềm MathBook....................................................................................................................................14 2.2 Phần mềm Matlab..........................................................................................................................................14 2.3 Phần mềm Mathematica ................................................................................................................................14

II XÁC ĐỊNH YÊU CẦU ...........................................................................................................................15 1 Bảng trách nhiệm cho các yêu cầu.....................................................................................................17 2 Danh sách các biểu mẫu ....................................................................................................................19 3 Phạm vi của đề tài..............................................................................................................................21

III PHƯƠNG ÁN THỰC HIỆN PHẦN MỀM .............................................................................................24 PHẦN III : MÔ HÌNH HÓA..........................................................................................................................25

I SƠ ĐỒ SỬ DỤNG...................................................................................................................................26 1 Sơ đồ sử dụng tổng thể .......................................................................................................................26 2 Sơ đồ sử dụng cho từng yêu cầu cụ thể ..............................................................................................27

2.1 Sơ đồ sử dụng cho yêu cầu giải bài tập .........................................................................................................28 2.2 Sơ đồ sử dụng cho yêu cầu xem lại bài giải ..................................................................................................29 2.3 Sơ đồ sử dụng cho yêu cầu xem đáp án.........................................................................................................29 2.4 Sơ đồ sử dụng cho yêu cầu xem tóm tắt lý thuyết .........................................................................................30 2.5 Sơ đồ sử dụng cho yêu cầu chấm điểm bài giải.............................................................................................30 2.6 Sơ đồ sử dụng cho yêu cầu soạn tóm tắt lý thuyết.........................................................................................31 2.7 Sơ đồ sử dụng cho yêu cầu soạn đề bài tập ...................................................................................................31 2.8 Sơ đồ sử dụng cho yêu cầu phát sinh đề bài tập ............................................................................................32 2.9 Sơ đồ sử dụng cho yêu cầu soạn đáp án ........................................................................................................32 2.10 Sơ đồ sử dụng cho yêu cầu soạn quy định chấm điểm.............................................................................33

II SƠ ĐỒ LỚP.............................................................................................................................................33 1 Danh sách các lớp đối tượng .............................................................................................................33 2 Sơ đồ lớp đối tượng............................................................................................................................35 3 Cấu trúc của biểu thức.......................................................................................................................36 4 Cấu trúc của bước giải.......................................................................................................................37

III MÔ Tả CHI TIếT CÁC LớP ĐốI TƯợNG CHÍNH................................................................................................38 PHẦN IV : THIẾT KẾ PHẦN MỀM............................................................................................................41

I THIẾT KẾ TỔNG THỂ...........................................................................................................................41 1 Thành phần xử lý................................................................................................................................41 2 Tổ chức dữ liệu...................................................................................................................................47

II THIẾT KẾ CHI TIẾT ..............................................................................................................................51 1 Diễn giải chi tiết theo từng màn hình.................................................................................................51

1.1 MH_HeHocSinh............................................................................................................................................51 1.2 MH_GiaiBT ..................................................................................................................................................55 1.3 MH_XemBaiGiai ..........................................................................................................................................60 1.4 MH_XemDapAn ...........................................................................................................................................62

Page 4: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

4

1.5 MH_XemLyThuyet .......................................................................................................................................63 1.6 MH_HeGiaoVien ..........................................................................................................................................65 1.7 MH_SoanLyThuyet.......................................................................................................................................68 1.8 MH_SoanBaiTap...........................................................................................................................................70 1.9 MH_SoanDapAn...........................................................................................................................................72 1.10 MH_SoanQDCD .....................................................................................................................................75 1.11 MH_ThemSachBT...................................................................................................................................77

2 Hệ thống hàm của các lớp đối tượng .................................................................................................78 2.1 Các lớp dùng chung.......................................................................................................................................78 2.2 Phân hệ học sinh............................................................................................................................................87 2.3 Phân hệ giáo viên ..........................................................................................................................................94

3 Sơ đồ hoạt động chi tiết và thuật giải một số xử lí ...........................................................................106 3.1 Kiểm tra bước giải đúng..............................................................................................................................107 3.2 Xử lý biến cố nhấn Enter khi giải bài tập ....................................................................................................116 3.3 Kiểm tra bước giải mới của bài giải ............................................................................................................117 3.4 Xử lý biến cố chọn chức năng giải bài tập ..................................................................................................118 3.5 Xử lý biến cố đổi chế độ giải.......................................................................................................................119 3.6 Lưu bài giải .................................................................................................................................................120 3.7 Lưu lý thuyết ...............................................................................................................................................121 3.8 Lưu bài tập ..................................................................................................................................................122 3.9 Lưu đáp án...................................................................................................................................................123 3.10 Chấm điểm ............................................................................................................................................124

PHẦN V : THỰC HIỆN VÀ KIỂM TRA .................................................................................................126 I TÓM TẮT KẾT QUẢ THỰC HIỆN .....................................................................................................126 II DỮ LIỆU THỬ NGHIỆM VÀ KIỂM TRA...........................................................................................127

PHẦN VI : TỔNG KẾT ...............................................................................................................................132 PHẦN VII : PHỤ LỤC...................................................................................................................................134

I PHỤ LỤC 1: BẢNG MÔ TẢ CÁC KÍ HIỆU BIỂU DIỄN CÚ PHÁP...................................................134 II PHỤ LỤC 2: BẢNG PHÂN LOẠI BƯỚC GIẢI ...................................................................................134 III PHỤ LỤC 3: BẢNG TỪ KHÓA CHO BƯỚC GIẢI ............................................................................137 IV PHỤ LỤC 4: BẢNG DANH SÁCH ĐIỀU KIỆN ĐỂ CÁC BẤT ĐẲNG THỨC HIỂN NHIÊN ĐÚNG 138 V PHỤ LỤC 5: SƠ ĐỒ BIỂU DIỄN CÁC CÚ PHÁP ..............................................................................139

1 Các sơ đồ biểu điễn cú pháp bước giải ............................................................................................139 2 Các sơ đồ biểu diễn cú pháp biểu thức, bất đẳng thức ....................................................................147

Page 5: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

5

DANH MỤC HÌNH HÌNH 1: SƠ ĐỒ GIAO TIẾP GIỮA HAI PHÂN HỆ ..................................................................................24 HÌNH 2: SƠ ĐỒ SỬ DỤNG PHẦN MỀM MƯC TỔNG THỂ ....................................................................26 HÌNH 3: SƠ ĐỒ SỬ DỤNG YÊU CẦU GIẢI BÀI TẬP ..............................................................................28 HÌNH 4: SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM BÀI GIẢI .............................................................................29 HÌNH 5: SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM ĐÁP ÁN ...............................................................................29 HÌNH 6: SƠ ĐÒ SỬ DỤNG YÊU CẦU XEM LÝ THUYẾT.......................................................................30 HÌNH 7: SƠ ĐÒ SỬ DỤNG YÊU CẦU CHẤM ĐIỂM................................................................................30 HÌNH 8: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN LÝ THUYẾT.....................................................................31 HÌNH 9: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN BÀI TẬP ............................................................................31 HÌNH 10: SƠ ĐÒ SỬ DỤNG YÊU CẦU PHÁT SINH B ÀI TẬP ...........................................................32 HÌNH 11: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN ĐÁP ÁN ........................................................................32 HÌNH 12: SƠ ĐÒ SỬ DỤNG YÊU CẦU SOẠN QUY ĐỊNH CHẤM ĐIỂM..........................................33 HÌNH 13: SƠ ĐỒ LỚP.................................................................................................................................35 HÌNH 14: SƠ ĐỒ BIỂU DIỄN CẤU TRÚC BIỂU THỨC .......................................................................36 HÌNH 15: SƠ ĐỒ BIỂU DIỄN CẤU TRÚC BƯỚC GIẢI........................................................................37 HÌNH 16: MÔ HÌNH BA LỚP CỦA PHẦN MỀM ...................................................................................42 HÌNH 17: SƠ ĐỒ PHỐI HỢP TỔNG THỂ PHÂN HỆ HỌC SINH........................................................45 HÌNH 18: SƠ ĐỒ PHỐI HỢP TỔNG THỂ PHÂN HỆ GIÁO VIÊN......................................................46 HÌNH 19: SƠ ĐỒ LOGIC............................................................................................................................47 HÌNH 20: MÀN HÌNH CHÍNH HỆ HỌC SINH .......................................................................................53 HÌNH 21: MÀN HÌNH GIẢI BÀI TẬP ......................................................................................................57 HÌNH 22: MÀN HÌNH XEM BÀI GIẢI .....................................................................................................61 HÌNH 23: MÀN HÌNH XEM ĐÁP ÁN .......................................................................................................62 HÌNH 24: MÀN HÌNH XEM LÝ THUYẾT...............................................................................................64 HÌNH 25: MÀN HÌNH CHÍNH HỆ GIÁO VIÊN......................................................................................67 HÌNH 26: MÀN HÌNH SOẠN LÝ THUYẾT.............................................................................................69 HÌNH 27: MÀN HÌNH SOẠN BÀI TẬP ....................................................................................................71 HÌNH 28: MÀN HÌNH SOẠN ĐÁP ÁN .....................................................................................................73 HÌNH 29: MÀN HÌNH SOẠN QUY ĐịNH CHẤM ĐIỂM .......................................................................76 HÌNH 30: MÀN HÌNH THÊM SÁCH BÀI TẬP .......................................................................................77 HÌNH 31: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 1.............................107

Page 6: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

6

HÌNH 32: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 4.............................109 HÌNH 33: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 5.............................110 HÌNH 34: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 6.............................111 HÌNH 35: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 7.............................112 HÌNH 36: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 8.............................113 HÌNH 37: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 9............................114 HÌNH 38: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN KIỂM TRA BƯỚC GIẢI LOẠI 12...........................115 HÌNH 39: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾNCỐ NHẤN ENTER KHI GIẢI BÀI TẬP ....................................................................................................................................................116 HÌNH 40: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾN CỐ CHỌN CHƯC NĂNG GIẢI BÀI

TẬP ............................................................................................................................................118 HÌNH 41: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN XỬ LÝ BIẾNCỐ ĐỔI CHẾ ĐỘ GIẢI......................119 HÌNH 42: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU BÀI GIẢI ...........................................................120 HÌNH 43: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU LÝ THUYẾT.....................................................121 HÌNH 44: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU BÀI TẬP SOẠN ................................................122 HÌNH 45: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN LƯU ĐÁP ÁN .............................................................123 HÌNH 46: SƠ ĐỒ BIỂU DIỄN THUẬT TOÁN CHẤM ĐIỂM..............................................................124

Page 7: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

7

DANH MỤC BẢNG BảNG 1: BẢNG DANH SÁCH YÊU CẦU CỦA GIÁO VIÊN ....................................................................16 BảNG 2: BẢNG DANH SÁCH YÊU CẦU CỦA HỌC SINH ......................................................................17 BảNG 3: BẢNG TRÁCH NHIỆM CHO YÊU CẦU CỦA GIÁO VIÊN.....................................................17 BảNG 4: BẢNG TRÁCH NHIỆM CHO YÊU CẦU CỦA HỌC SINH.......................................................18 BảNG 5: BẢNG DANH SÁCH CÁC LỚP ĐỐI TƯỢNG CHÍNH..............................................................33 BảNG 6: BẢNG DANH SÁCH CÁC LỚP ĐỐI TƯỢNG CỦA CHƯƠNG TRÌNH..................................42

Page 8: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

8

CÁC KÍ HIỆU

*

* *

tác nhân

khối xử lý

bộ nhớ

luồng dữ liệu (thông tin)

lớp đối tượng

mối quan hệ một - nhiều

mối quan hệ nhiều - nhiều

mối quan hệ kế thừa

luồng xử lý

Page 9: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

9

TÓM TẮT Đề tài: Phần mềm hỗ trợ giải toán bất đẳng thức

Nội dung của luận văn có thể chia thành các phần như sau:

Phần 1 - Phần mở đầu

Phần 2 - Hiện trạng và yêu cầu : trình bày về hiện trạng và phác thảo các yêu

cầu của bài toán

Phần 3 - Mô hình hóa : mô hình hóa các yêu cầu của bài toán

Phần 4 - Thiết kế phần mềm: trình bày về các lớp đối tượng của chương trình

và sự phối hợp hoạt động giữa chúng

Phần 5 - Thực hiện và kiểm tra : trình bày tổng quát về môi trường thực hiện

và các bộ dữ liệu kiểm tra

Phần 6 - Phần tổng kết: đánh giá về các kết quả đã thực hiện trong luận văn và

đưa ra hướng phát triển.

Phần 7 - Phần phụ lục

Page 10: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

10

PHẦN I : MỞ ĐẦU

I GIỚI THIỆU

Ngày nay, tin học đang trở nên phổ biến và là một nhu cầu rất cần thiết trong

đời sống xã hội. Với các chương trình ứng dụng, tin học đã giúp chúng ta rất

nhiều trong công việc cũng như các hoạt động hàng ngày chẳng hạn khi viết

một bản báo cáo, một lá đơn, chúng ta có thể sử dụng các trình soạn thảo văn

bản để cho ra các tài liệu một cách dễ dàng, chính xác, đẹp và mang tính

chuyên nghiệp cao, ngoài ra các chương trình này còn cung cấp cho chúng ta

một hệ thống giao diện thân thiện và các công cụ làm việc trong tầm tay, chúng

ta có thể chỉnh sửa mà không cần phải bôi xóa, canh lề, viết hoa, chỉnh màu, …

chỉ bằng một động tác bấm chuột. Chính vì vậy, xu hướng tin học hóa đã và

đang được xem xét, thực hiện một cách nghiêm túc trên nhiều lĩnh vực và hoạt

động như : thương mại điện tử, đào tạo dạy học từ xa, điện hoa, voice chat,

thậm chí còn có các dịch vụ tìm bạn hay bạn đời qua mạng internet.

Trong lĩnh vực giáo dục và đào tạo, hãy xem xét một công việc mà các học

sinh phổ thông phải thực hiện hàng ngày đó là làm bài tập về nhà. Khi giải một

bài toán bằng tay trên giấy học sinh sẽ phải sử dụng nhiều công cụ như tập vở,

giấy nháp, tài liệu hướng dẫn,bút, máy tính, thước, … các công cụ này chiếm

một diện tích đáng kể trên bàn học và dễ dẫn tới tình trạng lộn xộn, lầm lẫn.

Khi cần chỉnh sửa hay làm lại các bài tập học sinh phải bôi xóa, hay đôi khi

phải vứt bỏ các giấy tờ làm bài tập cũ điều này dẫn tới một sự lãng phí không

nhỏ. Hơn nữa, đối với việc làm bài tập ở nhà, khi gặp khó khăn, không tìm

được lời giải cho một bài toán học sinh sẽ dễ dàng choáng ngợp trước nhiều

Page 11: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

11

cuốn sách hướng dẫn, phải mất nhiều thời gian để tra cứu và tìm ra một bài giải

phù hợp. Trong trường hợp vẫn không giải được bài toán học sinh lại phải chờ

đến giờ lên lớp hoặc tìm ra một cách liên lạc với giáo viên hoặc bè bạn. Vì

những khó khăn đó, việc thực hiện được một chương trình trên máy tính hỗ trợ

công việc giải bài tập về nhà của học sinh là một nhu cầu có thật và cần thiết

II MỤC TIÊU CỦA LUẬN VĂN

Đứng trước thực trạng như vậy luận văn hướng tới việc xây dựng và phát triển

một chương trình ứng dụng trên máy tính hỗ trợ cho việc dạy và học của giáo

viên và học sinh ngoài những giờ lên lớp. Tuy nhiên xây dựng một chương

trình hỗ trợ được tất cả các môn học là một lĩnh vực lớn, đòi hỏi nhiều thời

gian, trong luận văn này chúng tôi chỉ tập trung vào xây dựng chương trình hỗ

trợ cho một môn học . Mục tiêu của luận văn được đề ra như sau :

Xây dựng một chương trình cung cấp các công cụ hỗ trợ cho việc dạy và học

của giáo viên và học sinh trong môn bất đẳng thức, chương trình sẽ mô phỏng

việc dạy, trong đó :

Giáo viên có thể soạn bài giảng và bài tập cùng với đáp án của bài tập

ngay trên máy. Nếu muốn, giáo viên có thể gửi ngay bài giảng đến cho

học sinh. Giáo viên cũng có thể in bài giảng của mình ra giấy

Học sinh trong thời gian tự học ở nhà có thể tra cứu các phần lý thuyết

nhanh hơn. Trong lúc giải bài tập học sinh có thể được sự hỗ trợ để kiểm

tra bài giải của mình, có thể xem lại bài giải nhanh chóng thay vì phải

tìm lại trong tập.

Page 12: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

12

PHẦN II : HIỆN TRẠNG VÀ YÊU CẦU

I KHẢO SÁT HIỆN TRẠNG

1 Hiện trạng tổ chức

Đây là một dạng của phần mềm hỗ trợ giảng dạy, do đó, chúng ta sẽ khảo sát

hiện trạng trên 2 nhóm đối tượng có liên quan trực tiếp đến quan hệ giảng dạy

là giáo viên và học sinh.

Đối với giáo viên

Soạn trước bài giảng ở nhà

Lên lớp, giảng bài cho học sinh, cho học sinh làm bài tập áp dụng, giao

bài tập về nhà cho học sinh

Vào tiết sửa bài, cho học sinh lên bảng làm bài và sửa bài làm của học

sinh

Cho học sinh làm các bài kiểm tra định kỳ và chấm điểm bài làm của

học sinh

Đối với học sinh

Ở lớp, nghe giáo viên giảng bài. Nêu lên thắc mắc ( nếu có)

Về nhà, làm các bài tập giáo viên giao cho

Làm các bài kiểm tra vào các tiết kiểm tra môn học

Page 13: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

13

Nhận xét

Việc dạy toán học nói chung và dạy phần bất đẳng thức nói riêng thì không

khác lắm so với dạy các môn học khác. Do đó một số điểm chức năng của

chương trình hoàn toàn có thể áp dụng cho các phần mềm hỗ trợ giảng dạy

khác. Điểm khác biệt ở đây chính là việc hỗ trợ học sinh giải bài tập ở nhà,

bởi vì mỗi môn học, cụ thể là mỗi phần của môn học đều có cách giải bài

tập riêng. Do đó, ta có thể tạm chia các công việc thành 2 loại:

o Loại chung: là các chức năng hoàn toàn có thể áp dụng cho các phần

mểm giảng dạy khác chứ không riêng phần mềm hỗ trợ giải toán bất

đẳng thức, nhóm chức năng này bao gồm :

- Soạn lý thuyết

- Xem lý thuyết

- Xem bài giải

- Xem đáp án

o Loại đặc thù: các công việc có liên quan đến đặc trưng của từng lĩnh

vực, cụ thể ở đây là lĩnh vực về bất đẳng thức

- Soạn bài tập

- Giải bài tập

- Chấm điểm bài giải

- Soạn đáp án

Page 14: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

14

2 Hiện trạng tin học

Hiện nay, có rất nhiều phần mềm phục vụ giảng dạy. Trong lĩnh vực toán

học có thể kể đến một số phần mềm như: MathBook, Mathlab,

Mathematica … Dưới đây chúng ta sẽ khảo sát một số phần mềm kể trên.

2.1 Phần mềm MathBook

Đây là một phần mềm tính toán. MathBook cho phép thực hiện các phép

toán đại số và số học (cộng, trừ, nhân, chia, sin, cos,…), giải được hệ

phương trình tối đa là 7 ần, tính diện tích các hình, phát sinh số ngẫu nhiên,

chuyển đổi giữa các đơn vị đo lường.

2.2 Phần mềm Matlab

Ngay từ cái tên của phần mềm đã cho ta hiểu sơ sơ về chức năng của nó.

Matlab (viết tắt của Matrix Laboratory) là phần mềm thực hiện tính toán

trên ma trận và trên số. Đây là một ngôn ngữ thủ tục với hàng loạt hàm toán

học đã được xác định trước giúp cho việc lập trình trên Matlab trở nên đơn

giản. Ngôn ngữ được sử dụng ở đây tương tự như một số ngôn ngữ quen

thuộc đã học như Pascal, C… Tuy nhiên do giao diện của Matlab hỗ trợ cơ

chế dòng lệnh nên gây ra không ít khó khăn khi sử dụng.

Matlab xử lý tính toán trên ma trận nên thường được dùng trong xử lý đồ

hoạ và giải hệ phương trình.

2.3 Phần mềm Mathematica

Đây là phần mềm chuyên về tính toán. Nó hỗ trợ cho phần lớn các lĩnh vực

toán học từ số học (lấy dư, tìm ước số chung…), đại số (giải và biện luận

Page 15: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

15

phương trình…) đến giải tích (tính đạo hàm, tích phân, khảo sát và vẽ đồ thị

hàm số…) thông qua việc xây dựng một bộ các hàm xác định sẵn.

Mathematica cũng hỗ trợ cho việc lập trình trong một số trường hợp tính

toán phức tạp.

Tuy nhiên, giao diện theo cơ chế dòng lệnh cũng gây không ít khó khăn cho

người sử dụng trong việc lập trình và tính toán.

Nhận xét:

Qua khảo sát, chúng tôi thấy đa số các phần mềm giáo dục hiện nay mới

dừng ở việc tính toán ra nghiệm, ra kết quả cụ thể. Chưa thấy một phần

mềm nào hỗ trợ cho bài toán chứng minh, đặc biệt là chứng minh bất đẳng

thức, một bài toán được coi như là “khó nuốt” nhất trong chương trình toán

học phổ thông. Bên cạnh đó, các phần mềm này theo cơ chế dòng lệnh

không gây được cảm giác tự nhiên và thân thiện ở người dùng. Hơn nữa,

các phần mềm này đều hỗ trợ ngôn ngữ là tiếng Anh, điều này hơi khó đối

với học sinh ở Việt Nam.

Từ những hiện trạng thực tế trên ta thấy rằng học sinh, nhất là học sinh

nước ta rất cần có một công cụ để hỗ trợ cho các em trong quá trình rèn

luyện kỹ năng giải toán bất đẳng thức. Và đó chính là lý do chúng tôi thực

hiện đề tài này.

II XÁC ĐỊNH YÊU CẦU

Việc khảo sát yêu cầu được tiến hành 2 nhóm đối tượng sử dụng chính là

học sinh và giáo viên. Sau khi khảo sát, công việc của 2 nhóm đối tượng

trên được trình bày thành bảng như sau:

Page 16: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

16

Bộ phận: Giáo viên

Mã số : GV

Mã số Công việc Biểu mẫu Quy định

GV_YC1 Soạn tóm tắt

lý thuyết và

ví dụ minh

hoạ

GV_YC2 Soạn đề bài

tập

BM1 QD1

GV_YC3 Soạn đáp án BM2 QD2

HS_YC4 Chấm điểm

GV_YC5 Soạn quy

định chấm

điểm

BM5 QD5

Bảng 1: Bảng danh sách yêu cầu của giáo viên

Bộ phận : Học sinh

Mã số : HS

Mã số Công việc Biểu mẫu Quy định

HS_YC1 Giải bài tập BM2

HS_YC2 Xem lại bài

giải

BM3

HS_YC3 Xem đáp án BM4

Page 17: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

17

HS_YC4 Chấm điểm

HS_YC5 Xem tóm tắt

lý thuyết

Bảng 2: Bảng danh sách yêu cầu của học sinh

1 Bảng trách nhiệm cho các yêu cầu

Để xác định rõ cách thức thực hiện mỗi công việc của người dùng cũng như

trách nhiệm của phần mềm để đáp ứng đối với các thao tác của người dùng,

ta lập ra bảng phân công trách nhiệm cho các yêu cầu

STT Nghiệp vụ Người dùng Phần mềm Ghi chú

1 Soạn bài tập Cung cấp thông tin về đề

bài tập cùng với mức độ

khó, thời gian làm bài

Phát sinh theo

biểu mẫu BM1

2 Soạn lý

thuyết

Cung cấp thông tin chủ

đề của bài soạn và nội

dung bài soạn

3 Phát sinh đề

bài tập

Phát sinh bài tập

mới theo công

thức

4 Soạn quy

định chấm

điểm

Cung cấp thông tin theo

BM5, QD5

Cập nhật thông tin

Bảng 3: Bảng trách nhiệm cho yêu cầu của giáo viên

Page 18: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

18

STT Nghiệp vụ Người dùng Phần mềm Ghi chú

1 Giải bài tập Nhập vào các

bước giải theo

BM2,QD2

Kiểm tra bước

giải đúng và

thông báo

Danh sách các loại

bước giải ( xem

phần phần Phụ lục

2)

2 Xem bài giải Chọn bài tập,

sau đó chọn một

bài giải trong

danh sách bài

giải đã có của

bài tập đó

Xuất bài giải

theo biểu mẫu

BM3

3 Xem đáp án Chọn bài tập,

sau đó chọn một

đáp án trong

danh sách ( nếu

bài tập có nhiều

đáp án)

Xuất đáp án

theo biểu mẫu

BM4

4 Chấm điểm Xuất đánh giá

và điểm số bài

tập theo biểu

mẫuBM6 ,

QD6

Thực hiện ngay khi

bài giải hoàn tất

hoặc hết giờ làm

bài

Bảng 4: Bảng trách nhiệm cho yêu cầu của học sinh

Page 19: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

19

2 Danh sách các biểu mẫu

BM3 : Danh sách bài giải STT Tên bài giải Thời điểm Thời gian làm Điểm số

1 …. 2

Nội dung bài giải: Đánh gía bài giải:

BM2 : Danh sách bước giải Ta co <bất đẳng thức>

<bất đẳng thức> ……………………………. …………………………… QD2: biến đổi đại số, đổi biến, đặt ẩn phụ, dùng bất đẳng thức Cauchy, Bunhiaxcopki, ….

BM1 : Soạn đề bài tập Độ khó:........... Thời gian làm bài:……… Đề bài:

CMR <bất đẳng thức> Voi <điều kiện 1>, <điều kiện 2>….<điều kiện n>

Page 20: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

20

BM6 : Đánh giá kết quả bài giải ( dựa vào quy định chấm điểm)

Thời gian làm bài: Số lần nhắc nhở: Điểm số: QD 6: Đúng hoàn toàn : D1 điểm ;

Hết giờ, chưa giải xong: 0 ; Mỗi biến đổi sai : trừ D2 điểm Mỗi lần xem bước giải kế tiếp (giải theo đáp án) : trừ D3 điểm Chứng minh một bất đẳng thức trung gian : cộng D4 điểm

BM5 : Soạn quy định chấm điểm

Điểm tối đa: D1

Điểm trừ cho một biến đổi sai: D2

Điểm trừ cho một lần xem bước giải tiếp theo D3

Điểm cộng cho bất đẳng thức trung gian D4

QD 5: 0<= D1,D2,D3,D4 <=10

BM4 : Danh sách đáp án

STT Tên bài giải Thời điểm Thời gian làm Điểm số 1 …. 2

Nội dung đáp án

Page 21: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

21

3 Phạm vi của đề tài

Cho phép thực hiện các phép biến đổi trên bất đẳng thức như sau:

- Biến đổi các biểu thức ở 2 vế (khai triển, rút gọn)

- Cộng hai vế cùng một biểu thức bất kỳ

- Nhân 2 vế với cùng một biểu thức dương

- Lấy nghịch đảo 2 vế

Để phục vụ cho các phép biến đổi trên, chương trình đã xây dựng một bộ

các biểu thức toán với các tính chất sau:

- Biểu thức chứa số biến không giới hạn

- Chứa các toán tử +, - , *, / , ( , )

- Có thể chứa ngoặc lồng nhau

- Có thể có các hàm:

o Hàm căn ( bậc 2,3,4)

o Hàm lũy thừa ( số mũ <10)

o Hàm lượng giác (sin, cos, tg, cotg) không cho phép thực hiện các

phép toán trên chúng

Đối với chức năng giải bài tập, chúng tôi xây dựng một hệ thống các loại

bước giải sau để kiểm tra các phép biến đổi cho các bước giải nhập vào.

STT Ý nghĩa Ví dụ

1 Bước giải biến đổi tương

đương từ một bước giải

trước đó

x^2+y>0

Page 22: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

22

2 Bước giải suy ra từ một

bước giải trước đó

=> x^2+1>0

3 Bước giải đưa ra một bất

đẳng thức, hoặc đẳng thức

đúng

Ta co x^2+y^2>0

4 Bước giải áp dụng bất đẳng

thức Cauchy để đưa ra một

bất đẳng thức có dạng

Cauchy

ADC x,y,z ta duoc …

5 Bước giải áp dụng bất đẳng

thức Bunhiaxcopki

ADB (x,y),(z,t) ta duoc …

6 Bước giải có thể suy ra từ 2

hay nhiều bước giải trước

đó ( áp dụng tính chất bắc

cầu, cộng, nhân vế các bất

đẳng thức ….)

Tu (1),(2),(2) suy ra …

7 Bước giải suy ra được nhờ

cộng vế các bất đẳng thức

trong các bước giải được

chọn trước đó)

Cong ve (1),(2) ta duoc ..

8 Bước giải suy ra được nhờ

nhân vế các bất đẳng thức

trong các bước giải được

chọn trước đó)

Nhan ve (1),(2) ta duoc

Page 23: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

23

9 đặt ẩn phụ và thế vào bất

đẳng thức của bước giải

trước đó

Dat u = x+1 thi (1) …

10 Thay thế biểu thức Thay 2 vao 3 ta duoc

11 Đưa ra một bất đẳng thức

nào đó để chứng minh trung

gian

Ta cm x+y^2>0

12 kiểm tra bất đẳng thức trong

bước giải nào đó có phải là

bất đẳng thức đúng

(2) dung

13 Kiểm tra kết luận về điều

phải chứng minh có đúng

x^2+y >0 (dpcm)

hoặc dpcm

Page 24: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

24

III PHƯƠNG ÁN THỰC HIỆN PHẦN MỀM

Phần mềm sẽ bao gồm 2 phân hệ : hệ học sinh và hệ giáo viên

o Hệ giáo viên có các chức năng để hỗ trợ cho giáo viên thực hiện công

việc của mình

o Hệ học sinh cài đặt các chức năng hỗ trợ cho học sinh

Các phân hệ giao tiếp với nhau thông qua file hoặc email.

Sự giao tiếp giữa 2 phân hệ có thể được minh họa theo sơ đồ sau:

Hình 1: Sơ đồ giao tiếp giữa hai phân hệ

Phân hệ giáo viên

Phân hệ học sinh

Đề bài tập

Bài giải học sinh

Quy định chấm điểm

Đáp án

Bài học

Page 25: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

25

PHẦN III : MÔ HÌNH HÓA

Phần này sẽ mô hình hóa các yêu cầu đã xác định thành các sơ đồ, bao gồm

2 phần chính:

Trình bày sơ đồ sử dụng : mô hình hóa các yêu cầu dưới dạng sơ đồ sử

dụng, gồm có:

Sơ đồ sử dụng tổng thể

Các sơ đồ sử dụng chi tiết

Trình bày sơ đồ lớp : xác định các lớp đối tượng chính, xác định các

thuộc tính và phân công trách nhiệm cho các lớp đồng thời vẽ sơ đồ

quan hệ giữa các lớp đối tượng.

Page 26: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

26

I SƠ ĐỒ SỬ DỤNG 1 Sơ đồ sử dụng tổng thể

Hình 2: Sơ đồ sử dụng phần mềm mức tổng thể

Học sinh

Giáo viên

Giải bài tập

Xem lý thuyết

Xem bài giải

Soạn đáp án

Soạn lý thuyết

Soạn qui định chấm điểm

Soạn bàitập

Chấm điểm

Phát sinh đề bài tập

Xem đáp án

2.1

2.7

2.5

2.9

2.6

2.8 2.10

2.3

2.4

2.2

Page 27: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

27

2 Sơ đồ sử dụng cho từng yêu cầu cụ thể

Mô hình hóa các yêu cầu của bài toán theo sơ đồ sau

Trong đó :

D1: Thông tin do người dùng nhập vào

D3: Dữ liệu đọc từ bộ nhớ cần thiết cho xử lý X

D4: Dữ liệu cần lưu trữ vào bộ nhớ

D6: Dữ liệu sẽ được kết xuất

Người dùng

Xử lý X

D6D1

D4D3

Page 28: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

28

2.1 Sơ đồ sử dụng cho yêu cầu giải bài tập

Việc giải bài tập trước hết là kiểm tra các bước giải có đúng không.

Hình 3: Sơ đồ sử dụng yêu cầu giải bài tập

D1: Thông tin về một bước giải ( bất đẳng thức tương đương, hoặc đặt ẩn

phụ, hoặc một bất đẳng thức đã được chứng minh để áp dụng…).

D3: Thông tin về đề bài tập và bài giải ( các bước giải đúng trước đó)

D4: D1

D6: Thông báo nếu bước giải không đúng

Xử lý kiểm tra bước giải

- Nhận D1 từ người dùng.

- Đọc D3 tương ứng từ bộ nhớ phụ.

- Kiểm tra bước giải có đúng không

- Nếu không đúng, xuất D6 ra màn hình.

Học sinh

Xử lý kiểm tra bước giải

D3

D6

D4

D1

Page 29: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

29

2.2 Sơ đồ sử dụng cho yêu cầu xem lại bài giải

Hình 4: Sơ đồ sử dụng yêu cầu xem bài giải

2.3 Sơ đồ sử dụng cho yêu cầu xem đáp án

Hình 5: Sơ đồ sử dụng yêu cầu xem đáp án

Học sinh

Xem đáp án

D3

D6 D1

D1: Thông tin về bài tập, mã số đáp án

được chọn để xem.

D3: Các đáp án của bài tập

D6: nội dung của đáp án được chọn

Xử lý xem đáp án

- Nhận D1 từ người dùng.

- Đọc D3 tương ứng từ bộ nhớ phụ.

- Xuất D6 ra màn hình.

Học sinh

Xem lại bài giải

D3

D6 D1

D1: Thông tin về bài tập, mã số bài giải

được chọn để xem.

D3: Các bài giải của bài tập

D6: nội dung của bài giải được chọn

Xử lý xem lại bài giải

- Nhận D1 từ người dùng.

- Đọc D3 tương ứng từ bộ nhớ

phụ.

Page 30: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

30

2.4 Sơ đồ sử dụng cho yêu cầu xem tóm tắt lý thuyết

Hình 6: Sơ đồ sử dụng yêu cầu xem lý thuyết

2.5 Sơ đồ sử dụng cho yêu cầu chấm điểm bài giải

Hình 7: Sơ đồ sử dụng yêu cầu chấm điểm

Học sinh

Chấm điểm

D6D1

D3 D4

D1: Nội dung bài giải.

D3: Bảng qui định chấm điểm

D4:Điểm số + đánh giá

D6: D4.

Xử lý chấm điểm

- Nhận D1 từ người dùng.

- Đọc D3 tương ứng từ bộ nhớ phụ

- Kiểm tra qui định chấm điểm để tính D4.

- Ghi D4 vào bộ nhớ phụ.

- Xuất D6 ra màn hình.

Học sinh

Xem tóm tắt lý thuyết

D3

D3: Tóm tắt lý thuyết

D6: D3

Xử lý xem tóm tắt lý thuyết

- Đọc D3 từ bộ nhớ phụ.

- Xuất D6 ra màn hình.

Page 31: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

31

2.6 Sơ đồ sử dụng cho yêu cầu soạn tóm tắt lý thuyết

Hình 8: Sơ đồ sử dụng yêu cầu soạn lý thuyết

2.7 Sơ đồ sử dụng cho yêu cầu soạn đề bài tập

Hình 9: Sơ đồ sử dụng yêu cầu soạn bài tập

Giáo viên

Soạn đề bài tập

D1

D4

Giáo viên

Sọan tóm tắt lý thuyết

D1

D4

D1: Chủ đề bài học + nội dung bài

học

D4: D1

Xử lý soạn tóm tắt lý thuyết

- Nhận D1 từ người dùng.

- Ghi D4 vào bộ nhớ phụ.

D1: Thông tin về bài tập bất đẳng thức (mã

sách bài tập chứa nó,mức độ khó, nội dung,

thời gian cần thiết để làm bài)

D4: D1+ Mã số bài tập.

Xử lý soạn đề bài tập

- Nhận D1 từ người dùng.

- Nếu hợp lệ ghi D4 vào bộ nhớ phụ.

- Nếu không, thông báo lỗi

Page 32: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

32

2.8 Sơ đồ sử dụng cho yêu cầu phát sinh đề bài tập

Hình 10: Sơ đồ sử dụng yêu cầu phát sinh bài tập

2.9 Sơ đồ sử dụng cho yêu cầu soạn đáp án

Hình 11: Sơ đồ sử dụng yêu cầu soạn đáp án

Giáo viên

Soạn đáp án

D4

D1

D1: Mã số bài tập, nội dung đáp án của bài

tập đó.

D4: D1+ Mã số đáp án.

Xử lý soạn đáp án

- Nhận D1 từ người dùng.

- Kiểm tra đáp án (kiểm tra hợp lệ và

kiểm tra các bước giải có đúng không)

- Nếu thỏa thì ghi D4 vào bộ nhớ phụ.

Nếu không thì báo lỗi.

Giáo viên

Phát sinh đề bài tập

D6

D4D3

D3: Các biểu thức và bất đẳng thức được

dùng cho việc phát sinh bài tập.

D4 : Nội dung đề bài được phát sinh

D6: D4

Xử lý phát sinh bài tập:

- Đọc D3 từ bộ nhớ phụ.

- Ghi D4 vào bộ nhớ phụ và xuất D6

ra cho người dùng.

Page 33: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

33

2.10 Sơ đồ sử dụng cho yêu cầu soạn quy định chấm điểm

Hình 12: Sơ đồ sử dụng yêu cầu soạn quy định chấm điểm

II SƠ ĐỒ LỚP Để mô tả lớp đối tượng, sử dụng ký hiệu sau:

1 Danh sách các lớp đối tượng

Sau khi phân tích, xác định được danh sách các lớp đối tượng chính sau

STT Tên lớp

1 Sách bài tập

2 Bài tập

Giáo viên

Soạn quy định chấm điểm

D1

D4

D1: Các quy định chấm điểm. ( thang điểm

tối đa, số điểm trừ khi biến đổi sai, số điểm

trừ cho một lần xem gợi ý, số điểm cộng khi

chứng minh được một bất đẳng thức trung

gian)

D4: D1

Xử lý Soạn quy định chấm điểm

- Nhận D1 từ người dùng.

- Ghi D4 vào bộ nhớ phụ.

< Tên lớp > <Danh sách các thuộc tính> <Các trách nhiệm của lớp>

Page 34: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

34

3 Bài giải

4 Bài học

5 Đáp án

6 Bước giải

7 Bất đẳng thức

8 Biểu thức

Bảng 5: Bảng danh sách các lớp đối tượng chính

Page 35: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

35

2 Sơ đồ lớp đối tượng

Hình 13: Sơ đồ lớp

*

*

**

SachBaiTap

BaiTap

BaiHoc

DapAn

BuocGiai

BaiGiaiDapAnBaiGiaiTuDo

BaiGiai

BatDangThuc

BieuThuc

BieuThucDaiSo BieuThucHam

BieuThucTong HamLuyThuaHamCan HamLuongGiacBieuThucTich

**

*

ThanhPhan

Sơ đồ các loại bước giải, xem hình 15

Page 36: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

36

3 Cấu trúc của biểu thức

Để thực hiện các biến đổi trên bất đẳng thức, trước hết, cấn phải xây dựng

lớp biểu thức, trong đó thực hiện các công việc sau:

Kiểm tra hai biểu thức bằng nhau

Cộng, trừ, nhân, chia hai biểu thức với nhau

Xét dấu một biểu thức

Ta sử dụng mẫu composite để thiết kế lớp biểu thức theo sơ đồ dưới đây:

Hình 14: Sơ đồ biểu diễn cấu trúc biểu thức

BieuThuc

BieuThucDaiSo ThanhPhan BieuThucHam

BieuThucTong BieuThucTich HamLuyThua HamCan HamLuongGiac

*

Page 37: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

37

4 Cấu trúc của bước giải

Các bước giải được chia thành 13 loại( xem chi tiết ở phụ lục 2) có mối quan hệ theo sơ đồ dưới

đây:

Hình 15: Sơ đồ biểu diễn cấu trúc bước giải

BuocGiai

BuocGiaiLoai1

BuocGiaiLoai4BuocGiaiLoai3 BuocGiaiLoai5

BuocGiaiLoai8

BuocGiaiLoai2

BuocGiaiLoai7

BuocGiaiLoai11

BuocGiaiLoai9BuocGiaiLoai6

BuocGiaiLoai10 BuocGiaiLoai12 BuocGiaiLoai13

Page 38: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

38

III Mô tả chi tiết các lớp đối tượng chính Sách bài tập

- Mã sách

- Tên sách

- Thêm bài tập vào sách ( từ CSDL)

- Nhập bài tập từ file

Bài tập

- Mã số

- Tên bài tập

- Độ khó

- Thời gian làm bài

- Nội dung đề bài

- Xem bài giải

- Xem đáp án

- Giải bài tập

- Import đáp án

- Lấy danh sách bài giải

- Lấy danh sách đáp án

Bài giải

- Mã số

- Tên bài giải

Page 39: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

39

- Nội dung bài giải

- Thời gian giải

- Thời điểm bắt đầu

- Điểm số

- Kiểm tra bước giải mới

- Xử lý bước giải

- Thêm bước giải

- Lưu bài giải

- Import bài giải

- Kiểm tra bài giải toàn bộ

- Chấm điểm

Đáp án

- Mã số

- Nội dung đáp án

- Ngày soạn

- Lưu đáp án

Bước giải

- Bất đẳng thức hoặc đẳng thức

- Khởi tạo bước giải

- Kiểm tra bước giải đúng ( hàm ảo)

Page 40: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

40

Bất đẳng thức

- Biểu thức vế lớn

- Biểu thức vế nhỏ

- Khởi tạo từ chuỗi

- Lấy dạng chuỗi

- Kiểm tra bất đẳng thức là đúng

- Kiểm tra tương đương

Bài học

- Chủ đề bài học

- Nội dung bài học

Page 41: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

41

PHẦN IV : THIẾT KẾ PHẦN MỀM

I THIẾT KẾ TỔNG THỂ

1 Thành phần xử lý

Hệ thống các đối tượng xử lý của phần mềm này được thiết kế theo mô hình

3 lớp gồm có:

- Lớp đối tượng giao tiếp người dùng

o Mô tả các thông tin trong màn hình giao diện

o Mô tả hình thức bố trí nội dung màn hình giao diện

o Mô tả các thao tác của người dùng trên màn hình giao diện.

- Lớp đối tượng xử lý chính

o Mô tả các thông tin về đối tượng.

o Mô tả các hành động (hàm xử lý) mà đối tượng chịu trách nhiệm

thực hiện.

- Lớp đối tượng giao tiếp bộ nhớ

o Mô tả chi tiết các thông tin về đối tượng phải lưu trữ.

o Mô tả các hành động giao tiếp với bộ nhớ phụ (lấy dữ liệu, thêm,

sửa đổi hoặc xóa dữ liệu)

Page 42: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

42

Mô hình này hoạt động theo nguyên tắc sau:

Hình 16: Mô hình 3 lớp của phần mềm

Sau đây là danh sách các đối tượng xử lý của phần mềm

Loại đối

tượng

Tên đối tượng Diễn giải

MH_HeGiaoVien Màn hình giao tiếp giữa giáo viên

với phần mềm

MH_SoanBaiTap Màn hình dùng để giáo viên soạn

bài tập

MH_DapAn Màn hình dùng để giáo viên soạn

đáp án

MH_LyThuyet Màn hình soạn lý thuyết

Đối tượng

giao tiếp

người

dùng

Phân hệ

giáo viên

MH_XemBaiGiai Màn hình dùng để xem các bài

giải của học sinh gởi đến để chấm

điểm.

Đối tượng giao tiếp

người dùng

Đối tượng xử lý chính

Đối tượng giao tiếp bộ

nhớ phụ

Chuyển điều khiển

Chuyển điều khiển

Bộ nhớphụ

Nhận biến cố

Cập nhật và truy xuất

Page 43: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

43

MH_SoanQDCD Màn hình soạn các quy định dùng

để chấm điểm bài giải của học

sinh.

MH_ThemSachBT Màn hình thêm sách bài tập

MH_HeHocSinh Màn hình giao tiếp giữa học sinh

với phần mềm

MH_GiaiBT Màn hình dùng để học sinh giải

bài tập

MH_XemBaiGiai Màn hình dùng để học sinh xem

lại bài giải của mình

MH_XemDapAn Màn hình để học sinh xem đáp án

của bài tập

Phân hệ

học sinh

MH_XemLyThuyet Màn hình để học sinh học lý

thuyết

CGiaoVien Lớp điều khiển, quản lý toàn bộ

các lớp đối tượng trong hệ thống

CSachBaiTap Lớp xử lý sách bài tập

CBaiTap Lớp xử lý bài tập

CBaiHoc Lớp xử lý bài học lý thuyết

CDapAn Lớp xử lý đáp án của một bài tập

CBaiGiai Lớp xử lý bài giải của một bài

tập, gồm có hai lớp con dưới đây

CBaiGiaiTuDo Lớp xử lý bài giải loại giải tự do

Đối tượng

xử lý

chính

CBaiGiaiDapAn Lớp xử lý bài giải loại giải theo

Page 44: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

44

đáp án

Đối tượng

giaotiếp

bộ nhớ

CSDL Lớp xử lý mọi vấn đề về truy xuất

hay cập nhật dữ liệu.

Bảng 6: Bảng danh sách các lớp đối tượng của chương trình

Với thiết kế 3 lớp như trên, hệ thống các đối tượng của phần mềm phối hợp với

nhau hoạt động theo các sơ đồ phối hợp tổng thể sau đây.

Page 45: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

45

Hình 17: Sơ đồ phối hợp tổng thể phân hệ học sinh

CSDL

CBaiTap

MH_ChinhHS

CGiaoVien

CBaiGiai

Hoc sinh

CBuocGiai

CBatDangThuc

MH_GiaiBT

MH_XemDapAn

MH_XemBaiGiai

CDapAn

CSachBaiTap

Page 46: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

46

Hình 18: Sơ đồ phối hợp tổng thể phân hệ giáo viên

CSDL

CBaiTap

MH_HeGiaoVien

CGiaoVien

CBaiHoc

Giao vien

MH_SoanBT

MH_DapAn

MH_LyThuyet

CSachBaiTap

CDapAn

Page 47: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

47

2 Tổ chức dữ liệu

Cơ sở dữ liệu của chương trình được lưu trữ trong Access và được tổ chức

theo sơ đồ logic sau:

Hình 19: Sơ đồ logic

Sau đây là tổ chức bảng dữ liệu của chương trình:

SACHBAITAP

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MaSach AutoNumber Mã số sách

2 TenSach Text Tên sách

BAITAP

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MaSach Number

2 MaBT AutoNumber Mã bài tập

Bài tập

Bài giải Đáp án

Sách bài tập Bài học

Page 48: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

48

3 ThoiGian Number Thời gian tối đã cho

phép để giải

4 DoKho Text Mức độ khó

5 DeBai Text Đề bài

6 TenBT Text Tên bài tập

7 GhiChu Memo

BAIGIAI

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MaBT Number

2 MaBG Text Mã bài giải do người

dùng đặt

3 NoiDung Memo Nội dung bài giải

4 ThoiDiem DateTime Thời điểm bắt đầu giải

5 ThoiGian Number Thời gian để giải xong

tính theo phút

6 HoanTat Yes/No Thụôc tính cho biết bài

giải đã hoàn tất chưa

7 NhanXet Text Các đánh giá về bài giải

(nếu có)

8 Diem Number Điểm số của bài giải (nếu

có)

9 LoaiGiai Text Loại bài giải ( giải tự do

hay theo đáp án)

Page 49: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

49

DAPAN

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MaBT Number

2 MaDA AutoNumber Mã số đáp án

3 NoiDung Memo Nội dung đáp án

BAIHOC

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MaBH AutoNumber Mã số của bài học

2 ChuDe Text Chủ đề bài học

3 NoiDung Memo Nội dung bài học

Ngoài ra còn có thêm hai bảng phụ để chứa các tham số dùng trong chương

trình và bảng chứa các biểu thức dương dùng để phát sinh bài tập.

Bảng tham số

STT Thuộc

tính

Kiểu dữ

liệu

Giá trị

mặc định

Diễn giải

1 TS1 Number 10 Thang điểm tối đa cho bài giải

2 TS2 Number 1 Số điểm cộng cho mỗi bất đẳng thức

trung gian chứng minh xong

3 TS3 Number 0 Số điểm bị trừ cho một lần bị nhắc nhở

4 TS4 Number 0 Số điểm trừ cho một lần xem bước giải

tiếp (đối với bài giải đáp án)

Page 50: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

50

Bảng từ khoá

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 Loai Number Loại từ khoá

2 TuKhoa1 Text

3 TuKhoa2 Text

Bảng BIEUTHUCDUONG

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MaBT AutoNumber Mã số của biểu thức dương

2 BieuThucDuong Text Nội dung của biểu thức dương

Page 51: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

51

II THIẾT KẾ CHI TIẾT

Nội dung được trình bày ở phần này bao gồm:

Diễn giải chi tiết theo từng màn hình: mô tả chi tiết nội dung màn hình

và các biến cố của màn hình

Hệ thống hàm của các lớp đối tượng: mô tả các hàm xử lí của tất cả

các lớp đối tượng khác

Sơ đồ hoạt động chi tiết một số xử lý.

1 Diễn giải chi tiết theo từng màn hình

Mỗi màn hình sẽ được mô tả chi tiết theo các nội dung sau

- Nội dung màn hình ( các thuộc tính của màn hình)

- Danh sách các biến cố xảy ra trên màn hình đó và thuật toán xử lý các

biến cố đó.

1.1 MH_HeHocSinh

1.1.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 tabControlLopDoiTuong TabControl TabControl chứa các đối

tượng chính

2 Panel Panel Khung để đặt các màn hình

con lên, ví dụ như

MH_GiaiBT…

3 tabPageSachBaiTap TabPage Tabpage chứa tất cả các bài

tập của một sách bài tập

Page 52: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

52

4 tabPageSachBaiHoc TabPage Tabpage chứa các bài học lý

thuyết trong sách bài học

5 tabControlSachBaiTap TabPage Tabpage chứa tất cả các bài

tập của một quyển sách bài

tập

6 mainMenu MainMenu Thực đơn chính của màn

hình phân hệ học sinh

7 mniChucNangPhu MenuItem Chứa các chức năng phụ của

chương trình

8 mniGiupDo MenuItem Chức các chức năng hỗ trợ

khác

9 mniCNP_Email MenuItem Chức năng Soạn quy định

chấm điểm

10 mniThoat MenuItem Chức năng thoát chương

trình

11 mniGD_HuongDan MenuItem Chức năng Hướng dẫn sử

dụng chương trình

12 mniGD_GioiThieu MenuItem Chức năng giới thiệu về

chương trình

Page 53: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

53

Hình 20: Màn hình chính hệ học sinh

5 - tabControlSachBaiTap

2- panel : khung để đặt các màn hình con

3 - tabPageSachBaiTap

4 -tabPageSachBaiHoc

6 -mainMenu

1 -tabControlLopDoiTuong

Page 54: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

54

1.1.2 Danh sách các biến cố

STT Biến cố Diễn giải Hàm xử lý

1 Click chọn

vào tab đối

tượng

Người dùng chọn loại đối

tượng (bài tập hay lý thuyết)

bằng cách click vào tab tương

ứng

tabControlDo

iTuong_Selec

tionChanged

2 Chọn sách

bài tập khác

Người dùng click chọn sách bài

tập khác trong các tab Sách bài

tập

tabctrlSachB

aiTap_Select

ionChanged

3 Chọn chức

năng giải bài

tập

Người dùng nhấp phải vào bài

tập để chọn Giải bài tập

ChonMucGiaiB

aiTap

4 Chọn mục

xem bài giải

Người dùng nhấp phải vào bài

tập để chọn Xem bài giải.

Biến cố này do lớp CBaiTap

xử lý.

ChonMucXemBa

iGiai

5 Chọn mục

xem đáp án

Người dùng nhấp chuột phải

vào bài tập để chọn mục Xem

đáp án.trọng thực đơn

ChonMucXemDa

pAn

6 Chọn mục

thêm sách bài

tập

Người dùng nhấp phải trên

danh sách các sách bài tập để

chọn mục Thêm sách mới trong

thực đơn

Page 55: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

55

1.2 MH_GiaiBT

1.2.1 Nội dung màn hình

ST

T

Thuộc tính Loại Diễn giải

1 rtbDeBai RichTextBox Dùng để hiển thị để bài tập đang

giải

2 ckKiemTraTungBuoc Đánh dấu vào ô này để chọn chế

độ giải kiểm tra từng bước.

3 ckDanhSoTuDong CheckBox Đánh dấu vào ô này để chọn chế

độ đánh số bước giải tự động.

4 ckHoTroGiaiNhanh CheckBox Đánh dấu vào ô này để chọn chế

độ hỗ trợ giải nhanh bằng cách

phát sinh một phần bước giải

5 tabPageBaiGiaiTuDo TabPage TabPage chứa bài giải tự do

6 tabPageBaiGiaiDapAn TabPage TabPage chứa bài giải theo đáp

án

7 rtbBaiGiaiTuDo HopVanBan HopVanBan là lớp kế thừa từ

RichTextBox.

Có hai hộp văn bản dùng để giải

bài tương ứng với hai loại giải tự

do và theo đáp án.

8 rtbBaiGiaiDapAn HopVanBan nt

9 lbDongHo Label Hiển thị đồng hồ canh giờ cho

Page 56: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

56

học sinh giải bài tập

10 ckTrangThai CheckBox Nhấn vào nút này để bắt đầu giải

hay tạm dừng.

11 ckXemGoiY CheckBox Người dùng check vào ô này nếu

muốn hiển thị gợi ý cho bước

giải tiếp theo trong đáp án

12 tbGoiY TextBox TextBox để hiển thị gợi ý cho

bước giải tiếp theo trong đáp án

13 btnBuocGiaiTiep Button Nhấp vào nút này để hiển thị

bước giải tiếp theo trong đáp án

cho học sinh trong lúc giải bài.

14 btnQuayLui Button Nhấp vào nút này để quay lui

một bước giải trước đó

15 btnKiemTraBaiBai Button Nhấp vào nút này để kiểm tra bài

giải trong trường hợp người dùng

không chọn kiểm tra từng bước .

16 btnKhung<1-13> Button Các nút để tạo khung bước giải

tương ứng

Page 57: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

57

Hình 21: Màn hình giải bài tập

9

10

11

12

13

16

1 32 45 6

Editor để giải bài tập

14

15

7 8

Page 58: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

58

1.2.2 Danh sách các biến cố

STT Biến cố Diễn giải Hàm xử lý

1 Click chuột vào điều

khiển số 8

Người dùng nhấn vào

đây để bắt đầu hay tạm

ngưng việc giải.

ckTrangThai_Ch

eckedChanged

2 Chọn loại bài giải

khác

Người dùng nhấn chọn

tab loại giải là giải tự

do hay giải theo đáp

án

tabBaiGiai_Sel

ectedIndexChan

ged

4 Click vào điều khiển

số 2

(ckKiemTraTungBu

oc)

Người dùng bật / tắt

chế độ giải Kiểm tra

từng bước

ckKiemTraTungB

uoc_CheckedCha

nged

5 Click vào điều khiển

số 10

(btnKiemTraBaiGiai

)

Người dùng nhấn nút

kiểm tra bài giải

btnKiemTraBaiG

iai_Click

6 Click vào điều khiển

số 9 (btnQuayLui)

Người dùng nhấn nút

quay lui để quay lui về

một bước giải trước

btnQuayLui_Cli

ck

Page 59: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

59

7 Nhấn phím enter

trong editor giải bài

tập

Người dùng nhấn

Enter để sang bước

giải mới sau khi kết

thúc một bước giải.

Biến cố này sẽ được

xử lý trong trường hợp

chế độ giải là Kiểm tra

từng bước.

rtbBaiGiai_Key

Down

Click vào điều khiển

btnQuayLui

Click chuột vào nút

này hiển thị bước giải

tiếp theo trong đáp

btnBuocGiaiTie

p_Click

8 Click chuột vào mục

Lưu bài giải

Người dùng nhấn

phím phải chọn mục

Lưu bài giải trong khi

đang giải hoặc sau khi

giải xong.

mucLuuBaiGiai.

Click

9 Click chọn mục

Import bài giải

Người dùng nhấn phải

vào edior bài giải và

chọn mục Import bài

giải để import một bài

giải từ file vào edior

mucImportBaiGi

ai.Click

Page 60: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

60

10 Click chọn mục

Import bài giải

Người dùng nhấn phải

vào edior bài giải và

chọn mục Export bài

giải để export một bài

giải ra file

mucExportBaiGi

ai.Click

1.3 MH_XemBaiGiai

1.3.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 lvDSBaiGiai ListView ListView chứa danh sách các bài giải

của bài tập được chọn.

2 rtbNoiDung RichTextBox Chứa nội dung của bài giải được

chọn

3 rtbNhanXet RichTextBox Chứa nhận xét về bài giải

4 btnPrint Button Chức năng in bài giải ra giấy

Page 61: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

61

Hình 22: Màn hình xem bài giải

1.3.2 Danh sách các biến cố

STT Biến cố Diễn giải Hàm xử lý

1 Click chọn

bài giải

Người dùng click

chọn bài giải cần xem

trong lvDSBaiGiai

lvDSBaiGiai_SelectedInd

exChanged

2 Click chọn

nút In

Người dùng muốn in

bài giải ra giấy

btnPrint_Click

1-lvDSBaiGiai

2-rtbNoiDung

3-rtbNhanXet

4-btnPrint

Page 62: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

62

1.4 MH_XemDapAn

1.4.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 lvDSDapAn ListView Listview chứa danh sách các đáp

án của bài tập được chọn.

2 rtbNoiDung RichTextBox Chứa nội dung đáp án được chọn

3 btnPrint Button Chức năng in đáp án ra giấy

Hình 23: Màn hình xem đáp án

1-lvDSDapAn

2-rtbNoiDung 3-btnPrint

Page 63: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

63

1.4.2 Danh sách các biến cố

STT Biến cố Diễn giải Hàm xử lý

1 Click chọn

đáp án cần

xem

Người dùng click chọn

đáp án cần xem trong

lvDSDapAn

lvDSDapAn_SelectedIn

dexChanged

2 Click chọn

nút In

Người dùng muốn in đáp

án ra giấy

btnPrint_Click

1.5 MH_XemLyThuyet

1.5.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 rtbNoiDung RichTextBox Hiển thị nội dung bài học lý thuyết được

chọn.

2 toolBarBaiHoc ToolBar Chứa các chức năng in ấn và import bài

học lý thuyết.

Page 64: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

64

Hình 24: Màn hình xem lý thuyết

1.5.2 Danh sách các biến cố

STT Biến cố Diễn giải Xử lý

1 Nhấn

nút In

Người dùng muốn

in bài học ra giấy

toolBar1_ButtonClick

2- toolBarBaiHoc

1- rtbNoiDung

Page 65: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

65

1.6 MH_HeGiaoVien

1.6.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 tabControlLopDoiTuong TabControl TabControl chứa các đối

tượng chính

2 panel Panel Khung để đặt các màn hình

con lên, ví dụ như

MH_SoanBaiTap …

3 tabPageSachBaiTap TabPage Tabpage chứa tất cả các bài

tập của một quyển sách bài

tập

4 tabPageSachBaiHoc TabPage Tabpage chứa các bài học

lý thuyết trong sách bài học

5 cmBaiHoc ContextMenu Thực đơn chứa các chức

năng của đối tượng bài học

6 cmiBaiHoc_ChuongMoi MenuItem Mục thêm một chương bài

học mới

7 cmiBaiHoc_SoanMoi MenuItem Mục thêm một bài học mới

8 cmBaiTap ContextMenu Thực đơn chứa các chức

năng của bài tập, bao gồm:

- Soạn đáp án

- Thêm bài tập mới

- Xóa bài tập.

Page 66: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

66

9 mainMenu MainMenu Thực đơn chính của

chương trình

10 mnChucNangPhu MenuItem Chứa các chức năng phụ

của chương trình

11 mnCNP_Email MenuItem Chức năng liên lạc qua

email

12 mnCNP_SoanQDCD MenuItem Chức năng Soạn quy định

chấm điểm

13 mnThoat MenuItem Chức năng thoát chương

trình

14 mnGiupDo MenuItem Chức các chức năng hỗ trợ

khác

15 mnGD_HuongDan MenuItem Chức năng Hướng dẫn

16 mnGD_GioiThieu MenuItem Chức năng Giới thiêu về

chương trình.

Page 67: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

67

Hình 25: Màn hình chính hệ giáo viên

1.6.2 Danh sách các biến cố

STT Biến cố Diễn giải Hàm xử lý

1 Clich chọn tab

đối tượng

Người dùng chọn loại đối

tượng (bài học hoặc lý

thuyết) bằng cách click vào

tab tương ứng

tabControlLopD

oiTuong_Select

edIndexChanged

2 Click chọn tab

Sách bài tập

Người dùng click chọn bài

tập trong tab Sách bài tập

tabctrlSachBai

Tap_SelectedIn

dexChanged

2- panel: khung đặt màn hình con

1-tabControlLopDoiTuong

3- tabPageSacBaiTap

4- tabPageSacBaiHoc 9- mainMenu

Page 68: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

68

3 Click vào mục

Soạn mới bài

học.

Người dùng click phải vào

phần màn hình thể hiện sách

bài học và chọn mục Soạn

mới bài học trong thực đơn

mniBaiHoc_Soan

Moi_Click

4 Click vào mục

Soạn đáp án

Người dùng click phải vào

một bài tập và chọn mục

Soạn đáp án trong thực đơn

mniBaiTap_Soan

DapAn_Click

5 Click vào mục

Thêm bài tập

mới.

Người dùng click phải vào

phần màn hình thể hiện sách

bài tập và chọn mục Thêm

mới bài tập trong thực đơn

mniBaiTap_Them

_Click

6 Click vào mục

Thêm sách mới

Người dùng nhấp phải trên

danh sách các sách bài tập

và chọn mục Thêm sách

mới

mniThemSachBT_

Click

1.7 MH_SoanLyThuyet

1.7.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 toolBarDinhDang ToolBar Thanh công cụ để định dạng văn bản lý

thuyết

2 rtbLyThuyet RichTextBox Đây là một hộp văn bản để giáo viên

soạn lý thuyết vào.

3 cmSoanLyThuyet ContextMenu Chứa các chức năng in ấn, export bài

học

Page 69: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

69

Hình 26: Màn hình soạn lý thuyết

1.7.2 Danh sách các biến cố

STT Biến cố Diễn giải Xử lý

1 Chọn mục lưu bài

soan

Chọn mục Lưu

bài học vừa soạn

cmiLuuBaiSoan_Click

2 Chọn mục export

bài soạn

Chọn mục

Export bài học

cmiExport_Click

3 Chọn mục in bài

soạn

In bài soạn ra

giấy

cmiIn_Click

1-toolBarDinhDang

2- rtbLyThuyet

3- cmSoanLyThuyet

Page 70: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

70

4 Chọn mục đọc từ

file

Đọc file bài học

có sẵn từ file

cmiDocFile_Click

1.8 MH_SoanBaiTap 1.8.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 cbDoKho ComboBox Mức độ khó của một bài tập

2 txtThoiGianLamBai TextBox Thời gian được tính bằng phút

3 txtDeBai TextBox Nội dung của đề bài

4 btnDocFile Button Đọc đề bài từ file

5 btnLuuBT Button Lưu bài tập lên CSDL

6 btnExport Button Export bài tập ra file

7 btnPhatSinh Button Phát sinh đề bài

8 cmBaiTap ContextMenu Thực đơn chứa các mục :

- Đọc từ file

- Lưu bài soạn

- Export

Page 71: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

71

Hình 27: Màn hình soạn bài tập

1.8.2 Danh sách các biến cố

STT Biến cố Diễn giải Xử lý

1 Chọn mục Export

bài tập

2 Click button

Export

cmiExport_Click

3 Chọn mục Lưu

bài tập

Chọn mục Lưu bài

tập mới soạn

4 Click button Luu

cmiLuuBT_Click

2-txtThoiGianLamBai

3- txtDeBai

4- btnDocFile

5- btnExport 6- btnLuu

1- cbDoKho

8- cmBaiTap

7- btnPhatSinh

Page 72: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

72

5 Chọn độ khó của

bài tập soạn

Chọn độ khó của

bài tập

cbDoKho_SelectionC

hangeCommitted

6 Gõ vào nội dung

đề bài

Nội dung đề bài

thay đổi txtDeBai_KeyPress

7 Gõ vào ô thời

gian làm bài

Thời gian làm bài

đã thay đổi

txtThoiGianLamBai_

KeyDown

8 Chọn mục Đọc

file đề bài

Thay vì phải gõ ta

chọn đọc từ một

file đề bài tập có

sẵn

9 Click button Đọc

file

Đọc bài tập từ file

cmiExport_Click

10 Click button Phát

sinh đề

Phát sinh đề bài

tập

btnPhatSinhDe_Clic

k

1.9 MH_SoanDapAn

1.9.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 txtDeBai TextBox Đề bài tập

2 txtDapAn TextBox Bài giải đáp án

3 lvDapAn ListView Danh sách các đáp án của bài tập

4 Các btnKhungBuocGiai Button Chứa khung của các loại bước

giải

Page 73: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

73

5 cmDapAn ContextMe

nu

Thực đơn chứa các mục:

- Nhập đáp án từ file

- Thêm đáp án mới

- Lưu đáp án

- In

- Export

6 btnQuayLui Button Chức năng quay lui một bước

giải

Hình 28: Màn hình soạn đáp án

Page 74: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

74

1.9.2 Danh sách các biến cố

STT Biến cố Diễn giải Xử lý

1 Chọn mục

Export đáp án

Người dùng muốn

export đáp án ra file

cmiExport_Click

2 Chọn mục In Người dùng muốn

in đáp án ra giấy

cmiIn_Click

3 Chọn mục Lưu

bài soạn

Người dùng nhấp

phải chọn Lưu bài

soạn

cmiLuuBaiSoan_Click

4 Chọn mục

Thêm đáp án

mới

Người dùng muốn

thêm một đáp án

mới của bài tập

cmiThemMoi_Click

5 Chọn mục

Nhập từ file

Người dùng muốn

nhập đáp án từ file

cmiNhapTuFile_Click

6 Click chọn nút

Quay lui

Người dùng muốn

quay lại bước giải

trước đó

btnQuayLui_Click

7 Nhấn phím

trong

txtDapAn

Người dùng gõ vào

txtDapAn

txtDapAn_KeyPress

Page 75: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

75

1.10 MH_SoanQDCD

1.10.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 Các label Label

2 txtDiemToiDa TextBox Điểm tối đa của một

bài giải

3 txtDiemCongBDTTG TextBox Điểm cộng cho việc

chứng minh một bất

đẳng thức trung gian

4 txtDiemTruBDSai TextBox Điểm trừ cho một biến

đổi sai

5 txtDiemTruXemBG TextBox Điểm trừ một lần xem

bước giải tiếp

6 btnExport Button Export quy định ra file

để gửi cho phân hệ

học sinh

7 btnKetThuc Button Nhấn nút này để kết

thúc soạn

8 Các groupbox để gom

nhóm

Page 76: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

76

Hình 29: Màn hình soạn quy định chấm điểm

1.10.2 Danh sách các biến cố

STT Biến cố Diễn giải Xử lý

1 Click vào nút

Kết thúc

Chọn chức năng

thoát

btnKetThuc_Click

2 Click vào nút

Export

Chọn chức năng

export quy định ra

file

btnExport_Click

3 Gõ vào

txtDiemToiDa

Gõ vào điểm tối đa txtDiemToiDa_KeyPres

s

4 Gõ vào

txtĐiemCongB

DTTG

Gõ vào điểm cộng

cho một bất đẳng

thức trung gian

txtDiemCongBDTTG_Key

Press

5 Gõ vào

txtDiemTruBD

Sai

Gõ vào điểm trừ

cho một biến đổi sai

txtDiemTruBDSai_KeyP

ress

Page 77: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

77

6 Gõ vào

txtDiemTruXe

mBG

Gõ vào điểm trừ

cho một lần xem

bước giải tiếp

txtDiemTruXemBG_KeyP

ress

7 Di chuột trên

btnExport

btnExport_MouseHover

1.11 MH_ThemSachBT

1.11.1 Nội dung màn hình

STT Thuộc tính Loại Diễn giải

1 lbTenSachDeBai Label

2 txtTenSach TextBox Ô để gõ vào tên sách mới

3 btnThem Button Nhấn nút này để cập nhật

sách mới

4 btnKetThuc Button Nhấn nút này để kết thúc

thêm sách.

Hình 30: Màn hình thêm sách bài tập

Page 78: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

78

1.11.2 Danh sách các biến cố

STT Biến cố Diễn giải Xử lý

1 Click vào nút Kết

thúc

Click vào button

Kết thúc

btnKetThuc_Click

2 Click vào nút Thêm Click vào button

Thêm

btnThem_Click

2 Hệ thống hàm của các lớp đối tượng

Các lớp đối tượng của chương trình được chia làm ba loại:

- Loại 1:dùng chung cho cả hai phân hệ người dùng.

- Loại 2: bao gồm những hàm dành riêng cho phân hệ học sinh

- Loại 3: .bao gồm những hàm dành riêng cho phân hệ giáo viên

2.1 Các lớp dùng chung

2.1.1 Đối tượng xử lý chính

2.1.1.1 CBaiGiai

STT Hàm xử lý Ý nghĩa

1 KhaiBaoBienCo() Khai báo các biến cố cho Edior đề

giải bài tập

2 KhaiBaoBienCoThucDon() Khai báo các biến cố của thực đơn các

chức năng cảu bài giải

3 KiemTraBuocGiaiMoi() Kiểm tra một bước giải mới được

Page 79: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

79

nhập vào

4 LayBuocGiaiTruoc() Lấy bước giải trước bước giải hiện

hành

5 LayThuTuBuocGiaiDanhSo

()

Lấy thứ tự của một bước giải được

đánh số nào đó trong bài giải

6 LayBuocGiaiDanhSo() Lấy bước giải được đánh số

7 XuLiBuocGiai() Xử lí một bước giải mới đựơc nhập

vào

8 XuLiBuocGiaiDung() Các xử lí tương ứng nếu bước giải là

đúng

9 LaySoBuocGiai() Lấy số bước giải hiện thời của bài giải

10 ChamDiem() Chấm điểm tự động cho bài giải

11 KetThucBaiGiai() Các xử lý tương ứng khi có biến cố

kết thúc bài giải

12 ThemBuocGiai Thêm bước giải mới vào bài giải

13 XoaBuocGiai() Xóa bước giải ở một vị trí nào đó

trong bài giải

14 DanhSoBuocGiai Đánh số cho một bứơc giải nào đó.

Qui ước đánh số theo thứ tự tăng dần

15 QuayLui(int) Quay lui một số bước nào đó trong bài

giải

16 LuuBaiGiai() Lưu bài giải vào cơ sở dữ liệu

17 ChonMucLuuBaiGiai Hàm xử lí cho biến cố chọn chức năng

lưu bài giải

Page 80: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

80

18 ChonMucImportBaiGiai() Hàm xử lí cho biến cố chọn chức năng

import bài giải

19 ChonMucExportBaiGiai() Hàm xử lí cho biến cố chọn chức năng

export bài giải

2.1.1.2 Lớp CBieuThuc

STT Hàm xử lý Ý nghĩa

1 PhanTich(string) Phân tích một chuỗi truyền vào theo

dạng biểu thức

2 BangNhau(CBieuThuc) So sánh biểu thức với một biểu thức

khác

3 DoiNhau(CBieuThuc) Kiểm tra 2 biểu thức có đối nhau

4 ChuyenThanhTongToiGia

n()

Chuyển một biểu thức bất kỳ thành

dạng tổng tối giản (1)

5 ChuyenThanhPhanThuc() Chuyển biểu thức đang xét thành phân

thức

6 ChuyenThanhBieuThucTi

ch()

Chuyển biểu thức đang xét thành biểu

thức tích

7 LuyThua(int) Lũy thừa biểu thức theo một số mũ nào

đó

8 DoiDauBieuThuc() Đổi dấu của biểu thức

9 NghichDao() Lấy nghịch đảo của biểu thức

10 Cong(CBieuThuc) Cộng biểu thức với một biểu thức khác

11 Tru(CBieuThuc) Trừ biểu thức cho một biểu thức khác

Page 81: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

81

12 Nhan(CBieuThuc) Nhân biểu thức với một biểu thức

13 Chia(CBieuThuc) Chia biểu thức cho một biểu thức

14 XetDau() Xét dấu của biểu thức

15 NhanDonGian()

16 NhanKhaiTrien(CbieuTh

uc)

Nhân và khai triển biểu thức đang xét

với một biểu thức khác

17 RutGonBieuThuc() Rút gọn biểu thức

18 SapXepBieuThuc() Sắp xếp biểu thức theo thứ tự quy ước

19 BoPhanTuThua() Bỏ các phần tử thừa trong biểu thức

Vd : a+b+0 a+b

20 LayChuoi() Lấy biểu thức dưới dạng chuỗi

21 SoSanhThuTu(CBieuThuc

)

So sánh thứ tự của hai biểu thức theo

chuẩn đã qui ước

22 ThuTuSap() Trả về một thứ tự cuả biểu thức trong

bảng thứ tự qui ước

23 ChiaBT(CBieuThuc) Thực hiện phép chia theo nguyên tắc

chia đa thức đối với một biểu thức đã

được chuyển thành tổng tối giản

Ghi chú:

(1) : một biểu thức dạng tổng tối giản khi nó đã được khai triển đến

mức tối đa

Page 82: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

82

2.1.1.3 Lớp CBatDangThuc

STT Hàm xử lý Ý nghĩa

1 KhoiTao(string) Khởi tao bất đẳng thức từ

một chuỗi truyền vào

2 TuongDuong(CBatDangThuc) Kiểm tra bất đẳng thức

đang xét có tương đương

với một bất đẳng thức khác

không

3 LaBatDangThucDung() Kiểm tra bất đẳng thức

đang xét có phải là một bất

đẳng thức đúng

4 CongVeTheoVe(CBatDangThuc) Cộng vế theo vế bất đẳng

thức đang xét với một bất

đẳng thức khác

5 NhanVeTheoVe(CBatDangThuc) Nhân vế theo vế bất đẳng

thức đang xét với một bất

đẳng thức khác

6 DoiChieu() Đổi chiều bất đẳng thức

7 DoiDauVaChieu() Đổi dấu và chiều của bất

đẳng thức

8 SuyRaDuocTu(CBatDangThuc) Kiểm tra bất đẳng thức

đang xét có thể suy ra được

từ một bất đẳng thức khác

Page 83: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

83

hay không

9 BacCau(CBatDangThuc) Tạo một bất đẳng thức mới

( nếu có thể) từ 2 bất đẳng

thức bằng cách dựa vào

tính chất bắc cầu

Vd : a>b & b>c a>c

10 ThoaTinhBacCau(CBatDangThuc

)

Kiểm tra xem có thể áp

dụng tính bắc cầu cho 2 bất

đẳng thức không

11 TuongUng(CBatDangThuc) Kiểm tra bất đẳng thức

đang xét có giống với một

bất đẳng thức khác

12 ThayTheBieuThuc(CBieuThuc,C

BieuThuc)

Thay thế một biểu thức con

xuất hiện trong bất đẳng

thức bởi một biểu thức

khác

2.1.1.4 Lớp CBuocGiai

STT Hàm xử lý Ý nghĩa Ghi chú

1 KhoiTao(string) Khởi tao bước giải từ một

chuỗi truyền vào

2 LayBatDangThuc() Lấy bất đẳng thức trong

bước giải

Page 84: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

84

3 KiemTraBuocGiai() Kiểm tra bước giải đang

xét có phải là bước giải

đúng

Đây là hàm ảo,

sẽ được cài trễ ở

các lớp tương

ứng của mỗi loại

bước giải

2.1.2 Các lớp phụ (hỗ trợ xử lý)

2.1.2.1 Lớp CBoNho

STT Hàm xử lý Ý nghĩa

1 DocNoiDungFile(string

tenfile)

Hàm đọc nội dung tập tin, trả về

một chuỗi

2 GhiLenFile(string) Ghi một chuỗi lên file

3 DocBaiTapTuFile(string) Đọc các thông tin của một bài tập từ

file

2.1.2.2 Lớp BieuThuc

STT Hàm xử lý Ý nghĩa

1 PhanLoaiBieuThuc

(string)

Phân loại một biểu thức truyền vào dưới

dạng chuỗi

2 KhoiTaoBieuThuc(

string)

Khởi tạo một biểu thức từ chuỗi)

3 BoNgoacThua(stri

ng)

Bỏ các dấu ngoăc thừa trong chuỗi biểu diễn

một biểu thức

Page 85: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

85

4 DemSoNgoacMo Đếm số ngoặc mở so với một vị trí nào đó

trong chuỗi biểu diễn biểu thức

5 DemSoNgoacDong Đếm số ngoặc đóng so với một vị trí nào đó

trong chuỗi biểu diễn biểu thức

6 DemSoNgoacTrai Đếm số ngoặc phía bên trái của một toán tử

7 DemSoNgoacPhai Đếm số ngoặc phía bên phải của một toán tử

8 DemSoNgoac Đếm số ngoặc phía bên trái và phải của một

toán tử, kiểm tra chúng có bằng nhau

9 ThayĐauNgoaiCung Thay các kí tự biểu diễn toán tử và không

nằm trong dấu ngoặc nào bởi một kí tự khác

10 HoanVi(CBieuThuc

,CBieuThuc)

Hoán vị 2 biểu thức cho nhau

2.1.2.3 Lớp BuocGiai

STT Hàm xử lý Ý nghĩa

1 PhanTichBuocGiai(st

ring)

Phân tích một chuỗi truyền vào thành 2

phần:

- Nội dung bước giải

- Kí hiệu của bước giải (nếu có)

2 PhanLoaiBuocGiai(st

ring)

Phân loại một bước giải truyền vào dưới

dạng chuỗi

3 KhoiTaoBuocGiai(str

ing)

Khởi tạo một bước giải từ chuỗi

4 LayDanhSachBuocGiai Phân tích một bài giải dạng chuỗi thành

Page 86: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

86

(baigiai) danh sách các bước giải

5 LayChuoiBDTTuBuocGi

ai

Đọc chuỗi bất đẳng thức trong bước giải

2.1.2.4 Lớp TapLenh

STT Hàm xử lý Ý nghĩa

1 PhanTichDeBai(string) Phân tích đề bài truyền vào

thành các phần:

- Bất đẳng thức đề bài

- Danh sách các điều kiện.

2 CuPhapHopLe(string

maucuphap, string chuoi)

Kiểm tra một chuỗi có theo

đúng dạng của mẫu cú pháp

hay không

3 LayCacGiaTriCuaNhom(string,

string,string)

Page 87: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

87

2.2 Phân hệ học sinh

2.2.1 Lớp đối tượng giao tiếp người dùng

2.2.1.1 Lớp MH_HeHocSinh

STT Hàm xử lý Ý nghĩa

1 KhoiTaoMenu() Khởi tạo menu chính cho

phân hệ học sinh

2 mnCNP_Email_Click(Object

sender, System.EventArgs e) Mở màn hình nhận gửi mail

để giao tiếp giữa học sinh và

giáo viên.

4 mnThoat_Click(Object

sender,System.EventArgs e) Thoát khỏi chương trình

5 mnGD_HuongDan_Click(Object

sender, System.EventArgs e) Mở Help hướng dẫn sử dụng.

6 mnGD_GioiThieu_Click(Object

sender,System.EventArgs e) Hiển thị màn hình giới thiệu.

7 tabctrlSachBaiTap_Selection

Changed(object sender,

System.EventArgs e)

Thực hiện việc chọn sách bài

tập tương ứng làm sách hiện

hành.

8 tvNoiDungSachBaiHoc_AfterSe

lect(object sender,

System.Windows.Forms.TreeVi

ewEventArgs e)

Hiển thị nội dung bài học

được chọn.

9 DoiManHinhCon(Control Hiển thị màn hình tương ứng

Page 88: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

88

control) với yêu cầu.

10 mniThemSachBT_Click(object

sender, System.EventArgs e) Hiển thị màn hình Thêm sách

để thêm sách bài tập

11 ChonLoaiDoiTuong() Thực hiện việc chọn loại đối

tượng (là sách bài tập hay

sách bài học)

12 tabControlLopDoiTuong_Selec

tionChanged(object sender,

System.EventArgs e)

Gọi hàm Chọn loại đối tượng

để chọn loại đối tượng tương

ứng

2.2.1.2 Lớp MH_GiaiBT

STT Hàm xử lý Ý nghĩa

KhoiTaoManHinhTheoBaiTap

(CBaiTap baiTap) Khởi tạo màn hình giải bài tập

tương ứng với các thông tin của

bài tập được chọn

1 TaoMoiDongHo(int

thoiGianBatDau) Khởi tạo đồng hồ để canh giờ

giải bài tập.

3 ThietLapTrangThaiManHinh

_1(bool bDangGiai) Thiết lập trạng thái của các đối

tượng giao diện trên màn hình

phù hợp với từng thời điểm

2 ThietLapTrangThaiManHinh

_2(bool bGiaiTheoDapAn) Thiết lập trạng thái của các đối

tượng trên màn hình khi người

dùng chuyển đổi giữa 2 loại bài

Page 89: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

89

giải (giải tự do và giải theo đáp

án)

4 DongHo_Tick(object

sender, System.EventArgs

e)

Hàm xử lý cho biến cố phát sinh

của đồng hồ ( đếm thời gian lên

1s)

5 ckTrangThai_CheckedChang

ed(object sender,

System.EventArgs e)

Hàm xử lý cho biến cố người

dùng nhấn vào nút để bắt đầu

hay tạm ngưng việc giải bài tập

thiết lập trạng thái màn hình

thích hợp.

6 tabBaiGiai_SelectedIndex

Changed(object sender,

System.EventArgs e)

Hàm xử lý biến cố chuyển đổi

qua lại giữa các chế độ giải (Giải

theo đáp án và Giải tự do)

7 ChuyenDoiBaiGiai(bool

DapAn_TuDo) Thực hiện việc chuyển đổi bài

giải hiện hành từ chế độ giải tự

do sang giải theo đáp án hay

ngược lại.

8 btnKhungBuocGiai_Click(o

bject sender,

System.EventArgs e)

Đặt khung bước giải được chọn

vào ô bài giải.

10 ckKiemTraTungBuoc_Checke

dChanged(object sender,

System.EventArgs e)

Bật hoặc tắt chế độ kiểm tra từng

bước giải.

11 btnKiemTraBaiGiai_Click(

object sender,

Kiểm tra toàn bộ bài giải

Page 90: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

90

System.EventArgs e)

12 ckXemGoiY_CheckedChanged

(object sender,

System.EventArgs e)

Hiển thị gợi ý cho bước giải kế

tiếp trong bài giải theo đáp án.

13 btnBuocGiaiTiep_Click(ob

ject sender,

System.EventArgs e)

Hiển thị bước giải kế tiếp trong

đáp án khi người dùng chọn giải

theo đáp án

14 btnQuayLui_Click(object

sender, System.EventArgs

e)

Quay lui đến một bước giải trước

đó

2.2.1.3 Lớp MH_XemBaiGiai

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng.

2 TaoDanhMucBaiGiai(CBaiTap

baitap)

Tạo danh mục các bài giải của

bài tập truyền vào.

3 BaiGiaiDuocChon() Lấy bài giải hiện hành.

4 ChonBaiGiai(object

sender, System.EventArgs

e)

Hàm xử lý biến cố chọn một bài

giải trong danh sách bài giải

hiển thị nội dung bài giải lên

màn hình.

Page 91: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

91

2.2.1.4 Lớp MH_XemLyThuyet

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng.

2.2.1.5 Lớp MH_XemDapAn

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng.

2 TaoDanhMucDapAn(CBaiTap

baitap)

Tạo danh mục các đáp án của bài

tập truyền vào.

3 DapAnDuocChon() Lấy đáp án hiện hành.

4 ChonDapAn(object

sender,

System.EventArgs e)

Hàm xử lý biến cố chọn đáp án

trong danh sách đáp án hiển thị

nội dung của đáp án lên màn hình

2.2.2 Lớp đối tượng xử lý

2.2.2.1 Lớp CBaiTap

STT Hàm xử lý Ý nghĩa

1 DocDanhMucBaiGiai() Đọc danh sách các bài giải của bài tập

2 DocDanhMucDapAn() Đoc danh sách các đáp án của bài tập

Page 92: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

92

3 LayBatDangThucDeBai() Đọc bất đẳng thức trong đề bài của bài

tập

5 LayChuoiBatDangThucDeBai

() Đọc bất đẳng thức trong đề bài của bài

tập dưới dạng chuỗi

6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài

7 KhoiTao() Khởi tạo bài tập

8 KhoiTaoThucDon() Hàm khởi tạo thực đơn các chức năng

của của bài giải

KhaiBaoBienCoThucDon

()

9 ChonMucGiaiBaiTap(object

sender,EventArgs e) Hàm xử lí biến cố chọn chức năng giải

bài tập

10 ChonMucXemBaiGiai(object

sender,EventArgs e) Hàm xử lí biến cố chọn chức năng xem

bài giải

11 ChonMucXemDapAn(object

sender,EventArgs e) Hàm xử lí biến cố chọn chức năng xem

đáp án

12 ChonMucImportDapAn(objec

t sender,EventArgs e) Hàm xử lí cho biến cố chọn chức năng

import đáp án

2.2.2.2 Lớp CDapAn

STT Hàm xử lý Ý nghĩa

1 TimBuocGiaiTuongUng(C

BuocGiai)

Tìm bước giải trong đáp án giống với

bước giải truyền vào

Page 93: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

93

2.2.2.3 Lớp CSachBaiTap

STT Hàm xử lý Ý nghĩa

1 ThemSachVao(TabContro

l)

Thêm thể hiện của sách vào một điều

khiển

2 ThemBaiTap(baiTap) Thêm một bài tập vào sách

3 KhoiTaoDanhMucBaiTap(

danhsachbaitap)

Khởi tạo danh mục bài tập cho sách từ

danh sách bài tập truyền vào

4 NhapBaiTapTuFile() Import một bài tập được lưu trên file

5 LuuSach() Lưu thông sách bài tập vào trong cơ sở

dữ liệu

2.2.3 Lớp giao tiếp bộ nhớ phụ

2.2.3.1 CSDL

STT Hàm xử lý Ý nghĩa

1 KetNoiCSDL() Hàm kết nối cơ sở dữ liệu

2 DocDanhMucSach() Đọc danh sách các sách từ database

3 DocDanhMucBaiTap() Đọc danh sách tất cả bài tập từ cơ sở

dữ liệu

4 DocDanhMucBaiTap

(masach)

Đọc danh sách bài tập của một sách

nào đó từ cơ sở dữ liệu

5 DocDanhMucBaiGiai

(mabaitap)

Đọc danh sách bài giải của một bài tâp

từ cơ sở dữ liệu

Page 94: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

94

6 DocDanhMucDapAn

(mabaitap)

Đọc danh sách đáp án của một bài tập

từ cơ sở dữ liệu

7 DocBangThamSo() Đọc các trường dữ liệu trong bảng

tham số từ cơ sở dữ liệu

8 LuuBaiTap(… ) Lưu các thông tin của một bài tập vào

cơ sở dữ liệu

9 LuuBaiGiai() Lưu các thong tin của bài giải vào cơ

sở dữ liệu

10 LuuDapAn() Lưu các thông tin của đáp án vào cơ sở

dữ liệu

2.3 Phân hệ giáo viên

2.3.1 Đối tượng giao tiếp người dùng

2.3.1.1 Lớp MH_HeGiaoVien

STT Hàm xử lý Ý nghĩa

1 8 Các hàm từ 1(8 trong lớp

MH_HeHocSinh

9 mnCNP_SoanQDCD_Click(Objec

t sender,System.EventArgs

e)

Mở màn hình soạn quy định

chấm điểm.

10 void

mniBaiHoc_SoanMoi_Click(ob

ject sender,

Thêm node mới vào cây bài học

và để người dùng gõ vào chủ đề

bài học. Mỗi bài học thuộc một

Page 95: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

95

System.EventArgs e) chương nào đó.

11 mniBaiTap_Them_Click(objec

t sender, System.EventArgs

e)

Thêm node mới vào cây bài tập

và hiển thị màn hình soạn bài

tập.

12 mniBaiTap_SoanDapAn_Click(

object sender,

System.EventArgs e)

Hiển thị màn hình soạn đáp án

cho bài tập được chọn.

13 ThemManHinhMoi(UserControl

mh)

Hiển thị màn hình tương ứng

với yêu cầu.

14 tvNoiDungSachBaiHoc_AfterL

abelEdit(object sender,

System.Windows.Forms.NodeL

abelEditEventArgs e)

Hiển thị màn hình soạn bài học

và chọn bài học vừa được gõ

chủ đề làm bài học hiện hành.

15 tabControlLopDoiTuong_Sele

ctionChanged(object

sender, System.EventArgs

e)

Hiển thị màn hình làm việc

tương ứng với đối tượng được

chọn.

16 MH_HeGiaoVien_Closing(obje

ct sender,

System.ComponentModel.Canc

elEventArgs e)

Nhắc nhở lưu các bài soạn nếu

thoát chương trình lúc chưa

lưu.

17 mniBaiHoc_ChuongMoi_Click(

object sender,

System.EventArgs e)

Thêm node mới vào cây bài học

làm chương mới và để người

dùng gõ vào tên chương.

Page 96: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

96

2.3.1.2 Lớp MH_SoanBaiTap

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng.

2 cbDoKho_SelectionChange

Committed(object

sender,

System.EventArgs e)

Hàm xử lý biến cố người dùng chọn

độ khó của bài tập trong comboBox

cbDoKho. Đánh dấu bài soạn chưa

lưu.

3 txtDeBai_KeyPress(objec

t sender,

System.Windows.Forms.Ke

yPressEventArgs e)

Hàm xử lý biến cố gõ phím trong

phần nội dung bài tập. Đánh dấu bài

soạn chưa lưu.

4 txtThoiGianLamBai_KeyDo

wn(object sender,

System.Windows.Forms.Ke

yEventArgs e)

Hàm xử lý biến cố gõ vào thời gian

làm bài. Chặn phím chỉ cho gõ kí

số. Đánh dấu bài soạn chưa lưu.

5 cmiDocFile_Click(object

sender,

System.EventArgs e)

Hàm xử lý biến cố chọn chức năng

Đọc nội dung bài tập từ file.

6 cmiLuuBT_Click(object

sender,

System.EventArgs e)

Hàm xử lý biến cố chọn chức năng

lưu bài tập vừa soạn.

7 cmiExport_Click(object

sender,

Hàm xử lý biến cố chọn chức năng

export bài tập ra file.

Page 97: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

97

System.EventArgs e)

8 cbDoKho_MouseHover(obje

ct sender,

System.EventArgs e)

Hàm xử lý biến cố di chuột trên

comboBox cbDoKho. Hiển thị

tooltip giải thích.

9 txtThoiGianLamBai_Mouse

Hover(object sender,

System.EventArgs e)

Hàm xử lý biến cố di chuột trên

comboBox cbDoKho. Hiển thị

tooltip giải thích

2.3.1.3 Lớp MH_SoanLyThuyet

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng.

2 HienThiNoiDung(string

NoiDung)

Hiển thị NoiDung lên trên

rtbLyThuyet.

3 cmiLuuBaiSoan_Click(ob

ject sender,

System.EventArgs e)

Thực hiện việc lưu bài soạn vào cơ sở

dữ liệu.

4 cmiExport_Click(object

sender,

System.EventArgs e)

Thực hiện việc export bài soạn lý

thuyết ra file.

5 cmiIn_Click(object

sender,

System.EventArgs e)

Hàm xử lý biến cố chọn chức năng In

bài học ra giấy.

6 rtbLyThuyet_KeyPress(o

bject sender,

Hiển thị nội dung lý thuyết vừa gõ

vào với các định dạng được chọn.

Page 98: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

98

System.Windows.Forms.K

eyPressEventArgs e)

8 CapNhatFont() Cập nhật font chữ cho nội dung lý

thuyết đang được chọn.

9 fontComboBox_Selection

ChangeCommitted(object

sender,

System.EventArgs e)

Hàm xử lý biến cố chọn lại font chữ.

10 txtFontSize_KeyUp(obje

ct sender,

System.Windows.Forms.K

eyEventArgs e)

Hàm xử lý biến cố chọn lại cỡ chữ.

11 toolBarDinhDang_Button

Click(object sender,

System.Windows.Forms.T

oolBarButtonClickEvent

Args e)

Xác định chức năng người dùng vừa

chọn trên toolbar để xử lý cho phù

hợp.

2.3.1.4 Lớp MH_SoanDapAn

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng.

2 TaoDanhSachDapAn() Tạo listview chứa danh sách các

đáp án.

3 DocDanhSachDapAn() Đọc danh sách các đáp án của bài

Page 99: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

99

tập hiện hành vào listview đáp án.

4 HienThiManHinhDapAn() Hiển thị màn hình chức các đáp án

và khung để soạn đáp án mới.

5 rtbDapAn_KeyPress(object

sender,System.Windows.Fo

rms.KeyPressEventArgs e)

Hàm xử lý biến cố gõ phím trong

khung soạn đáp án. Đánh dấu bài

soạn chưa lưu.

6 cmiLuuDapAn_Click(object

sender, System.EventArgs

e)

Hàm xử lý biến cố chọn chức năng

lưu bài soạn đáp án.

7 cmiIn_Click(object

sender, System.EventArgs

e)

Hàm xử lý biến cố chọn chức năng

In đáp án ra giấy.

8 cmiExport_Click(object

sender, System.EventArgs

e)

Hàm xử lý biến cố chọn chức năng

Export bài soạn đáp án ra file.

9 lvDapAn_SelectedIndexCha

nged(object sender,

System.EventArgs e)

Hàm xử lý biến cố chọn đáp án

trong danh sách đáp án và hiển thị

nội dung của nó trong khung soạn

thảo.

10 cmiThemMoi_Click(object

sender, System.EventArgs

e)

Hàm xử lý biến cố chọn chức năng

thêm một đáp án mới.

Page 100: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

100

2.3.1.5 Lớp MH_ThemSachBaiTap

STT Hàm xử lý Ý nghĩa

1 Hàm khởi tạo đối tượng.

2 - btnKetThuc_Click(object

sender, System.EventArgs e)

- btnThem_Click(object

sender, System.EventArgs e)

Kết thúc việc thêm sách.

2.3.1.6 Lớp MH_SoanQDCD

STT Hàm xử lý Ý nghĩa

1 Hàm khởi tạo đối tượng.

2 btnExport_Click(object sender,

System.EventArgs e)

Export quy định chấm

điểm ra file sẵn sàng để

gửi cho phân hệ học sinh.

3 txtDiemToiDa_KeyPress(object

sender,

System.Windows.Forms.KeyPressE

ventArgs e)

4 txtDiemCongBDTTG_KeyPress(obje

ct sender,

System.Windows.Forms.KeyPressE

ventArgs e)

5 txtDiemTruBDSai_KeyPress(objec

t sender,

Chặn phím chỉ cho nhập

vào chữ số.

Page 101: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

101

System.Windows.Forms.KeyPressE

ventArgs e)

6 txtDiemTruXemBG_KeyPress(objec

t sender,

System.Windows.Forms.KeyPressE

ventArgs e)

7 void

btnExport_MouseHover(object

sender, System.EventArgs e)

Hiển thị tooltip giải thích

chức năng của nút Export

8 btnKetThuc_Click(object

sender, System.EventArgs e)

Thoát khỏi màn hình

soạn quy định chấm điểm

2.3.2 Đối tượng xử lý

2.3.2.1 Lớp CBaiTap

STT Hàm xử lý Ý nghĩa

1 BatDangThucDeBai() Lấy bất đẳng thức trong đề bài dưới

dạng đối tượng CBatDangThuc.

2 LayDanhSachDieuKien() Lấy danh sách các điều kiện trong đề

bài.

3 LuuBaiTap() Lưu nội dung cùng các thuộc tính liên

quan của bài tập hiện hành.

5 LuuBaiTap() Đọc bất đẳng thức trong đề bài của bài

tập dưới dạng chuỗi

6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài

Page 102: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

102

7 Các hàm khởi tạo đối

tượng CBaiTap.

2.3.2.2 Lớp CDapAn

STT Hàm xử lý Ý nghĩa

1 Các hàm giống như trong

lớp CDapAn_HeHocSinh.

2 LuuDapAn() Lưu nội dung đáp án vừa soạn

của bài tập hiện hành.

2.3.2.3 Lớp CBaiHoc

STT Hàm xử lý Ý nghĩa

1 Các hàm khởi tạo đối

tượng CBaiHoc

2 LuuLyThuyet() Nhờ lớp CGiaoVien thực hiện lưu bài

học hiện hành vào cơ sở dữ liệu.

2.3.2.4 Lớp CSachBaiTap

STT Hàm xử lý Ý nghĩa

1 Các khởi tạo đối tượng

CSachBaiTap

2 KhoiTaoMenu() Khởi tạo contextmenu cho đối

tượng CSachBaiTap.

3 ThemBaiTap(BAITAP) Thêm một bài tập đã có nội dung

Page 103: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

103

đầy đủ vào sách

4 ThemBaiTapMoi(TreeNode) Thêm một bài tập mới vào sách.

5 TaoDanhMucBaiTap(BAITAP[

])

Tạo danh sách bài tập cho đối

tượng CSachBaiTap bằng cách

thêm các bài tập đã có vào cây

danh sách bài tập trong tabpage

sách bài tập..

6 ChonBaiTap(object

sender,

System.Windows.Forms.Tre

eViewEventArgs e)

Hàm xử lý biến cố click chọn bài

tập trong tabpage sách bài tập

7 tvNoiDungSach_MouseDown(

object

sender,System.Windows.Fo

rms.MouseEventArgs e)

Điều chỉnh contextmenu của đối

tượng CBaiTap cho phù hợp với

vị trí nhấn chuột trong danh sách

bài tập.

8 tvNoiDungSach_AfterLabel

Edit(object sender,

System.Windows.Forms.Nod

eLabelEditEventArgs e)

Hàm xử lý biến cố người dùng

đã gõ xong tên của bài tập mới

vào bằng cách ghi nhận lại tên

này làm tên bài tập mới.

9 ThemSachMoi(object

sender,System.EventArgs

e)

Hàm xử lý biến cố người dùng

chọn chức năng Thêm sách mới

trong contextmenu của đối

tượng CSachBaiTap. Cho hiển

thị màn hình Thêm sách bài tập.

10 XoaSachBT(object Hàm xử lý biến cố người dùng

Page 104: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

104

sender,System.EventArgs

e)

chọn chức năng Xóa sách bài

tập.

2.3.3 Đối tượng giao tiếp bộ nhớ phụ

2.3.3.1 Lớp CSDL

STT Hàm xử lý Ý nghĩa

1 KetNoiCSDL() Hàm kết nối cơ sở dữ liệu

2 -Các hàm khởi tạo đối

tượng CSDL

-Các hàm lấy dữ liệu của

bảng được yêu cầu.

3 DocDanhMucSach() Đọc danh sách các sách từ

database

4 LayMaSachBT(string

TenSach)

Lấy mã sách bài tập có tên là

TenSach.

5 XoaSachBT(string

TenSach)

Xóa sách bài tập có tên là TenSach

và xóa tất cả các bài tập trong sách

cùng các đáp án của bài tập đó.

6 ThemSachBT(string

TenSach)

Ghi sách bài tập có tên là TenSach

vào cơ sở dữ liệu.

7 DocDanhMucBaiTap(string

TenSach)

Đọc danh sách tất cả bài tập của

sách bài tập có tên là TenSach từ

cơ sở dữ liệu

8 LaySoBaiTap() Lấy số bài tập hiện có trong cơ sở

Page 105: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

105

dữ liệu.

9 DocDanhMucBaiTap(masach) Đọc danh sách bài tập của một

sách nào đó từ cơ sở dữ liệu

10 DocToanBoBaiTap() Đọc toàn bộ bài tập trong cơ sở dữ

liệu.

11 LuuBaiTap(<các thuộc

tính của bài tập>)

Lưu một bài tập mới vào cơ sở dữ

liệu.

12 XoaBaiTap(int MaSach) Xóa tất cả bài tập trong sách đó.

13 LayCacMaBT()

LayMaBT(string TenBT,int

MaSach)

Lấy danh sách mã các bài tập hoặc

lấy mã của bài tập có tên và mã

sách được truyền vào.

14 LayNoiDungBaiTap(int

MaBT)

Đọc nội dung của bài tập có mã

được truyền vào.

15 DocBangBaiGiai() Đọc danh sách tất cả các bài giải

trong cơ sở dữ liệu.

16 LuuBaiGiai(<các thuộc

tính >)

Lưu một bài giải mới vào cơ sở dữ

liệu.

17 LayDapAn(mabaitap) Đọc danh sách đáp án của một bài

tập từ cơ sở dữ liệu

18 LayNoiDungDapAn(string

MaDA)

Đọc nội dung của một đáp án có

mã là MaDA.

19 LuuDapAn(<các thuộc

tính>)

Lưu đáp án mới vào cơ sở dữ liệu.

20 XoaDapAn(int MaBT) Xóa tất cả đáp án của bài tập có

Page 106: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

106

mã là MaBT.

21 DocDanhMucBaiHoc() Đọc tất cả danh sách bài học có

trong cơ sở dữ liệu.

22 LayNoiDungBaiHoc(string

ChuDe)

Đọc nội dung một bài học có chủ

đề là ChuDe.

23 SoanLyThuyet(string

ChuDe,string NoiDung)

Lưu một bài soạn lý thuyết mới

vào cơ sở dữ liệu

24 SuaLyThuyet(string

ChuDe,string NoiDung)

Sửa lại nội dung của một bài học

có chủ đề là ChuDe.

25 DocBangThamSo() Đọc các trường dữ liệu trong bảng

tham số từ cơ sở dữ liệu

26 LaySoBieuThucDuong() Lấy số biểu thức dương có trong

cơ sở dữ liệu.

27 LayBieuThucDuong(int

MaBThuc)

Lấy nội dung biểu thức dương có

mã là MaBThuc.

28 DocBangBieuThucDuong() Đọc danh sách biểu thức dương có

trong cơ sở dữ liệu.

3 Sơ đồ hoạt động chi tiết và thuật giải một số xử lí

Phần trước đã mô tả bằng thuật toán một số xử lý đơn giản cho các biến cố.

Những xử lý phức tạp hơn đòi hỏi có sự phối hợp của nhiều lớp đối tượng nếu

cũng trình bày như trên sẽ gây khó hiểu cho người đọc. Vì vậy, chúng tôi sẽ mô

hình hóa những xử lý đó trong phần này bằng các sơ đồ hoạt động chi tiết.

Page 107: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

107

3.1 Kiểm tra bước giải đúng

3.1.1 Bước giải loại 1 ( tương đương)

Hình 31: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 1

Thuật giải:

- Lấy bất đẳng thức bdt1 của bước giải cần kiểm tra tương đương với bước

giải đang xét.

- Lưu vết để biết được bất đẳng thức trong bước giải đang xét xuất phát từ

bất đẳng thức trong bước giải nào

- Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất

đẳng thức của bước giải này có tương đương với bdt1

Kiểm tra bước giải đúng

CBuocGiaiLoai1

Lấy bước giải cuối

CBaiGiai

Kiểm tra tương đương

CBatDangThuc

bdt=Lấy bất đẳng thức

CBuocGiaiLoai1

Bộ nhớ chính

Page 108: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

108

3.1.2 Bước giải loại 2

(suy ra một bất đẳng thức từ bước giải trước đó)

Thuật giải:

- Tương tự như hàm kiểm tra của bước giải loại 1

3.1.3 Bước giải loại 3

( đưa ra một bất đẳng thức đúng, được bắt đầu bằng Ta co )

Thuật giải:

- Kiểm tra bất đẳng thức của bước giải có thỏa 1 trong các điều kiện sau:

+ Là một bất đẳng thức đúng hiển nhiên ( bảng liệt kê một số dạng bất

đẳng thức đúng hiển nhiên xem phụ lục 4.)

+ Trùng với một trong số các điều kiện của đề bài.

+ Trùng với một bất đẳng thức đã được chứng minh đúng trong các

bước giải trước đó.

- Nếu thỏa một trong các điều kiện, trả về giá trị đúng.

- Nếu không , trả về giá trị không biết.

Page 109: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

109

3.1.4 Bước giải loại 4

(Loại bước giải có áp dụng bất đẳng thức Cauchy)

Hình 32: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 4

Thuật giải:

- Kiểm tra các biểu thức được áp dụng trong bước giải có phải là biểu thức

không âm

- Nếu ít nhất một biểu thức mang dấu âm hay không kiểm tra được, trả về

giá trị sai.

- Nếu tất cả biểu thức đều không âm

+ Tạo một bất đẳng thức bdt1 theo dạng Cauchy từ các biểu thức.

+ Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra

bất đẳng thức của bước giải này có tương đương với bdt1

Kiểm tra bước giải đúng

CbuocGiaiLoai4

Kiểm tra tương đương

CBatDangThuc

Xét dấu biểu thức

CBieuThuc

Page 110: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

110

3.1.5 Bước giải loại 5

( Loại bước giải áp dụng bất đẳng thức Bunhixcopki)

Hình 33: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 5

Thuật giải:

- Tạo một bất đẳng thức bdt1 theo dạng Cauchy từ các biểu thức.

- Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất

đẳng thức của bước giải này có tương đương với bdt1

Kiểm tra bước giải đúng

CbuocGiaiLoai5

Kiểm tra tương đương

CBatDangThuc

Xét dấu biểu thức

CBieuThuc

Page 111: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

111

3.1.6 Bước giải loại 6

( Loại bước giải có thể suy ra từ 2 hay nhiều bước giải trước đó)

Hình 34: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 6

Thuật giải:

- Lấy danh sách các bước giải có ký hiệu được liệt kê trong bước giải đang

xét

- Lấy các bất đẳng thức trong các các bước giải trên

- Kiểm tra xem bất đẳng thức trong bứơc giải đang xét có thỏa một trong

các điểu kiện sau:

+ Có thể suy ra nhờ áp dụng tính chất bắc cầu cho các bất đẳng thức

trên không.

+ Có thể suy ra nhờ cộng vế theo vế

+ Có thể suy ra nhờ nhân vế theo vế

Kiểm tra bước giải đúng

CBuocGiaiLoai3

♦Lấy danh sách bước giải được đánh số

CBaiGiai

Bộ nhớ chính

♦Cộng vế theo vế

CBatDangThuc

♦Kiểm tra tương đương

CBatDangThuc

Page 112: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

112

- Nếu thỏa một trong các điều kiện trên, trả về giá trị đúng.

- Ngược lại, trả về giá trị sai.

3.1.7 Bước giải loại 7

( Loại bước giải cộng vế theo vế các bất đẳng thức trong các bước giải trước

đó )

Hình 35: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 7

Thuật giải:

- Lấy danh sách các bước giải có ký hiệu được liệt kê trong bước

- Lấy các bất đẳng thức trong các các bước giải trên

- Cộng vế theo vế các bất đẳng thức này => bất đẳng thức mới bdt

- Kiểm tra bdt có tương đương với bất đẳng thức trong bước giải đang xét

Kiểm tra bước giải đúng

CBuocGiaiLoai3

♦Đọc các bước giải được đánh số trước đó

CBaiGiai

Bộ nhớ chính

♦Cộng vế theo vế

CBatDangThuc

♦Kiểm tra tương đương

CBatDangThuc

Page 113: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

113

3.1.8 Bước giải loại 8 (bước giải nhân vế)

Hình 36: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 8

Kiểm tra bước giải đúng

CbuocGiaiLoai8

♦Đọc các bước giải được đánh số trước đó

CBaiGiai

Bộ nhớ chính

♦Nhân vế theo vế

CBatDangThuc

♦Kiểm tra tương đương

CBatDangThuc

Page 114: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

114

3.1.9 Bước giải loại 9 (bước giải đặt ẩn phụ)

Hình 37: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 9

Kiểm tra bước giải đúng

CbuocGiaiLoai9

♦Đọc bước giải cuối

CBaiGiai

Bộ nhớ chính

♦Kiểm tra tương đương

CBatDangThuc

Thay ẩn phụ vào và kiểm tra trên bất đẳng thức mới này

Page 115: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

115

3.1.10 Bước giải loại 12 ( bước giải đưa ra một bất đẳng thức đúng)

Hình 38: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 12

3.1.11 Bước giải loại 13 (bước giải kiểm tra điều phải chứng minh)

Thuật giải

- Kiểm tra bất đẳng thức trong bước giải cần xét có thỏa 2 điều kiện sau

không:

+ Tương đương với bất đẳng thức trong bước giải trước đó.

+ Là bất đẳng thức trong đề bài.

- Nếu thỏa, trả về giá trị Đúng. Ngược lại trả về Sai.

Kiểm tra bước giải đúng

CbuocGiaiLoai12

* Lấy bước giải đánh số

CBaiGiai

Bộ nhớ chính

♦Kiểm tra đúng

CBatDangThuc

Page 116: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

116

3.2 Xử lý biến cố nhấn Enter khi giải bài tập

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

Thuật giải

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

sai xuất thông báo lỗi

♦Kiểm tra bước giải mới

CBaiGiai

♦Kiểm tra bước giải đúng (1)

CBuocGiai

Học sinh

♦Thêm bước giải

CBaiGiai

♦Biến cố nhấn Enter (Bíên kiểm tra từng bước = true)

CBaiGiai

♦Lấy bước giải ,mới

CBaiGiai

Page 117: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

117

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

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 )

3.3.2 Kiểm tra đối với bài giải theo đáp án

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

- Ngược lại, trả về giá trị Sai

Page 118: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

118

3.4 Xử lý biến cố chọn chức năng giải bài tập

Sơ đồ

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

Thuật giải

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

- Đọc các đáp án của bài tập

Giải bài tập

CBaiTap

Chọn chức năng giải bài tập

MH_ChinhHS

Học sinh

Đọc đáp án

CDapAn

Bộ nhớ phụ

Khởi tạo màn hình

MH_GiaiBT

Khởi tạo bài giải mới Xử lý biến cố nhấn Enter

CBaiGiai

Page 119: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

119

3.5 Xử lý biến cố đổi chế độ giải

Sơ đồ

Hình 41: Sơ đồ biểu diễn thuật toán xử lý biến cố đổi chế độ giải

Thuật giải Thuật giải đổi từ giải sang đáp án sang giải tự do

- Khởi tạo một bài giải tự do mới

Học sinh

Bộ nhớ chính

♦Đổi lại trạng thái màn hình

MH_GiaiBT

♦Ghi nhận bài giải

CBaiGiai

♦Đổi từ giải tự do sang giải theo đáp án

MH_GiaiBT

♦Đổi từ giải theo đáp án sang giải tự do

MH_GiaiBT

♦Tạo bài giải mới ♦Ghi nhận lại chế độ giải mới

CBaiGiaiDapAn

♦Chép thông tin của bài giải tự do

CBaiGiaiDapAn

♦Đọc bước giải đáp án

CDapAn

♦Tìm bước giải trùng đáp án

CBaiGiaiDapAn

♦Tạo bài giải mới ♦Ghi nhận lại chế độ giải mới

CBaiGiaiTuDo

♦Chép thông tin của bài giải theo đáp án

CBaiGiaiTuDo

Page 120: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

120

- Chép toàn bộ nội dung bài giải theo đáp án sang bài giải tự do

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

3.6 Lưu bài giải

Sơ đồ

Hình 42: Sơ đồ biểu diễn thuật toán lưu bài giải

Lưu bài giải

CBaiGiai

Biến cố lưu bài giải

MH_GiaiBT

Bộ nhớ phụ

Người dùng

Lưu bài giải

CGiaoVien

Lưu bài giải

CSDL

Page 121: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

121

Thuật giải

- Gọi hàm lưu bài giải của các lớp như sau

CBaiGiai:LuuBaiGiai CGiaoVien:LuuBaiGiai CSDL:LuuBaiGiai

3.7 Lưu lý thuyết

Hình 43: Sơ đồ biểu diễn thuật toán lưu lý thuyết

Lưu lý thuyết

CBaiHoc

Biến cố lưu bài soạn

MH_LyThuyet

Bộ nhớ phụ

Người dùng

- Kiểm tra chủ đề đã có chưa - Lưu lý thuyết

CGiaoVien

- Soạn lý thuyết - Sửa lý thuyết

CSDL

Page 122: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

122

3.8 Lưu bài tập

Hình 44: Sơ đồ biểu diễn thuật toán lưu bài tập soạn

Lưu bài tập

CBaiTap

Biến cố lưu bài tập

MH_SoanBaiTap

Bộ nhớ phụ

Người dùng

Lưu bài tập

CGiaoVien

Lưu bài tập

CSDL

Kiểm tra đề bài hợp lệ

TapLenh

Page 123: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

123

3.9 Lưu đáp án

Hình 45: Sơ đồ biểu diễn thuật toán lưu đáp án

Lưu đáp án

CBaiGiai

Biến cố lưu đáp án

MH_DapAn

Bộ nhớ phụ

Người dùng

Kiểm tra bước giải đúng

CBuocGiai

Lưu đáp án

CGiaoVien

Lưu đáp án

CSDL

Page 124: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

124

3.10 Chấm điểm

Sơ đồ

Hình 46: Sơ đồ biểu diễn thuật toán chấm điểm

Thuật giải:

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

o D2 : Số điểm trừ khi nhắc nhở

Chấm điểm Ghi nhận điểm

CBaiGiai

Kết thúc bài giải

MH_GiaiBT

Bộ nhớ phụ

Người dùng

Ghi nhận điểm

CGiaoVien

Ghi nhận điểm

CSDL

Page 125: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

125

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 điểm =10

o Nếu điểm < 0 điểm = 0

Page 126: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

126

PHẦN V : THỰC HIỆN VÀ KIỂM TRA

I TÓM TẮT KẾT QUẢ THỰC HIỆN

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

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

Biểu thức 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: 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)

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

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

Page 127: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

127

- 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

Về chức năng soạn đáp án: tương tự như giải bài tập

II DỮ LIỆU THỬ NGHIỆM VÀ KIỂM TRA

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

STT Các trường hợp

kiểm tra bước giải

nhập vào

Thông báo Xử lý

1 Nếu kiểm tra bước

giải hoàn toàn đúng

Không có thông báo Cho phép xuống

hàng để nhập

bước giải tiếp và

đổi màu dòng đó

2 Nếu bước giải Thông báo ‘Bước giải Không cho phép

Page 128: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

128

không hợp lệ không hợp lệ ‘ xuống hàng

3 Nếu bước giải áp

dụng Cauchy,

nhưng có một biểu

thức X không thỏa

điều kiện là biểu

thức không âm

Thông báo ‘Biểu thức

X không phải biểu

thức không âm’

nt

4 Nếu không kiểm tra

được bước giải (

Thông báo ’Không

kiểm tra được bước

giải này. Bạn có

muốn tiếp tục với

bước giải này không’

Nếu chọn

‘Không’: không

cho phép xuống

hà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

được

Page 129: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

129

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)

4 <=>(x-y)2(x2+xy+y2) >=0 (5)

Page 130: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

130

5 <=>(x-y)2((x+y/2)2+3y24)>=0 (6)

(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)

1 ADC a,b ta duoc (a+b)/2>=R2(ab) (2)

2 ADC b,c ta duoc (b+c)/2>=R2(bc) (3)

3 ADC c,a ta duoc (c+a)/2>=R2(ca) (4)

4 Cong ve (2),(3),(4) ta duoc

(a+b)/(2)+(b+c)/(2)+(c+a)/(2)>=R2(ab)+R2(bc)+R2(ac) (5)

5 <=>a+b+c>=R2(ab)+R2(bc)+R2(ca) dpcm

Page 131: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

131

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)

5 <=>4a2b2+4b2c2+4a2c2>=a2(b+c)2+b2(a+c)2+c2(a+b)2 (dpcm)

Page 132: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

132

PHẦN VI : TỔNG KẾT

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à

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

Page 133: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

133

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

là phục vụ trong lĩnh vực giáo dục

Page 134: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

134

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

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

II PHỤ LỤC 2: BẢNG PHÂN LOẠI BƯỚC GIẢI

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 < bất đẳng thức> Bước giải biến đổi

tương đương từ một

bước giải trước đó

x^2+y>0

2 => < bất đẳng thức> Bước giải suy ra từ một => x^2+1>0

Page 135: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

135

bước giải trước đó

3 Ta co < bất đẳng

thức>

Bước giải đưa ra một

bất đẳng thức, hoặc

đẳng thức đúng

Ta co x^2+y^2>0

4 ADC <biểuthức> +

ta duoc < bất đẳng

thức>

Bước giải áp dụng bất

đẳng thức Cauchy để

đưa ra một bất đẳng

thức có dạng Cauchy

ADC x,y,z ta duoc …

5 ADB (<biểu thức>,

<biểu thức>) + ta

duoc <bất đẳng

thức>

Bước giải áp dụng bất

đẳng thức Bunhiaxcopki

ADB (x,y),(z,t) ta duoc

6 Tu (<kí số>)+ suy ra

<bất đẳng thức>

Bước giải có thể suy ra

từ 2 hay nhiều bước giải

trước đó ( áp dụng tính

chất bắc cầu, cộng, nhân

vế các bất đẳng thức

….)

Tu (1),(2),(2) suy ra

7 Cong ve (<kí số>)+

ta dưoc <bất đẳng

thức>

Bước giải suy ra được

nhờ cộng vế các bất

đẳng thức trong các

bước giải được chọn

trước đó)

Cong ve (1),(2) ta

duoc ..

8 Nhan ve (<kí số>)+

ta dươc <bất đẳng

Bước giải suy ra được

nhờ nhân vế các bất

Nhan ve (1),(2) ta

duoc

Page 136: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

136

thức> đẳng thức trong các

bước giải được chọn

trước đó)

9 Dat <kí tự> = <biểu

thức> thi <bất đẳng

thức>

đặt ẩn phụ và thế vào

bất đẳng thức của bước

giải trước đó

Dat u = x+1 thi (1)

10 Thay (<kí số>) vao

(kí số>) ta duoc <bất

đẳng thức>

Thay thế biểu thức Thay 2 vao 3 ta duoc

11 Ta cm <bất đẳng

thức>

Đưa ra một bất đẳng

thức nào đó để chứng

minh trung gian

Ta cm x+y^2>0

12 (vay)? (<kí số>)

dung

kiểm tra bất đẳng thức

trong bước giải nào đó

có phải là bất đẳng thức

đúng

(2) dung

13 <bất đẳng thức>

(dpcm)

Kiểm tra kết luận về

điều phải chứng minh

có đúng

x^2+y >0 (dpcm)

hoặc dpcm

III

Page 137: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

137

IV PHỤ LỤC 3: BẢNG TỪ KHÓA CHO BƯỚC GIẢI

Để 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 X

2 => X

3 Ta co X

4 ADC Ta duoc

5 ADB Ta duoc

6 Tu suy ra

7 Cong ve Ta duoc

8 Nhan ve Ta duoc

9 Dat Thi

10 Thay ta duoc

11 Ta cm X

Page 138: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

138

V 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

STT Điều kiện Bất đẳng thức đúng

1 ∀ P, n∈ N P2n ≥0

2 ∀ n ∈ N

Pi là các biểu thức dương ∑=

n

iPi

1 ≥ 0

3 ∀ n ∈ N

Pi là các biểu thức âm ∏=

n

i

Pi2

1

≥ 0

và ∏+

=

12

1

n

i

Pi ≤ 0

4 P > Q

G ≥ 0

P + G > Q

Page 139: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

139

VI PHỤ LỤC 5: SƠ ĐỒ BIỂU DIỄN CÁC CÚ PHÁP

1 Các sơ đồ biểu điễn cú pháp bước giải

1.1 Bước giải tổng quát

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

Bước giải

Page 140: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

140

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

thức)

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

trước đó)

Dấu ‘ >’

Bước giải loại 1

Bất đẳng thức

Ký số Đẳng thức

Khoảng trắng

Khoảng trắng

Dấu ‘ ’

Bước giải loại 1

Bất đẳng thức

Ký số Đẳng thức

Khoảng trắng

Khoảng trắng

Page 141: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

141

1.4 Bước giải loại 3 ( đưa ra một bất đẳng thức hoặc đẳng thức đúng)

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

Bất đẳng thức

Từ khóa (“taBiểu

thức

Dấu “ ”

Khoảng trắng

Khoảng trắng

Từ khóa (

Khoảng trắng

Từ khóa ( “Ta có”)

Bước giải loại 3

Bất đẳng thức

Đẳng thức

Khoảng trắng

Page 142: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

142

1.6 Bước giải loại 5 (áp dụng bất đẳng thức Buniakovski)

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

trước đó đã được đánh số)

Bước giải loại 5

Bất đẳng thức

Từ khóa (“ta

Cặp biểu

Dấu “ ”

Khoảng trắng

Khoảng trắng

Từ khóa (

Khoảng trắng

Bước giải loại 6

Bất đẳng thức

Từ khóa (“suy ra”)Ký hiệu

Dấu “,”

Khoảng trắng

Khoảng trắng

Đẳng thức

Từ khóa ( “Tu”)

Khoảng trắng

Page 143: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

143

1.8 Bước giải loại 7 ( cộng vế theo vế các bất đẳng thức )

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

Bất đẳng thức

Từ khóa (“ta duoc”)

Ký hiệu

Dấu “,”

Khoảng trắng

Khoảng trắng

Đẳng thức

Từ khóa ( “Nhan ve”)

Khoảng trắng

Bước giải loại 8

Bất đẳng thức

Từ khóa (“ta duoc”)Ký hiệu

Dấu “,”

Khoảng trắng

Khoảng trắng

Đẳng thức

Từ khóa ( “Cong ve”)

Khoảng trắng

Page 144: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

144

1.10 Bước giải loại 9 (đặt ẩn phụ)

1.11 Bước giải loại 10

Từ khóa ( “Dat”)

Bước giải loại 9

Bất đẳng thức

Từ khóa (“thi”)

Đẳng thức

Dấu “,”

Khoảng trắng

Khoảng trắng

Đẳng thức

Khoảng trắng

Từ khóa ( “Thay”)

Bước giải loại 10

Bất đẳng thức

Từ khóa (“ta duoc”)

Kí hiệu

Từ khoá(“vào”)

Khoảng trắng

Khoảng trắng

Khoảng trắng

Khoảng trắng

Kí hiệu

Page 145: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

145

1.12 Bước giải loại 11

1.13 Bước giải loại 12

Ký hiệuBước giải loại 12

Khoảng trắng

“dung” “vay”

“suy ra”

Khoảng trắng

Từ khóa ( “Ta

Bước giải loại 11

Bất đẳng thức

Đẳng thức

Khoảng trắng

Page 146: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

146

1.14 Bước giải loại 13

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

Khoảng trắng

“dpcm”

Bước giải loại 13

Page 147: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

147

2 Các sơ đồ biểu diễn cú pháp biểu thức, bất đẳng thức

2.1 Bất đẳng thức

2.2 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

Biểu thức

Biểu thức

Bất đẳng thức

“>”

“<”

Khoảng trắng Biểu

thức

“=” Khoảng trắng

Page 148: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

148

2.3 Thành phần

2.4 Biểu thức tổng

CBiểu thức

Biểu thức tổng

CBiểu thức

+

Khoảng trắng

Khoảng trắng

Thành phần

“-“

Ký tự

Ký tự

“^”

Ký số

Page 149: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

149

2.5 Biểu thức tích

2.6 Hàm căn

R

Hàm căn

‘ ) ‘

Biểu thức

Ký số

‘ ( ‘

CBiểu thức

Biểu thức tích

CBiểu thức

*

Khoảng trắng

Khoảng trắng

Page 150: Phan mem day toan bat dang thuc

KHOA CNTT –

ĐH KHTN

Phần mềm hỗ trợ giải toán bất đẳng thức

150

2.7 Hàm luỹ thừa

2.8 Hàm lượng giác

“sin”

“cos”

“tg”

“cotg”

Hàm lượng giác

“(”

2.2

Biểu thức

‘ ( ‘

Hàm luỹ thừa

‘ ) ‘Biểu thức

Khoảng trắng

Khoảng trắng

‘ ^ ‘

Ký số