Tải bản đầy đủ (.pdf) (33 trang)

Đồ án phần mềm hỗ trợ dạy và soạn bài tập Lượng giác (Thầy Nguyễn Tiến Huy) - 2 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (813.78 KB, 33 trang )





KHOA CNTT – ĐH KHTN





4.1.1.2. Phân hệ học sinh :


Hình 4.2. Mô hình tổng thể phân hệ học sinh.

Diễn giải:
Phân hệ học sinh gồm có một form chính là MainFormHS, từ MainFormHS sẽ
gọi đến các UserControl: TH_BaiTapViet, TH_BaiLT, TH_TracNghiem. Trong
đó, TH_BaiTapViet sẽ gọi đến UserControl TH_CongThuc; TH_BaiTapViet gọi
đến lớp PhuongTrinh, TH_TracNghiem gọi đến lớp PhatSinhDeTracNghiem.
Tất cả các UserControl đều gọi đến lớp CoSoDuLieu để giao tiếp với dữ liệu
bên ngoài.
34




KHOA CNTT – ĐH KHTN






4.1.2. Danh sách các lớp đối tượng giao tiếp người dùng :
4.1.2.1. Phân hệ giáo viên :

STT Tên Ý nghĩa
1 TH_SoanBaiTapViet Cho phép giáo viên soạn bài tập phương
trình và bài tập chứng minh đẳng thức cho
học sinh
2 TH_SoanBaiLT Cho phép giáo viên soạn bài lý thuyết
3 TH_SoanDeTracNghiem Cho phép giáo soạn đề trắc nghiệm
4 TH_ChamBai Cho phép giáo viên chấm bài giải của học
sinh
Bảng 4.1. Danh sách lớp đối tượng giao tiếp người dùng Phân hệ giáo viên.
4.1.2.2. Phân hệ học sinh :
STT Tên Ý nghĩa
1 TH_BaiTapViet Cho phép học sinh giải bài tập phương trình và
bài tập chứng minh đẳng thức
2 TH_BaiLyThuyet Cho phép học sinh xem bài lý thuyết
3 TH_TracNghiem Cho phép học sinh làm bài trắc nghiệm
Bảng 4.2. Danh sách lớp đối tượng giao tiếp người dùng Phân hệ học sinh.
35




KHOA CNTT – ĐH KHTN






4.1.3. Danh sách các lớp đối tượng xử lý chính :

STT Tên Ý nghĩa
1 PTCoBan Dùng để giải các phương trình cơ bản: sinx=a,
cosx=a, tgx=a, cotgx=a
2 PTBacI Dùng để giải phương trình dạng: asinx+b=0,
acosx+b=0, atgx+b=0, acotgx+b=0
3 PTBacII Dùng để giải phương trình dạng: asin-
2
x+bsinx+c=0, acos
2
x+bcosx+c=0,
atg
2
x+btgx+c=0, acotg
2
x+bcotgx+c=0
4 PTBacISinCos Dùng để giải phương trình dạng:
asinx+bcosx=c
5 PTBacIISinCos Dùng để giải phương trình dạng:
asin
2
x+bsinxcosx+ccos
2
x=d
6 PTDoiXungSinCos Dùng để giải phương trình dạng:
a(sinx+cosx)+bsinxcosx=c
7 DoiCongThuc Dùng để đổi công thức ra dạng tương ứng với

dạng công thức lưu trong file CongThuc.txt.
8 LayCongThuc Dùng để lấy công thức tương ứng.
Bảng 4.3. Danh sách các lớp đối tượng xử lý chính.
4.1.4. Danh sách các lớp đối tượng truy xuất dữ liệu :
STT Tên Ý nghĩa
1 CoSoDuLieu Dùng để đọc ghi dữ liệu trên file
Bảng 4.4. Danh sách các lớp đối tượng truy xuất dữ liệu.
36




KHOA CNTT – ĐH KHTN





4.2. TỔ CHỨC LƯU TRỮ VÀ TRUY XUẤT CÁC ĐỐI TƯỢNG :
4.2.1. Danh sách các biến thành phần của từng đối tượng truy
xuất dữ liệu:

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 BaiHoc BaiLT Cấu trúc của bài lý thuyết gồm
các trường : SoBai, NoiDung

