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
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
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
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 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
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
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
KHOA CNTT – ĐH KHTN
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
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 :
Đố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 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
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
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:
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_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
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
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>
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
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
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
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