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

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

pdf150 trang | Chia sẻ: haianh_nguyen | Lượt xem: 1241 | Lượt tải: 0download
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:

  • pdfCNTT1021.pdf
Tài liệu liên quan