2 De DeViet Cấu trúc của đề viết gồm các
trường : sobai, debai, baigiaiGV,
baigiaiHS, loaibt


3 CauHoi DeTracNghiem Cấu trúc của đề trắc nghiệm gồm
các trường : SoCau, A, B, C, D,
DapAn

4 pathBT String Lưu đường dẫn đến file bài tập
viết

5 pathTN String Lưu đường dẫn đến file trắc
nghiệm

6 pathBH String Lưu đường dẫn đến file lý thuyết
Bảng 4.5. Danh sách các biến thành phần của từng đối tượng truy xuất dữ liệu.
37




KHOA CNTT – ĐH KHTN





4.2.2. Danh sách các hàm thành phần của từng đối tượng truy
xuất dữ liệu:

STT Tên hàm Kiểu
hàm
In Out
1 LuuDeViet Function BT:DeViet Boolean

2 MoDeViet Function BT:DeViet Boolean
3 BaiTapDangViet Function loai:Int
BT():DeViet
sobt:Int
Boolean
4 SachLyThuyet Function BH():BaiLT
sobh:Int
Boolean
5 NganHangCauHoi Function CH():DeTracNghiem
soch:Int
Boolean
6 ThemDeVaoSachBaiTap Function BT:DeViet Boolean
7 ThemBaiHocVaoSachLT Function BH:BaiLT Int
8 ThemCauHoiVaoNHCH Function CH:DeTracNghiem Boolean
9 Lay1DeDuocChon Funciton BT:DeViet
SoBT:String
loai:Int
Boolean
10 Lay1BaiHocDuocChon Function BH:BaiLT
SoBH:String
Boolean
11 Lay1CauHoiDuocChon Function CH:DeTracNghiem
SoCH:String
Boolean
12 KiemTraTrungBaiLy
Thuyet
Function bailythuyet:String Boolean
13 XoaBaiHoc Function SoBH:String Boolean
14 XoaBaiTap Function SoBT:String Boolean
38





KHOA CNTT – ĐH KHTN





15 XoaCauHoi Function SoCH:String Boolean
16 MoFileDeDoc Function path: String FileStream
17 DongFile Sub TenFile: FileStream
18 CapNhatSachBaiTap Function Int
19 CapNhatSachLyThuyet Function Int
20 CapNhatNHCH Function Int
21 KetXuatWord_Rtf Function txt:RichTextBox Boolean
22 KetXuatWord_Txt Function noidung:String Boolean
23 InWord Function tbox: RichTextBox
filename:String
Boolean
24 MoWord Function Boolean
25 LuuDeTracNghiem Function DeTN():DeTracNghiem
SoCH:Int
Boolean
26 DSCacCauHoiDuocLoc Function NHCH():DeTracNghiem
SoCH:Int
MangDangCH():String
SLDang:Int
Boolean

27 KiemTraTrungDangCau
Hoi
Function Dang:String
MangDangCH():String
SLDang:Int
Boolean
28 MoDeTracNghiem Function DeTN():DeTracNghiem
SoCH:Int
Int
Bảng 4.6. Danh sách các hàm thành phần của từng đối tượng truy xuất dữ liệu.
39




KHOA CNTT – ĐH KHTN





4.3. THIẾT KẾ CÁC LỚP ĐỐI TƯỢNG XỬ LÝ CHÍNH :
4.3.1. Danh sách các biến thành phần của từng đối tượng xử lí
chính:
4.3.1.1. Lớp đối tượng PTCoBan :

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 hamlg String Hàm lượng giác
2 bien String Biến
3 heso String Hệ số

4 loainghiem String Loại nghiệm loainghiem =”0” Æ tính
theo radian;
loainghiem=”1” Æ tính
theo độ
5 nghiemblvn String Nghiệm biện luận
vô nghiệm

6 nghiemblcn String Nghiệm biện luận
có nghiệm

7 bl Boolean Cho biết giải
phương trình có
biện luận hay
không.
bl=true Æ có biện luận;
ngược lại Æ không biện
luận
8 hsgoc String Hệ số góc
9 strBaiGiai String Bài giải
Bảng 4.7. Danh sách các biến thành phần của lớp đối tượng PTCoBan.
40




