Lấy bất đẳng thức bdt1của bước giải cần kiểm tra tương đươngvớ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 đươngcủ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
YSTOOL
150 trang |
Chia sẻ: haianh_nguyen | Lượt xem: 1332 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Phần mềm hỗ trợ giải toán bất đẳng thức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c theo
chuẩn đã qui ước
22 ThuTuSap() Trả về một thứ tự cuả biểu thức trong
bảng thứ tự qui ước
23 ChiaBT(CBieuThuc) Thực hiện phép chia theo nguyên tắc
chia đa thức đối với một biểu thức đã
được chuyển thành tổng tối giản
Ghi chú:
(1) : một biểu thức dạng tổng tối giản khi nó đã được khai triển đến
mức tối đa
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
82
2.1.1.3 Lớp CBatDangThuc
STT Hàm xử lý Ý nghĩa
1 KhoiTao(string) Khởi tao bất đẳng thức từ
một chuỗi truyền vào
2 TuongDuong(CBatDangThuc) Kiểm tra bất đẳng thức
đang xét có tương đương
với một bất đẳng thức khác
không
3 LaBatDangThucDung() Kiểm tra bất đẳng thức
đang xét có phải là một bất
đẳng thức đúng
4 CongVeTheoVe(CBatDangThuc) Cộng vế theo vế bất đẳng
thức đang xét với một bất
đẳng thức khác
5 NhanVeTheoVe(CBatDangThuc) Nhân vế theo vế bất đẳng
thức đang xét với một bất
đẳng thức khác
6 DoiChieu() Đổi chiều bất đẳng thức
7 DoiDauVaChieu() Đổi dấu và chiều của bất
đẳng thức
8 SuyRaDuocTu(CBatDangThuc) Kiểm tra bất đẳng thức
đang xét có thể suy ra được
từ một bất đẳng thức khác
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
83
hay không
9 BacCau(CBatDangThuc) Tạo một bất đẳng thức mới
( nếu có thể) từ 2 bất đẳng
thức bằng cách dựa vào
tính chất bắc cầu
Vd : a>b & b>c ? a>c
10 ThoaTinhBacCau(CBatDangThuc
)
Kiểm tra xem có thể áp
dụng tính bắc cầu cho 2 bất
đẳng thức không
11 TuongUng(CBatDangThuc) Kiểm tra bất đẳng thức
đang xét có giống với một
bất đẳng thức khác
12 ThayTheBieuThuc(CBieuThuc,C
BieuThuc)
Thay thế một biểu thức con
xuất hiện trong bất đẳng
thức bởi một biểu thức
khác
2.1.1.4 Lớp CBuocGiai
STT Hàm xử lý Ý nghĩa Ghi chú
1 KhoiTao(string) Khởi tao bước giải từ một
chuỗi truyền vào
2 LayBatDangThuc() Lấy bất đẳng thức trong
bước giải
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
84
3 KiemTraBuocGiai() Kiểm tra bước giải đang
xét có phải là bước giải
đúng
Đây là hàm ảo,
sẽ được cài trễ ở
các lớp tương
ứng của mỗi loại
bước giải
2.1.2 Các lớp phụ (hỗ trợ xử lý)
2.1.2.1 Lớp CBoNho
STT Hàm xử lý Ý nghĩa
1 DocNoiDungFile(string
tenfile)
Hàm đọc nội dung tập tin, trả về
một chuỗi
2 GhiLenFile(string) Ghi một chuỗi lên file
3 DocBaiTapTuFile(string) Đọc các thông tin của một bài tập từ
file
2.1.2.2 Lớp BieuThuc
STT Hàm xử lý Ý nghĩa
1 PhanLoaiBieuThuc
(string)
Phân loại một biểu thức truyền vào dưới
dạng chuỗi
2 KhoiTaoBieuThuc(
string)
Khởi tạo một biểu thức từ chuỗi)
3 BoNgoacThua(stri
ng)
Bỏ các dấu ngoăc thừa trong chuỗi biểu diễn
một biểu thức
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
85
4 DemSoNgoacMo Đếm số ngoặc mở so với một vị trí nào đó
trong chuỗi biểu diễn biểu thức
5 DemSoNgoacDong Đếm số ngoặc đóng so với một vị trí nào đó
trong chuỗi biểu diễn biểu thức
6 DemSoNgoacTrai Đếm số ngoặc phía bên trái của một toán tử
7 DemSoNgoacPhai Đếm số ngoặc phía bên phải của một toán tử
8 DemSoNgoac Đếm số ngoặc phía bên trái và phải của một
toán tử, kiểm tra chúng có bằng nhau
9 ThayĐauNgoaiCung Thay các kí tự biểu diễn toán tử và không
nằm trong dấu ngoặc nào bởi một kí tự khác
10 HoanVi(CBieuThuc
,CBieuThuc)
Hoán vị 2 biểu thức cho nhau
2.1.2.3 Lớp BuocGiai
STT Hàm xử lý Ý nghĩa
1 PhanTichBuocGiai(st
ring)
Phân tích một chuỗi truyền vào thành 2
phần:
- Nội dung bước giải
- Kí hiệu của bước giải (nếu có)
2 PhanLoaiBuocGiai(st
ring)
Phân loại một bước giải truyền vào dưới
dạng chuỗi
3 KhoiTaoBuocGiai(str
ing)
Khởi tạo một bước giải từ chuỗi
4 LayDanhSachBuocGiai Phân tích một bài giải dạng chuỗi thành
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
86
(baigiai) danh sách các bước giải
5 LayChuoiBDTTuBuocGi
ai
Đọc chuỗi bất đẳng thức trong bước giải
2.1.2.4 Lớp TapLenh
STT Hàm xử lý Ý nghĩa
1 PhanTichDeBai(string) Phân tích đề bài truyền vào
thành các phần:
- Bất đẳng thức đề bài
- Danh sách các điều kiện.
2 CuPhapHopLe(string
maucuphap, string chuoi)
Kiểm tra một chuỗi có theo
đúng dạng của mẫu cú pháp
hay không
3 LayCacGiaTriCuaNhom(string,
string,string)
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
87
2.2 Phân hệ học sinh
2.2.1 Lớp đối tượng giao tiếp người dùng
2.2.1.1 Lớp MH_HeHocSinh
STT Hàm xử lý Ý nghĩa
1 KhoiTaoMenu() Khởi tạo menu chính cho
phân hệ học sinh
2 mnCNP_Email_Click(Object
sender, System.EventArgs e)
Mở màn hình nhận gửi mail
để giao tiếp giữa học sinh và
giáo viên.
4 mnThoat_Click(Object
sender,System.EventArgs e)
Thoát khỏi chương trình
5 mnGD_HuongDan_Click(Object
sender, System.EventArgs e)
Mở Help hướng dẫn sử dụng.
6 mnGD_GioiThieu_Click(Object
sender,System.EventArgs e)
Hiển thị màn hình giới thiệu.
7 tabctrlSachBaiTap_Selection
Changed(object sender,
System.EventArgs e)
Thực hiện việc chọn sách bài
tập tương ứng làm sách hiện
hành.
8 tvNoiDungSachBaiHoc_AfterSe
lect(object sender,
System.Windows.Forms.TreeVi
ewEventArgs e)
Hiển thị nội dung bài học
được chọn.
9 DoiManHinhCon(Control Hiển thị màn hình tương ứng
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
88
control) với yêu cầu.
10 mniThemSachBT_Click(object
sender, System.EventArgs e)
Hiển thị màn hình Thêm sách
để thêm sách bài tập
11 ChonLoaiDoiTuong() Thực hiện việc chọn loại đối
tượng (là sách bài tập hay
sách bài học)
12 tabControlLopDoiTuong_Selec
tionChanged(object sender,
System.EventArgs e)
Gọi hàm Chọn loại đối tượng
để chọn loại đối tượng tương
ứng
2.2.1.2 Lớp MH_GiaiBT
STT Hàm xử lý Ý nghĩa
KhoiTaoManHinhTheoBaiTap
(CBaiTap baiTap)
Khởi tạo màn hình giải bài tập
tương ứng với các thông tin của
bài tập được chọn
1 TaoMoiDongHo(int
thoiGianBatDau)
Khởi tạo đồng hồ để canh giờ
giải bài tập.
3 ThietLapTrangThaiManHinh
_1(bool bDangGiai)
Thiết lập trạng thái của các đối
tượng giao diện trên màn hình
phù hợp với từng thời điểm
2 ThietLapTrangThaiManHinh
_2(bool bGiaiTheoDapAn)
Thiết lập trạng thái của các đối
tượng trên màn hình khi người
dùng chuyển đổi giữa 2 loại bài
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
89
giải (giải tự do và giải theo đáp
án)
4 DongHo_Tick(object
sender, System.EventArgs
e)
Hàm xử lý cho biến cố phát sinh
của đồng hồ ( đếm thời gian lên
1s)
5 ckTrangThai_CheckedChang
ed(object sender,
System.EventArgs e)
Hàm xử lý cho biến cố người
dùng nhấn vào nút để bắt đầu
hay tạm ngưng việc giải bài tập
?thiết lập trạng thái màn hình
thích hợp.
6 tabBaiGiai_SelectedIndex
Changed(object sender,
System.EventArgs e)
Hàm xử lý biến cố chuyển đổi
qua lại giữa các chế độ giải (Giải
theo đáp án và Giải tự do)
7 ChuyenDoiBaiGiai(bool
DapAn_TuDo)
Thực hiện việc chuyển đổi bài
giải hiện hành từ chế độ giải tự
do sang giải theo đáp án hay
ngược lại.
8 btnKhungBuocGiai_Click(o
bject sender,
System.EventArgs e)
Đặt khung bước giải được chọn
vào ô bài giải.
10 ckKiemTraTungBuoc_Checke
dChanged(object sender,
System.EventArgs e)
Bật hoặc tắt chế độ kiểm tra từng
bước giải.
11 btnKiemTraBaiGiai_Click(
object sender,
Kiểm tra toàn bộ bài giải
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
90
System.EventArgs e)
12 ckXemGoiY_CheckedChanged
(object sender,
System.EventArgs e)
Hiển thị gợi ý cho bước giải kế
tiếp trong bài giải theo đáp án.
13 btnBuocGiaiTiep_Click(ob
ject sender,
System.EventArgs e)
Hiển thị bước giải kế tiếp trong
đáp án khi người dùng chọn giải
theo đáp án
14 btnQuayLui_Click(object
sender, System.EventArgs
e)
Quay lui đến một bước giải trước
đó
2.2.1.3 Lớp MH_XemBaiGiai
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng.
2 TaoDanhMucBaiGiai(CBaiTap
baitap)
Tạo danh mục các bài giải của
bài tập truyền vào.
3 BaiGiaiDuocChon() Lấy bài giải hiện hành.
4 ChonBaiGiai(object
sender, System.EventArgs
e)
Hàm xử lý biến cố chọn một bài
giải trong danh sách bài giải ?
hiển thị nội dung bài giải lên
màn hình.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
91
2.2.1.4 Lớp MH_XemLyThuyet
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng.
2.2.1.5 Lớp MH_XemDapAn
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng.
2 TaoDanhMucDapAn(CBaiTap
baitap)
Tạo danh mục các đáp án của bài
tập truyền vào.
3 DapAnDuocChon() Lấy đáp án hiện hành.
4 ChonDapAn(object
sender,
System.EventArgs e)
Hàm xử lý biến cố chọn đáp án
trong danh sách đáp án ? hiển thị
nội dung của đáp án lên màn hình
2.2.2 Lớp đối tượng xử lý
2.2.2.1 Lớp CBaiTap
STT Hàm xử lý Ý nghĩa
1 DocDanhMucBaiGiai() Đọc danh sách các bài giải của bài tập
2 DocDanhMucDapAn() Đoc danh sách các đáp án của bài tập
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
92
3 LayBatDangThucDeBai() Đọc bất đẳng thức trong đề bài của bài
tập
5 LayChuoiBatDangThucDeBai
()
Đọc bất đẳng thức trong đề bài của bài
tập dưới dạng chuỗi
6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài
7 KhoiTao() Khởi tạo bài tập
8 KhoiTaoThucDon() Hàm khởi tạo thực đơn các chức năng
của của bài giải
KhaiBaoBienCoThucDon
()
9 ChonMucGiaiBaiTap(object
sender,EventArgs e)
Hàm xử lí biến cố chọn chức năng giải
bài tập
10 ChonMucXemBaiGiai(object
sender,EventArgs e)
Hàm xử lí biến cố chọn chức năng xem
bài giải
11 ChonMucXemDapAn(object
sender,EventArgs e)
Hàm xử lí biến cố chọn chức năng xem
đáp án
12 ChonMucImportDapAn(objec
t sender,EventArgs e)
Hàm xử lí cho biến cố chọn chức năng
import đáp án
2.2.2.2 Lớp CDapAn
STT Hàm xử lý Ý nghĩa
1 TimBuocGiaiTuongUng(C
BuocGiai)
Tìm bước giải trong đáp án giống với
bước giải truyền vào
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
93
2.2.2.3 Lớp CSachBaiTap
STT Hàm xử lý Ý nghĩa
1 ThemSachVao(TabContro
l)
Thêm thể hiện của sách vào một điều
khiển
2 ThemBaiTap(baiTap) Thêm một bài tập vào sách
3 KhoiTaoDanhMucBaiTap(
danhsachbaitap)
Khởi tạo danh mục bài tập cho sách từ
danh sách bài tập truyền vào
4 NhapBaiTapTuFile() Import một bài tập được lưu trên file
5 LuuSach() Lưu thông sách bài tập vào trong cơ sở
dữ liệu
2.2.3 Lớp giao tiếp bộ nhớ phụ
2.2.3.1 CSDL
STT Hàm xử lý Ý nghĩa
1 KetNoiCSDL() Hàm kết nối cơ sở dữ liệu
2 DocDanhMucSach() Đọc danh sách các sách từ database
3 DocDanhMucBaiTap() Đọc danh sách tất cả bài tập từ cơ sở
dữ liệu
4 DocDanhMucBaiTap
(masach)
Đọc danh sách bài tập của một sách
nào đó từ cơ sở dữ liệu
5 DocDanhMucBaiGiai
(mabaitap)
Đọc danh sách bài giải của một bài tâp
từ cơ sở dữ liệu
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
94
6 DocDanhMucDapAn
(mabaitap)
Đọc danh sách đáp án của một bài tập
từ cơ sở dữ liệu
7 DocBangThamSo() Đọc các trường dữ liệu trong bảng
tham số từ cơ sở dữ liệu
8 LuuBaiTap(… ) Lưu các thông tin của một bài tập vào
cơ sở dữ liệu
9 LuuBaiGiai() Lưu các thong tin của bài giải vào cơ
sở dữ liệu
10 LuuDapAn() Lưu các thông tin của đáp án vào cơ sở
dữ liệu
2.3 Phân hệ giáo viên
2.3.1 Đối tượng giao tiếp người dùng
2.3.1.1 Lớp MH_HeGiaoVien
STT Hàm xử lý Ý nghĩa
1?8 Các hàm từ 1(8 trong lớp
MH_HeHocSinh
9 mnCNP_SoanQDCD_Click(Objec
t sender,System.EventArgs
e)
Mở màn hình soạn quy định
chấm điểm.
10 void
mniBaiHoc_SoanMoi_Click(ob
ject sender,
Thêm node mới vào cây bài học
và để người dùng gõ vào chủ đề
bài học. Mỗi bài học thuộc một
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
95
System.EventArgs e) chương nào đó.
11 mniBaiTap_Them_Click(objec
t sender, System.EventArgs
e)
Thêm node mới vào cây bài tập
và hiển thị màn hình soạn bài
tập.
12 mniBaiTap_SoanDapAn_Click(
object sender,
System.EventArgs e)
Hiển thị màn hình soạn đáp án
cho bài tập được chọn.
13 ThemManHinhMoi(UserControl
mh)
Hiển thị màn hình tương ứng
với yêu cầu.
14 tvNoiDungSachBaiHoc_AfterL
abelEdit(object sender,
System.Windows.Forms.NodeL
abelEditEventArgs e)
Hiển thị màn hình soạn bài học
và chọn bài học vừa được gõ
chủ đề làm bài học hiện hành.
15 tabControlLopDoiTuong_Sele
ctionChanged(object
sender, System.EventArgs
e)
Hiển thị màn hình làm việc
tương ứng với đối tượng được
chọn.
16 MH_HeGiaoVien_Closing(obje
ct sender,
System.ComponentModel.Canc
elEventArgs e)
Nhắc nhở lưu các bài soạn nếu
thoát chương trình lúc chưa
lưu.
17 mniBaiHoc_ChuongMoi_Click(
object sender,
System.EventArgs e)
Thêm node mới vào cây bài học
làm chương mới và để người
dùng gõ vào tên chương.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
96
2.3.1.2 Lớp MH_SoanBaiTap
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng.
2 cbDoKho_SelectionChange
Committed(object
sender,
System.EventArgs e)
Hàm xử lý biến cố người dùng chọn
độ khó của bài tập trong comboBox
cbDoKho. Đánh dấu bài soạn chưa
lưu.
3 txtDeBai_KeyPress(objec
t sender,
System.Windows.Forms.Ke
yPressEventArgs e)
Hàm xử lý biến cố gõ phím trong
phần nội dung bài tập. Đánh dấu bài
soạn chưa lưu.
4 txtThoiGianLamBai_KeyDo
wn(object sender,
System.Windows.Forms.Ke
yEventArgs e)
Hàm xử lý biến cố gõ vào thời gian
làm bài. Chặn phím chỉ cho gõ kí
số. Đánh dấu bài soạn chưa lưu.
5 cmiDocFile_Click(object
sender,
System.EventArgs e)
Hàm xử lý biến cố chọn chức năng
Đọc nội dung bài tập từ file.
6 cmiLuuBT_Click(object
sender,
System.EventArgs e)
Hàm xử lý biến cố chọn chức năng
lưu bài tập vừa soạn.
7 cmiExport_Click(object
sender,
Hàm xử lý biến cố chọn chức năng
export bài tập ra file.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
97
System.EventArgs e)
8 cbDoKho_MouseHover(obje
ct sender,
System.EventArgs e)
Hàm xử lý biến cố di chuột trên
comboBox cbDoKho. Hiển thị
tooltip giải thích.
9 txtThoiGianLamBai_Mouse
Hover(object sender,
System.EventArgs e)
Hàm xử lý biến cố di chuột trên
comboBox cbDoKho. Hiển thị
tooltip giải thích
2.3.1.3 Lớp MH_SoanLyThuyet
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng.
2 HienThiNoiDung(string
NoiDung)
Hiển thị NoiDung lên trên
rtbLyThuyet.
3 cmiLuuBaiSoan_Click(ob
ject sender,
System.EventArgs e)
Thực hiện việc lưu bài soạn vào cơ sở
dữ liệu.
4 cmiExport_Click(object
sender,
System.EventArgs e)
Thực hiện việc export bài soạn lý
thuyết ra file.
5 cmiIn_Click(object
sender,
System.EventArgs e)
Hàm xử lý biến cố chọn chức năng In
bài học ra giấy.
6 rtbLyThuyet_KeyPress(o
bject sender,
Hiển thị nội dung lý thuyết vừa gõ
vào với các định dạng được chọn.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
98
System.Windows.Forms.K
eyPressEventArgs e)
8 CapNhatFont() Cập nhật font chữ cho nội dung lý
thuyết đang được chọn.
9 fontComboBox_Selection
ChangeCommitted(object
sender,
System.EventArgs e)
Hàm xử lý biến cố chọn lại font chữ.
10 txtFontSize_KeyUp(obje
ct sender,
System.Windows.Forms.K
eyEventArgs e)
Hàm xử lý biến cố chọn lại cỡ chữ.
11 toolBarDinhDang_Button
Click(object sender,
System.Windows.Forms.T
oolBarButtonClickEvent
Args e)
Xác định chức năng người dùng vừa
chọn trên toolbar để xử lý cho phù
hợp.
2.3.1.4 Lớp MH_SoanDapAn
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng.
2 TaoDanhSachDapAn() Tạo listview chứa danh sách các
đáp án.
3 DocDanhSachDapAn() Đọc danh sách các đáp án của bài
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
99
tập hiện hành vào listview đáp án.
4 HienThiManHinhDapAn() Hiển thị màn hình chức các đáp án
và khung để soạn đáp án mới.
5 rtbDapAn_KeyPress(object
sender,System.Windows.Fo
rms.KeyPressEventArgs e)
Hàm xử lý biến cố gõ phím trong
khung soạn đáp án. Đánh dấu bài
soạn chưa lưu.
6 cmiLuuDapAn_Click(object
sender, System.EventArgs
e)
Hàm xử lý biến cố chọn chức năng
lưu bài soạn đáp án.
7 cmiIn_Click(object
sender, System.EventArgs
e)
Hàm xử lý biến cố chọn chức năng
In đáp án ra giấy.
8 cmiExport_Click(object
sender, System.EventArgs
e)
Hàm xử lý biến cố chọn chức năng
Export bài soạn đáp án ra file.
9 lvDapAn_SelectedIndexCha
nged(object sender,
System.EventArgs e)
Hàm xử lý biến cố chọn đáp án
trong danh sách đáp án và hiển thị
nội dung của nó trong khung soạn
thảo.
10 cmiThemMoi_Click(object
sender, System.EventArgs
e)
Hàm xử lý biến cố chọn chức năng
thêm một đáp án mới.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
100
2.3.1.5 Lớp MH_ThemSachBaiTap
STT Hàm xử lý Ý nghĩa
1 Hàm khởi tạo đối tượng.
2 - btnKetThuc_Click(object
sender, System.EventArgs e)
- btnThem_Click(object
sender, System.EventArgs e)
Kết thúc việc thêm sách.
2.3.1.6 Lớp MH_SoanQDCD
STT Hàm xử lý Ý nghĩa
1 Hàm khởi tạo đối tượng.
2 btnExport_Click(object sender,
System.EventArgs e)
Export quy định chấm
điểm ra file sẵn sàng để
gửi cho phân hệ học sinh.
3 txtDiemToiDa_KeyPress(object
sender,
System.Windows.Forms.KeyPressE
ventArgs e)
4 txtDiemCongBDTTG_KeyPress(obje
ct sender,
System.Windows.Forms.KeyPressE
ventArgs e)
5 txtDiemTruBDSai_KeyPress(objec
t sender,
Chặn phím chỉ cho nhập
vào chữ số.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
101
System.Windows.Forms.KeyPressE
ventArgs e)
6 txtDiemTruXemBG_KeyPress(objec
t sender,
System.Windows.Forms.KeyPressE
ventArgs e)
7 void
btnExport_MouseHover(object
sender, System.EventArgs e)
Hiển thị tooltip giải thích
chức năng của nút Export
8 btnKetThuc_Click(object
sender, System.EventArgs e)
Thoát khỏi màn hình
soạn quy định chấm điểm
2.3.2 Đối tượng xử lý
2.3.2.1 Lớp CBaiTap
STT Hàm xử lý Ý nghĩa
1 BatDangThucDeBai() Lấy bất đẳng thức trong đề bài dưới
dạng đối tượng CBatDangThuc.
2 LayDanhSachDieuKien() Lấy danh sách các điều kiện trong đề
bài.
3 LuuBaiTap() Lưu nội dung cùng các thuộc tính liên
quan của bài tập hiện hành.
5 LuuBaiTap() Đọc bất đẳng thức trong đề bài của bài
tập dưới dạng chuỗi
6 LayDanhSachDieuKien() Đọc danh sách các điều kiện của đề bài
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
102
7 Các hàm khởi tạo đối
tượng CBaiTap.
2.3.2.2 Lớp CDapAn
STT Hàm xử lý Ý nghĩa
1 Các hàm giống như trong
lớp CDapAn_HeHocSinh.
2 LuuDapAn() Lưu nội dung đáp án vừa soạn
của bài tập hiện hành.
2.3.2.3 Lớp CBaiHoc
STT Hàm xử lý Ý nghĩa
1 Các hàm khởi tạo đối
tượng CBaiHoc
2 LuuLyThuyet() Nhờ lớp CGiaoVien thực hiện lưu bài
học hiện hành vào cơ sở dữ liệu.
2.3.2.4 Lớp CSachBaiTap
STT Hàm xử lý Ý nghĩa
1 Các khởi tạo đối tượng
CSachBaiTap
2 KhoiTaoMenu() Khởi tạo contextmenu cho đối
tượng CSachBaiTap.
3 ThemBaiTap(BAITAP) Thêm một bài tập đã có nội dung
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
103
đầy đủ vào sách
4 ThemBaiTapMoi(TreeNode) Thêm một bài tập mới vào sách.
5 TaoDanhMucBaiTap(BAITAP[
])
Tạo danh sách bài tập cho đối
tượng CSachBaiTap bằng cách
thêm các bài tập đã có vào cây
danh sách bài tập trong tabpage
sách bài tập..
6 ChonBaiTap(object
sender,
System.Windows.Forms.Tre
eViewEventArgs e)
Hàm xử lý biến cố click chọn bài
tập trong tabpage sách bài tập
7 tvNoiDungSach_MouseDown(
object
sender,System.Windows.Fo
rms.MouseEventArgs e)
Điều chỉnh contextmenu của đối
tượng CBaiTap cho phù hợp với
vị trí nhấn chuột trong danh sách
bài tập.
8 tvNoiDungSach_AfterLabel
Edit(object sender,
System.Windows.Forms.Nod
eLabelEditEventArgs e)
Hàm xử lý biến cố người dùng
đã gõ xong tên của bài tập mới
vào bằng cách ghi nhận lại tên
này làm tên bài tập mới.
9 ThemSachMoi(object
sender,System.EventArgs
e)
Hàm xử lý biến cố người dùng
chọn chức năng Thêm sách mới
trong contextmenu của đối
tượng CSachBaiTap. Cho hiển
thị màn hình Thêm sách bài tập.
10 XoaSachBT(object Hàm xử lý biến cố người dùng
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
104
sender,System.EventArgs
e)
chọn chức năng Xóa sách bài
tập.
2.3.3 Đối tượng giao tiếp bộ nhớ phụ
2.3.3.1 Lớp CSDL
STT Hàm xử lý Ý nghĩa
1 KetNoiCSDL() Hàm kết nối cơ sở dữ liệu
2 -Các hàm khởi tạo đối
tượng CSDL
-Các hàm lấy dữ liệu của
bảng được yêu cầu.
3 DocDanhMucSach() Đọc danh sách các sách từ
database
4 LayMaSachBT(string
TenSach)
Lấy mã sách bài tập có tên là
TenSach.
5 XoaSachBT(string
TenSach)
Xóa sách bài tập có tên là TenSach
và xóa tất cả các bài tập trong sách
cùng các đáp án của bài tập đó.
6 ThemSachBT(string
TenSach)
Ghi sách bài tập có tên là TenSach
vào cơ sở dữ liệu.
7 DocDanhMucBaiTap(string
TenSach)
Đọc danh sách tất cả bài tập của
sách bài tập có tên là TenSach từ
cơ sở dữ liệu
8 LaySoBaiTap() Lấy số bài tập hiện có trong cơ sở
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
105
dữ liệu.
9 DocDanhMucBaiTap(masach) Đọc danh sách bài tập của một
sách nào đó từ cơ sở dữ liệu
10 DocToanBoBaiTap() Đọc toàn bộ bài tập trong cơ sở dữ
liệu.
11 LuuBaiTap(<các thuộc
tính của bài tập>)
Lưu một bài tập mới vào cơ sở dữ
liệu.
12 XoaBaiTap(int MaSach) Xóa tất cả bài tập trong sách đó.
13 LayCacMaBT()
LayMaBT(string TenBT,int
MaSach)
Lấy danh sách mã các bài tập hoặc
lấy mã của bài tập có tên và mã
sách được truyền vào.
14 LayNoiDungBaiTap(int
MaBT)
Đọc nội dung của bài tập có mã
được truyền vào.
15 DocBangBaiGiai() Đọc danh sách tất cả các bài giải
trong cơ sở dữ liệu.
16 LuuBaiGiai(<các thuộc
tính >)
Lưu một bài giải mới vào cơ sở dữ
liệu.
17 LayDapAn(mabaitap) Đọc danh sách đáp án của một bài
tập từ cơ sở dữ liệu
18 LayNoiDungDapAn(string
MaDA)
Đọc nội dung của một đáp án có
mã là MaDA.
19 LuuDapAn(<các thuộc
tính>)
Lưu đáp án mới vào cơ sở dữ liệu.
20 XoaDapAn(int MaBT) Xóa tất cả đáp án của bài tập có
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
106
mã là MaBT.
21 DocDanhMucBaiHoc() Đọc tất cả danh sách bài học có
trong cơ sở dữ liệu.
22 LayNoiDungBaiHoc(string
ChuDe)
Đọc nội dung một bài học có chủ
đề là ChuDe.
23 SoanLyThuyet(string
ChuDe,string NoiDung)
Lưu một bài soạn lý thuyết mới
vào cơ sở dữ liệu
24 SuaLyThuyet(string
ChuDe,string NoiDung)
Sửa lại nội dung của một bài học
có chủ đề là ChuDe.
25 DocBangThamSo() Đọc các trường dữ liệu trong bảng
tham số từ cơ sở dữ liệu
26 LaySoBieuThucDuong() Lấy số biểu thức dương có trong
cơ sở dữ liệu.
27 LayBieuThucDuong(int
MaBThuc)
Lấy nội dung biểu thức dương có
mã là MaBThuc.
28 DocBangBieuThucDuong() Đọc danh sách biểu thức dương có
trong cơ sở dữ liệu.
3 Sơ đồ hoạt động chi tiết và thuật giải một số xử lí
Phần trước đã mô tả bằng thuật toán một số xử lý đơn giản cho các biến cố.
Những xử lý phức tạp hơn đòi hỏi có sự phối hợp của nhiều lớp đối tượng nếu
cũng trình bày như trên sẽ gây khó hiểu cho người đọc. Vì vậy, chúng tôi sẽ mô
hình hóa những xử lý đó trong phần này bằng các sơ đồ hoạt động chi tiết.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
107
3.1 Kiểm tra bước giải đúng
3.1.1 Bước giải loại 1 ( tương đương)
Hình 31: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 1
? Thuật giải:
- Lấy bất đẳng thức bdt1 của bước giải cần kiểm tra tương đương với bước
giải đang xét.
- Lưu vết để biết được bất đẳng thức trong bước giải đang xét xuất phát từ
bất đẳng thức trong bước giải nào
- Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất
đẳng thức của bước giải này có tương đương với bdt1
Kiểm tra bước giải
đúng
CBuocGiaiLoai1
Lấy bước giải cuối
CBaiGiai
Kiểm tra tương
đương
CBatDangThuc
bdt=Lấy bất đẳng
thức
CBuocGiaiLoai1
Bộ nhớ chính
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
108
3.1.2 Bước giải loại 2
(suy ra một bất đẳng thức từ bước giải trước đó)
? Thuật giải:
- Tương tự như hàm kiểm tra của bước giải loại 1
3.1.3 Bước giải loại 3
( đưa ra một bất đẳng thức đúng, được bắt đầu bằng Ta co )
? Thuật giải:
- Kiểm tra bất đẳng thức của bước giải có thỏa 1 trong các điều kiện sau:
+ Là một bất đẳng thức đúng hiển nhiên ( bảng liệt kê một số dạng bất
đẳng thức đúng hiển nhiên xem phụ lục 4.)
+ Trùng với một trong số các điều kiện của đề bài.
+ Trùng với một bất đẳng thức đã được chứng minh đúng trong các
bước giải trước đó.
- Nếu thỏa một trong các điều kiện, trả về giá trị đúng.
- Nếu không , trả về giá trị không biết.
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
109
3.1.4 Bước giải loại 4
(Loại bước giải có áp dụng bất đẳng thức Cauchy)
Hình 32: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 4
? Thuật giải:
- Kiểm tra các biểu thức được áp dụng trong bước giải có phải là biểu thức
không âm
- Nếu ít nhất một biểu thức mang dấu âm hay không kiểm tra được, trả về
giá trị sai.
- Nếu tất cả biểu thức đều không âm
+ Tạo một bất đẳng thức bdt1 theo dạng Cauchy từ các biểu thức.
+ Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra
bất đẳng thức của bước giải này có tương đương với bdt1
Kiểm tra bước giải
đúng
CbuocGiaiLoai4
Kiểm tra tương
đương
CBatDangThuc
Xét dấu biểu thức
CBieuThuc
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
110
3.1.5 Bước giải loại 5
( Loại bước giải áp dụng bất đẳng thức Bunhixcopki)
Hình 33: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 5
? Thuật giải:
- Tạo một bất đẳng thức bdt1 theo dạng Cauchy từ các biểu thức.
- Gọi hàm Kiểm tra tương đương của lớp Bất đẳng thức để kiểm tra bất
đẳng thức của bước giải này có tương đương với bdt1
Kiểm tra bước giải
đúng
CbuocGiaiLoai5
Kiểm tra tương
đương
CBatDangThuc
Xét dấu biểu thức
CBieuThuc
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
111
3.1.6 Bước giải loại 6
( Loại bước giải có thể suy ra từ 2 hay nhiều bước giải trước đó)
Hình 34: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 6
? Thuật giải:
- Lấy danh sách các bước giải có ký hiệu được liệt kê trong bước giải đang
xét
- Lấy các bất đẳng thức trong các các bước giải trên
- Kiểm tra xem bất đẳng thức trong bứơc giải đang xét có thỏa một trong
các điểu kiện sau:
+ Có thể suy ra nhờ áp dụng tính chất bắc cầu cho các bất đẳng thức
trên không.
+ Có thể suy ra nhờ cộng vế theo vế
+ Có thể suy ra nhờ nhân vế theo vế
Kiểm tra bước giải
đúng
CBuocGiaiLoai3
♦Lấy danh sách bước
giải được đánh số
CBaiGiai
Bộ nhớ chính
♦Cộng vế theo vế
CBatDangThuc
♦Kiểm tra tương
đương
CBatDangThuc
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
112
- Nếu thỏa một trong các điều kiện trên, trả về giá trị đúng.
- Ngược lại, trả về giá trị sai.
3.1.7 Bước giải loại 7
( Loại bước giải cộng vế theo vế các bất đẳng thức trong các bước giải trước
đó )
Hình 35: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 7
? Thuật giải:
- Lấy danh sách các bước giải có ký hiệu được liệt kê trong bước
- Lấy các bất đẳng thức trong các các bước giải trên
- Cộng vế theo vế các bất đẳng thức này => bất đẳng thức mới bdt
- Kiểm tra bdt có tương đương với bất đẳng thức trong bước giải đang xét
Kiểm tra bước giải
đúng
CBuocGiaiLoai3
♦Đọc các bước giải
được đánh số trước đó
CBaiGiai
Bộ nhớ chính
♦Cộng vế theo vế
CBatDangThuc
♦Kiểm tra tương
đương
CBatDangThuc
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
113
3.1.8 Bước giải loại 8 (bước giải nhân vế)
Hình 36: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 8
Kiểm tra bước giải
đúng
CbuocGiaiLoai8
♦Đọc các bước giải
được đánh số trước đó
CBaiGiai
Bộ nhớ chính
♦Nhân vế theo vế
CBatDangThuc
♦Kiểm tra tương
đương
CBatDangThuc
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
114
3.1.9 Bước giải loại 9 (bước giải đặt ẩn phụ)
Hình 37: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 9
Kiểm tra bước giải
đúng
CbuocGiaiLoai9
♦Đọc bước giải cuối
CBaiGiai
Bộ nhớ chính
♦Kiểm tra tương
đương
CBatDangThuc
Thay ẩn phụ vào và
kiểm tra trên bất
đẳng thức mới này
KH
OA
C
NT
T –
Đ
H
KH
TN
Phần mềm hỗ trợ giải toán bất đẳng thức
115
3.1.10 Bước giải loại 12 ( bước giải đưa ra một bất đẳng thức đúng)
Hình 38: Sơ đồ biểu diễn thuật toán kiểm tra bước giải loại 12
3.1.11 Bước giải loại 13 (bước giải kiểm tra điều phải chứng minh)
? Thuật giải
- Kiểm tra bất đẳng thức trong bước giải cần xét có thỏa 2 điều kiện sau
không:
+ Tương đương với 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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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)
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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)
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ước giải biến đổi
tương đương từ một
bước giải trước đó
? x^2+y>0
2 => Bước giải suy ra từ một => x^2+1>0
KH
OA
C
NT
T –
Đ
H
KH
TN
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 +
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 (,
) + 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 ()+ suy ra
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 ()+
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 ()+
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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 = <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 () 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)? ()
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 ?
(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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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
i
Pi
1
≥ 0
3 ∀ n ∈ N
Pi là các biểu thức âm
∏
=
n
i
Pi
2
1
≥ 0
và ∏+
=
12
1
n
i
Pi ≤ 0
4 P > Q
G ≥ 0
P + G > Q
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ản
g trắng
Khoản
g trắng
Dấu
‘?’
Bước giải
loại 1
Bất đẳng
thức
Ký số Đẳng thức
Khoản
g trắng
Khoản
g trắng
KH
OA
C
NT
T –
Đ
H
KH
TN
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ản
g trắng
Khoản
g trắng
Từ khóa
(
Khoản
g trắng
Từ khóa
( “Ta có”)
Bước giải
loại 3
Bất đẳng
thức
Đẳng
thức
Khoản
g trắng
KH
OA
C
NT
T –
Đ
H
KH
TN
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ản
g trắng
Khoản
g trắng
Từ khóa
(
Khoản
g 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ản
g trắng
KH
OA
C
NT
T –
Đ
H
KH
TN
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ản
g 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ản
g trắng
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ản
g trắng
KH
OA
C
NT
T –
Đ
H
KH
TN
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ản
g trắng
“dpcm
”
Bước giải
loại 13
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ố
KH
OA
C
NT
T –
Đ
H
KH
TN
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
KH
OA
C
NT
T –
Đ
H
KH
TN
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ố
Các file đính kèm theo tài liệu này:
- CNTT1021.pdf