- i -
LỜI MỞ ĐẦU
Ngày nay, ngành công nghệ thông tin trên thế giới ngày càng phát triển mạnh
mẽ, và ngày càng ứng dụng vào nhiều lĩnh vực. Với khả năng ứng dụng rộng rãi của
ngành công nghệ thông tin, với chính sách phát triển ngành công nghệ thông tin của
nhà nước, với việc nâng cao chất lượng giáo dục ở nước ta thì việc tin học hóa giáo dục
(ứng dụng ngành công nghệ thông tin vào ngành giáo dục) là phù hợp và thiết thực.
Với khả năng trên, việc đưa tin học hỗ trợ cho lãnh vực gi
213 trang |
Chia sẻ: huong20 | Ngày: 08/01/2022 | Lượt xem: 427 | Lượt tải: 0
Tóm tắt tài liệu Luận văn Xây dựng phần mềm dạy học Toán học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iáo dục, trong đó việc
hỗ trợ cho việc giải bài tập của học sinh tại nhà là có thể thực hiện được. Để giúp học
sinh có khả năng tự giải bài tập mà không cần đến lớp học thêm, không cần người
hướng dẫn giải bài tập, thì với một phần mềm hỗ trợ giải bài tập trên máy tính tại nhà
sẽ đáp ứng được cho học sinh những nhu cầu này. Và điển hình là phần mềm hỗ trợ ôn
thi tốt nghiệp phổ thông trung học môn toán mà chúng em đã nghiên cứu và thực hiện.
Để nâng cao chất lượng giáo dục phổ thông Bộ Giáo dục và Đào tạo đã cái tiến
cách dạy và học: tăng cường thiết bị dạy và học, thêm kiến thức vào một số sách giáo
khoa, thêm một số môn học mới vào chương trình học. Lượng kiến thức cần truyền đạt
và đòi hỏi học sinh nắm bắt tăng nhiều hơn. Trong khi đó, với lượng kiến thức như thế,
việc dạy của giáo viên và sự tiếp thu của một số học sinh ở trường, đôi khi không đạt
được những kết quả mong muốn. Vì lí do, không đủ thời gian trên lớp để giáo viên
hướng dẫn cặn kẽ cho học sinh giải bài tập, nên một số học sinh không thể hoặc khó
khăn để theo kịp chương trình học của mình. Vì vậy, việc tự giải bài tập của học sinh
ở nhà là việc hết sức khó khăn, nếu không muốn nói là đôi khi không không thể làm
được nếu không có người hướng dẫn. Cho nên, một số học sinh đã phải nhờ người
hướng dẫn tại nhà (giáo viên kèm tại nhà; anh, chị, phụ huynh có kiến thức về bài tập
- ii -
của con em mình), số học sinh còn lại không có điều kiện trên thì đến lớp học thêm
(hình thức phổ biến) của giáo viên bộ môn. Với lượng kiến thức nhiều hơn trước đây,
đòi hỏi học sinh và giáo viên phải đầu tư nhiều thời gian và công sức hơn. Vì thế, một
phần mềm để hỗ trợ thêm cho học sinh và giáo viên dạy và học tốt hơn là thực sự
cần thiết.
Trong đề tài của mình, chúng em mong muốn cung cấp cho giáo viên khả năng
biên soạn lý thuyết, biên soạn bài tập trắc nghiệm cũng như tự luận để cung cấp cho
học sinh, hỗ trợ phát sinh đề và giải bài tập tự luận cho hầu hết các dạng toán thi tốt
nghiệp, hỗ trợ cho học sinh làm bài và chấm bài trắc nghiệm cho học sinh, hỗ trợ thể
hiện các ký hiệu toán học trên chương trình.
Nội dung của luận văn được chia làm 5 chương cụ thể như sau:
Chương 1 Mở Đầu: giới thiệu tổng quan về đề tài, những công việc cần làm trong đề
tài.
Chương 2 Phân Tích: phân tích đề tài.
Chương 3 Thiết Kế: thiết kế đề tài.
Chương 4 Kỹ Thuật: giới thiệu các kỹ thuật sử dụng trong quá trình thực hiện đề tài
như việc thể hiện các ký hiệu toán học, XML, XSLT, MathML...
Chương 5 Thực hiện và kiểm tra: thực hiện và các bộ kiểm tra chương trình.
Chương 6 Tổng kết: tóm tắt kết quả đạt được, đề ra hướng phát triển trong tương lai.
Phụ lục: Một số vấn đề cần quan tâm của đề tài.
- iii -
MỤC LỤC
LỜI MỞ ĐẦU..................................................................................................................i
MỤC LỤC .................................................................................................................. iii
DANH SÁCH CÁC HÌNH...........................................................................................vii
DANH SÁCH CÁC BẢNG........................................................................................ viii
Chương 1 Mở đầu ......................................................................................................1
1.1. Giới thiệu về đề tài ...........................................................................................2
1.2. Khảo sát hiện trạng...........................................................................................3
1.2.1. Tình hình thực tế ........................................................................................3
1.2.2. Hiện trạng tin học.......................................................................................4
1.3. Nhu cầu thực tế ................................................................................................6
1.4. Mục tiêu ...........................................................................................................6
1.5. Yêu cầu.............................................................................................................7
1.5.1. Yêu cầu chức năng.....................................................................................7
1.5.2. Yêu cầu phi chức năng.............................................................................11
1.5.2.1. Tính tiến hóa :...................................................................................11
1.5.2.2. Tính tiện dụng :.................................................................................11
1.5.2.3. Tính hiệu quả : ..................................................................................12
1.5.2.4. Tính tương thích : .............................................................................12
1.5.3. Các yêu cầu khác .....................................................................................13
1.5.3.1. Tính tái sử dụng :..............................................................................13
1.5.3.2. Tính dễ bảo trì : ................................................................................13
1.5.3.3. Tính dễ mang chuyển : .....................................................................13
Chương 2 Phân tích .................................................................................................14
2.1. Sơ đồ sử dụng.................................................................................................15
Danh sách các yêu cầu: ................................................................................................15
2.2. Sơ đồ luồng dữ liệu ........................................................................................17
2.2.1. Soạn lý thuyết ..........................................................................................17
2.2.2. Soạn bài tập mẫu......................................................................................17
2.2.3. Phát sinh bài tập .......................................................................................18
2.2.4. Phát sinh bài giải ......................................................................................18
2.2.5. Soạn câu trắc nghiệm...............................................................................18
2.2.6. Phát sinh đề thi trắc nghiệm.....................................................................19
2.2.7. Xem lý thuyết...........................................................................................20
2.2.8. Xem bài tập mẫu ......................................................................................20
- iv -
2.2.9. Thi tự luận................................................................................................21
2.2.10. Làm bài trắc nghiệm.............................................................................21
2.2.11. Chấm bài trắc nghiệm ..........................................................................22
2.3. Sơ đồ lớp ........................................................................................................23
Chương 3 Thiết kế....................................................................................................25
3.1. Sơ đồ kiến trúc tổng thể .................................................................................26
3.2. Chi tiết tổ chức lưu trữ đối tượng...................................................................38
3.2.1. Câu trắc nghiệm .......................................................................................38
3.2.2. Lý thuyết ..................................................................................................39
3.2.3. Bài Tập Mẫu ............................................................................................39
3.2.4. Đề thi trắc nghiệm....................................................................................40
3.3. Thiết kế các lớp đối tượng xử lý thể hiện ......................................................42
3.3.1. Sơ đồ màn hình trong phân hệ học sinh...................................................42
3.3.2. Sơ đồ màn hình trong phân hệ giáo viên .................................................43
3.3.3. Các màn hình chung của hai phân hệ ......................................................44
3.3.3.1. Màn hình chính.................................................................................44
3.3.3.2. Màn hình Soạn Lý Thuyết ................................................................46
3.3.3.3. Thể hiện Lý thuyết............................................................................50
3.3.3.4. Màn hình Soạn Bài tập mẫu .............................................................53
3.3.3.5. Thể hiện bài tập mẫu ........................................................................56
3.3.3.6. Màn hình Soạn đề trắc nghiệm.........................................................58
3.3.3.7. Màn hình điều kiện phát sinh đề trắc nghiệm ..................................63
3.3.3.8. Thể hiện câu trắc nghiệm .................................................................67
3.3.3.9. Thể hiện câu trắc nghiệm loại 1 .......................................................70
3.3.3.10. Thể hiện câu trắc nghiệm loại 2 .......................................................71
3.3.3.11. Thể hiện câu trắc nghiệm loại 3 .......................................................73
3.3.3.12. Thể hiện cây danh mục.....................................................................74
3.3.3.13. Thể hiện thời gian.............................................................................75
3.3.3.14. Màn hình Nhập câu trắc nghiệm ......................................................77
3.3.3.15. Màn hình Khảo sát và vẽ đồ thị hàm số ...........................................79
3.3.3.16. Màn hình tính đạo hàm biểu thức.....................................................81
3.3.3.17. Thể hiện Bảng biến thiên..................................................................82
3.3.3.18. Thể hiện đồ thị hàm số .....................................................................83
3.3.3.19. Màn hình Không Gian – Mặt Phẳng ................................................84
3.3.3.20. Màn hình Thư viện ...........................................................................86
3.3.3.21. Màn hình Tham Số ...........................................................................88
3.3.4. Các màn hình của phân hệ học sinh.........................................................89
3.3.4.1. Thể hiện Lý Thuyết Chính ...............................................................89
3.3.4.2. Thể hiện Bài tập chính......................................................................90
- v -
3.3.4.3. Thể hiện Trắc nghiệm Chính............................................................92
3.3.4.4. Màn hình thi trắc nghiệm .................................................................93
3.3.5. Các màn hình của phân hệ giáo viên .......................................................96
3.3.5.1. Màn hình Lý thuyết Chính ...............................................................96
3.3.5.2. Màn hình bài tập chính .....................................................................97
3.3.5.3. Màn hình trắc nghiệm chính.............................................................99
3.3.5.4. Màn hình Soạn Câu trắc nghiệm : ..................................................100
3.4. Thiết kế các lớp đối tượng xử lý nghiệp vụ .................................................104
3.4.1. Lý thuyết ................................................................................................104
3.4.1.1. Lớp LyThuyet.................................................................................104
3.4.1.2. Lớp DSLyThuyet............................................................................105
3.4.2. Trắc Nghiệm ..........................................................................................106
3.4.2.1. Lớp CauTracNghiem......................................................................106
3.4.2.2. Lớp DanhSachCauTN ....................................................................106
3.4.2.3. Lớp DethiTracNghiem ...................................................................108
3.4.2.4. Lớp DanhSachDethiTN..................................................................109
Bảng 3-42 Các bảng mô tả lớp DanhSachDeThiiTN...........................................109
3.4.3. Bài tập: ...................................................................................................109
3.4.3.1. Lớp Thư viện (THUVIEN):............................................................109
3.4.3.2. Lớp Bài tập tự luận (BaiTapTuLuan):............................................110
3.4.3.3. Lớp hàm số(HAM_SO): .................................................................111
3.4.3.4. Lớp xử lý không gian tọa độ (XL_KhongGianToaDo): ................114
3.4.3.5. Lớp xử lý mặt phẳng tọa độ (XL_MatPhangToaDo):....................117
3.4.3.6. Lớp biểu thức (BIEU_THUC):.......................................................121
Bảng 3-46 Các bảng mô tả lớp BIEU_THUC .............................................121
3.4.3.7. Lớp đơn thức (DON_THUC): ........................................................121
3.4.3.8. Lớp hằng số (HANG_SO)..............................................................122
3.4.3.9. Lớp biểu thức 1 ngôi (BIEU_THUC_1_NGOI).............................122
3.4.3.10. Lớp biểu thức 2 ngôi (BIEU_THUC_2_NGOI) ............................123
3.4.3.11. Lớp Tham số ( ThamSo ): ..............................................................125
3.5. Sơ đồ phối hợp hoạt động ............................................................................126
3.5.1. Lưu trữ bài lý thuyết ..............................................................................126
3.5.2. Lưu trữ câu trắc nghiệm.........................................................................126
3.5.3. Phát sinh đề trắc nghiệm........................................................................127
3.5.4. Thi trắc nghiệm ......................................................................................127
3.5.5. Chấm điểm bài trắc nghiệm ...................................................................128
Chương 4 Một số kỹ thuật đặc trưng của đề tài .................................................129
4.1. XML.............................................................................................................130
4.2. XSLT............................................................................................................130
- vi -
4.3. MATHML....................................................................................................130
4.4. MATHML Control.......................................................................................131
4.5. Thư viện hỗ trợ nhận dạng đề tự luận ..........................................................132
Chương 5 Thực hiện và kiểm tra..........................................................................133
5.1. Thực hiện phần mềm....................................................................................134
5.2. Kiểm tra phần mềm......................................................................................134
Chương 6 Tổng kết ................................................................................................139
6.1. Các kết quả đạt được....................................................................................140
6.1.1. Các yêu cầu chức năng : ........................................................................140
6.1.2. Các yêu phi chức năng:..........................................................................142
6.2. Tự đánh giá ..................................................................................................142
6.2.1. Ưu điểm: ................................................................................................142
6.2.2. Hạn chế: .................................................................................................142
6.3. Hướng phát triển ..........................................................................................143
PHỤ LỤC ................................................................................................................144
TÀI LIỆU THAM KHẢO .........................................................................................204
- vii -
DANH SÁCH CÁC HÌNH
Hình 1-1 Giao diện của PM Ôn Thi Toán của ADCOM .................................................4
Hình 1-2 GD của “LTĐH”...............................................................................................4
Hình 1-3 Giao Diện của PM Toán của ESoft...................................................................5
Hình 2-1 Sơ đồ sử dụng .................................................................................................15
Hình 2-2 Sơ đồ lớp.........................................................................................................23
Hình 3-1 Sơ đồ kiến trúc tổng thể ..................................................................................26
Hình 3-2 Sơ đồ màn hình phân hệ Học Sinh .................................................................42
Hình 3-3 Sơ đồ màn hình phân hệ Giáo Viên................................................................43
Hình 3-4 Màn hình chính ...............................................................................................44
Hình 3-5 Màn hình Soạn lý thuyết.................................................................................47
Hình 3-6 Thể hiện Lý Thuyết.........................................................................................51
Hình 3-7 Màn hình Soạn Bài Tập Mẫu..........................................................................53
Hình 3-8 Thể hiện bài tập mẫu.......................................................................................56
Hình 3-9 Màn hình Soạn Đề Trắc Nghiệm....................................................................59
Hình 3-10 Màn hình Điều kiện phát sinh Đề Trắc Nghiệm...........................................64
Hình 3-11 Thể hiện Câu Trắc Nghiệm...........................................................................67
Hình 3-12 Thể hiện Câu Trắc Nghiệm loại 1.................................................................70
Hình 3-13 Thể hiện Câu Trắc Nghiệm loại 2.................................................................71
Hình 3-14 Thể hiện Câu Trắc Nghiệm loại 3.................................................................73
Hình 3-15 Thể hiện Cây Danh Mục...............................................................................74
Hình 3-16 Thể hiện Thời Gian.......................................................................................75
Hình 3-17 Màn hình Nhập Câu Trắc Nghiệm................................................................77
Hình 3-18 Màn hình Khảo sát và vẽ đồ thị ....................................................................79
Hình 3-19 Màn hình Tính Đạo Hàm Biểu thức .............................................................81
Hình 3-20 Thể hiện Bảng Biến Thiên............................................................................82
Hình 3-21 Thể hiện Đồ thị Hàm số ................................................................................83
Hình 3-22 Màn hình Không Gian – Mặt phẳng .............................................................84
Hình 3-23 Màn hình thư viện.........................................................................................86
Hình 3-24 Màn hình thư viện.........................................................................................88
Hình 3-25 Thể hiện Lý Thuyết.......................................................................................89
Hình 3-26 Thể hiện Bài Tập Chính................................................................................90
Hình 3-27 Thể hiện Trắc Nghiệm Chính .......................................................................92
Hình 3-28 Màn hình Thi Trắc Nghiệm ..........................................................................93
Hình 3-29 Thể hiện Lý Thuyết Chính_Giáo viên ..........................................................96
Hình 3-30 Thể hiện Bài Tập Chính_Giáo viên ..............................................................97
Hình 3-31 Thể hiện Trắc Nghiệm Chính_Giáo Viên.....................................................99
Hình 3-32 Màn hình Soạn Câu Trắc Nghiệm ..............................................................100
- viii -
DANH SÁCH CÁC BẢNG
Bảng 1-1 Tính tiến hoá...................................................................................................11
Bảng 1-2 Tính hiệu quả..................................................................................................12
Bảng 2-1 Danh sách các usecase....................................................................................16
Bảng 2-2 Danh sách các lớp đối tượng ..........................................................................24
Bảng 3-1 Danh sách các lớp thể hiện.............................................................................28
Bảng 3-2 Danh sách các lớp xử lý .................................................................................30
Bảng 3-3 Danh sách các lớp lưu trữ...............................................................................31
Bảng 3-4 Danh sách các lớp con của XL_KhongGianToaDo .......................................32
Bảng 3-5 Danh sách các lớp con của XL_MatPhangToaDo .........................................35
Bảng 3-6 Danh sách các lớp con của lớp HAMSO........................................................36
Bảng 3-7 Danh sách các lớp con của lớp BIEUTHUC..................................................37
Bảng 3-8 Các bảng thông tin về màn hình chính...........................................................46
Bảng 3-9 Các bảng mô tả màn hình Soạn Lý Thuyết ....................................................50
Bảng 3-10 Các bảng mô tả Thể hiện Lý thuyết .............................................................52
Bảng 3-11 Các bảng mô tả màn hình Soạn Bài Tập Mẫu..............................................55
Bảng 3-12 Các bảng mô tả thể hiện Bài Tập Mẫu .........................................................58
Bảng 3-13 Các bảng mô tả màn hình Soạn Đề Trắc Nghiệm........................................63
Bảng 3-14 Các bảng mô tả màn hình Điếu kiện Phát sinh ............................................67
Bảng 3-15 Các bảng mô tả thể hiện Câu Trắc Nghiệm .................................................69
Bảng 3-16 Các bảng mô tả thể hiện Câu Trắc Nghiệm 1 ..............................................71
Bảng 3-17 Các bảng mô tả thể hiên câu Trắc Nghiệm 2 ...............................................72
Bảng 3-18 Các bảng mô tả thể hiện Câu Trắc Nghiệm 3 ..............................................73
Bảng 3-19 Các bảng mô tả thể hiện Cây Danh Mục......................................................75
Bảng 3-20 Các bảng mô tả thể hiện Thời Gian..............................................................77
Bảng 3-21 Các bảng mô tả màn hình Nhập Câu Trắc Nghiệm .....................................79
Bảng 3-22 Các bảng mô tả màn hình Khảo sát và vẽ Đố thị .........................................80
Bảng 3-23 Các bảng mô tả màn hình Tính Đạo Hàm Biểu thức ...................................82
Bảng 3-24 Các bảng mô tả thể hiện Bảng Biến Thiên...................................................82
Bảng 3-25 Các bảng mô tả thể hiện đồ thị .....................................................................84
Bảng 3-26 Các bảng mô tả màn hình Không Gian Mặt phẳng......................................86
Bảng 3-27 Các bảng mô tả màn hình Thư viện .............................................................87
Bảng 3-28 Các bảng mô tả màn hình Thư viện .............................................................89
Bảng 3-29 Các bảng mô tả thể hiện Lý Thuyết Chính_ Học sinh .................................90
Bảng 3-30 Các bảng mô tả thể hiện Bài Tập Chính _Học sinh .....................................91
Bảng 3-31 Các bảng mô tả thể hiện Trắc Nghiệm Chính ..............................................93
Bảng 3-32 Các bảng mô tả màn hình Thi Trắc Nghiệm ................................................96
Bảng 3-33 Các bảng mô tả thể hiện Lý Thuyết Chính...................................................97
Bảng 3-34 Các bảng mô tả thể hiện Bài Tập Chính.......................................................98
- ix -
Bảng 3-35 Các bảng mô tả thể hiện Bài Tập Chính.....................................................100
Bảng 3-36 Các bảng mô tả màn hình Soạn Câu Trắc Nghiệm ....................................103
Bảng 3-37 Các bảng mô tả lớp Lý Thuyết ...................................................................104
Bảng 3-38 Các bảng mô tả lớp DSLyThuyet...............................................................105
Bảng 3-39 Các bảng mô tả lớp CauTracNghiem.........................................................106
Bảng 3-40 Các bảng mô tả lớp DanhSachCauTN .......................................................107
Bảng 3-41 Các bảng mô tả lớp DeThiTracNghiem .....................................................108
Bảng 3-42 Các bảng mô tả lớp DanhSachDeThiiTN...................................................109
Bảng 3-43 Các bảng mô tả lớp HAMSO .....................................................................112
Bảng 3-44 Các bảng mô tả lớp XL_KhongGianToaDo...............................................115
Bảng 3-45 Các bảng mô tả lớp XL_MatPhangToaDo.................................................118
Bảng 3-46 Các bảng mô tả lớp BIEU_THUC .............................................................121
Bảng 3-47 Các bảng mô tả lớp DON_THUC ..............................................................122
Bảng 3-48 Các bảng mô tả lớp HANG_SO.................................................................122
Bảng 3-49 Các bảng mô tả lớp BIEU_THUC_1_NGOI .............................................123
Bảng 3-50 Các bảng mô tả lớp BIEU_THUC_2_NGOI .............................................123
Chương 1. Mở đầu
- 1 -
Chương 1 Mở đầu
ªChương này giới thiệu tổng quan về đề tài, gồm các phần sau:
Giới thiệu về đề tài
Khảo sát hiện trạng
Nhu cầu thực tế
Mục tiêu
Yêu cầu
Chương 1. Mở đầu
- 2 -
1.1. Giới thiệu về đề tài
Ngày nay, ngành công nghệ thông tin trên thế giới đang trên đà phát triển mạnh
mẽ, và ngày càng ứng dụng vào nhiều lĩnh vực: kinh tế, khoa học kĩ thuật, quân sự, y
tế, giáo dục và nó đã đáp ứng ngày càng nhiều yêu cầu của các lĩnh vực này, để phục
vụ cho nhu cầu của con người.
Với khả năng ứng dụng rộng rãi của ngành công nghệ thông tin, với chính sách
phát triển ngành công nghệ thông tin của nhà nước, với việc nâng cao chất lượng giáo
dục ở nước ta thì việc tin học hóa giáo dục (ứng dụng ngành công nghệ thông tin vào
ngành giáo dục) là phù hợp và thiết thực.
Với khả năng trên, việc đưa tin học hỗ trợ cho lãnh vực giáo dục, trong đó việc
hỗ trợ cho việc giải bài tập của học sinh tại nhà là có thể thực hiện được. Để giúp học
sinh có khả năng tự giải bài tập mà không cần đến lớp học thêm, không cần người
hướng dẫn giải bài tập, thì với một phần mềm hỗ trợ giải bài tập trên máy tính tại nhà
sẽ đáp ứng được cho học sinh những nhu cầu này. Và điển hình là phần mềm hỗ trợ ôn
thi tốt nghiệp phổ thông trung học môn toán mà chúng em đã nghiên cứu và thực hiện.
Chương 1. Mở đầu
- 3 -
1.2. Khảo sát hiện trạng
1.2.1. Tình hình thực tế
Các nghiệp vụ của giáo viên
Soạn bài giảng: Trước giờ lên lớp dạy, giáo viên soạn bài giảng của mình
từ sách giáo khoa của bộ giáo dục và những tài liệu tham khảo khác.
Soạn bài tập: Những bài tập cho học sinh làm, giáo viên có thể tự soạn
hay lấy từ sách giáo khoa, những tài liệu tham khảo.
Soạn hướng dẫn giải bài tập: Để đưa ra các hướng dẫn, gợi ý giải bài tập
cho học sinh, giáo viên soạn thông qua kiến thức sẵn có của mình hay
tham khảo tài liệu.
Chấm điểm và cho nhận xét, đánh giá kết quả: Giáo viên chấm điểm bài
làm của học sinh.
Các nghiệp vụ của học sinh
Giải bài tập: Đa số học sinh làm nháp trước, đến khi tìm ra được hướng
đi đến kết quả bài toán thì mới thực sự ghi vào tập hoặc giấy kiểm tra.
Xem tóm tắt lý thuyết: Học sinh nghe giảng và ghi chép lý thuyết ở lớp;
về nhà, học sinh xem lại bài giảng và đôi khi, học sinh cần tra cứu lý
thuyết trong quá trình làm bài tập.
Xem đánh giá: Học sinh xem lại bài làm của mình sau khi giáo viên
chấm bài và sửa bài.
Xem đáp án: Học sinh xem bài giải mẫu của giáo viên để học tập cách
giải.
Chương 1. Mở đầu
- 4 -
1.2.2. Hiện trạng tin học
Thực hiện khảo sát trên 3 chương trình là :
• “Phần mềm Ôn Thi Đại Học – Môn Toán” của công ty ADCOM
Hình 1-1 Giao diện của PM Ôn Thi Toán của ADCOM
Nhận xét :
Phần mềm cung cấp lý thuyết khá đầy đủ.
Hỗ trợ học sinh làm bài trắc nghiệm, chấm bài làm trắc nghiệm.
Ngân hàng dữ liệu bài tập mẫu không nhiều.
Phần lý thuyết không có chức năng biên soạn.
• “Luyện Thi Đại Học” của tác giả Nguyễn Văn Hảo.
Hình 1-2 GD của “LTĐH”
Nhận xét :
Cho phép thực hiện nhiều phép toán.
Biên soạn bài tập một cách thủ công.
Chưa hỗ trợ chức năng phát sinh đề trắc
nghiệm tự động.
Chưa hỗ trợ chức năng giải toán.
Chương 1. Mở đầu
.......
3.2.4. Đề thi trắc nghiệm
<!DOCTYPE DanhSachDeThiTracNghiem [
<!ATTLIST CauTracNghiem
Ma CDATA #REQUIRED
Chuong CDATA #REQUIRED
Lop CDATA #REQUIRED
MucDo CDATA #REQUIRED >
<!ATTLIST CauTraLoi
DapAn CDATA #REQUIRED >
<!ATTLIST DeThi
Ma CDATA #REQUIRED
Ten CDATA #REQUIED
ThoiGian CDATA #REQUIED >
]>
Chương 3. Thiết kế
- 41 -
Ví dụ :
<CauTracNghiem Ma="Cb6184343-9" Chuong="Số học" Lop="10"
Mucdo="4">
<CauTracNghiem Ma="C0e80f80e-c" Chuong="Số học" Lop="10"
Mucdo=”1”>
.....................................................
........................................................
..........................................................
Chương 3. Thiết kế
- 42 -
3.3. Thiết kế các lớp đối tượng xử lý thể hiện
3.3.1. Sơ đồ màn hình trong phân hệ học sinh
Hình 3-2 Sơ đồ màn hình phân hệ Học Sinh
Chương 3. Thiết kế
- 43 -
3.3.2. Sơ đồ màn hình trong phân hệ giáo viên
Hình 3-3 Sơ đồ màn hình phân hệ Giáo Viên
Chương 3. Thiết kế
- 44 -
3.3.3. Các màn hình chung của hai phân hệ
3.3.3.1. Màn hình chính
Màn hình chính cho phép chọn lựa đến từng chức năng của chương trình : Lý
Thuyết, Bài Tập, Trắc Nghiệm, xem Giúp đỡ, Giới thiệu, hoặc là Thoát khỏi chương
trình.
Hình 3-4 Màn hình chính
Chương 3. Thiết kế
- 45 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 pboxTieuDe A_PictureBox Tiêu đề của màn hình.
2 Panel1 A_Panel Panel của màn hình, gồm 2
Panel con là Panel Chức
năng tổng quát và Panel
chức năng cụ thể.
3 outlookBar1 A_OutlookBar Thể hiện Menu các chức
năng của chương trình.
4 uctManHinhChinh A_UserControl Thể hiện UserControl của
các chức năng chính.
Danh sách các biến cố
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 olbItemLyThuyet:
A_Button
A_Click Hiển thị UserControl
TH_LyThuyetChinh lên.
2 olbItemBaiTap:
A_Button
A_Click Hiển thị UserControl
TH_BaiTapChinh lên.
3 olbItemTracNghiem:
A_Button
A_Click Hiển thị UserControl
TH_TracNghiemChinh lên.
4 olbItemGioiThieu:
A_Button
A_Click Hiển thị UserControl
TH_GioiThieu lên.
5 olbItemTacGia:
A_Button:
A_Click Hiển thị UserControl
TH_TacGia lên.
6 olbItemGiupDo:
A_Button
A_Click Hiển thị tập tin Help lên.
7 olbItemThoat:
A_Button
A_Click Thoát khỏi chương trình.
Chương 3. Thiết kế
- 46 -
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1
ChonManHinh A_Int Tuỳ theo tham số truyền
vào mà new 1 loại
Usercontrol khác nhau để
thêm vào màn hình chính
(0:TH_LyThuyetChinh,
1:TH_BaiTapChinh,
2:TH_TracNghiemChinh
).
2 outlookBar1_
ItemClick
Tuỳ theo item được chọn
mà cho Usercontrol nào
mà thêm vào màn hình.
Bảng 3-8 Các bảng thông tin về màn hình chính
3.3.3.2. Màn hình Soạn Lý Thuyết
Màn hình soạn lý thuyết bao gồm các chức năng : Tạo mới một bài lý thuyết,
Chỉnh sửa bài lý thuyết, Lưu bài lý thuyết, Xuất bài lý thuyết ra tập tin, Nhập bài lý
thuyết từ tập tin, Gửi mail và In ấn bài lý thuyết.
Chương 3. Thiết kế
- 47 -
Hình 3-5 Màn hình Soạn lý thuyết
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 uctCayDM A_UserControl UserControl dùng để hiển thị
Danh Sách các bài lý thuyết.
2 uctLyThuyet A_UserControl UserControl dùng để hiện thị
thông tin về bài lý thuyết.
3 btnLuuBai A_Button Button thực hiện chức năng
Chương 3. Thiết kế
- 48 -
Lưu bài.
4 btnCapNhat A_Button Button thực hiện chức năng
Cập Nhật bài.
5 btnXoaBai A_Button Button thực hiện chức năng
Xoá bài.
6 btnNhapTuFile A_Button Button thực hiện chức năng
Nhập các bài lý thuyết từ tập
tin.
7 btnXuatRaFile A_Button Button thực hiện chức năng
Nhập các bài lý thuyết được
chọn ra tập tin.
8 btnInAn A_Button Button thực hiện chức năng
cho chỉnh sửa trước khi In
Ấn.
9 btnBienSoan A_Button Button thực hiện chức năng
cho biên soạn bài lý thuyết
trong word.
10 btnGuiMail A_Button Button thực hiện chức năng
Gửi mail các bài lý thuyết
được chọn.
11 btnThoat A_Button Thoát khỏi màn hình Soạn Lý
Thuyết.
12 Panel1 A_Panel Panel của màn hình, gồm 2
panel con : panel cây danh
mục và panel câu trắc
nghiệm.
Chương 3. Thiết kế
- 49 -
Danh sách các đối tượng xử lý
Danh sách các biến cố
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 m_DSLyThuyet DSLyThuyet Danh sách các bài lý thuyết
được hiển thị trên màn hình.
STT Thể hiện Loại biến
cố
Xử lý Ghi chú
1
btnNhapTuFile:
A_Button
A_Click
Chọn tập tin cần nhập rồi
thêm các bài lý thuyết đó vào
dữ liệu.
2
btnXuatRaFile:
A_Button
A_Click
Chọn các bài lý thuyết cần
xuất ra tập tin, nhập tên tập tin
rồi xuất bài lý thuyết ra tập
tin.
3
btnGuiMail:
A_Button
A_Click
Chọn các bài lý thuyết, xuất ra
tập tin rồi gọi Microsoft
Outlook và attach tập tin đó
vào.
4
btnInAn:
A_Button
A_Click
Chọn bài lý thuyết, rồi gọi
màn hình in ấn ra để biên soạn
trước khi in.
5 btnThoat:
A_Button
A_Click
Thoát khỏi màn hình soạn lý
thuyết.
6 btnLuuBai:
A_Button
A_Click
Lấy bài lý thuyết trên
UserControl uctLyThuyet rồi
Chương 3. Thiết kế
- 50 -
Bảng 3-9 Các bảng mô tả màn hình Soạn Lý Thuyết
3.3.3.3. Thể hiện Lý thuyết
Đây là UserControl dùng để hiển thị thông tin của một bài lý thuyết.
lưu xuống dữ liệu.
7 btnBienSoan:
A_Button
A_Click
Gọi Microsoft Word ra để
biên soạn.
8 btnXoaBai:
A_Button
A_Click
Lấy các bài lý thuyết được
chọn rồi xoá bài lý thuyết đó.
9
btnCapNhat:
A_Button
A_Click
Lấy bài lý thuyết mới từ
uctLyThuyet rồi thay thế cho
bài lý thuyết cũ.
10
uctCayDM:
A_UserControl
A_Click
Lấy mã bài lý thuyết được
chọn trên uctCayDM rồi hiển
thị trên uctLyThuyet.
11
MH_LyThuyet:
A_Form
A_Load
Load danh sách các bài lý
thuyết và hiển thị lên
uctCayDM.
Chương 3. Thiết kế
- 51 -
Hình 3-6 Thể hiện Lý Thuyết
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 cmbChuong A_ComboBox ComboBox cho chọn
Chương của bài lý thuyết.
2 cmbLop A_ComboBox ComboBox cho chọn Lớp
của bài lý thuyết.
3 txtTenBai A_TextBox TextBox cho nhập tên của
Chương 3. Thiết kế
- 52 -
bài lý thuyết.
4 rtbNoiDung A_ExRichTextBox Rich Text Box hiển thị nội
dung của bài lý thuyết.
5 lblChuong A_Label Tiêu đề của cmbChuong.
6 lblLop A_Label Tiêu đề của cmbLop
7 lblTenBai A_Label Tiêu đề của txtTenBai.
8 Panel1 A_Panel Panel của màn hình gồm 2
panel con : Panel thông tin
và panel Lý thuyết.
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi
chú
1 HienThi TH_LyThuyet Hiển thị thông tin bài
lý thuyết vào các
control tương ứng.
2 TaoBaiMoi TH_LyThuyet Tạo một bài lý thuyết
mới từ nội dung của
các control.
3 KiemTra A_Boolean Kiếm tra các thông tin
bài lý thuyết đã nhập
đầy đủ chưa (lớp,
chương, tên, nội
dung).
Bảng 3-10 Các bảng mô tả Thể hiện Lý thuyết
Chương 3. Thiết kế
- 53 -
3.3.3.4. Màn hình Soạn Bài tập mẫu
Màn hình soạn bài tập mẫu bao gồm những chức năng : Tạo bài tập mậu mới,
Lưu, Xoá, Chỉnh Sửa, Xuất ra Tập Tin, Nhập từ Tập tin bài tập mẫu.
Hình 3-7 Màn hình Soạn Bài Tập Mẫu
Chương 3. Thiết kế
- 54 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 pboxTieuDe A_PictureBox Tiêu đề của màn hình.
2 treeBT A_TreeView Danh sách các bài tập mẫu.
3 uctBaiTapMau A_UserControl Hiển thị thông tin của bài tập
mẫu.
4 btnTaoBaiMoi A_Button Tạo một bài tập mẫu mới.
5 btnLuu A_Button Lưu bài tập mẫu.
6 btnXoa A_Button Xoá bài tập mẫu.
7 btnCapNhat A_Button Cập nhật bài tập mẫu.
8 btnXuatRaFile A_Button Xuất bài tập mẫu ra tập tin.
9 btnNhapTuFile A_Button Nhập bài tập mẫu từ tập tin.
10 btnThoat A_Button Thoát khỏi màn hình soạn bài
tập mẫu.
Danh sách các đối tượng xử lý
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 _BaiTap BaiTapMau Bài tập mẫu hiện hành.
2 _DSBaiTap DSBaiTapMau Danh sách các bài tập mẫu.
Chương 3. Thiết kế
- 55 -
Danh sách các biến cố
Bảng 3-11 Các bảng mô tả màn hình Soạn Bài Tập Mẫu
STT Thể hiện Loại biến
cố
Xử lý Ghi chú
1
btnTaoBaiMoi:
A_Button
A_Click Tạo một bài tập mẫu mới.
2 btnLuu :
A_Button
A_Click Lấy bài tập mẫu trên
uctBaiTapMau và lưu vào dữ
liệu.
3 btnXoa :
A_Button
A_Click Lấy mã bài tập mẫu trên
uctCayDM và xoá bài tập đó
4 btnCapNhat:
A_Button
A_Click Lấy bài tập mẫu trên
uctBaiTapMau và thay thế
cho bài tập mẫu cũ.
5 btnXuatRaFile
A_Button
A_Click Lấy bài tập mẫu được chọn,
nhập tên tập tin và xuất ra
tập tin đó.
6 btnNhapTuFile
A_Button
A_Click Mở tập tin cần nhập và thêm
bài tập mẫu vào dữ liệu.
7 btnThoat
A_Button
A_Click Thoát khỏi màn hình soạn
bài tập mẫu.
8 uctCayDM
A_TreeView
A_Click Lấy mã của bài tập mẫu cần
chọn rồi hiển thị lên
uctBaiTapMau.
9 MH_SoanBaiTapMau
: A_Form
A_Load Load danh sách các bài tập
mẫu trong dữ liệu và hiển thị
lên uctCayDM.
Chương 3. Thiết kế
- 56 -
3.3.3.5. Thể hiện bài tập mẫu
Đây là UserControl thể hiện thông tin bài tập mẫu.
Hình 3-8 Thể hiện bài tập mẫu
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 lblChuong A_Label Tiêu đề của cmbChuong.
2 cmbChuong A_ComboBox Danh sách các chương.
3 rtbBaiTap A_RichTextBox Đề bài của bài tập mẫu.
4 treeBaiTap A_TreeView Cấu trúc của bài tập mẫu
(bao nhiêu câu, bao nhiêu
Chương 3. Thiết kế
- 57 -
bước).
5 rtbNoiDung A_RichTextBox Bài giải của bài tập mẫu.
6 axWebBrowser
NoiDung
A_WebBrowser Thể hiện phần bài giải của
bài tập mẫu (thể hiện biểu
thức toán học).
7 Panel1 A_Panel Panel của màn hình, gồm 3
panel con : panel thông tin,
panel cấu trúc, panel bài tập.
Danh sách các đối tượng xử lý
Danh sách các biến cố
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 _BaiTap BaiTapMau Bài tập mẫu trong usercontrol.
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 treeBaiTap:
A_TreeView
A_Click Hiển thị nội dung của bước trong
bài tập vừa chọn trên
A_TreeView.
2 panelPreview:
A_Panel
A_Click Hiển thị nội dung của bài tập
mẫu đã được định dạng rồi.
3 treeBaiTap:
A_TreeView
A_RClick Hiển thị context menu.
Chương 3. Thiết kế
- 58 -
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1 KhoiTao BaiTapMau Gán _BaiTap = tham
số.
2 KiemTra A_Boolean Kiểm tra thông tin về
bài mẫu đã đủ chưa, trả
về false nếu chưa đủ.
3 HienThi Hiển thị thông tin bài
tập mẫu lên các control
tương ứng.
`
4 XuLy A_String Chuyển chuỗi nội dung
của bài tập mẫu thành
chuỗi có định dạng.
5 TaoMoi BaiTapMau Tạo mới một bài tập
mẫu với thông tin từ
uctBaiTapMau.
Bảng 3-12 Các bảng mô tả thể hiện Bài Tập Mẫu
3.3.3.6. Màn hình Soạn đề trắc nghiệm
Màn hình soạn đề trắc nghiệm bao gồm những chức năng : Tạo mới một đề trắc
nghiệm, Lưu, Xoá, Chỉnh Sửa, Nhập từ tập tin, Xuất ra tập tin, Gửi mail đề thi trắc
nghiệm.
Chương 3. Thiết kế
- 59 -
Hình 3-9 Màn hình Soạn Đề Trắc Nghiệm
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 pboxTieuDe A_PictureBox Tiêu đề của màn hình.
2 uctCayDM A_UserControl Cây danh mục hiển thị danh
sách các câu trắc nghiệm.
3 uctCauTN A_UserControl Hiển thị thông tin câ trắc
nghiệm.
4 uctDethiTN A_UserControl Cây hiển thị danh sách các
câu trắc nghiệm trong 1 đề
thi.
5 lblThoiGian A_Label Tiêu đề cho Combo Box thời
Chương 3. Thiết kế
- 60 -
gian.
6 cmbThoiGian A_ComboBox Hiển thị thời gian thi của đề
thi.
7 lblTen A_Label Tiêu đề cho TextBox tên đề
thi.
8 txtTen A_TextBox Hiển thị tên đề thi.
9 btnTaoDeMoi A_Button Button thực hiện chức năng
tạo một đề thi mới.
10 btnLuuDe A_Button Button thực hiện chức năng
lưu đề thi.
11 btnXoaDe A_Button Button thực hiện chức năng
xoá đề thi.
12 btnXuatRaFile A_Button Button thực hiện chức năng
xuất đề thi ra tập tin.
13 btnNhapTuFile A_Button Button thực hiện chức năng
nhập đề thi từ tập tin.
14 btnInAn A_Button Button thực hiện chức năng
chỉnh sửa đề thi trước khi in
ấn.
15 btnPhatSinhDe A_Button Hiển thị màn hình các tiêu
chuẩn để phát sinh đề thi.
16 btnThem A_Button Button thực hiện chức năng
thêm một câu trắc nghiệm
vào đề thi.
17 btnXoa A_Button Button thực hiện chức năng
xoá một câu trắc nghiệm
trong đề thi.
18 btnThoat A_Button Thoát khỏi màn hình Soạn đề
thi trắc nghiệm.
Chương 3. Thiết kế
- 61 -
Danh sách các đối tượng xử lý
Danh sách các biến cố
1 btnGuiMail:
A_Buton
A_Click Lấy các đề thi được chọn,
xuất ra tập tin, gọi
Microsoft Outlook rồi
attach tập tin này vào.
2 btnXuatRaFile:
A_ Buton
A_Click Lấy các đề thi được chọn,
lấy tên tập tin và xuất ra
tập tin đó.
3 NhatTuFile:
A_ Buton
A_Click Mở tập tin cần nhập và
thêm các đề thi vào dữ
liệu.
4 btnThoat:
A_ Buton
A_Click Thoát khỏi màn hình soạn
đề trắc nghiệm
5 btnThem:
A_ Buton
A_Click Thêm một câu trắc nghiệm
được chọn trên uctCayDM
vào đề thi đang soạn
6 btnXoa:
A_ Buton
A_Click Xoá một câu trắc nghiệm
được chọn trong
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 DeThiTN DeThiTracNghiem Đề thị trắc nghiệm hiện hành.
2 DSDethiTN DanhSachDethiTN Danh sách đề thi trắc nghiệm
hiển thị trong màn hình.
STT Thể hiện Loại biến
cố
Xử lý Ghi chú
Chương 3. Thiết kế
- 62 -
uctDethiTN.
7 btnTaoDeMoi:
A_ Buton
A_Click Tạo một đề thi mới.
8 btnLuuDe:
A_ Buton
A_Click Kiểm tra đề thi cần lưu đã
đầy đủ thông tin chưa, nếu
đủ thì lưu vào dữ liệu.
9 btnInAn:
A_ Buton
A_Click Lấy mã các đề thi cần in
trên uctCayDM và hiển thị
màn hình in ấn để biên
soạn trước khi in.
10 btnPhatSinhDe:
A_ Buton
A_Click Hiển thị màn hình các tiêu
chuẩn phát sinh đề thi
11 uctCayDM:
A_TreeView
A_Click Lấy mã của đề thi được
chọn và hiển thị lên
uctDethiTN.
12 MH_SoanDeTracNghiem
:A_Form
A_Load Load danh sách các đề thi
trong dữ liệu lên
uctCayDM.
Chương 3. Thiết kế
- 63 -
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi
chú
1 PhatSinhDe A_rrayList
A_Int
DeThiTracNghiem Phát sinh một số
ngẫu nhiên và
lấy câu trắc
nghiệm ở vị trí
đó và đảm bảo
rằng không trùng
lại câu trắc
nghiệm đã chọn.
2 TaoTapTinXSLT A_String Tạo tập tin
XSLT để phát
sinh đề thi trắc
nghiệm.
Bảng 3-13 Các bảng mô tả màn hình Soạn Đề Trắc Nghiệm
3.3.3.7. Màn hình điều kiện phát sinh đề trắc nghiệm
Màn hình điều kiện phá sinh đề trắc nghiệm đưa ra những tiêu chuẩn đế phát sinh
đề thi trắc nghiệm, gồm : Số câu trong đề thi, các chương được chọn, khoảng mức độ.
Chương 3. Thiết kế
- 64 -
Hình 3-10 Màn hình Điều kiện phát sinh Đề Trắc Nghiệm
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi
chú
1 lblTieuDe A_Label Tiêu đề của màn hình.
2 lblSoCau A_Label Tiêu để của txtSoCau.
3 txtSoCau A_TextBox Hiển thị số câu trong đề thi
cần phát sinh.
4 lblDSChuong A_Label Tiêu đề của lstDSChuong.
5 lblDSChuongDuocChon A_Label Tiêu để của
Chương 3. Thiết kế
- 65 -
lstDSChuongDuocChon.
6 lstDSChuong A_ListBox Hiển thị danh sách các
chương của các câu trắc
nghiệm.
7 lstDSChuongDuocChon A_ListBox Hiển thị danh sách các
chương được chọn dùng để
phát sinh đề thi.
8 btnThem A_Button Thêm một chương vào
danh sách chương được
chọn.
9 btnThemTatCa A_Button Thêm tất cả các chương
vào danh sách chương
được chọn.
10 btnXoa A_Button Xoá một chương trong
danh sách chương được
chọn.
11 btnXoaTatCa A_Button Xoá tất cả các chương
trong danh sách chương
được chọn.
12 lblMucDoDau A_Label Tiêu để của
cmbMucDoDau.
13 cmbMucDoDau A_ComboBox Hiển thị mức độ đầu tiên
trong phạm vi mức độ
được chọn.
14 lblMucDoCuoi A_Label Tiêu để của
cmbMucDoCuoi.
Chương 3. Thiết kế
- 66 -
15 cmbMucDoCuoi A_ComboBox Hiển thị mức độ cuối trong
phạm vi mức độ cuối được
chọn.
16 btnDongY A_Button Đồng ý các lựa chọn trên
và phát sinh đề thi.
17 btnThoat A_Button Thoát khỏi màn hình điều
kiện phát sinh đề thi.
Danh sách các đối tượng xử lý
Danh sách các biến cố
1 MH_DieuKien
PhatSinhDethiTN
:A_Form
A_Load Load tất cả các chương của các
câu trắc nghiệm và hiển thị lên
lstDSChuong.
2 btnXoa :
A_Button
A_Click Xoá chương được chọn trong
lstDSChuongDuocChon.
3 btnXoaTatCa:
A_Button
A_Click Xoá tất cả chương được chọn
trong lstDSChuongDuocChon.
4 btnThem:
A_Button
A_Click Thêm chương được chọn trong
lstDSChuong vào trong
lstDSChuongDuocChon.
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 strTruyVan A_String Chuỗi truy vấn các câ trắc nghiệm.
2 Socau A_Int Số câu trắc nghiệm trong đề thi.
STT Thể hiện Loại biến
cố
Xử lý Ghi chú
Chương 3. Thiết kế
- 67 -
5 btnThemTatCa:
A_Button
A_Click Thêm chương có trong
lstDSChuong vào trong
lstDSChuongDuocChon.
6 btnDongY:
A_Button
A_Click Kiểm tra các tiêu chuẩn có hợp
lệ không, nếu hợp lệ thì đóng
màn hình.
7 btnThoat:
A_Button
A_Click Thoát khỏi màn hình.
Bảng 3-14 Các bảng mô tả màn hình Điếu kiện Phát sinh
3.3.3.8. Thể hiện câu trắc nghiệm
Đây là Usercontrol hiển thị thông tin của câu trắc nghiệm.
Hình 3-11 Thể hiện Câu Trắc Nghiệm
Chương 3. Thiết kế
- 68 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 lblLop A_Label Tiêu để của cmbLop.
2 cmbLop A_ComboBox Hiển thị lớp của câu trắc
nghiệm.
3 lblChuong A_Label Tiêu đề của cmbChuong.
4 cmbChuong A_ComboBox Hiển thị chương của câu
trắc nghiệm.
5 lblMucDo A_Lable Tiêu đề của cmbMucDo
6 cmbMucDo A_ComboBox Hiển thị mức độ của câu
trắc nghiệm.
7 rtbHuongDan A_ExRichTextBox Hiển thị hướng dẫn giải
của câu trắc nghiệm.
8 lblSoCau A_Label Tiêu đề của cmbSoCau.
9 cmbSoCau A_ComboBox Số câu trả lời của câu trắc
nghiệm.
Danh sách các đối tượng xử lý
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 uctCauTN TH_CauTN UserControl ảo là cha của các
UserControl Câu trắc nghiệm
cụ thể.
2 MathMLControl2 MathMLControl
Chương 3. Thiết kế
- 69 -
Danh sách các biến cố
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi
chú
HienThi CauTracNghiem
A_Boolean
A_Boolean
Hiển thị thông
tin câu trắc
nghiệm lên các
control tương
ứng.
KiemTra A_Boolean Kiểm tra thông
tin câu trắc
nghiệm có hợp
lệ, không hợp lệ
trả về false.
ResizeControl A_Int
A_Boolean
Tạo ra câu trắc
nghiệm với số
câu trả lời theo
tham số.
TaoCauTN CauTracNghiem Lấy câu trắc
nghiệm theo
thông tin hiển
thị trên control.
Bảng 3-15 Các bảng mô tả thể hiện Câu Trắc Nghiệm
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 cmbSoCau:
A_ComboBox
A_Click Lấy số câu trả lời rồi hiển thị câu
trắc nghiệm với số câu trả lời
tương ứng.
Chương 3. Thiết kế
- 70 -
3.3.3.9. Thể hiện câu trắc nghiệm loại 1
Đây là UserControl hiển thị thông tin của câu trắc nghiệm dạng 1.
Hình 3-12 Thể hiện Câu Trắc Nghiệm loại 1
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 rtbCauHoi A_RichTextBox Câu hỏi của câu trắc
nghiệm.
2 arrRadioButton A_RadioButton[] Các radio button để đánh
trắc nghiệm.
3 arrLabel A_Label[] Thứ tự của các câu trả lời
(theo thứ tự A, B, C, ...).
4 arrRichTextBox A_RichTextBox[] Các câu trả lời của câu trắc
nghiệm.
5 gboxCauTraLoi A_GroupBox Nhóm các câu trả lời trong
1 khung.
Chương 3. Thiết kế
- 71 -
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết
quả
Xử lý Ghi chú
1 HienThi CauTracNghiem
A_Boolean
A_Boolean
Hiển thị thông tin câu
trắc nghiệm ra các
control tương ứng.
2 ResizeControl A_Int
A_Boolean
Khởi tạo các control
theo số câu trả lời.
Bảng 3-16 Các bảng mô tả thể hiện Câu Trắc Nghiệm 1
3.3.3.10. Thể hiện câu trắc nghiệm loại 2
Đây là UserControl hiển thị thông tin của câu trắc nghiệm dạng 2.
Hình 3-13 Thể hiện Câu Trắc Nghiệm loại 2
Chương 3. Thiết kế
- 72 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 rtbCauHoi A_RichTextBox Câu hỏi của câu trắc
nghiệm.
2 arrCheckBox A_CheckBox[] Các check box để đánh trắc
nghiệm.
3 arrLabel A_Label[] Thứ tự của các câu trả lời
(theo thứ tự A, B, C, ...).
4 arrRichTextBox A_RichTextBox[] Các câu trả lời của câu trắc
nghiệm.
5 gboxCauTraLoi A_GroupBox Nhóm các câu trả lời trong
1 khung.
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết
quả
Xử lý Ghi chú
1 HienThi CauTracNghiem
A_Boolean
A_Boolean
Hiển thị thông tin câu
trắc nghiệm ra các
control tương ứng.
2 ResizeControl A_Int
A_Boolean
Khởi tạo các control
theo số câu trả lời.
Bảng 3-17 Các bảng mô tả thể hiên câu Trắc Nghiệm 2
Chương 3. Thiết kế
- 73 -
3.3.3.11. Thể hiện câu trắc nghiệm loại 3
Đây là UserControl hiển thị thông tin của câu trắc nghiệm dạng 3.
Hình 3-14 Thể hiện Câu Trắc Nghiệm loại 3
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 rtbCauHoi A_RichTextBox Câu hỏi của câu trắc nghiệm.
2 rtbCauTraLoi A_RichTextBox Câu trả lời của câu trắc
nghiệm.
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết
quả
Xử lý Ghi chú
1 HienThi CauTracNghiem
A_Boolean
A_Boolean
Hiển thị thông tin câu
trắc nghiệm ra các
control tương ứng.
2 ResizeControl A_Int
A_Boolean
Khởi tạo các control
theo số câu trả lời.
Bảng 3-18 Các bảng mô tả thể hiện Câu Trắc Nghiệm 3
Chương 3. Thiết kế
- 74 -
3.3.3.12. Thể hiện cây danh mục
Đây là Usercontrol hiển thị danh sách các thành phần như câu trắc nghiệm, đề thi
trắc nghiệm, bài lý thuyết.
Hình 3-15 Thể hiện Cây Danh Mục
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 treeDanhMuc A_TreeView Cây thể hiện danh sách.
2 ctmnDangHienThi A_ContextMenu ContextMenu của control,
gồm 4 menu con : lớp,
chương, thứ tự, đề thi.
Chương 3. Thiết kế
- 75 -
Danh sách các biến cố
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1 HienThi A_Int Hiển thị danh sách các
câu trắc nghiệm theo
dạng được truyền vào
(0:chương, 1:mức độ,
2:thứ tự, 3:đề thi).
2 LayDSDuocChon A_Array Lấy tất cả các node được
check trên cây danh mục.
3 HuyCay Huỷ cây.
Bảng 3-19 Các bảng mô tả thể hiện Cây Danh Mục
3.3.3.13. Thể hiện thời gian.
Đây là UserControl dùng để hiển thị thời gian khi thi trắc nghiệm.
Hình 3-16 Thể hiện Thời Gian
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 treeDanhMuc:
A_TreeView
A_Click Hiển thị contextmenu
ctmnDangHienThi.
Chương 3. Thiết kế
- 76 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 picPhutHangTram A_PictureBox Thể hiện con số hàng trăm
của phút.
2 picPhutHangChuc A_PictureBox Thể hiện con số hàng chục
của phút.
3 picPhutHangDonVi A_PictureBox Thể hiện con số hàng đơn
vị của phút.
4 picGiayHangChuc A_PictureBox Thể hiện con số hàng chục
của giây.
5 picGiayHangDonVi A_PictureBox Thể hiện con số hàng đơn
vị của giây.
6 picHaiCham A_PictureBox Thể hiện dấu hai chấm.
7 Timer A_Timer Timer để tính thời gian.
Danh sách các đối tượng xử lý
Danh sách các biến cố
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 ThoiGian A_Int Thời gian cần hiển thị.
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 Timer: A_Timer A_Timer Cứ mỗi giây trừ đi một đơn vị.
Chương 3. Thiết kế
- 77 -
Danh sách các hàm xử lý
STT Tên hàm Tham số Kết quả Xử lý Ghi chú
1 BatDau Khởi động timer.
2 TamDung Tạm dừng timer.
3 KetThuc Dừng hẳn timer.
4 CapNhatThoiGian Hiển thị thời gian hiện
tại ra các picturebox
tương ứng.
Bảng 3-20 Các bảng mô tả thể hiện Thời Gian
3.3.3.14. Màn hình Nhập câu trắc nghiệm
Màn hình nhập câu trắc nghiệm có chức năng nhập một đề thi trắc nghiệm vào và
cho phép chỉnh sửa lại đề thi đó như xoá bớt câu trắc nghiệm. Sau đó lưu vào dữ liệu.
Hình 3-17 Màn hình Nhập Câu Trắc Nghiệm
Chương 3. Thiết kế
- 78 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 pboxTieuDe A_PictureBox Tiêu đề của màn hình.
2 uctCayDM A_UserControl Danh sách các câu trắc
nghiệm.
3 uctCauTN A_UserControl Thể hiện thông tin câu trắc
nghiệm.
4 btnLuu A_Button Lưu các câu trắc nghiệm.
5 btnXoa A_Button Xoá câu trắc nghiệm trong
danh sách.
6 btnThoat A_Button Thoát khỏi màn hình Nhập
câu trắc nghiệm.
Danh sách các đối tượng xử lý
Danh sách các biến cố
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 DSCauTN DanhSachCauTN Danh sách câu trắc nghiệm cần
nhập.
STT Thể hiện Loại biến
cố
Xử lý Ghi chú
1 btnLuu:
A_Button
A_Click Lưu tất cả các câu trắc nghiệm
trong danh sách vào dữ liệu.
2 btnXoa:
A_Button
A_Click Lấy mã câu trắc nghiệm trong
uctCayDM rồi xoá câu đó trong
Chương 3. Thiết kế
- 79 -
Bảng 3-21 Các bảng mô tả màn hình Nhập Câu Trắc Nghiệm
3.3.3.15. Màn hình Khảo sát và vẽ đồ thị hàm số
Màn hình khảo sát và vẽ đồ thị hàm số có những chức năng : khảo sát và vẽ đồ thị
hàm số nhập vào, phát sinh một hàm số bất kỳ.
Hình 3-18 Màn hình Khảo sát và vẽ đồ thị
danh sách.
3 btnThoat:
A_Button
A_Click Thoát khỏi màn hình Nhập Câu
TN.
4 uctCayDM:
A_TreeView
A_Click Lấy mã câu trắc nghiệm được
chọn và hiển thị lên uctCauTN.
5 MH_NhapCauTN
:A_Form
A_Load Load danh sách các câu trắc
nghiệm.
Chương 3. Thiết kế
- 80 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 uctBangBienThien A_UserControl UserControl bảng biến
thiên.
2 uctDoThi A_UserControl UserControl đồ thị hàm số.
3 rtbDeBai A_RichTextBox Đề bài.
4 btnGiaiDe A_Button Giải Đề (khảo sát và vẽ hàm
số).
5 btnPhatSinhDe A_Button Phát sinh đề (hàm số).
6 rtbBaiGiai A_RichTextBox Bài giải.
Danh sách các biến cố
Bảng 3-22 Các bảng mô tả màn hình Khảo sát và vẽ Đố thị
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 btnGiaiDe:
A_Button
A_Click Tiến hành khảo sát và vẽ hàm
số.
2 btnPhatSinhDe:
A_Button
A_Click Phát sinh ngẫu nhiên một hàm
số.
3 uctDoThi:
A_UserControl
A_MouseDrag Kéo chuột trái thì đồ thị thể
hiện được những vị trí khuất
trên màn hình.
Chương 3. Thiết kế
- 81 -
3.3.3.16. Màn hình tính đạo hàm biểu thức
Màn hình tính đạo hàm biểu thức có chức năng tính đạo hàm một biểu thức nhập
vào từ MathMLControl và đưa ra kết quả.
Hình 3-19 Màn hình Tính Đạo Hàm Biểu thức
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 mathML MathMLControl MathMLControl dùng để
nhập biểu thức toán.
2 rtbBaiGiai A_RichTextBox Hiển thị bài giải.
3 btnTinhDaoHam A_Button Tính đạo hàm của biểu thức
toán.
4 btnThoat A_Button Thoát khỏi màn hình.
Chương 3. Thiết kế
- 82 -
Danh sách các biến cố
Bảng 3-23 Các bảng mô tả màn hình Tính Đạo Hàm Biểu thức
3.3.3.17. Thể hiện Bảng biến thiên
Đây là Usercontrol dùng để vẽ Bảng Biến Thiên của một hàm số.
Hình 3-20 Thể hiện Bảng Biến Thiên
Danh sách biến thành phần
STT Tên Kiểu/Lớp Ý nghĩa Ghi chú
1 hamso HAM_SO Hàm số cần thể hiện bảng
biến thiên.
Danh sách các hàm thành phần
STT Tên Kết quả Xử lý Ghi chú
1 VeBangBienThien((A_Graphics) Vẽ bảng biến thiên
của hàm số.
Bảng 3-24 Các bảng mô tả thể hiện Bảng Biến Thiên
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 btnTinhDaoHam:
A_Button
A_Click Nhận diện biểu thức toán trong
mathML và tính đạo hàm.
2 btnThoat:
A_Button
A_Click Thoát khỏi màn hình.
Chương 3. Thiết kế
- 83 -
3.3.3.18. Thể hiện đồ thị hàm số
Đây là UserControl vẽ đồ thị của hàm số.
Hình 3-21 Thể hiện Đồ thị Hàm số
Danh sách biến thành phần
STT Tên Kiểu/Lớp Ý nghĩa Ghi chú
1 hamso HAM_SO Hàm số cần vẽ đồ thị.
Danh sách các biến cố
STT Thể hiện Loại biến cố Xử lý Ghi chú
1 uctDoThi:
A_UserControl
A_MouseDrag Kéo chuột trái thì đồ thị thể
hiện được những vị trí khuất
trên màn hình.
Chương 3. Thiết kế
- 84 -
Danh sách các hàm thành phần
STT Tên Kết quả Xử lý Ghi chú
1 VeTrucToaDo(A_Graphics) Vẽ trục tọa độ.
2 VeDoThi(A_Graphics) Vẽ đồ thị.
3 VeCacDiemDacBiet(A_Graphics) Vẽ các điểm đặc biệt.
Bảng 3-25 Các bảng mô tả thể hiện đồ thị
3.3.3.19. Màn hình Không Gian – Mặt Phẳng
Màn hình này có chức năng phát sinh một bài tập, giải bài tập, lưu bài tập.
Hình 3-22 Màn hình Không Gian – Mặt phẳng
Chương 3. Thiết kế
- 85 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 rdbKhongGian A_RadioButton Lựa chọn phần Không Gian.
2 rdbMatPhang A_RadionButton Lựa chọn phần Mặt Phẳng.
3 lblDangToan A_Label Tiêu đề của cmbDangToan
4 cmbDangToan A_ComboBox Danh sách các dạng toán.
5 grdLoaiBaiTap A_GroupBox Chứa rdbKhongGian và
rdbMatPhang.
6 rtbDeBai A_RichTextBox Hiển thị đề bài.
7 rtbBaiGiai A_RichTextBox Hiển thị bài giải.
8 rtbBaiLam A_RichTextBox Hiển thị bài làm.
9 btnPSBaiGiai A_Button Phát sinh bài giải.
10 btnPSDeBai A_Button Phát sinh để bài.
11 btnThuVien A_Button Hiển thị màn hình thư viện.
12 btnLuu A_Button Lưu bài làm.
13 btnThoat A_Button Thoát khỏi màn hình.
Danh sách các đối tượng xử lý
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 btTuLuan BaiTapTuLuan Bài tập tự luận.
Chương 3. Thiết kế
- 86 -
Danh sách các biến cố
Bảng 3-26 Các bảng mô tả màn hình Không Gian Mặt phẳng
3.3.3.20. Màn hình Thư viện
Màn hình này có chức năng cho thay đổi các văn bản để nhận diện đề
Hình 3-23 Màn hình thư viện
STT Thể hiện Loại biến
cố
Xử lý Ghi chú
1 btnPSBaiGiai:
A_Button
A_Click Nhận diện bài tập, xem nó thuộc
dạng toán nào và phát sinh bài
giải.
2 btnPSDeBai :
A_Button
A_Click Phát sinh đề bài theo dạng Toán
đã chọn.
3 btnLuu :
A_Button
A_Click Lưu bài làm xuống dữ liệu.
4 btnThuVien :
A_Button
A_Click Hiển thị màn hình thư viện.
5 btnThoat:
A_Button
A_Click Thoát khỏi màn hình.
Chương 3. Thiết kế
- 87 -
Danh sách các đối tượng thể hiện
STT Tên Loại/Kiểu Ý nghĩa Ghi chú
1 treeThuVien A_TreeView Hiển thị danh sách các thư
viện.
2 rtbNoiDung A_RichTextBox Hiển thị nội dung của thư
viện. ...ệu MathML xuống tập tin
public bool MC_save(
string fileName
);
fileName : đường dẫn tập tin cần lưu.
- 146 -
Hàm MC_saveAsJPEG : lưu biểu thức toán học thành một tập tin ảnh JPEG.
Dạng 1 :
public bool MC_saveAsJPEG(
string fileName,
float fontSize,
enum_ImageResolution imageResolution
);
fileName : đường dẫn tập tin JPEG.
fontSize : Kích thước của chữ (theo đơn vị point).
imageResolution : độ phân giải của ảnh (96dpi, 300 dpi, 600 dpi, ...)
Ví dụ :
float fontSize =18F;
MathMLControl.enum_ImageResolution imgResolution
=MathMLControl.enum_ImageResolution._300dpi;
string fileName ='C:\\test.jpg';
MathMLControl.MC_saveAsJPEG(fileName,fontSize,imgResolution);
Dạng 2
public bool MC_saveAsJPEG(
string fileName,
float fontSize,
enum_ImageResolution imageResolution,
ref int imageBaseline
);
fileName : đường dẫn tập tin JPEG.
fontSize : Kích thước của chữ (theo đơn vị point).
imageResolution : độ phân giải của ảnh (96dpi, 300 dpi, 600 dpi, ...)
imageBaseline : vị trí “đường gốc” của biểu thức trong ảnh.
- 147 -
Ví dụ :
float fontSize =18F;
int imgBaseline =0;
MathMLControl.enum_ImageResolution imgResolution
=MathMLControl.enum_ImageResolution._300dpi;
string fileName ='C:\\test.jpg';
MathMLControl.MC_saveAsJPEG(fileName,fontSize,imgResolution,ref
imgBaseline);
Dạng 3
public bool MC_saveAsJPEG(
string fileName,
float fontSize,
int imageResolution
);
fileName : đường dẫn tập tin JPEG.
fontSize : Kích thước của chữ (theo đơn vị point).
imageResolution : độ phân giải của ảnh theo kiểu integer.
Ví dụ :
float fontSize =18F;
int imgResolution =300;
string fileName ='C:\\test.jpg';
MathMLControl.MC_saveAsJPEG(fileName,fontSize,imgResolution);
- 148 -
Dạng 4:
public bool MC_saveAsJPEG(
string fileName,
float fontSize,
int imageResolution,
ref int imageBaseline
);
fileName : đường dẫn tập tin JPEG.
fontSize : Kích thước của chữ (theo đơn vị point).
imageResolution : độ phân giải của ảnh theo kiểu integer.
imageBaseline : vị trí “đường gốc” của biểu thức trong ảnh.
Ví dụ :
float fontSize =18F;
int imgBaseline =0;
int imgResolution =300;
string fileName ='C:\\test.jpg';
MathMLControl.MC_saveAsJPEG(fileName,fontSize,imgResolution,ref
imgBaseline);
- 149 -
Hàm RE_CreateBitmap : chuyển một chuỗi MathML sang dạng
System.Drawing.Bitmap. Sau đó bitmap có thể được lưu dưới dạng JPEG, GIF hay các
dạng ảnh khác.
public Bitmap RE_CreateBitmap(
string MathML,
float FontSize,
bool Bold,
bool Italic,
Color ForeColor,
Color BackColor,
int ImgResolution,
ref int ImgBaseline
);
MathML : chuỗi MathML.
FontSize : cỡ chữ trong ảnh.
Bold : in đậm.
Italic : in nghiêng.
ForeColor : màu của chữ.
BackColor : màu nền.
ImgResolution : độ phân giải của ảnh.
ImgBaseLine : vị trí “đường gốc” của biểu thức trong ảnh theo đơn vị pixel.
- 150 -
Chú ý :
Hàm này sẽ đưa ra System.Exception trong trường hợp bị lỗi.
Có thể sử dụng hàm này trong trường hợp không có MathML Control trên màn
hình.
Hàm này hoạt động độc lập với nội dung MathML của MathML Control.
Ví dụ :
int ImgBaseLine=0;
string sMathML="";
[...]
System.Drawing.Bitmap bitmap;
bitmap=this.m_MathMLControl.RE_CreateBitmap(sMathML,
18F,
false,
false,
System.Drawing.Color.Black,
System.Drawing.Color.White,
96,
ref ImgBaseline);
[...]
- 151 -
B. Ngôn ngữ XSLT:
Khái niệm :
XSLT, viết tắt của eXtensible StyleSheet Language Transformation, là
ngôn ngữ đặc tả cho phép biến đổi hệ thống đối tượng (được biểu diễn qua XML)
thánh một hệ thống đối tượng (được biểu diễn qua ngôn ngữ bất kỳ).
Ví dụ :
Ta có tài liệu planets.xml lưu giữ thông tin về các hành tinh trong hệ mặt trời.
Nội dung tài liệu planets.xml thể hiện như sau :
Mecury
.0553
58.65
1516
.983
- 152 -
43.4
Venus
.815
116.75
3716
.943
66.8
Earth
1
1
2107
1
128.4
Ta thấy tài liệu planets.xml ngoài khai báo thông thường là
Còn khai báo thêm
Với khai báo trên trình xử lý và phân tích sẽ biết nội dung dữ liệu trong planets.xml
cần được kết hợp với tài liệu planets.xsl để thực hiện chuyển dữ liệu từ XML thành tài
liệu hiển thị và đọc được bởi người dùng.
Nội dung tài liệu planets.xsl như sau :
- 153 -
Sau quá trình diễn dịch tài liệu kết xuất cuối cùng có dạng :
Mercury
Vernus
Earth
Cấu trúc tài liệu XSLT
Tài liệu XSLT yêu cầu tiếp nhận dữ liệu XML theo cấu trúc hình cây, thực hiện
biến đổi và cho ra một tài liệu định dạng cũng theo cấu trúc hình cây khác. Ở góc độ tài
liệu XSLT, dữ liệu đầu vào là một tập hợp các nút (node). Có 7 loại nút mà bộ xử lý
XSLT có thể nhận dạng và chuyển dịch:
STT Nút (node) Mô tả
1 Document Root (gốc tài liệu) Nơi khởi đầu của tài liệu cần diễn dịch.
2 Attribute (thuộc tính) Nắm giữ thuộc tính của phần tử thẻ. Giá trị
thuộc tính đã loại bỏ dấu bao chuỗi.
3 Element (phần tử) Bao gồm thẻ tên của phần tử (thẻ đóng, thẻ
- 154 -
mở) và tập các phần tử con giữa thẻ đóng và
thẻ mở (nếu có).
4 Comment (chú thích) Nằm giữ dữ liệu của chuỗi văn bản chú
thích (dã loại bỏ ký hiệu
5 Namespace (không gian tên) Nắm giữ chuỗi định dạng URI của không
gian tên.
6 Processing Instruction (chỉ thị
xử lý)
Nắm giữ nội dung chuỗi chỉ thị xử lý đã
loại bỏ hai ký tự định dạng là .
7 Text (văn bản) Dữ liệu thuần text nằm giữa hai thẻ đóng và
thẻ mở.
Trước hết tài liệu XSLT phải được đặt trong cặp thẻ . Chúng ta sử
dụng bí danh cho không gian tên là xsl (đây cũng là quy ước chuẩn của W3C) cho biết
các thẻ sử dụng trong tài liệu phân biệt với không gian tên thông thường khác (chẳng
hạn như HTML).
.
.
.
Khi bộ chuyển dịch XSLT được gọi nó sẽ thực hiện hai thao tác, đọc các chỉ thị
so khớp trong tài liệu XSLT và truy tìm dữ liệu trong tài liệu XML đặt vào tương ứng.
Quá trình truy tìm dữ liệu trong tài liệu XML (cụ thể ở đây là planets.xml) sẽ được
duyệt bắt đầu từ phần tử gốc. Chẳng hạn nếu muốn khi gặp phần tử gốc của tài liệu
XML thì trình diễn dịch XSLT phải kết xuất chuỗi mang nội dung “This is XML Root”
để thực hiện điều này trong tài liệu XSLT, ta phải so khớp như sau :
- 155 -
This is XML Root
Tài liệu kết xuất cuối cùng là :
This is XML Root
Chỉ định mẫu so khớp với thuộc tích match
Thuộc tính so khớp dùng để yêu cầu một thẻ lệnh thực hiện theo một điều kiện
dữ liệu thỏa mãn nào đó. Ta có thể dùng thuộc tính so khớp trong các phần tử điều
khiển XSL như , , ,
hay . Các trường hợp sử dụng của thuộc tính match.
So khớp phần tử gốc của dữ liệu XML (matching root)
Phần tử gốc của tài liệu XML được so khớp bằng ký tự “/” khi ta nhận được ký
tự “/” cũng có nghĩa là trình duyệt bắt đầu phân tích gốc của cây tài liệu đầu vào. Ví
dụ:
So khớp các phần tử (matching element)
So khớp một phần tử đơn giản bằng cách chỉ định tên của phần tử.
- 156 -
Ví dụ :
So khớp các phần tử con
Ký tự “/” không chỉ dùng so khớp phần tử gốc mà còn được dùng làm dấu phân
cách biểu diễn đường dẫn từ nút cha đến nút con sang dữ liệu XML. Ví dụ để so khớp
phần tử NAME là con của phần tử PLANET ta có thể viết như sau trong XSLT.
Ký tự “.” trong thuộc tính select yêu cầu thẻ chọn dữ liệu của
nút hiện hành trong cây tài liệu đang được xử lý.
Ta có thể dùng ký tự “*” trong thuộc tính select để yêu cầu thẻ
chọn tất cả các phần tử. Ví dụ :
Sẽ lấy tất cả phần tử bên dưới PLANET có phần tử con tên là NAME.
So khớp các phần tử cấp dưới (descendant)
- 157 -
Để so khớp và chọn ra tất cả các phần tử cấp dưới của PLANET mà không phân
biệt mức độ lồng nhau của các phần tử ta dùng PLANET//NAME. PLANET//NAME
tương đương với PLANET/NAME, PLANET/*/NAME, PLANET/*/*/NAME... Ví dụ:
So khớp bằng biểu thức ngoặc vuông []
Ta có thể dùng biểu thức ngoặc vuông để kiểm tra xem một điều kiện nào đó là
true hay false.
Ví dụ như kiểm tra :
Giá trị thuộc tính trong một chuỗi.
Giá trị của một phần tử.
Kiểm tra xem một phần tử có chứa thuộc tính hay phần tử con khác
không.
Ví trí của một nút dữ liệu.
Ví dụ :
Để so khớp và chọn ra phần tử PLANET có chứa phần tử con NAME ta dùng :
Để so khớp và chọn ra mọi phần tử có chứa thuộc tính con NAME
Để so khớp và chọn ra phần tử PLANET có chứa phần tử con là NAME hay
MASS
Để so khớp và chọn ra phần tử PLANET có chứa thuộc tính UNITS mang giá trị
“days” :
- 158 -
<xsl:template match=”PLANET[@UNITS=’days’]”
Chỉ định mẫu và chọn dữ liệu bằng thuộc tính select
Phần tử được dùng để lấy ra nội dung của một mục dữ liệu trong
tài liệu XML. Bạn có thể sử dụng thuốc tính select của để chọn chính
xác một mục dữ liệu. Thuộc tính select yêu cầu một đường dẫn XPath đến phần tử hay
thuộc tính được chọn.
Ví dụ :
The Planets
Kết quả xuất :
- 159 -
The Planets
Mercury
Venus
Earth
Thay đổi cấu trúc tài liệu đầu vào:
Tạo một phần tử mới
Sử dụng phần tử để tạo mới một phần tử khác cho dữ liệu
đầu vào.
Ví dụ : giả sử ta có tài liệu xml sau:
.0553
58.65
1516
.983
43.4
.815
116.75
3716
.943
66.8
- 160 -
1
1
2107
1
128.4
Tài liệu XSLT:
Planets
“{@NAME}” có nghĩa là lấy giá trị của thuộc tính NAME trong phần tử
PLANET.
- 161 -
Kết quả là :
Planets
.0553
.815
1
Tạo thuộc tính mới
Phần tử dùng tạo mới một thuộc tính cho phần tử nào đó.
Ví dụ :
Mecury
.0553
58.65
1516
.983
- 162 -
43.4
Venus
.815
116.75
3716
.943
66.8
Earth
1
1
2107
1
128.4
Ta muốn tạo một thuộc tính mang tên của các hình tinh trong tài liệu đích đồng
thời giá trị thuộc tính mới sẽ được gán chính là giá trị rút trích từ thuộc tính COLOR
của phần tử PLANET. Tài liệu XSLT như sau :
Planets
- 163 -
“{NAME}” có nghĩa là lấy giá trị của phần tử NAME là con của phần tử
PLANET.
Kết quả xuất là :
Planets
Sao chép các nút dữ liệu
- 164 -
Phần tử xsl:copy cho phép sao chép dữ liệu của một nút trong tài liệu đầu vào sử
dụng cho mục đích chuyên dụng nào đó.
Ví dụ : thay vì kết xuất ra tài liệu HTML, ta tạo lại một tài liệu XML mới ở đầu ra
bằng cách copy toàn bộ tất cả các nút của tài liệu XML đầu vào.
Kết quả xuất :
Mecury
.0553
58.65
1516
.983
43.4
Venus
.815
116.75
3716
.943
- 165 -
66.8
Earth
1
1
2107
1
128.4
Sử dụng xsl:if
Sử dụng phần tử để phát biểu một điều kiện lựa chọn. Để sử dụng phần
tử này ta đặt thuộc tính test của nó biểu thức cần kiểm tra trị true, false.
Ví dụ : ta muốn khi gặp phần tử cuối cùng trong dữ liệu đầu vào cần so khớp thì in ra
thẻ (phần tử định dạng tạo một đường gạch ngang trong HTML):
Planets
- 166 -
is planet number
from the sun.
Position() cho biết vị trí của phần tử đang xét
Last(.) vị trí cuối cùng của phần tử đang xét.
Kết quả kết xuất :
Planets
Mercury is planet number 1 from the sun.
Earth is planet number 2 from the sun.
Venus is planet number 3 from the sun.
Sử dụng xsl:choose
- 167 -
Phần tử điều khiển lựa chọn tương tự lệnh switch của Java hay C.
Phần tử này cho phép kiểm tra và chọn ra giá trị trong một danh sách các so khớp thoả
mãn điều kiện đề ra. Giả sử tài liệu xml như sau :
Mecury
.0553
58.65
1516
.983
43.4
Venus
.815
116.75
3716
.943
66.8
Earth
1
1
2107
1
128.4
- 168 -
Giả sử ta muốn định dạng tên của các hành tinh tuỳ thuộc vào màu sắc COLOR của nó,
màu đỏ thì in đậm tên, màu trắng thì in nghiêng tên, màu xanh dương thì gạch dưới tên,
ta thực hiện điều này bằng cách chọn trong thuộc tính test của như sau :
Planets
- 169 -
Trong ví dụ ta sử dụng phần tử để yêu cầu chọn gái trị mặc
định khi không có biểu thức nào thoả mãn.
Kết quả xuất sẽ là :
Planets
Mercury
Venus
Earth
- 170 -
Sử dụng xsl:for-each
Tương tự vòng lặp for trong Java và C.
Ví dụ : dữ liệu xml được định nghĩa :
Mercury
Closet planet to the sun
.0553
58.65
1516
.983
43.4
Ta sẽ lấy tất cả các phần tử trùng tên như sau :
Nội dung tài liệu planets.xsl như sau :
- 171 -
Kết quả là :
Mercury
Closet planet to the sun
Các tập tin XSLT dùng trong chương trình
Tập tin XSLT này dùng để nhóm các câu trắc nghiệm theo chương.
<xsl:stylesheet version="1.0"
xmlns:xsl="">
Matched
<xsl:for-each select="//CauTracNghiem[generate-id(.)= generate-
id(key('keyChuongID',@Chuong)[1])]">
<xsl:value-of
select="@Chuong"/>
<xsl:variable name="lstChuong"
select="//CauTracNghiem[@Chuong=$lngChuongID]"/>
- 172 -
<xsl:for-each select="$lstChuong[generate-id(.) = generate-
id(key('keyMaID', @Ma)[1])]">
Tập tin XSLT này dùng để nhóm các bài lý thuyết theo từng lớp, trong từng lớp
lại nhóm các bài lý thuyết thành từng chương.
<xsl:stylesheet version="1.0"
xmlns:xsl="">
Matched
<xsl:for-each select="//BaiHoc[generate-id(.)= generate-
id(key('keyGenreID',@Lop)[1])]">
- 173 -
<xsl:value-of
select="@Lop"/>
<xsl:variable name="lstPhoto"
select="//BaiHoc[@Lop=$lngGenreID]"/>
<xsl:with-param name="lstPhoto"
select="$lstPhoto" />
<xsl:for-each select="$lstPhoto[generate-id(.) = generate-
id(key('keyPDID', @Chuong)[1])]">
<xsl:value-of
select="@Chuong" />
<xsl:variable name="lstPD"
select="$lstPhoto[@Chuong=$lngPDID]" />
- 174 -
<xsl:for-each select="$lstPD[generate-id(.) = generate-
id(key('keyPhotoID', @TenBai)[1])]">
Tập tin XSLT này dùng để lấy danh sách các chương trong các câu trắc nghiệm.
<xsl:stylesheet version="1.0"
xmlns:xsl="">
Matched
<xsl:for-each select="//CauTracNghiem[generate-id(.)=
generate-id(key('keyChuongID',@Chuong)[1])]">
<xsl:value-of
select="@Chuong"/>
<xsl:variable name="lstChuong"
select="//CauTracNghiem[@Chuong=$lngChuongID]"/>
- 175 -
Tập tin XSLT này dùng để lấy danh sách các chương trong các câu trắc nghiệm.
<xsl:stylesheet version="1.0"
xmlns:xsl="">
<FONT FACE="Times New
Roman", SIZE="3", COLOR="RED">
Cau
- 176 -
</FONT>
<FONT FACE="Times New
Roman", SIZE="2", COLOR="GREEN">
Buoc
</FONT>
<FONT FACE="Times
New Roman", SIZE="3", COLOR="BLUE">
</FONT>
C. Các quy tắc xử lý bắt buộc khi sử dụng chương trình:
Không gian toạ độ:
Quy ước xác định 1 điểm:
“chuỗi phía trước” TênĐiểm(x,y,z).
Mặc định :
“chuỗi phía trước” = “điểm”
- 177 -
“chuỗi phía trước” = “có tâm là”
“chuỗi phía trước” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có điểm trong đề ta tiến hành cắt chuỗi lấy các thông số cho điểm.
− Quy ước xác định 1 đường thẳng:
Tìm “chuỗi nhận dạng” có trong đề.
Mặc định :
“chuỗi nhận dạng” = “đường thẳng”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có đường thẳng trong đề ta tiến hành cắt chuỗi lấy các thông số cho
đường thẳng.
− Quy ước xác định 1 mặt cầu:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “mặt cầu”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.Sau
khi xác định là có mặt cầu trong đề ta tiến hành cắt chuỗi lấy các thông số cho mặt cầu.
− Quy ước xác định 1 mặt phẳng:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “mặt phẳng”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có mặt phẳng trong đề ta tiến hành cắt chuỗi lấy các thông số cho
mặt phẳng.
− Quy ước xác định 1 tứ diện:
- 178 -
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “tứ diện”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có tứ diện trong đề ta tiến hành cắt chuỗi lấy các thông số cho tứ
diện.
− Quy ước xác định 1 tam giác:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “tam giác”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có tam giác trong đề ta tiến hành cắt chuỗi lấy các thông số cho tam
giác.
− Quy ước xác định 1 vector:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “vector”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có vector trong đề ta tiến hành cắt chuỗi lấy các thông số cho
vector.
Mặt phẳng toạ độ:
− Quy ước xác định 1 điểm:
“chuỗi phía trước” TênĐiểm(x,y).
Mặc định :
- 179 -
“chuỗi phía trước” = “điểm”
“chuỗi phía trước” = “có tâm là”
“chuỗi phía trước” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có điểm trong đề ta tiến hành cắt chuỗi lấy các thông số cho điểm.
− Quy ước xác định 1 đường thẳng:
Tìm “chuỗi nhận dạng” có trong đề.
Mặc định :
“chuỗi nhận dạng” = “đường thẳng”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có đường thẳng trong đề ta tiến hành cắt chuỗi lấy các thông số cho
đường thẳng.
− Quy ước xác định 1 đường tròn:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “đường tròn”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có đường tròn trong đề ta tiến hành cắt chuỗi lấy các thông số cho
đường tròn.
− Quy ước xác định 1 Ellipse:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
- 180 -
“chuỗi nhận dạng” = “Ellipse”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có Ellipse trong đề ta tiến hành cắt chuỗi lấy các thông số cho
Ellipse.
− Quy ước xác định 1 Hyperbol:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “Hyperbol”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có Hyperbol trong đề ta tiến hành cắt chuỗi lấy các thông số cho
Hyperbol.
− Quy ước xác định 1 vector:
Tìm “chuỗi nhận dạng” có trong đề
Mặc định :
“chuỗi nhận dạng” = “vector”
“chuỗi nhận dạng” : có thể do người dùng qui định trong thư viện nhận dạng đề.
Sau khi xác định là có vector trong đề ta tiến hành cắt chuỗi lấy các thông số cho
vector.
- 181 -
Đạo hàm:
Nhập các biểu thức bằng các ky tự toán học đặc trưng.
Lưu ý:
Khi muốn thực hiện phép nhân 2 biểu thức, ví dụ u.v thì ta phải nhập như sau (u)(v).
Khi muốn lũy thừa 1 biểu thức, ví dụ uv thì ta phải nhập như sau (u)v.
D. Phụ lục các thuật giải trong chương trình:
Không gian toạ độ:
− Tính vector tạo bởi 2 điểm:
vector.x = Bx – A.x
vector.y = By – A.y
vector.z = Bz – A.z
− Tính khoảng cách từ 1 điểm đến 1 mặt phẳng:
kc =
mp.n.z*mp.n.zmp.n.y*mp.n.ymp.n.x*mp.n.x
mp.Dz*mp.n.zy*mp.n.yx*mp.n.x
++
+++
− Tính khoảng cách giữa 2 đường thẳng:
A ∈ đt1, 1vt là vector chỉ phương
B ∈ đt2, 2vt là vector chỉ phương
kc = ( AB . 1vt ). 2vt / 1vt . 2vt
− Viết phương trình đoạn vuông góc chung giữa 2 đường thẳng chéo nhau:
temp = 1vt . 2vt
mp1.vt1 = temp;
mp1.vt2 = vt1;
mp1.TinhPhapVector();
- 182 -
mp1.a = a1;
mp1.TinhD();
mp2.vt1 = temp;
mp2.vt2 = vt2;
mp2.TinhPhapVector();
mp2.a = a2;
mp2.TinhD();
dt_kq.mp1 = mp1;
dt_kq.mp2 = mp2;
− Tính diện tích mặt cầu:
S = 4*PI*R2
− Tính thể tích mặt cầu:
V =
3
4 *PI*R3
− Kiểm tra mặt phẳng song song với 1 mặt phẳng khác:
Nếu (mp1.n.x*mp2.n.y != mp1.n.y*mp2.n.x)
không song song;
Nếu (mp1.n.x*mp2.n.z != mp1.n.z*mp2.n.x)
không song song;
Nếu (mp1.n.y*mp2.n.z != mp1.n.z*mp2.n.y)
không song song;
Nếu (mp1.n.x*mp2.D == mp1.D*mp2.n.x)
không song song;
Còn lại : song song
- 183 -
− Kiểm tra mặt phẳng trùng với 1 mặt phẳng khác:
Nếu (n.x*mp.n.y != n.y*mp.n.x)
không trùng
Nếu (n.x*mp.n.z != n.z*mp.n.x)
không trùng
Nếu (n.y*mp.n.z != n.z*mp.n.y)
không trùng
Nếu (n.x*mp.D != D*mp.n.x)
không trùng
Trùng
− Kiểm tra mặt phẳng vuông góc với 1 mặt phẳng khác:
Nếu (n.x*mp.n.x + n.y*mp.n.y + n.z*mp.n.z == 0)
Vuông góc
Không vuông góc
− Tính diện tích của tứ diện:
AB = A.TinhVector(B);
AC = A.TinhVector(C);
S = ((AB.TichHuuHuong(AC)).TinhGiaTri())/2 ;
− Tính thể tích của tứ diện:
AB = A.TinhVector(B);
AC = A.TinhVector(C);
AD = A.TinhVector(D);
V = (((AB.TichHuuHuong(AC)).TichHuuHuong(AD)).TinhGiaTri())/2 ;
− Tính tích hữu hướng của 2 vector:
vtkq.x = y*vt.z - z*vt.y;
- 184 -
vtkq.y = z*vt.x - x*vt.z;
vtkq.z = x*vt.y - y*vt.x;
Mặt phẳng toạ độ:
− Khoảng cách từ 1 điểm đến 1 đường thẳng:
kc =
dt.vtpt.y*dt.vtpt.ydt.vtpt.x*dt.vtpt.x
dt.C y *dt.vtpt.y x *dt.vtpt.x
+
++
− Tìm giao điểm giữa 2 đường thẳng:
Nếu ( vtpt.x==0 )
{
diem.y =
vtpt.y
C-
diem.x =
dt.vtpt.x
dt.vtpt.y*diem.y-dt.C-
}
Nếu ( vtpt.y==0 )
{
diem.x =
vtpt.x
C-
diem.y =
dt.vtpt.y
dt.vtpt.x*diem.x-dt.C-
}
Nếu ( dt.vtpt.x==0 )
{
diem.y =
dt.vtpt.y
dt.C-
diem.x =
vtpt.x
vtpt.y*diem.y-C-
}
Nếu ( dt.vtpt.y==0 )
- 185 -
{
diem.x =
dt.vtpt.z
dt.C-
diem.y =
vtpt.y
vtpt.x*diem.x-C-
}
diem.y =
vtpt.x*dt.vtpt.y-dt.vtpt.x*vtpt.y
dt.vtpt.x*C-vtpt.x*dt.C
diem.x =
vtpt.y*dt.vtpt.x-dt.vtpt.y*vtpt.x
dt.vtpt.y*C-vtpt.y*dt.C
− Phương trình tiếp tuyến qua 1 điểm thuộc đường tròn:
tt.a = diem;
tt.vtpt.x = diem.x - Tam.x;
tt.vtpt.y = diem.y - Tam.y;
tt.TinhVectorChiPhuong();
tt.TinhC();
− Phương trình tiếp tuyến qua 1 điểm không thuộc đường tròn:
t1 = Tam.x-diem.x;
t2 = Tam.y-diem.y;
candelta = )-2(*)-1(-21 RtRt)t*t(
22222
k1 =
Rt
tt
22
21
-1
candelta - *
k2 =
Rt
tt
22
21
-1
candelta * +
- 186 -
tt1.a = diem;
tt1.vtpt.x = k1;
tt1.vtpt.y = -1;
tt1.TinhVectorChiPhuong();
tt1.TinhC();
taphop.Thêm(temp);
tt2.a = diem;
tt2.vtpt.x = k2;
tt2.vtpt.y = -1;
tt2.TinhVectorChiPhuong();
tt2.TinhC();
taphop.Thêm(temp);
− Vị trí tương đối giữa 2 đường tròn:
Nếu ( Tam.KhoangCachDenDiem(dt.Tam)==0 && R==dt.R)
2 đường tròn trùng nhau.
Nếu ( Tam.KhoangCachDenDiem(dt.Tam)==0 && R!=dt.R)
2 đường tròn trùng tâm.
Nếu ( Tam.KhoangCachDenDiem(dt.Tam) > R+dt.R)
2 đường tròn nằm ngoài nhau."
Nếu ( Tam.KhoangCachDenDiem(dt.Tam) == R+dt.R)
đường tròn tiếp xúc ngoài nhau.
Nếu ( Tam.KhoangCachDenDiem(dt.Tam) < Math.Abs(R-dt.R) )
2 đường tròn chứa nhau
Nếu ( Tam.KhoangCachDenDiem(dt.Tam) == Math.Abs(R-dt.R) )
- 187 -
2 đường tròn tiếp xúc trong nhau.
còn lại 2 đường tròn cắt nhau tại 2 điểm phân biệt.
− Kiểm tra 1 đường thẳng tiếp xúc với Ellipse:
Nếu ( dthang.vtpt.x*dthang.vtpt.x*a*a +
dthang.vtpt.y*dthang.vtpt.y*b*b == dthang.C*dthang.C)
Có tiếp xúc
Ngược lại : không tiếp xúc
− Kiểm tra 1 đường thẳng tiếp xúc với Hyperbol:
Nếu ( dthang.vtpt.x*dthang.vtpt.x*a*a -
dthang.vtpt.y*dthang.vtpt.y*b*b == dthang.C*dthang.C)
Có tiếp xúc
Nếu ( dthang.vtpt.x*dthang.vtpt.x*a*a -
dthang.vtpt.y*dthang.vtpt.y*b*b == -dthang.C*dthang.C)
Có tiếp xúc
Ngược lại : không tiếp xúc
Khảo sát và vẽ đồ thị hàm số:
− Khảo sát và vẽ đồ thị hàm số đa thức:
+ Tìm miền xác định.
+ Tính đạo hàm cấp 1.
+ Tính đạo hàm cấp 2.
+ Tính giới hạn vô cực.
+ Tìm giao điểm với OY.
+ Xuất kết quả khảo sát.
+ Vẽ bảng biến thiên.
+ Vẽ đồ thị.
- 188 -
− Khảo sát và vẽ đồ thị hàm số hữu tỉ:
+ Tìm miền xác định.
+ Tính đạo hàm cấp 1.
+ Tìm giới hạn tiệm cận đứng.
+ Tìm giới hạn tiệm cận ngang.
+ Tìm giới hạn tiệm cận xiên.
+ Xuất kết quả khảo sát.
+ Vẽ bảng biến thiên.
+ Vẽ đồ thị.
Đạo hàm:
− Nhận diện đề:
+ Lớp cha sẽ nhận diện ra dạng đề thuộc lớp con nào.
+ Lớp cha cấp địa chỉ của lớp con và gọi hàm nhận diện đề của lớp con.
+ Lớp con phân tích đề để lấy các thông tin cần thiết.
Các dạng MathML đặc trưng cho các dạng biểu thức là:
Đơn thức:
Ax
3
X
x
X
- 189 -
axb
3
X
5
xb
X
5
A X
3
X
- 190 -
X
X
A C X
3
X
4
C X
- 191 -
X
4
A X B
3
X
5
X B
- 192 -
X
5
A C BX
3
X
5
4
- 193 -
(
−
3
)
X
5
4
C BX
- 194 -
X
5
4
A X C
B
3
X
5
4
X C
B
- 195 -
X
5
4
Biểu thức phức:
CONG,TRU
U
+
V
(U)V
(
- 196 -
U
)
V
U/V
U
V
(U)(V)
(
U
)
(
V
- 197 -
)
COS(U) SIN TG COTG LN
COS
(
U
)
HANGSO
hs
CANSO
X
X
- 198 -
4
"
#lpar;
#minus;
3
#rpar;
x
"
(
−
3
)
X
− Tính đạo hàm:
+ Đạo hàm của 1 biểu thức là một biểu thức.
+ Một biểu thức phức tạp được cấu thành từ nhều biểu thức nhỏ hơn.
- 199 -
+ Tính đạo hàm của một biểu thức phức tạp bằng cách tính đạo hàm của
từng thành phần nhỏ và kết hợp thành biểu thức cần tính.
Phụ lục quy tắc tính đạo hàm:
Biểu thức căn:
public override BIEU_THUC TinhDaoHam()
{
HANG_SO hs1 = new HANG_SO();
hs1.hangso = 1 - CanSo;
BIEU_THUC_U_MU_V umuv1 = new BIEU_THUC_U_MU_V();
umuv1.u = u;
umuv1.v = hs1;
BIEU_THUC_CAN can1 = new BIEU_THUC_CAN();
can1.CanSo = CanSo;
can1.u = umuv1;
BIEU_THUC_NHAN nhan1 = new BIEU_THUC_NHAN();
nhan1.u = u.TinhDaoHam();
nhan1.v = can1;
return nhan1;
}
Biểu thức chia:
public override BIEU_THUC TinhDaoHam()
{
BIEU_THUC_CHIA chia = new BIEU_THUC_CHIA();
BIEU_THUC_NHAN nhan1 = new BIEU_THUC_NHAN();
BIEU_THUC_NHAN nhan2 = new BIEU_THUC_NHAN();
BIEU_THUC_NHAN nhan3 = new BIEU_THUC_NHAN();
BIEU_THUC_TRU tru = new BIEU_THUC_TRU();
nhan1.u = u.TinhDaoHam();
nhan1.v = v;
nhan2.u = u;
nhan2.v = v.TinhDaoHam();
nhan3.u = v;
- 200 -
nhan3.v = v;
tru.u = nhan1;
tru.v = nhan2;
chia.u = tru;
chia.v = nhan3;
return chia;
}
Biểu thức cộng:
public override BIEU_THUC TinhDaoHam()
{
BIEU_THUC_CONG cong = new BIEU_THUC_CONG();
cong.u = u.TinhDaoHam();
cong.v = v.TinhDaoHam();
return cong;
}
Biểu thức COS:
public override BIEU_THUC TinhDaoHam()
{
HANG_SO hs = new HANG_SO();
hs.hangso = -1;
BIEU_THUC_NHAN nhan1 = new BIEU_THUC_NHAN();
nhan1.u = hs;
nhan1.v = u.TinhDaoHam();
BIEU_THUC_SIN sin = new BIEU_THUC_SIN();
sin.u = u;
BIEU_THUC_NHAN nhan2 = new BIEU_THUC_NHAN();
nhan2.u = nhan1;
nhan2.v = sin;
return nhan2;
}
Biểu thức COTG:
public override BIEU_THUC TinhDaoHam()
{
HANG_SO hs = new HANG_SO();
hs.hangso = -1;
- 201 -
BIEU_THUC_NHAN nhan1 = new BIEU_THUC_NHAN();
nhan1.u = hs;
nhan1.v = u.TinhDaoHam();
BIEU_THUC_SIN sin = new BIEU_THUC_SIN();
sin.u = u;
BIEU_THUC_NHAN nhan2 = new BIEU_THUC_NHAN();
nhan2.u = sin;
nhan2.v = sin;
BIEU_THUC_CHIA chia = new BIEU_THUC_CHIA();
chia.u = nhan1;
chia.v = nhan2;
return chia;
}
Biểu thức LN:
public override BIEU_THUC TinhDaoHam(){
BIEU_THUC_CHIA chia = new BIEU_THUC_CHIA();
chia.u = u.TinhDaoHam();
chia.v = u;
return chia;
}
Biểu thức nhân:
public override BIEU_THUC TinhDaoHam()
{
BIEU_THUC_NHAN nhan1 = new BIEU_THUC_NHAN();
nhan1.u = u.TinhDaoHam();
nhan1.v = v;
BIEU_THUC_NHAN nhan2 = new BIEU_THUC_NHAN();
nhan2.u = u;
nhan2.v = v.TinhDaoHam();
BIEU_THUC_CONG cong = new BIEU_THUC_CONG();
cong.u = nhan1;
cong.v = nhan2;
return cong;
}
Biểu thức SIN:
public override BIEU_THUC TinhDaoHam(){
BIEU_THUC_COS cos = new BIEU_THUC_COS();
cos.u = u;
BIEU_THUC_NHAN nhan = new BIEU_THUC_NHAN();
nhan.u = u.TinhDaoHam();
nhan.v = cos;
return nhan;
}
- 202 -
Biểu thức TG:
public override BIEU_THUC TinhDaoHam(){
BIEU_THUC_COS cos = new BIEU_THUC_COS();
cos.u = u;
BIEU_THUC_NHAN nhan = new BIEU_THUC_NHAN();
nhan.u = cos;
nhan.v = cos;
BIEU_THUC_CHIA chia = new BIEU_THUC_CHIA();
chia.u = u.TinhDaoHam();
chia.v = nhan;
return chia;
}
Biểu thức trừ:
public override BIEU_THUC TinhDaoHam() {
BIEU_THUC_TRU tru = new BIEU_THUC_TRU();
tru.u = u.TinhDaoHam();
tru.v = v.TinhDaoHam();
return tru;
}
Biểu thức uv:
public override BIEU_THUC TinhDaoHam()
{
BIEU_THUC_NHAN nhan1 = new BIEU_THUC_NHAN();
nhan1.u = u.TinhDaoHam();
nhan1.v = v.TinhDaoHam();
HANG_SO hs1 = new HANG_SO();
hs1.hangso = 1;
BIEU_THUC_TRU tru1 = new BIEU_THUC_TRU();
tru1.u = v;
tru1.v = hs1;
BIEU_THUC_U_MU_V umuv1 = new BIEU_THUC_U_MU_V();
umuv1.u = u;
umuv1.v = tru1;
BIEU_THUC_NHAN nhan2 = new BIEU_THUC_NHAN();
nhan2.u = v;
nhan2.v = umuv1;
BIEU_THUC_NHAN nhan3 = new BIEU_THUC_NHAN();
nhan3.u = nhan1;
nhan3.v = nhan2;
return nhan3;
}
Đơn thức:
public override BIEU_THUC TinhDaoHam()
- 203 -
{
DON_THUC temp = new DON_THUC();
temp.heso = (heso*somu.tuso)/somu.mauso;
temp.somu.tuso = somu.tuso-somu.mauso;
temp.somu.mauso = somu.mauso;sư
return temp;
}
Hằng số:
public override BIEU_THUC TinhDaoHam()
{
HANG_SO temp = new HANG_SO();
temp.hangso = 0;
return temp;
}
- 204 -
TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Văn Như Cương (Chủ biên), Tạ Mân, Hình học 12, Tái bản lần thứ nhất, Nhà
xuất bản Giáo dục, Hà Nội, năm 2000.
[2] TS Lê Anh Vũ, Nguyễn Kỳ Sơn, Nguyễn Danh Phan, Giải toán hình học 12,
Lần thứ nhất, Nhà xuất bản TPHCM, TP.HCM, 2003.
[3] Giải toán hình học 12 (dùng cho học sinh các lớp chuyên), Nhà xuất bản Giáo
dục.
Tiếng Anh:
[1] Eric Gunnerson, A Programmer's Introduction to C#, Apress, 2000.
[2] Eric Butow and Tommy Ryan, C# Book, Hungry Minds, Inc, New York, 2002.
[3] Anders Hejlsberg and Scott Wiltamuth, C# Language Reference, Microsoft
Corporation 1999-2000.
Website:
Các file đính kèm theo tài liệu này:
- luan_van_xay_dung_phan_mem_day_hoc_toan_hoc.pdf