KHOA CNTT – ĐH KHTN






4.3.1.2. Lớp đối tượng PTBacI:

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 a String Hệ số a của phương trình
2 b String Hệ số b của phương trình
3 hamlg String Hàm lượng giác
4 bien String Biến của phương trình
5 strBaiGiai String Bài giải
Bảng 4.8.Danh sách các biến thành phần của lớp đối tượng PTBacI.
41




KHOA CNTT – ĐH KHTN





4.3.1.3. Lớp đối tượng PTBacII :

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 a String Hệ số a của phương
trình

2 b String Hệ số b của phương
trình


3 c String Hệ số c của phương
trình

4 hamlg String Hàm lượng giác
5 bien String Biến của phương trình
6 strBaiGiai String Bài giải
7 loainghiem String Loại nghiệm loainghiem =”0” Æ
tính theo radian;
loainghiem=”1” Æ
tính theo độ
8 gthople Double Giá trị hợp lệ của
nghiệm

9 daupt String Dấu phương trình
Bảng 4.9. Danh sách các biến thành phần của lớp đối tượng PTBacII.
42




KHOA CNTT – ĐH KHTN





4.3.1.4. Lớp đối tượng PTBacISinCos :

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 a String Hệ số a của phương trình

2 b String Hệ số b của phương trình
3 c String Hệ số c của phương trình
4 bien String Biến của phương trình
5 strBaiGiai String Bài giải
Bảng 4.10. Danh sách các biến thành phần của lớp đối tượng PTBacISinCos.
4.3.1.5.
Lớp đối tượng PTBacIISinCos :

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 a String Hệ số a của phương trình
2 b String Hệ số b của phương trình
3 c String Hệ số c của phương trình
4 bien String Biến của phương trình
5 strBaiGiai String Bài giải
Bảng 4.11. Danh sách các biến thành phần của lớp đối tượng PTBacIISinCos.
43




KHOA CNTT – ĐH KHTN





4.3.1.6. Lớp đối tượng PTDoiXungSinCos:

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 a String Hệ số a của phương trình

2 b String Hệ số b của phương trình
3 c String Hệ số c của phương trình
4 bien String Biến của phương trình
5 strBaiGiai String Bài giải
6 loaipt Int16 Loại phương trình loaipt=1 Æ
phưong trình
dạng sinx+cosx;
loaipt=0 Æ
phương trình
dạng sinx-cosx
Bảng 4.12. Danh sách các biến thành phần của lớp đối tượng PTDoiXungSinCos.
4.3.1.7.
Lớp đối tượng PhatSinhDeTracNghiem:

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 Lines String() Biến chứa số dòng của 1
chuỗi

2 spt Int Biến cho biết có bao
nhiêu dòng trong 1 chuỗi

Bảng 4.13. Danh sách các biến thành phần của lớp đối tượng PhatSinhDeTracNghiem.
44




KHOA CNTT – ĐH KHTN






4.3.1.8. Lớp đối tượng DoiCongThuc:

STT Thuộc tính Kiểu Diễn giải Ghi chú
1 path String Chứa đường dẫn file
CongThuc.txt chứa các
công thức lượng giác.

2 MangHam(30) HAM_LG Chứa vị trí và tên hàm
lượng giác.
HAM_LG bao
gồm các thuộc
tính lưu trữ:
9 TenHam.
9 ViTri.
3 mSoLuongHam Integer Chứa số lượng hàm
lượng giác có trong
MangHam.

4 Bien() String Mảng chứa các biến
thay thế khi biến đổi
công thức.
Bao gồm các
giá trị: {“M”,
”N”, “O”, ”P”,
”Q”, “R”, “S”,
“T”}.
5 MangBien(10) BIEN_THAY

_THE
Mảng chứa giá trị biến
chính của công thức và
biến thay thế tương
ứng.

6 mSoLuongBien Integer chứa số lượng biến
trong MangBien.

45




KHOA CNTT – ĐH KHTN





7 ham() String chứa các hàm lượng
giác.
Bao gồm các
giá trị :{“sin”,
“cos”, “cotg”,
“tg”}
Bảng 4.14. Danh sách các biến thành phần của lớp đối tượng DoiCongThuc.
4.3.1.9.
Lớp đối tượng LayCongThuc:


STT Thuộc tính Kiểu Diễn giải Ghi chú
1 fCongThuc FileStream Dùng để mở file
CongThuc.txt

2 rs StreamReader Dùng để dọc dữ liệu
trên file.

3 MangCongThuc ArrayList Dùng để lưu các công
thức tìm được.

Bảng 4.15. Danh sách các biến thành phần của lớp đối tượng LayCongThuc.
46




KHOA CNTT – ĐH KHTN





4.3.2. Danh sách các hàm thành phần của từng đối tượng xử lí
chính:
4.3.2.1. Lớp đối tượng PTCoBan :

STT Tên hàm Kiểu hàm In Out
1 GiaiBPTBacICoTriTuyetDoi Function hs:String
dau1:String
gt1:String

dau2:String
gt2:String
flag:Boolean
String
2 TruongHopTSTrenTuVoiHam
LGSinCos
Function tu:String
mau:String
String
3 TruongHopTSTrenTuVoiHam
LGTgCotg
Function String
4 BienLuanVoiThamSoTrenTu Function tu:String
mau:String
String
5 BienLuanTruongHopTuDuong Function tu:String
mau:String
temp:String
ts:String
String
6 BienLuanTruongHopTuAm Function tu:String
mau:String
temp:String
ts:String
String
7 TruongHopTSTrenMauVoi
HamLGSinCos
Function tu:String
mau:String
ts:String

String
47




KHOA CNTT – ĐH KHTN





8 TruongHopTSTrenMauVoiHa
mLGTgCotg
Function ts:String String
9 BienLuanVoiThamSoTrenMau Function tu:String
mau:String
String
10 TruongHopTSTrenTuMauVoi
HamLGTgCotg
Function tu:String
mau:String
String
11 LayGiaTriDacBiet Function bt:String String
12 XuLiTuChuaThamSo Sub tu:String
mau:String
tu1:String
mau1:String
so1:String
so2:String


13 DieuKienBienLuanVN Function String
14 DieuKienBienLuanCN Function tu1:String
tu2:String
mau:String
String
15 TruongHop2TuDeuCoTS Sub temp1:String
temp2:String
temp:String
n1:String
n2:String
n3:String
n4:String
n5:String
n6:String
n7:String
n8:String

48




KHOA CNTT – ĐH KHTN





16 TruongHopTSChiTrenTu1 Sub so:String

tu:String
mau:String
n1:String
n2:String
n3:String
n4:String
n5:String

17 TruongHopTSChiTrenTu2 Sub so:String
tu:String
mau:String
n1:String
n2:String
n3:String
n4:String
n5:String

18 XuLiNghiemGiaoTHBLVN Function nghiem:String String
19 XuLiNghiemGiaoTHBLCN Function nghiem:String String
20 GiaoNghiemTH2TuDeuCoTS Function n1:String
n2:String
n3:String
n4:String
n5:String
n6:String
n7:String
n8:String
String
49





KHOA CNTT – ĐH KHTN





21 GiaoNghiemTHTSChiTrenTu1 Function n1:String
n2:String
n3:String
n4:String
n5:String
String
22 GiaoNghiemTHTSChiTrenTu2 Function n1:String
n2:String
n3:String
n4:String
n5:String
String
23 TruongHopPTVN Function String
24 TruongHopPTCN Function temp1:String
temp2:String
temp:String
so1:String
so2:String
String
25 TruongHopTSTrenTuMauVoi
HamLGSinCos

Function tu:String
mau:String
String
26 BienLuanVoiThamSoTrenTu_
Mau
Function tu:String
mau:String
String
27 BienLuanTheo_m Function String
28 KiemTraTonTaiHamLG Function hs:String Boolean
29 KiemTraHeSoCoHamLGThoa Function hso:String Boolean
30 TachHeSoRaKhoiPi Function hso:String String
31 TaoGocDoi Function goc:String String
32 GocCuaHamLGDoi Function hso:String String
33 ThemNgoacDonVaoHamLG Function hlg:String
sokt:Int
String
50




KHOA CNTT – ĐH KHTN





34 XacDinhGocHamLG Sub hso:String
hlg:String


35 XuLiHamLGThoa Function hso:String String
36 XacDinhHeSoK Sub
37 XacDinhHeSoGocHamSinCos Function goc1:String
goc2:String
goc3:String
goc4:String
String
38 XacDinhHeSoGocHamTgCotg Function goc1:String
goc2:String
String
39 HamSin Function String
40 HamCos Function String
41 HamTg Function String
42 HamCotg Function String
43 DoiSangHamLuongGiac Function String
44 KiemTraHeSo Function Boolean
45 XuLiBien Function String
46 TruongHopDoiSangDuocHam
LG
Function hlg:String
sbien:String
String
47 LayNghiemTheoLoaiNghiem Function goc:String String
48 TruongHopKhongDoiSangDuo
cHamLG
Function sbien:String String
49 Giaipt Function co:Boolean String
50 TruongHopDacBietHamSin Function String
51 TruongHopDacBietHamCos Function String

52 TruongHopDacBietHamTg Function String
53 TruongHopDacBietHamCoTg Function String
54 TruongHopDacBiet Function String
51




KHOA CNTT – ĐH KHTN





55 GiaiPhuongTrinhCoBan Function String
Bảng 4.16. Danh sách các hàm thành phần của lớp đối tượng PTCoBan.
4.3.2.2.
Lớp đối tượng PTBacI :

STT Tên hàm Kiểu hàm In Out
1 NhapPhuongTrinh Sub hsa:String
hsb:String
hsc:String
sbien:String
hlg:String
gt_hople:Double

2 Xuat Function String
3 XacDinhLoaiNghiem Sub
4 TapXacDinh Function String

5 TruongHopDacBiet Function String
6 NhapPhuongTrinhCoBan Sub hso:String
7 TinhHeSo Function String
8 GiaiPhuongTrinh Sub
Bảng 4.17. Danh sách các hàm thành phần của lớp đối tượng PTBacI.
52




KHOA CNTT – ĐH KHTN





4.3.2.3. Lớp đối tượng PTBacII :
STT Tên hàm Kiểu hàm In Out
1 NhapPhuongTrinh Sub hsa:String
hsb:String
hsc:String
sbien:String
hlg:String
gt_hople:Doubl
e

2 Xuat Function String
3 XacDinhLoaiNghiem Sub
4 XuLiCacHeSoPT Sub hsa:String
hsb:String

hsc:String

5 ChuyenPTLuongGiacVePTBac
II
Function hsa:String
hsb:String
hsc:String
String
6 LayMauCacHeSoPT Sub mau_a:String
mau_b:String
mau_c:String

7 KiemTraPTCoThamSo Function hsa:String
hsb:String
hsc:String
Boolean
8 TinhLaiNghiem Function nghiem:String Boolean
9 NhapPhuongTrinhCoBan Sub heso:String
10 GiaiPhuongTrinh Sub
11 TinhNghiemKep Function hsa:String
hsb:String
String
53




KHOA CNTT – ĐH KHTN






12 KiemTraNghiemHopLe Function gtnghiem:String Boolean
13 TruongHop2NghiemKhongHo
pLe
Function nghiem1:String
nghiem2:String
String
14 TruongHop2NghiemHopLe Function nghiem1:String
nghiem2:String
String
15 TruongHop1NghiemHopLe Function nghiem1:String
nghiem2:String
sttn:Int
String
16 GiaiKhongBL_DeltaBangKhon
g
Function nghiemkep:Stri
ng
String
17 GiaiKhongBL_DeltaLonHonK
hong
Function nghiem1:String
nghiem2:String
String
18 GiaiKhongBL_DeltaNhoHonK
hong
Function String
19 GiaiPTKhongBienLuan Function hsa:String

hsb:String
hsc:String
String
20 TruongHop2NghiemCoTS Function nghiem1:String
nghiem2:String
String
21 TruongHopNghiem1HopLe Function nghiem1:String
nghiem2:String
String
22 TruongHopNghiem2HopLe Function nghiem1:String
nghiem2:String
String
23 TruongHopNghiem1KhongTS Function nghiem1:String
nghiem2:String
String
24 TruongHopNghiem2KhongTS Function nghiem1:String
nghiem2:String
String
54




KHOA CNTT – ĐH KHTN





25 GiaiBL_DeltaKhongTSBangK

hong
Function nghiemkep:Stri
ng
String
26 GiaiBL_DeltaKhongTSLonHo
nKhong
Function nghiem1:String
nghiem2:String
String
27 GiaiBL_DeltaKhongTSNhoHo
nKhong
Function String
28 BienLuanDeltaKhongTS Function nghiem1:String
nghiem2:String
delta:String
String
29 KetLuan Function blvn:String
blcn:String
ten:String
String
30 GiaiUngVoiNghiemKep Function nghiemkep_t:St
ring
nghiemkep_m:S
tring
String
31 GiaiBL_DeltaCoTSBang
Khong
Function delta:String String
32 GiaiBL_DeltaCoTSLonHon
Khong

Function nghiem1:String
nghiem2:String
delta:String
String
33 BienLuanUngVoi1NghiemT Function nghiemkep_t:St
ring
nghiemkep_m:S
tring
String
34 GiaiBL_DeltaCoTSNhoHon
Khong
Function delta:String String
55




KHOA CNTT – ĐH KHTN





35 BienLuanDeltaCoTS Function nghiem1:String
nghiem2:String
delta:String
String
36 GiaiPTBienLuanTheoM Function hsa:String
hsb:String
hsc:String

String
37 XuLiNghiem Function hsa:String
hsb:String
String
38 TinhNghiem Function hsa:String
hsb:String
candelta:String
dau:String
String
39 TinhDelta Function hsa:String
hsb:String
hsc:String
String
40 TinhCanDelta Function delta:String String
41 BPTBacII_DeltaBangKhong Function hsa:String
hsb:String
dau:String
String
42 BPTBacII_DeltaAm Function hsa:String
dau:String
String
43 BPTBacII_DeltaDuong Function hsa:String
hsb:String
dau:String
delta:String
String
44 GiaiBPTBacII Function hsa:String
hsb:String
hsc:String
dau:String

String
56




KHOA CNTT – ĐH KHTN





45 GiaiPTBacII Function hsa:String
hsb:String
hsc:String
nghiem1:String
nghiem2:String
String
Bảng 4.18. Danh sách các hàm thành phần của lớp đối tượng PTBacII.
4.3.2.4.
Lớp đối tượng PTBacISinCos :
STT Tên hàm Kiểu hàm In Out
1 NhapPhuongTrinh Sub hsa:String
hsb:String
hsc:String
sbien:String
hlg:String
gt_hople:Doubl
e


2 Xuat Function String
3 XacDinhLoaiNghiem Sub
4 NhapPhuongTrinhCoBan Sub hamlg:String
sbien:String
heso:String

5 DoiSangHamTg Function heso:String
gocb:String
String
6 RutGonPTLG Function hsba:String
hsca:String
String
7 TiSoLuongGiac Function goc:String String
8 TaoHamCos Function goc:String String
9 THHeSoVPCoTS Function hsca:String
hamcos:String
String
57




KHOA CNTT – ĐH KHTN





10 THHeSoVPKhongTS Function hsca:String
hamcos:String

String
11 TinhHeSoVePhai Function hsca:String
goc:String
String
12 TaoBienCuaPTMoi Function goc:String
sbien:String
String
13 PTSauKhiThayGiaTri Function goc:String
hsca:String
hs:String
sbien:String
String
14 BienDoiPhuongTrinh Function heso:String
sbien:String
String
15 KiemTraCacHeSoPT Function Boolean
16 BinhPhuongCacHeSo Sub abp:String
bbp:String
cbp:String

17 DieuKienCoNghiem Function bieuthuc:String String
18 GiaiPTKhongBL Function heso:String
sbien:String
String
19 BienLuan Function nghiem_m:Strin
g
heso:String
sbien:String
String
20 GiaiPTCoBL Function heso:String

sbien:String
String
21 GiaiPhuongTrinh Sub
Bảng 4.19. Danh sách các hàm thành phần của lớp đối tượng PTBacISinCos.
58

×