phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

213
- i - LI MĐẦU Ngày nay, ngành công nghthông tin trên thế gii ngày càng phát trin mnh m, và ngày càng ng dng vào nhiu lĩnh vc. Vi khnăng ng dng rng rãi ca ngành công nghthông tin, vi chính sách phát trin ngành công nghthông tin ca nhà nước, vi vic nâng cao cht lượng giáo dc nước ta thì vic tin hc hóa giáo dc (ng dng ngành công nghthông tin vào ngành giáo dc) là phù hp và thiết thc. Vi khnăng trên, vic đưa tin hc htrcho lãnh vc giáo dc, trong đó vic htrcho vic gii bài tp ca hc sinh ti nhà là có ththc hin được. Để giúp hc sinh có khnăng tgii bài tp mà không cn đến lp hc thêm, không cn người hướng dn gii bài tp, thì vi mt phn mm htrgii bài tp trên máy tính ti nhà sđáp ng được cho hc sinh nhng nhu cu này. Và đin hình là phn mm htrôn thi tt nghip phthông trung hc môn toán mà chúng em đã nghiên cu và thc hin. Để nâng cao cht lượng giáo dc phthông BGiáo dc và Đào to đã cái tiến cách dy và hc: tăng cường thiết bdy và hc, thêm kiến thc vào mt ssách giáo khoa, thêm mt smôn hc mi vào chương trình hc. Lượng kiến thc cn truyn đạt đòi hi hc sinh nm bt tăng nhiu hơn. Trong khi đó, vi lượng kiến thc như thế, vic dy ca giáo viên và stiếp thu ca mt shc sinh trường, đôi khi không đạt được nhng kết qumong mun. Vì lí do, không đủ thi gian trên lp để giáo viên hướng dn cn kcho hc sinh gii bài tp, nên mt shc sinh không thhoc khó khăn để theo kp chương trình hc ca mình. Vì vy, vic tgii bài tp ca hc sinh nhà là vic hết sc khó khăn, nếu không mun nói là đôi khi không không thlàm được nếu không có người hướng dn. Cho nên, mt shc sinh đã phi nhngười hướng dn ti nhà (giáo viên kèm ti nhà; anh, ch, phhuynh có kiến thc vbài tp

Upload: vcoi-vit

Post on 20-Jun-2015

58 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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á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

Page 2: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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.

Page 3: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 4: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 5: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 6: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 7: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 8: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 9: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

Page 10: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 11: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 12: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 13: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 14: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 5 -

• Phần mềm Toán học do Esoft phát triển:

Hình 1-3 Giao Diện của PM Toán của ESoft

Nhận xét : Chương trình hoàn toàn miễn phí và mã nguồn mở. Phần vẽ đồ thị tốt. Chưa có chức năng hỗ trợ giải các dạng Toán lớp 12 (ngoài phần vẽ đồ thị). Phần dữ liệu tương đối sơ sài, không linh động (không cho biên soạn lý thuyết).

Nhận xét chung: Những điểm mạnh:

o Các chương trình sử đều có giao diện đơn giản dễ sử dụng. o Hỗ trợ các chức năng xem lý thuyết, tra cứu công thức. o Một vài chương trình có hỗ trợ soạn câu trắc nghiệm, thi trắc nghiệm và

chấm điểm. Những điểm còn thiếu sót:

o Độ linh động của các chương trình không cao, tức là không cho thêm hay chỉnh sửa một bài lý thuyết, chức năng hỗ trợ giải Toán ít.

o Phần dữ liệu chủ yếu là lý thuyết, không có các dạng bài tập mẫu cho người dùng tham khảo.

=> Với hiện trạng thực tế và hiện trạng tin học như vậy ta thấy việc xây dựng một phần mềm hỗ trợ ôn thi tốt nghiệm môn Toán là hết sức cần thiết. Đó là lý do để chúng em thực hiện đề tài này.

Page 15: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 6 -

1.3. Nhu cầu thực tế

Để 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 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.

1.4. Mục tiêu

Đề tài có hai mục tiêu chính, đó là hỗ trợ học sinh trong quá trình học và hỗ trợ giáo viên trong quá trình dạy.

Học sinh có thể xem lý thuyết, xem đáp án, xem đánh giá về bài làm của giáo viên, ngoài ra chương trình còn hỗ trợ cho học sinh phát sinh bài giải và lưu trữ bài làm tự luận để chuyển cho giáo viên, và cho học sinh thi trắc nghiệm, hình thức thi có thể được áp dụng trong tương lai gần…

Giáo viên có thể soạn lý thuyết, soạn đáp án, ra đề tự luận và trắc nghiệm cho học sinh, phần mềm hỗ trợ giáo viên phát sinh bài tập và bài giải cũng như đề thi trắc nghiệm… Bên cạnh đó, học sinh và giáo viên có thể trao đổi thông tin bằng tài liệu được in ra giấy, đĩa mềm, website, FTP hay qua hệ thống email.

Page 16: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 7 -

1.5. Yêu cầu

Chúng em mong muốn đạt được những chức năng:

• Thể hiện tốt các ký hiệu toán học.

• Cung cấp dữ liệu mẫu nhiều cho học sinh tham khảo.

• Hỗ trợ nhiều dạng toán nhất có thể.

• Lưu trữ và xử lý dữ liệu dưới dạng XML, MathML để chương trình có thể truy

xuất dữ liệu nhanh hơn.

• Các dạng toán thể hiện sao cho tự nhiên nhất, gần với thực tế nhất.

Cụ thể các yêu cầu mà chương trình muốn đạt được như sau:

1.5.1. Yêu cầu chức năng

− Cung cấp lý thuyết cho học sinh:

o Cung cấp lý thuyết trong sách giáo khoa.

o Cung cấp phương pháp giải quyết các dạng bài toán.

o Cho phép học sinh sắp xếp các tài liệu theo ý muốn.

− Cung cấp ngân hàng dữ liệu bài tập mẫu đủ lớn cho học sinh:

o Cung cấp nhiều bài mẫu và đáp án để học sinh tham khảo.

o Cho phép học sinh biên soạn và bổ sung bài mẫu vào ngân hàng dữ liệu.

− Làm bài trắc nghiệm:

o Cho phép biên soạn câu hỏi trắc nghiệm và đề thi trắc nghiệm.

o Cho phép phát sinh câu hỏi trắc nghiệm.

o Cho phép phát sinh đề thi trắc nghiệm từ ngân hàng dữ liệu có sẵn.

o Hỗ trợ nhiều dạng trắc nghiệm khác nhau.

o Cho phép học sinh làm bài trắc nghiệm.

o Hỗ trợ chấmbài làm cho học sinh.

− Làm bài tự luận:

o Hỗ trợ phát sinh bài tự luận cho học sinh các dạng toán sau:

Page 17: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 8 -

Khảo sát và vẽ đồ thị hàm số.

• y = ax + b

• y = ax2 + bx + c

• y = ax3 + bx2 + cx + d

• y = ax4 + bx2 + c

• y = ' '

aa x b+

• y = '' bxa

bax++

• y = ''

ax 2

bxacbx

+++

• y = ''xa' 2 cxb

a++

• y = ''xa' 2 cxb

bax++

+

• y = ''xa'

ax2

2

cxbcbx++++

Mặt phẳng tọa độ.

• Đường thẳng

o Tìm tọa độ giao điểm giữa các đường.

o Viết phương trình đường thẳng chính tắc.

o Viết phương trình đường thẳng tham số.

o Viết phương trình đường thẳng tổng quát.

o Viết phương trình đường thẳng qua một điểm cho

trước và vuông góc với một đường thẳng cho trước.

o Viết phương trình đường thẳng qua một điểm cho

trước và song song với một đường thẳng cho trước.

• Đường tròn

Page 18: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 9 -

o Viết phương trình đường tròn.

o Viết trình tiếp tuyến chung của 2 đường tròn.

o Viết phương trình tiếp tuyến qua một điểm thuộc

đường tròn.

o Viết phương trình tiếp tuyến qua một điểm nằm

ngoài đườn tròn.

o Xác định vi trí tương đối của 2 đường tròn.

• Ellipse

o Kiểm tra 1 đường thẳng có tiếp xúc với Ellipse

không?

o Viết phương trình HCN cơ sở của Ellipse.

o Tìm tâm sai.

o Tìm tiêu cự.

o Tìm tiêu điểm.

o Viết phương trình đường chuẩn.

• Hyperbol

o Kiểm tra 1 đường thẳng có tiếp xúc với Hyperbol

không?

o Viết phương trình HCN cơ sở của Hyperbol.

o Tìm tâm sai.

o Tìm tiêu cự.

o Tìm tiêu điểm.

o Viết phương trình đường chuẩn.

Không gian tọa độ.

• Khoảng cách giữa 2 đường thẳng chéo nhau.

• Tính diện tích mặt cầu.

• Tính diện tích tam giác.

Page 19: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 10 -

• Tính khoảng cách từ 1 điểm đến một mặt phẳng.

• Tính thể tích của tứ diện.

• Tính thể tích mặt cầu.

• Tính vector từ toạ độ các điểm.

• Viết phương trình đường thẳng chính tắc.

• Viết phương trình đường thẳng tham số.

• Viết phương trình đường thẳng tổng quát

• Viết phương trình đường thẳng vuông góc với 2 đường

thẳng chéo nhau.

• Viết phương trình mặt phẳng tham số.

• Viết phương trình mặt phẳng tổng quát.

• Xét vị trí tương đối giữa 2 mặt phẳng.

Đạo hàm.

• Tính tốt tất cả các dạng toán.

• Thể hiện tốt các ký tự toán học, nhận diện đề 1 cách tự

nhiên nhất.

o Cho phép học sinh lưu trữ bài làm và chuyển cho giáo viên đánh giá. o Nhận diện đề bài của học sinh dưới dạng tự nhiên.

− Cung cấp phương tiện giao tiếp giữa giáo viên và học sinh: o Trao đổi thông tin qua Web.

Hỗ trợ 1 trang thông tin. Hỗ trợ download, upload tài liệu. Hỗ trợ 1 forum để giáo viên và học sinh trao đổi thông tin trực

tuyến. o Trao đổi thông tin qua đĩa mềm. o Trao đổi thông tin qua email. o Trao đổi thông tin qua giấy.

Page 20: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 11 -

1.5.2. Yêu cầu phi chức năng 1.5.2.1. Tính tiến hóa : STT Nội dung Mô tả chi tiết Ghi chú

1 Thay đổi số lượng các gợi ý của câu hỏi trắc nghiệm.

Giáo viên có thể chọn số lượng các gợi ý tùy nhu cầu (mặc định là 4).

2 Thay đổi đặc trưng nhận diện bài tập.

Thay đổi đặc trưng để nhận diện bài tập tự nhiên hơn.

3 Thay đổi dạng câu trắc nghiệm.

Thay đổi theo 3 dạng : 1 đáp án, nhiều đáp án, điền từ.

Bảng 1-1 Tính tiến hoá 1.5.2.2. Tính tiện dụng :

Giao diện trực quan, sinh động, tham khảo lí thuyết, cho phép từng bước hướng dẫn học sinh giải bài tập.

Dễ học và dễ sử dụng, phù hợp với môi trường giáo dục.

STT Nghiệp vụ Mức độ dễ học Mức độ dễ sử dụng

Ghi chú

1 Giải bài tập 10 phút hướng dẫn Nhắc nhở

2 Xem tóm tắt lý thuyết Không cần hướng dẫn

3 Xem đánh giá Không cần hướng dẫn

4 Xem đáp án Không cần hướng dẫn

5 Tra cứu bài tập Không cần hướng dẫn

6 Soạn tóm tắt lý thuyết và ví dụ minh hoạ

10 phút hướng dẫn

7 Soạn đề bài tập 10 phút hướng dẫn Nhắc nhở

8 Soạn đáp án 10 phút hướng dẫn Nhắc nhở

9 Soạn câu hỏi trắc nghiệm. 5 phút hướng dẫn

10 Soạn đề trắc nghiệm 5 phút hướng dẫn

Page 21: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 12 -

1.5.2.3. Tính hiệu quả :

Máy tính với CPU Pentium III 800, RAM 256MB

Đĩa cứng 20GB

STT Nội dung Tốc độ xử lý Dung lượng lưu trữ Ghi chú

1 Soạn bài lý thuyết 10 phút/trang

2 Soạn bài tập. 5 phút/bài

3 Chấm bài tập. 5 phút/bài.

4 Soạn câu hỏi trắc nghiệm 5 phút/câu.

5 Soạn đề trắc nghiệm. 10 phút/đề.

6 Xem bài lý thuyết Ngay lập tức

7 Xem đáp án. Ngay lập tức

Bảng 1-2 Tính hiệu quả

1.5.2.4. Tính tương thích :

STT Nội dung Mô tả chi tiết Ghi chú

1 Cho phép soạn bài từ MS

Word

Giáo viên có thể dùng MS Word để

soạn bài lý thuyết.

2 Cho phép xuất tài liệu ra

MS Word

Người dùng có thể xuất tài liệu ra tập

tin word document.

3 Cho phép gửi tài liệu

thông qua MS OutLook.

Phần mềm hỗ trợ người dùng gởi tài

liệu bằng email thông qua MS

OutLook

Page 22: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 1. Mở đầu

- 13 -

1.5.3. Các yêu cầu khác

1.5.3.1. Tính tái sử dụng :

Chương trình được thiết kế bao gồm các thư viện liên kết (DLL), nên tuy có 2

phân hệ chương trình khác nhau nhưng hầu hết các xử lý, các control đều được thiết kế

chung trên 1 thư viện, chỉ những xử lý hoặc control riêng cho từng phân hệ (Giáo Viên,

Học Sinh) mới được thiết kế riêng. Đặc biệt chương trình còn tạo ra 1 bộ thư viện thể

hiện giao diện của riêng mình, có thể dễ dàng mang sử dụng sang cho các chương trình

khác.

1.5.3.2. Tính dễ bảo trì :

Chương trình được thiết kế theo mô hình 3 lớp : giao diện, xử lý, dữ liệu bất

cứ 1 thay đổi, chỉnh sửa có thể dễ dàng phát hiện và thay đổi.

1.5.3.3. Tính dễ mang chuyển :

Chương trình thiết kế gồm 3 lớp và thư viện liên kết động được sắp xếp hợp lý

để có thể dễ dàng mang chuyển.

Chương trình được viết thành 3 môđun, môđun OnThiTNToan chứa những

thành phần chung của 2 môđun PhanHeHocSinh và PhanHeGiaoVien.

Page 23: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 14 -

Chương 2 Phân tích

Chương này mô tả quá trình phân tích đề tài, gồm :

Sơ đồ sử dụng

Sơ đồ luồng dữ liệu

Sơ đồ lớp

Page 24: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 15 -

2.1. Sơ đồ sử dụng

Hình 2-1 Sơ đồ sử dụng

Danh sách các yêu cầu: STT Tên nghiệp vụ Ý nghĩa Ghi chú

1 Soạn lý thuyết Giáo viên soạn lý thuyết cho học sinh xem.

2 Soạn bài tập Giáo viên soạn bài tập mẫu cho học sinh xem.

3 Phát sinh bài tập Phần mềm phát sinh bài tập theo yêu cầu của giáo viên và

Page 25: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 16 -

học sinh.

4 Phát sinh bài giải Phần mềm phát sinh bài giải theo yêu cầu của giáo viên và học sinh.

5 Soạn câu trắc nghiệm Giáo viên soạn các đề thi trắc nghiệm.

6 Phát sinh đề thi trắc nghiệm Từ ngân hàng câu hỏi, giáo viên phát sinh ra các đề thi trắc nghiệm theo ý mình.

7 Xem lý thuyết Học sinh có thể xem lý thuyết mà giáo viên đã soạn.

8 Xem bài tập mẫu Học sinh có thể xem các bài giải mẫu mà giáo viên đã soạn.

9 Làm bài tự luận Học sinh làm bài tự luận theo đề bài do phần mềm phát sinh, do giáo viên cho hoặc tự nghĩ ra.

10 Làm bài trắc nghiệm Học sinh làm bài trắc nghiệm theo các bộ đề do giáo viên gửi đến hoặc do phần mềm phát sinh từ ngân hàng đề thi.

11 Chấm bài trắc nghiệm Phần mềm hỗ trợ chấm bài trắc nghiệm cho học sinh, để học sinh biết mình làm bài được đến mức độ nào.

Bảng 2-1 Danh sách các usecase

Page 26: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 17 -

2.2. Sơ đồ luồng dữ liệu

2.2.1. Soạn lý thuyết

Người dùng

Soạn lý thuyết

D1 D2

D4 D3

D1 : Yêu cầu soạn lý thuyết, thông tin về bài lý

thuyết cần chỉnh sửa (nếu có).

D2 : Thông báo việc lưu trữ thành công hay không.

D3 : Bài lý thuyết (chương, lớp, tên bài, nội dung).

D4 : Bài lý thuyết sau khi đã soạn hoặc chỉnh sửa.

Xử lý:

Nhấn nút chức năng soạn lý thuyết để yêu cầu soạn lý thuyết.

Tìm kiếm và lấy bài lý thuyết được yêu cầu chỉnh sửa (nếu có yêu cầu).

Nhập văn bản. Lưu bài lý thuyết. Xuất D2.

2.2.2. Soạn bài tập mẫu

Người dùng

Soạn bài tập mẫu

D1 D2

D4 D3

D1 : yêu cầu soạn bài tập mẫu, thông tin về bài tập cần chỉnh sửa (mã, chương, lớp).

D2 : thông báo việc lưu trữ thành công hay không. D3 : Bài tập mẫu (chương, lớp, tên bài, nội dung). D4 : D3 sau khi đã soạn. Xử lý: Nhấn nút chức năng soạn bài tập mẫu. Tìm kiếm và lấy bài tập mẫu được yêu cầu chỉnh sửa Nhập văn bản. Lưu bài tập mẫu. Xuất D2.

Page 27: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 18 -

2.2.3. Phát sinh bài tập

D1: thông tin về bài tập (dạng bài tập).

D2 : bài tập theo D1

Xử lý :

Nhập D1 và kiểm tra tính hợp lệ của D1 ( dạng bài

tập phải nằm trong những dạng đã quy định sẵn).

Phát sinh D2 theo nguyên tắc : phát sinh ngẫu nhiên

các tham số.

Xuất D2.

2.2.4. Phát sinh bài giải

D1 : bài tập (phải theo những dạng đã quy định sẵn ).

D2 : bài giải.

Xử lý :

Nhập D1 và kiểm tra tính hợp lệ của D1 ( bài

tập phải theo những dạng đã quy định sẵn).

Phát sinh bài giải tương ứng với từng dạng.

Xuất D2.

2.2.5. Soạn câu trắc nghiệm

D1 : yêu cầu soạn câu trắc nghiệm và thông tin về

câu trắc nghiệm cần chỉnh sửa (mã).

D2 : thông báo việc lưu trữ thành công hay không.

D3 : câu trắc nghiệm (chương, lớp, mức độ, mã,

câu hỏi, các câu trả lời, nội dung).

D4 : D3 sau khi đã soạn.

Page 28: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 19 -

Người dùng

Soạn câu trắc nghiệm

D1 D2

D4 D3

Xử lý:

Nhấn nút chức năng soạn câu trắc nghiệm.

Tìm kiếm và câu trắc nghiệm được yêu cầu

chỉnh sửa (nếu có).

Nhập câu trắc nghiệm.

Lưu câu trắc nghiệm.

Xuất D2.

2.2.6. Phát sinh đề thi trắc nghiệm

Người dùng

Phát sinh đề thi trắc nghiệm

D1 D2

D3

D1 : yêu cầu phát sinh đề thi trắc nghiệm ( số câu

trong đề thi, mức độ khó dễ, các câu trắc nghiệm nằm

trong những chương nào).

D2 : đề thi trắc nghiệm ( các câu trắc nghiệm, thời

gian, tên đề thi).

D3 : thông tin về các câu trắc nghiệm.

Xử lý :

Nhận được D1 và kiểm tra tính hợp lệ của

D1 ( số câu trong đề thi phải > 0, số câu trong đề < số

câu trong cơ sở dữ liệu).

Lấy D3, sắp xếp các câu một cách ngẫu

nhiên.

Xuất D2.

Page 29: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 20 -

2.2.7. Xem lý thuyết

Người dùng

Xem lý thuyết

D1 D2

D3

D1 : yêu cầu xem lý thuyết và thông tin về bài lý thuyết

cần xem (chương, tên bài).

D2 : bài lý thuyết (mã, chương, lớp, tên bài, nội dung).

D3 : bài lý thuyết.

Xử lý:

Nhận D1 vào và kiểm tra tính hợp lệ của D1(tên

chương và tên bài phải tồn tại).

Lấy bài lý thuyết theo thông tin của D1.

Xuất D2.

2.2.8. Xem bài tập mẫu

Người dùng

Xem bài tập mẫu

D1 D2

D3

D1 : yêu cầu xem bài tập mẫu và thông tin về bài tập

mẫu cần xem (chương, mã, lớp).

D2 : bài tập mẫu (mã, chương, lớp, đề bài, bài làm).

D3 : bài tập mẫu.

Xử lý:

Nhận D1 vào và kiểm tra tính hợp lệ của

D1(tên chương và mã phải tồn tại).

Lấy bài tập mẫu theo thông tin của D1.

Xuất D2.

Page 30: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 21 -

2.2.9. Thi tự luận

Người dùng

Làm bài tự luận

D1 D2

D4 D3

D1 : mã bài tập tự luận.

D2 : bài tập tự luận.

D3 : bài tập tự luận.

D4 : bài làm của học sinh ( tập tin văn bản ).

Xử lý:

Nhận D1 và kiểm tra tính hợp lệ của D1.

Xuất bài tập tự luận.

Kiểm tra thời gian làm bài.

Lưu bài làm.

2.2.10. Làm bài trắc nghiệm

Người dùng

Làm bài trắc nghiệm

D1 D2

D4 D3

D1 : yêu cầu làm bài trắc nghiệm, mã đề thi.

D2 : đề thi trắc nghiệm (các câu hỏi và các câu trả lời

ứng với từng câu hỏi, thời gian làm bài).

D3 : đề thi trắc nghiệm (các câu hỏi và các câu trả lời

ứng với từng câu hỏi, thời gian làm bài).

D4 : bài làm (các câu trả lời ứng với từng câu hỏi).

Xử lý :

Nhận D1 và kiểm tra tính hợp lệ của D1.

Xuất đề thi trắc nghiệm.

Kiểm tra thời gian làm bài.

Lưu bài thi.

Page 31: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 22 -

2.2.11. Chấm bài trắc nghiệm

Người dùng

Làm bài trắc nghiệm

D1 D2

D3

D1 : yêu cầu chấm điểm thi trắc nghiệm, bài làm.

D2 : điểm thi của bài làm.

D3 : đáp án của đề thi.

Xử lý :

Lấy đáp án của đề thi từ bộ nhớ.

Dựa trên đáp án, chấm điểm bài thi.

Xuất điểm số.

Page 32: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 23 -

2.3. Sơ đồ lớp

Hình 2-2 Sơ đồ lớp

Page 33: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 2. Phân tích

- 24 -

Danh sách các lớp đối tượng:

STT Tên lớp Ý nghĩa Ghi chú 1 LyThuyet Thể hiện cho một bài lý thuyết.

2 DSLyThuyet Danh sách các bài lý thuyết.

3 BaiTapMau Thể hiện cho một bài tập mẫu.

4 DSBaiTapMau Danh sách các bài tập mẫu.

5 BaiTapTuLuan Thể hiện cho một bài tập tự luận. Cho các dạng Toán đã quy định sẵn.

6 CauTracNghiem Thể hiện cho một câu trắc nghiệm.

7 DanhSachCauTN Danh sách các câu trắc nghiệm.

8 ThamSo Thể hiện cho tham số trong chương trình.

9 HamSo Thể hiện cho dạng toán khảo sát và vẽ đồ thị hàm số.

10 HamHuuTi Thể hiện hàm số dạng hữu tỉ.

11 HamDaThuc Thể hiện hàm số dạng đa thức.

12 DaoHam Thể hiện cho dạng toán tính đạo hàm.

13 KhongGian Thể hiện cho dạng toán trong không gian toạ độ.

14 MatPhang Thể hiện cho dạng toán trong mặt phẳng toạ độ.

Không tính khảo sát và vẽ đồ thị hàm số.

Bảng 2-2 Danh sách các lớp đối tượng

Page 34: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 25 -

Chương 3 Thiết kế

Chương này mô tả quá trình thiết kế đề tài, gồm :

Sơ đồ kiến trúc tổng thể

Chi tiết tổ chức lưu trữ đối tượng

Thiết kế các lớp đối tượng xử lý thể hiện

Thiết kế các đối tượng xử lý nghiệp vụ

Sơ đồ phối hợp hoạt động

Page 35: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 26 -

3.1. Sơ đồ kiến trúc tổng thể

MH_Chinh

MH_SoanDeTracNghiemMH_BieuThucToan MH_NhapCauTN MH_DieuKienPhatSinhDethiTN

MH_SoanBaiTapMau MH_LyThuyet MH_DoThiHamSo MH_KhongGianMatPhang

MH_DaoHam TH_BaiTapMau TH_CayDanhMuc TH_ThoiGian

TH_CauTracNghiem

TH_LyThuyet TH_BangBienThienTH_DoThi

TH_LyThuyetChinh TH_BaiTapChinh

TH_TracNghiemChinh

MH_ThiTracNghiem MH_SoanCauTracNghiem

CauTracNghiem LyThuyet BaiTapMau DeThiTracNghiem

BIEUTHUC XL_KhongGianToaDo XL_MatPhangToaDo HAMSO

DSLyThuyet DanhSachCauTN DSBaiTapMau DSDeThiTracNghiem

Bộ nhớ phụ

CUCTRI

DATHUC

GIOIHAN

KHOANG_GIA_TRI

NGHIEM_PTB2

PropertyBag

DIEM_KG

DUONGTHANG_KG

MAT_CAU

MAT_PHANG_KG

TU_DIEN

VECTOR_KG

DIEM_MP

DUONG_THANG_MP

DUONG_TRON_MP

ELLIPSE

HYPERBOL

VECTOR_MP

THAMSO

THUVIEN

BaiTapTuLuan

Người dùng

PHANSO

TH_ManHinhChinh

TH_LyThuyetChinh TH_BaiTapChinh

TH_TracNghiemChinh

TH_ManHinhChinh

TH_CauTN

TH_CauTracNghiem TH_CauTracNghiemTH_CauTracNghiem

PhânHệ họcsinh

PhânHệ giáoviên

MH_ThamSoMH_ThuVien

Hình 3-1 Sơ đồ kiến trúc tổng thể

Page 36: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 27 -

Danh sách các lớp thể hiện

STT Tên lớp Ý nghĩa 1 MH_Chinh Màn hình chính.

2 MH_BieuThucToan Màn hình nhập biểu thức Toán.

3 MH_SoanDeTracNghiem Màn hình Soạn Đề trắc nghiệm.

4 MH_NhapCauTN Màn hình nhập câu trắc nghiệm từ tập tin.

5 MH_DieuKienPhatSinhDethiTN Màn hình nhập các tiêu chuẩn phát sinh đề trắc nghiệm.

6 MH_SoanBaiTapMau Màn hình soạn bài tập mẫu.

7 MH_LyThuyet Màn hình soạn bài lý thuyết.

8 MH_HamSo Màn hình vẽ đồ thị hàm số.

9 MH_KhongGianMatPhang Màn hình làm bài, phát sinh, giải các bài tập có liên quan tới Không Gian, Mặt Phẳng.

10 MH_DaoHam Màn hình giải bài tập Đạo hàm.

11 TH_BaiTapMau UserControl thể hiện bài tập mẫu.

12 TH_CayDanhMuc UserControl thể hiện cây danh mục.

13 TH_ThoiGian UserControl thể hiện thời gian.

14 MH_InAn Màn hình để in ấn.

15 TH_LyThuyet UserControl thể hiện bài lý thuyết.

Page 37: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 28 -

16 TH_BangBienThien UserControl thể hiện bảng biến thiên.

17 TH_DoThi

UserControl thể hiện đồ thị hàm số.

18 TH_CauTracNghiem

UserControl thể hiện câu trắc nghiệm.

19 TH_CauTN

Lớp ảo là cha của 3 lớp : TH_CauTracNghiem1, TH_CauTracNghiem2, Th_CauTracNghiem3.

20 TH_CauTracNghiem1

UserControl thể hiện câu trắc nghiệm dạng 1.

21 TH_CauTracNghiem2

UserControl thể hiện câu trắc nghiệm dạng 2.

22 TH_CauTracNghiem3

UserControl thể hiện câu trắc nghiệm dạng 3.

23 TH_ManHinhChinh

Lớp ảo là cha của 3 lớp : TH_LyThuyetChinh, TH_BaiTapChinh, TH_TracNghiemChinh.

24 TH_LyThuyetChinh

UserControl thể hiện màn hình lý thuyết chính.

25 TH_BaiTapChinh

UserControl thể hiện màn hình bài tập chính.

26 TH_TracNghiemChinh

UserControl thể hiện màn hình trắc nghiệm chính.

27 MH_ThiTracNghiem

Màn hình thi trắc nghiệm.

28 MH_SoanCauTracNghiem

Màn hình soạn câu trắc nghiệm.

Bảng 3-1 Danh sách các lớp thể hiện

Page 38: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 29 -

Danh sách các lớp xử lý STT Tên lớp Ý nghĩa

1 CauTracNghiem

Lớp câu trắc nghiệm.

2 LyThuyet

Lớp lý thuyết.

3 BaiTapMau

Lớp bài tập mẫu.

4 DeThiTracNghiem

Lớp đề thi trắc nghiệm.

5 BaiTapTuLuan

Lớp bài tậ tự luận.

6 BIEU_THUC

Lớp biểu thức.

7 XL_KhongGianToaDo

Lớp Không gian toạ độ.

8 XL_MatPhangToaDo

Lớp Mặt phẳng toạ độ.

9 HAMSO

Lớp Hàm số.

10 THAMSO

Lớp Tham số.

11 THUVIEN

Lớp Thư viện.

12 PHANSO

Lớp Phân số.

13 DIEM_KG

Lớp Điểm trong không gian.

14 DUONGTHANG_KG

Lớp Đường thẳng trong không gian.

15 MAT_CAU

Lớp Mặt cầu.

Page 39: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 30 -

16 MAT_PHANG_KG

Lớp Mặt phẳng trong không gian.

17 TU_DIEN

Lớp Tứ diện.

18 VECTOR_KG

Lớp Vector trong không gian.

19 DIEM_MP

Lớp Điểm trong mặt phẳng toạ độ.

20 DUONG_THANG_MP

Lớp Đường thẳng trong mặt phẳng toạ độ.

21 DUONG_TRON_MP

Lớp Đường tròn trong mặt phẳng toạ độ.

22 ELLIPSE

Lớp Ellispe trong mặt phẳng toạ độ.

23 HYPERBOL

Lớp Hyperbol trong mặt phẳng toạ độ.

24 VECTOR_MP

Lớp Vector trong trong mặt phẳng toạ độ.

25 CUCTRI

Lớp cực trị.

26 DATHUC

Lớp Đa Thức.

27 GIOIHAN

Lớp Giới hạn.

28 KHOANG_GIA_TRI

Lớp khoảng giá trị.

29 NGHIEM_PTB2

Lớp nghiệm phương trình bậc 2.

30 PropertyBag

Bảng 3-2 Danh sách các lớp xử lý

Page 40: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 31 -

Danh sách các lớp lưu trữ

STT Tên lớp Ý nghĩa

1 DSLyThuyet

Lớp danh sách lý thuyết.

2 DanhSachCauTN

Lớp danh sách câu trắc nghiệm.

3 DSBaiTapMau

Lớp danh sách bài tập mẫu.

4 DSDeThiTracNghiem

Lớp danh sách đề thi trắc nghiệm.

Bảng 3-3 Danh sách các lớp lưu trữ

Danh sách các lớp con của lớp XL_KhongGianToaDo:

STT Tên lớp Ý nghĩa

1 KhoangCachGiua2DuongThang Lớp xử lý cho dạng toán tính khoảng

cách giữa 2 đường thẳng.

2 TinhDienTichMatCau Lớp xử lý cho dạng toán tính diện tích

mặt cầu.

3 TinhDienTichTamGiac Lớp xử lý cho dạng toán tính diện tích

tam giác.

4 TinhKhoangCachTu1DiemDen

1MatPhang

Lớp xử lý cho dạng toán tính khoảng

cách từ 1 điểm đến 1 mặt phẳng.

5 TinhTheTichCuaTuDien Lớp xử lý cho dạng toán tính thể tích

Page 41: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 32 -

của tứ diện.

6 TinhTheTichMatCau Lớp xử lý cho dạng toán tính thể tích

mặt cầu.

7 TinhVectorTuToaDoCacDiem Lớp xử lý cho dạng toán tính vector từ

toạ độ các điểm.

8 VietPhuongTrinhDuongThang

ChinhTac

Lớp xử lý cho dạng toán viết phương

trình đường thẳng chính tắc.

9 VietPhuongTrinhDuongThang

ThamSo

Lớp xử lý cho dạng toán viết phương

trình đường thẳng tham số.

10 VietPhuongTrinhDuongThang

TongQuat

Lớp xử lý cho dạng toán viết phương

trình đường thẳng tổng quát.

11 VietPhuongTrinhDuongThang

VuongGocVoi2DuongThang

CheoNhau

Lớp xử lý cho dạng toán viết phương

trình đường thẳng vuông góc với 2

đường thẳng chéo nhau.

12 VietPhuongTrinhMatPhang Lớp xử lý cho dạng toán viết phương

trình mặt phẳng.

13 VietPhuongTrinhMatPhang

ThamSo

Lớp xử lý cho dạng toán viết phương

trình mặt phẳng tham số.

14 ViTriTuongDoiGiua2MatPhang Lớp xử lý cho dạng toán tìm vị trí

tương đối giữa 2 mặt phẳng.

Bảng 3-4 Danh sách các lớp con của XL_KhongGianToaDo

Page 42: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 33 -

Danh sách các lớp con của lớp XL_MatPhangToaDo:

STT Tên lớp Ý nghĩa

1 TimToaDoGiaoDiemGiuaCacDuong Lớp xử lý cho dạng toán tìm tọa

độ giao điểm giữa 2 đường

thẳng.

2 VietPhuongTrinhDuongThangChinhTac Lớp xử lý cho dạng toán viết

phương trình đường thẳng chính

tắc.

3 VietPhuongTrinhDuongThangQua1Diem

VaSongSongVoiDuongThangChoTruoc

Lớp xử lý cho dạng toán viết

phương trình đường thẳng qua 1

điểm và song song với đường

thẳng cho trước.

4 VietPhuongTrinhDuongThangQua1Diem

VaVuongGocVoiDuongThangChoTruoc

Lớp xử lý cho dạng toán viết

phương trình đường thẳng qua 1

điểm và vuông góc với đường

thẳng cho trước.

5 VietPhuongTrinhDuongThangThamSo Lớp xử lý cho dạng toán viết

phương trình đường thẳng tham

số.

6 VietPhuongTrinhDuongThangTongQuat Lớp xử lý cho dạng toán viết

phương trình đường thẳng tổng

quát.

7 VietPhuongTrinhDuongTron Lớp xử lý cho dạng toán viết

phương trình đường tròn.

8 VietPhuongTrinhTiepTuyenQua1Diem Lớp xử lý cho dạng toán viết

Page 43: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 34 -

NgoaiDuongTron phương trình tiếp tuyến qua 1

điểm ngoài đường tròn.

9 VietPhuongTrinhTiepTuyenQua1Diem

ThuocDuongTron

Lớp xử lý cho dạng toán viết

phương trình tiếp tuyến qua 1

điểm thuộc đường tròn.

10 XacDinhViTriTuongDoiGiua2DuongTron Lớp xử lý cho dạng toán xác

định vị trí tương đối giữa 2

đường tròn.

11 KTDuongThangTiepXucVoiEllipse Lớp xử lý cho dạng toán kiểm

tra đường thẳng tiếp xúc với

Ellipse.

12 PhuongTrinhHinhChuNhatCoSoEllipse Lớp xử lý cho dạng toán viết

phương trình hình chữ nhật cơ

sở cho Ellipse.

13 TimTamSaiEllipse Lớp xử lý cho dạng toán tìm

tâm sai của Ellipse.

14 TimTieuCuEllipse Lớp xử lý cho dạng toán tìm

tiêu cự của Ellipse.

15 TimTieuDiemEllipse Lớp xử lý cho dạng toán tìm

tiêu điểm của Ellipse

16 VietPhuongTrinhDuongChuanEllipse Lớp xử lý cho dạng toán viết

phương trình đường chuẩn của

Ellipse.

17 DKDuongThangTiepXucVoiHyperbol Lớp xử lý cho dạng toán kiểm

tra đường thẳng tiếp xúc với

Hyperbol.

Page 44: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 35 -

18 PhuongTrinhHinhChuNhatCoSoHyperbol Lớp xử lý cho dạng toán viết

phương trình hình chữ nhật cơ

sở cho Hyperbol.

19 TimTamSaiHyperbol Lớp xử lý cho dạng toán tìm

tâm sai của Hyperbol.

20 TimTieuCuHyperbol Lớp xử lý cho dạng toán tìm

tiêu cự của Hyperbol.

21 TimTieuDiemHyperbol Lớp xử lý cho dạng toán tìm

tiêu điểm của Hyperbol

22 VietPhuongTrinhDuongChuanHyperbol Lớp xử lý cho dạng toán viết

phương trình đường chuẩn của

Hyperbol.

Bảng 3-5 Danh sách các lớp con của XL_MatPhangToaDo

Danh sách các lớp con của lớp HAM_SO:

STT Tên lớp Ý nghĩa

1 HAM_DATHUC Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm đa thức.

2 HAM_DATHUC_BAC1 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm đa thức bậc 1.

3 HAM_DATHUC_BAC2 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm đa thức bậc 2.

4 HAM_DATHUC_BAC3 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm đa thức bậc 3.

5 HAM_DATHUC_BAC4 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm đa thức bậc 4.

Page 45: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 36 -

6 HAM_HUUTI Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ.

7 HAMHUUTI_0_1 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ bậc 0 trên bậc 1.

8 HAMHUUTI_0_2 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ bậc 0 trên bậc 2.

9 HAMHUUTI_1_1 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ bậc 1 trên bậc 1.

10 HAMHUUTI_1_2 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ bậc 1 trên bậc 2.

11 HAMHUUTI_2_1 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ bậc 2 trên bậc 1.

12 HAMHUUTI_2_2 Lớp xử lý cho dạng toán khảo sát và vẽ đồ

thị hàm hữu tỉ bậc 2 trên bậc 2.

Bảng 3-6 Danh sách các lớp con của lớp HAMSO

Danh sách các lớp con của lớp BIEUTHUC:

STT Tên lớp Ý nghĩa

1 BIEU_THUC_1_NGOI Thể hiện của biểu thức 1 ngôi. Biểu thức

1 ngôi là những biểu thức dưới căn, trong

biểu thức cos, sin, tg, totg, ln.

2 BIEU_THUC_CAN Là biểu thức căn của 1 biểu thức.

3 BIEU_THUC_COS Là biểu thức cos của 1 biểu thức.

4 BIEU_THUC_COTG Là biểu thức cotg của 1 biểu thức.

Page 46: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 37 -

5 BIEU_THUC_LN Là biểu thức ln của 1 biểu thức.

6 BIEU_THUC_SIN Là biểu thức sin của 1 biểu thức.

7 BIEU_THUC_TG Là biểu thức tg của 1 biểu thức.

8 BIEU_THUC_2_NGOI Thể hiện của biểu thức 2 ngôi. Biểu thức

2 ngôi là những biểu thức được tạo thành

từ 2 biểu thức khác.

9 BIEU_THUC_CHIA Là biểu thức được tạo thành bằng cách lấy

2 biểu thức chia cho nhau.

10 BIEU_THUC_NHAN Là biểu thức được tạo thành bằng cách lấy

2 biểu thức nhân với nhau.

11 BIEU_THUC_CONG Là biểu thức được tạo thành bằng cách lấy

2 biểu thức cộng với nhau.

12 BIEU_THUC_TRU Là biểu thức được tạo thành bằng cách lấy

2 biểu thức trừ cho nhau.

13 BIEU_THUC_U_MU_V Là biểu thức được tạo thành bằng cách lấy

1 biểu thức luỹ thức luỹ thừa 1 biểu thức

còn lại.

14 DON_THUC Là biểu thức chỉ bao gồm biến và hằng số.

15 HANG_SO Là biểu thức chỉ bao gồm hằng số.

Bảng 3-7 Danh sách các lớp con của lớp BIEUTHUC

Page 47: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 38 -

3.2. Chi tiết tổ chức lưu trữ đối tượng

3.2.1. Câu trắc nghiệm <?xml version = “1.0” standalone=”yes”?>

<!DOCTYPE DanhSachCauTracNghiem[

<!ELEMENT DanhSachCauTracNghiem (CauTracNghiem)* >

<!ELEMENT CauTracNghiem (CauHoi, HuongDan, CauTraLoi*)>

<!ELEMENT CauHoi (#PCDATA) >

<!ELEMENT HuongDan (#PCDATA) >

<!ELEMENT CauTraLoi (#PCDATA) >

<!ATTLIST CauTracNghiem

Ma CDATA #REQUIRED

Chuong CDATA #REQUIRED

Lop CDATA #REQUIRED

MucDo CDATA #REQUIRED >

<!ATTLIST CauTraLoi

DapAn CDATA #REQUIRED >

]>

Ví dụ : <DanhSachCauTracNghiem>

<CauTracNghiem Ma="Cb6184343-9" Chuong="Số học" Lop="10" Mucdo="4">

<CauHoi><![CDATA[1+1=?]]></CauHoi>

<HuongDan><![CDATA[1+1=2]]></HuongDan>

<CauTraLoi DapAn="1"><![CDATA[0]]></CauTraLoi>

<CauTraLoi DapAn="0"><![CDATA[1]]></CauTraLoi>

<CauTraLoi DapAn="0"><![CDATA[2]]></CauTraLoi>

<CauTraLoi DapAn="0"><![CDATA[3]]></CauTraLoi>

</CauTracNghiem>

...................................................

</DanhSachCauTracNghiem>

Page 48: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 39 -

3.2.2. Lý thuyết <?xml version = “1.0” standalone=”yes”?>

<!DOCTYPE DanhSachLyThuyet[

<!ELEMENT DanhSachLyThuyet (BaiHoc)* >

<!ELEMENT BaiHoc (#PCDATA) >

<!ATTLIST BaiHoc

TenBai CDATA #REQUIRED

Chuong CDATA #REQUIRED

Lop CDATA #REQUIRED

DuongDan CDATA #REQUIRED >

]>

Ví dụ : <DanhSachLyThuyet>

<BaiHoc TenBai="Hàm số" Chuong="Hình học phẳng" Lop="10"

DuongDan="DuLieu\LyThuyet\Lop10\Bai8ece8bb3-7" />

<BaiHoc TenBai="Tích phân" Chuong="Tích phân" Lop="12"

DuongDan="DuLieu\LyThuyet\Lop12\Bai698075f6-c" />

...........................................................

</DanhSachLyThuyet>

3.2.3. Bài Tập Mẫu <?xml version = “1.0” standalone=”yes”?>

<!DOCTYPE DanhSachBaiTap[

<!ELEMENT DanhSachBaiTap (BaiTap)* >

<!ELEMENT BaiTap (Cau)* >

<!ELEMENT Cau (Buoc)* >

<!ELEMENT Buoc (#PCDATA) >

<!ATTLIST BaiTap

Ma CDATA #REQUIRED

Chuong CDATA #REQUIRED

DeBai CDATA #REQUIRED >

]>

Page 49: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 40 -

Ví dụ : <DanhSachBaiTap>

<BaiTap Chuong="Số học" DeBai="1+1+3=?" Ma="BTe34aef0f-3">

<Cau>

<Buoc><![CDATA[1+1=2]]></Buoc>

<Buoc><![CDATA[2+3=5]]></Buoc>

</Cau>

</BaiTap>

...............................................................

</DanhSachBaiTap>

3.2.4. Đề thi trắc nghiệm <?xml version = “1.0” standalone=”yes”?>

<!DOCTYPE DanhSachDeThiTracNghiem [

<!ELEMENT DanhSachDeThiTracNghiem (DeThi)* >

<!ELEMENT DeThi (CauTracNghiem)* >

<!ELEMENT CauTracNghiem (CauHoi, HuongDan, CauTraLoi*) >

<!ELEMENT CauHoi (#PCDATA) >

<!ELEMENT HuongDan (#PCDATA) >

<!ELEMENT CauTraLoi (#PCDATA) >

<!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 >

]>

Page 50: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 41 -

Ví dụ : <DanhSachDeThiTracNghiem>

<DeThi Ma="6f335bca-2" Ten="Kiểm tra" ThoiGian="10">

<CauTracNghiem Ma="Cb6184343-9" Chuong="Số học" Lop="10"

Mucdo="4">

<CauHoi><![CDATA[1+1=?]]></CauHoi>

<HuongDan><![CDATA[1+1=2]]></HuongDan>

<CauTraLoi DapAn="1"><![CDATA[0]]></CauTraLoi>

<CauTraLoi DapAn="0"><![CDATA[1]]></CauTraLoi>

<CauTraLoi DapAn="0"><![CDATA[2]]></CauTraLoi>

<CauTraLoi DapAn="0"><![CDATA[3]]></CauTraLoi>

</CauTracNghiem>

<CauTracNghiem Ma="C0e80f80e-c" Chuong="Số học" Lop="10"

Mucdo=”1”>

.....................................................

</CauTracNghiem>

</DeThi>

<DeThi>

........................................................

</DeThi>

..........................................................

</DanhSachDeThiTracNghiem>

Page 51: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 52: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 53: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 54: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 55: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 56: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 57: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 58: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 59: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 60: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 61: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 62: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 63: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 64: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 65: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 66: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 67: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 68: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 69: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 70: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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ú

Page 71: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 72: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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 độ.

Page 73: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 74: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 75: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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ú

Page 76: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 77: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 78: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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 CauTracNghiemA_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.

Page 79: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 80: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 81: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 82: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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 CauTracNghiemA_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

Page 83: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 84: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 85: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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ị.

Page 86: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 87: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 88: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 89: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 90: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 91: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 92: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 93: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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

Page 94: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 95: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

Page 96: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

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.

3 btnThem A_Button Thêm vào thư viện. 4 btnXoa A_Button Xoá khỏi thư viện. 5 btnCapNhat A_Button Cập nhật thư viện. 6 btnThoat A_Button Thoát khỏi màn hình.

Danh sách các đối tượng xử lý

Danh sách các biến cố

Bảng 3-27 Các bảng mô tả màn hình Thư viện

STT Tên Loại/Kiểu Ý nghĩa Ghi chú 1 _ThuVien ThuVien Thư viện.

STT Thể hiện Loại biến cố

Xử lý Ghi chú

1 btnThem : A_Button

A_Click Thêm vào thư viện chuỗi vừa nhập trong rtbNoiDung

2 btnXoa : A_Button

A_Click Xoá khỏi thư viện chuỗi được chọn.

3 btnCapNhat : A_Button

A_Click Cập nhật chuỗi được chọn.

4 btnThoat : A_Button

A_Click Thoát khỏi màn hình.

5 treeThuVien : A_TreeView

A_Click Hiển thị chuỗi được chọn vào rtbNoiDung.

6 MH_ThuVien: A_Form

A_Load Hiển thị danh sách các chuỗi trong thư viện.

Page 97: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 88 -

3.3.3.21. Màn hình Tham Số Màn hình này có chức năng chỉnh sửa tham số của chương trình.

Hình 3-24 Màn hình thư viện

Danh sách các đối tượng thể hiện

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 gridBangThamSo A_Grid Hiển thị danh sách các tham

số.

2 btnCapNhat A_Button Cập nhật bảng tham số.

3 btnThoat A_Button Thoát khỏi màn hình.

Page 98: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 89 -

Danh sách các đối tượng xử lý

Danh sách các biến cố

Bảng 3-28 Các bảng mô tả màn hình Thư viện

3.3.4. Các màn hình của phân hệ học sinh 3.3.4.1. Thể hiện Lý Thuyết Chính

Đây là UserControl dùng để gọi tới những chức năng Soạn Lý thuyết

Hình 3-25 Thể hiện Lý Thuyết

STT Tên Loại/Kiểu Ý nghĩa Ghi chú 1 _ThamSo ThamSo Tham số.

STT Thể hiện Loại biến cố

Xử lý Ghi chú

1 btnCapNhat : A_Button

A_Click Cập nhật lại toàn bộ bảng tham số.

2 btnThoat : A_Button

A_Click Thoát khỏi màn hình.

Page 99: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 90 -

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 lblLyThuyet A_Lable Tiêu đề cho chức năng soạn

lý thuyết.

Danh sách các biến cố

Bảng 3-29 Các bảng mô tả thể hiện Lý Thuyết Chính_ Học sinh 3.3.4.2. Thể hiện Bài tập chính

Đây là Usercontrol dùng để gọi tới những chức năng có liên quan tới bài tập như giải bài tập : Khảo sát và vẽ đồ thị hàm số, tính đạo hàm, các bài toán liên quan tới Không gian, Mặt phẳng, soạn bài tập mẫu.

Hình 3-26 Thể hiện Bài Tập Chính

STT Thể hiện Loại biến cố Xử lý Ghi chú 1 lblLyThuyet:

A_Lable A_Click Hiển thị màn hình Soạn Lý

Thuyết.

Page 100: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 91 -

Danh sách các đối tượng thể hiện

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 lblSoanBTMau A_Label Tiêu đề cho chức năng

soạn bài tập mẫu.

2 lblDoThiHamSo A_Label Tiêu để cho chức năng

khảo sát và vẽ đồ thị hàm

số.

3 lblDaoHam A_Label Tiêu đề cho chức năng

tính đạo hàm.

4 lblKhongGiaMatPhang A_Label Tiêu đề cho chức năng

giải các bài toán liên quan

tới không gian và mặt

phẳng.

Danh sách các biến cố

Bảng 3-30 Các bảng mô tả thể hiện Bài Tập Chính _Học sinh

STT Thể hiện Loại biến

cố

Xử lý Ghi chú

1 lblDoThiHamSo :

A_Label

A_Click Hiển thị màn hình Khảo sát

và vẽ đồ thị hàm số.

2 lblDaoHam :

A_Label

A_Click Hiển thị màn hình tính đạo

hàm..

3 lblKhongGiaMatPhang

: A_Label

A_Click Hiển thị màn hình giải toán

không gian, mặt phẳng.

4 lblSoanBaiTapMau:

A_Label

A_Click Hiển thị màn hình soạn bài

tập mẫu.

Page 101: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 92 -

3.3.4.3. Thể hiện Trắc nghiệm Chính Đây là UserControl dùng để gọi tới chức năng có liên quan tới trắc nghiệm, gồm :

Soạn đề trắc nghiệm, Nhập câu trắc nghiệm, thi trắc nghiệm.

Hình 3-27 Thể hiện Trắc Nghiệm Chính

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 lblSoanDeTN A_Label Tiêu đề cho chức năng soạn

đề trắc nghiệm.

3 lblThiTN A_Label Tiêu đề cho chức năng thi

trắc nghiệm.

4 lblNhapCauTN A_Label Tiêu đề cho chức năng nhập

câu trắn nghiệm.

Page 102: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 93 -

Danh sách các biến cố

Bảng 3-31 Các bảng mô tả thể hiện Trắc Nghiệm Chính

3.3.4.4. Màn hình thi trắc nghiệm Màn hình Thi Trắc Nghiệm hỗ trợ thi trắc nghiệm và chấm điểm trắc nghiệm.

Hình 3-28 Màn hình Thi Trắc Nghiệm

STT Thể hiện Loại biến cố Xử lý Ghi chú

1 lblSoanDeTN

:A_Click

A_Click Hiển thị màn hình Soạn đề trắc

nghiệm.

2 lblThiTN :

A_Click

A_Click Hiển thị màn hình Thi Trắc

Nghiệm.

3 lblNhapCauTN:

A_Click

A_Click Hiển thị màn hình nhập câu trắc

nghiệm.

Page 103: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 94 -

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 Cây danh mục hiển thị danh

sách các đề thi trắc nghiệm.

2 uctThoiGian A_UserControl Hiển thị thời gian làm bài thi trắc nghiệm.

3 gridCauTraLoi A_Grid Hiển thị các câu trả lời của người dùng.

4 uctCauTN A_UserControl Hiển thị thông tin câu trắc nghiệm.

5 rtbNoiDung A_RichTextBox Dùng để nhập câu trả lời (đối với câu hỏi dạng điền từ).

6 btnNhap A_Button Đồng ý nhập câu trả lời.

7 btnBatDau A_Button Bắt đầu làm đề thi trắc nghiệm.

8 btnKetThuc A_Button Dừng làm bài trắc nghiệm và chấm điểm.

9 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 DeThiTN DeThiTracNghiem Đề thi trắc nghiệm hiện tại.

2 DSDeThiTN DSDethiTN Danh sách đề thi trắc nghiệm được hiển thị trong màn hình.

3 MaTranDapAn String [,] Ma trận dùng để lưu các đáp án.

4 imageMaTran Int [,] Ma trận dùng để lưu các hình sẽ hiển thị lên từng cell.

Page 104: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 95 -

Danh sách các biến cố

1 btnThoat:A_Button A_Click Thoát khỏi màn hình giao diện.

2 btnKetThuc:A_Button A_Click Dừng đồng hồ thời gian, so sánh phần bài làm và đáp án để chấm điểm.

3 btnBatDau:A_Button A_Click Lấy đề thi được chọn. Khởi tạo số cột trên gridCauTraLoi phù hợp với số câu trong đề. Chạy đồng hồ thời gian.

4 btnNhap:A_Button A_Click Lấy câu trả lời trong rtbNoiDung và hiển thị lên gridCauTraLoi.

5 gridCauTraLoi: A_Grid

A_Click Hiển thị dấu check lên cell được click.

6 gridCauTraLoi: A_Grid

A_Header Click

Lấy số thứ tự cột được click và hiển thị câu trắc nghiệm trong đề thi ứng với số thứ tự đó lên uctCauTN.

7 MH_ThiTN:A_Form A_Load Load các đề thi có trong dữ liệu lên uctCayDM.

8 uctCayDM: A_UserControl

A_Click Lấy đề thi được chọn và gán cho biến DeThiTN.

STT Thể hiện Loại biến cố

Xử lý Ghi chú

Page 105: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 96 -

Danh sách các hàm xử lý STT Tên hàm Tham

số Kết quả

Xử lý Ghi chú

1 KhoiTaoGrid A_Int A_Int

Khởi tạo số dòng và số cột trong gridCauTraLoi.

2 CapNhatGrid Cập nhật hình ảnh hiển thị trong các cell.

3 CapNhatMaTranDapAn A_Int A_Int

Cập nhật câu trả lời của người dùng vào trong MaTranDapAn.

4 CapNhatMaTranImage A_Int A_Int

Cập nhật hình ảnh tương ứng với câu trả lời vào trong ImageMaTran.

Bảng 3-32 Các bảng mô tả màn hình Thi Trắc Nghiệm

3.3.5. Các màn hình của phân hệ giáo viên 3.3.5.1. Màn hình Lý thuyết Chính

Đây là UserControl gọi tới chức năng Lý Thuyết như Soạn lý Thuyết.

Hình 3-29 Thể hiện Lý Thuyết Chính_Giáo viên

Page 106: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 97 -

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 lblLyThuyet A_Lable Tiêu đề cho chức năng soạn

lý thuyết.

Danh sách các biến cố

Bảng 3-33 Các bảng mô tả thể hiện Lý Thuyết Chính

3.3.5.2. Màn hình bài tập chính Đây là UserControl dùng để gọi tới những chức năng liên quan tới bài tập như

Giải bài tập Đạo Hàm, Khảo sát và vẽ đồ thị Hàm Số, Giải các bài tập trong không

gian, mặt phẳng và soạn bài tập mẫu.

Hình 3-30 Thể hiện Bài Tập Chính_Giáo viên

STT Thể hiện Loại biến cố Xử lý Ghi chú

1 lblLyThuyet :

A_Lable

A_Click Hiển thị màn hình Soạn Lý

Thuyết.

Page 107: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 98 -

Danh sách các đối tượng thể hiện

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

5 lblSoanBTMau A_Label Tiêu đề cho chức năng

soạn bài tập mẫu.

6 lblDoThiHamSo A_Label Tiêu để cho chức năng

khảo sát và vẽ đồ thị hàm

số.

7 lblDaoHam A_Label Tiêu đề cho chức năng

tính đạo hàm.

8 lblKhongGiaMatPhang A_Label Tiêu đề cho chức năng

giải các bài toán liên quan

tới không gian và mặt

phẳng.

Danh sách các biến cố

Bảng 3-34 Các bảng mô tả thể hiện Bài Tập Chính

STT Thể hiện Loại biến

cố

Xử lý Ghi chú

5 lblDoThiHamSo :

A_Label

A_Click Hiển thị màn hình Khảo sát

và vẽ đồ thị hàm số.

6 lblDaoHam :

A_Label

A_Click Hiển thị màn hình tính đạo

hàm..

7 lblKhongGiaMatPhang

: A_Label

A_Click Hiển thị màn hình giải toán

không gian, mặt phẳng.

8 lblSoanBaiTapMau:

A_Label

A_Click Hiển thị màn hình soạn bài

tập mẫu.

Page 108: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 99 -

3.3.5.3. Màn hình trắc nghiệm chính Đây là UserControl dùng để gọi tới những chức năng liên quan tới Trắc Nghiệm

như Soạn Đề Trắc Nghiệm, Soạn Câu Trắc Nghiệm.

Hình 3-31 Thể hiện Trắc Nghiệm Chính_Giáo Viên

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 lblSoanDeTN A_Label Tiêu đề cho chức năng soạn

đề trắc nghiệm.

3 lblThiTN A_Label Tiêu đề cho chức năng thi

trắc nghiệm.

Page 109: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 100 -

Danh sách các biến cố

Bảng 3-35 Các bảng mô tả thể hiện Bài Tập Chính

3.3.5.4. Màn hình Soạn Câu trắc nghiệm : Màn hình Soạn Câu Trắc Nghiệm gồm những chức năng : Soạn, Xoá, Chỉnh Sửa,

Xuất ra tập tin, Nhập từ tập tin, Gửi mail câu trắc nghiệm.

Hình 3-32 Màn hình Soạn Câu Trắc Nghiệm

STT Thể hiện Loại biến cố Xử lý Ghi chú

1 lblSoanDeTN

:A_Click

A_Click Hiển thị màn hình Soạn đề trắc

nghiệm.

2 lblThiTN :

A_Click

A_Click Hiển thị màn hình Thi Trắc

Nghiệm.

Page 110: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 101 -

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_Label 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ủa câu

trắc nghiệm.

4 lblLoaiCauTN A_Label Tiêu đề cho ComboBox loại

câu trắc nghiệm.

5 cmbLoaiCauTN A_ComboBox Hiển thị loại câu trắc nghiệm. Có 3 loại

1, 2, 3.

6 btnLui A_Button Lùi về trước một câu trong

câu danh mục.

7 btnTiep A_Button Tới trước một câu trong cây

danh mục.

8 btnReset A_Button Xoá hết dữ liệu thể hiện trong

uctCauTN.

9 btnCapNhat A_Button Cập nhật câu trắc nghiệm.

10 btnXoa A_Button Xoá câu trắc nghiệm.

11 btnLuu A_Button Lưu câu trắc nghiệm.

12 btnXuatRaFile A_Button Xuất các câu trắc nghiệm ra

tập tin.

13 btnNhapTuFile A_Button Nhập các câu trắc nghiệm từ

tập tin.

14 btnInAn A_Button Hiển thị màn hình in ấn, rồi

cho biên soạn nội dung in ấn.

Page 111: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 102 -

15 btnGuiMail A_Button Gửi mail các câu trắc nghiệm

được chọn.

16 btnThoat A_Button Thoát khỏi màn hình soạn

câu trắc nghiệm.

17 btnXemTruoc A_Button Xem câu trắc nghiệm đã được

định dạng.

Danh sách các đối tượng xử lý

Danh sách các biến cố

1 btnLuu : A_Button

A_Click Lấy câu trắc nghiệm từ uctCauTN và lưu vào dữ liệu.

2 btnCapNhat : A_Button

A_Click Lấy câu trắc nghiệm từ uctCauTN và thay thể câu trắc nghiệm cũ.

3 btnXoa : A_Button

A_Click Lấy mã các câu trắc nghiệm được chọn trên uctCayDM rồi xoá.

4 btnThoat: A_Button

A_Click Thoát khỏi màn hình.

5 btnLui: A_Button

A_Click Lùi về trước một node trong uctCayDM, lấy mã câu trắc nghiệm và hiển thị lên uctCauTN.

6 btnReset : A_Click Xoá trắng các control trong

STT Tên Loại/Kiểu Ý nghĩa Ghi chú

1 DSCauTN DanhSachCauTN Danh sách câu 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ú

Page 112: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 103 -

A_Button uctCauTN.

7 btnTiep: A_Button

A_Click Đi tới trước một node trong uctCayDM, lấy mã câu trắc nghiệm và hiển thị lên uctCauTN.

8 btnXemTruoc : A_Button

A_Click Hiển thị nội dung câu trắc nghiệm đã được định dạng.

9 btnInAn: A_Button

A_Click Lấy mã các câu trắc nghiệm được chọn rồi kết xuất ra màn hình In Ấn để biên soạn trước khi in.

10 btnNhapTuFile: A_Button

A_Click Mở tập tin đã chọn và gọi màn hình nhập câu trắc nghiệm để chỉnh sửa trước khi lưu.

11 btnXuatRaFile: A_Button

A_Click Lấy các câu trắc nghiệm được chọn rồi xuất ra tập tin.

12 btnGuiMail: A_Button

A_Click Lấy các câu trắc nghiệm được chọn, xuất ra tập tin rồi gọi Microsoft Outlook và attach tập tin này vào.

13 uctCayDM: A_TreeView

A_Click Lấy mã câu trắc nghiệm được chọn và hiển thị lên uctCauTN.

14 MH_SoanCauTN:

A_Form

A_Load Load danh sách các chương của các câu trắc nghiệm lên.

15 cmbLoaiCau: A_ComboBox

A_Click Lấy loại câu trắc nghiệm được chọn rồi hiển thị lên uctCauTN (1:Loại 1, 2 : Loại 2, 3:Loại 3).

Bảng 3-36 Các bảng mô tả màn hình Soạn Câu Trắc Nghiệm

Page 113: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 104 -

3.4. Thiết kế các lớp đối tượng xử lý nghiệp vụ 3.4.1. Lý thuyết 3.4.1.1. Lớp LyThuyet

Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeLyThuyet A_XmlNode Node Xml chứa thông tin

về bài lý thuyết

2 NoiDung A_String Chứa nội dung của bài lý

thuyết.

3 KichThuot A_Int Kích thướt của bài lý

thuyết.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 XuatRaTapTin

(A_StreamWriter)

Lưu bài lý thuyết ra tập tin. Cấu

trúc lưu theo thứ tự : tên lớp, tên

chương, tên bài, kích thướt, nội

dung.

2 NhapTuTapTin

(A_StreamReader)

Đọc bài lý thuyết từ tập tin. Cấu

trúc lưu theo thứ tự : tên lớp, tên

chương, tên bài, kích thướt, nội

dung.

Bảng 3-37 Các bảng mô tả lớp Lý Thuyết

Page 114: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 105 -

3.4.1.2. Lớp DSLyThuyet Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeDSLyThuyet A_XmlNode Chứa thông tin của các bài lý thuyết.

2 doc A_XmlDocument XmlDocument của danh sách các bài lý thuyết.

3 FileName A_String Tên của tập tin để load các bài lý thuyết.

Danh sách các hàm thành phần STT Tên Kết quả Xử lý Ghi chú

1 Them(LyThuyet) Thêm một bài lý thuyết.

2 Xoa(LyThuyet) Xoá bài lý thuyết.

3 CapNhat (LyThuyet, LyThuyet)

Cập nhật bài lý thuyết cũ bằng cách thay thế bài lý thuyết cũ bằng bài lý thuyết mới.

4 XuatRaTapTin (A_String, A_

ArrayList)

Xuất ra tập tin các bài lý thuyết trong có mã nằm trong mảng.

5 LayDSChuong A_ArrayList Lấy danh sách chương của các bài lý thuyết.

6 LayDSLyThuyet (A_String)

A_ArrayList Lấy danh sách các bài lý thuyết trong tập tin.

7 LaySoLuong (A_String)

A_Int Lấy số lượng các bài lý thuyết trong tập tin.

Bảng 3-38 Các bảng mô tả lớp DSLyThuyet

Page 115: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 106 -

3.4.2. Trắc Nghiệm 3.4.2.1. Lớp CauTracNghiem

Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeCauTracNghiem A_XmlNode Node chứa thông tin về

câu trắc nghiệm, gồm :

mã, chương, lớp, mức

độ, câu hỏi, các câu trả

lời, hướng dẫn.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 KetXuat MyExRichTextBox Định dạng câu trắc nghiệm rồi

xuất ra Rich Text Box.

Bảng 3-39 Các bảng mô tả lớp CauTracNghiem

3.4.2.2. Lớp DanhSachCauTN Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeDSCauTN A_XmlNode Node chứa thông tin về

danh sách câu trắc nghiệm.

2 docDSCauTN A_XmlDocument XmlDocument của danh

sách câu trắc nghiệm.

3 FileName String Tên tập tin dùng để load

danh sách câu trắc nghiệm.

Page 116: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 107 -

Danh sách các hàm thành phần STT Tên Kết quả Xử lý Ghi chú

1 Them (CauTracNghiem)

Thêm câu trắc nghiệm.

2 Xoa(A_String) Xoá một câu trắc nghiệm theo mã.

3 Xoa(A_ArrayList) Xoá nhiều câu trắc nghiệm theo mảng các mã.

4 Luu(A_String) Lưu xuống tập tin với tên là tham số truyền vào.

5 Luu() Lưu xuống tập tin với tên là thuộc tính FileName.

6 XuatRaTapTin (A_String)

Xuất danh sách câu trắc nghiệm ra tập tin với tên là tham số truyền vào.

7 KetXuat (MathMLControl)

MyExRichTextBox Định dạng danh sách câu trắc nghiệm rồi xuất ra RichTextBox bằng cách gọi tới hàm KetXuat của từng câu trắc nghiệm.

8 LayDSChuong A_ArrayList Lấy danh sách các chương có trong danh sách các câu trắc nghiệm.

Bảng 3-40 Các bảng mô tả lớp DanhSachCauTN

Page 117: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 108 -

3.4.2.3. Lớp DethiTracNghiem Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeDeTracNghiem A_XmlNode Node chứa thông tin về

đề thi trắc nghiệm, gồm :

tên đề, thời gian, các câu

trắc nghiệm.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 Them(CauTracNghiem) Thêm câu trắc

nghiệm vào đề.

2 Xoa(CauTracNghiem) Xoá câu trắc

nghiệm khỏi đề.

3 KetXuat MyExRichTextBox Định dạng đề thi

rồi xuất ra Rich

Text Box.

4 ChamDiem(A_String[,]) Chấm kết quả bài

thi trắc nghiệm

dựa trên mảng các

đáp án là tham số

truyền vào.

Bảng 3-41 Các bảng mô tả lớp DeThiTracNghiem

Page 118: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 109 -

3.4.2.4. Lớp DanhSachDethiTN Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeDSDethiTN A_XmlNode Node chứa thông tin danh

sách đề thi trắc nghiệm.

2 docDSDethiTN A_XmlDocument XmlDocument của danh

sách đề thi trắc nghiệm.

3 FileName A_String Tên của tập tin dùng đề

load danh sách các đề thi

trắc nghiệm.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 Luu(DeThiTracNghiem) Lưu đề thi trắc nghiệm vào

danh sách đề thi trắc nghiệm.

Bảng 3-42 Các bảng mô tả lớp DanhSachDeThiiTN

3.4.3. Bài tập:

3.4.3.1. Lớp Thư viện (THUVIEN): Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 NodeThuVien A_XmlNode Lưu thông tin các thành phần

bổ trợ trong viện nhận diện đề

toán.

Page 119: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 110 -

Danh sách các hàm thành phần

STT Prototype Hàm Kết quả Xử lý Ghi chú

1 ThemNode

(A_String, A_Int, A_Int)

Thêm thông tin vào

thư viện.

2 XoaNode

(A_Int, A_int)

Xoá bớt thông tin

trong thư viện.

3 CapNhatNode

(A_String, A_Int, A_Int,

A_Int)

Cập nhật thông tin

trong thư viện

4 LayDuLieu

(A_String)

Lấy dữ liệu từ tập

tin lưu trữ lên.

5 LuuDuLieu

(A_String)

Lưu dữ liệu xuống

tập tin

3.4.3.2. Lớp Bài tập tự luận (BaiTapTuLuan):

Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 ThuVien THUVIEN Thư viện

Page 120: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 111 -

3.4.3.3. Lớp hàm số(HAM_SO): Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú1 mienxacdinh KGT_Array Miền xác định của hàm số.

2 cuctri CUCTRI_Array Các cực trị của hàm số.

3 diemuon DIEM_Array Điểm uốn của hàm số.

4 khoangdongbien KGT_Array Các khoảng đồng biến của hàm số.

5 khoangnghichbien KGT_Array Các khoảng nghịch biến của hàm số.

6 khoangloi KGT_Array Các khoảng hàm số lồi.

7 khoanglom KGT_Array Các khoảng hàm số lõm.

8 tiemcandung A_DoubleArray Tiệm cận đứng của đồ thị.

9 gioihanTCD GIOIHAN_Array Giới hạn tiệm cận đứng.

10 tiemcanxien DATHUC Tiệm cận xiên của đồ thị.

11 tiemcanngang A_Double Tiệm cận ngang của đồ thị.

12 gh_amvocuc GIOIHAN Giới hạn âm vô cực.

13 gh_duongvocuc GIOIHAN Giới hạn dương vô cực.

14 giaodiem_OY DIEM Giao điểm của hàm số với OY.

15 giaodiem_OX DIEM_Array Giao điểm của hàm số với OX.

Page 121: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 112 -

16 cotiemcanxien A_Boolean Kiểm tra hàm số có tiệm xiên hay không?

17 cotiemcanngang A_Boolean Kiểm tra hàm số có tiệm ngang hay không?

18 cotiemcandung A_Boolean Kiểm tra hàm số có tiệm đứng hay không?

19 cocuctri A_Boolean Kiểm tra hàm số có cực trị hay không?

20 codiemuon A_Boolean Kiểm tra hàm số có điểm uốn hay không?

21 cogiaodiemvoiOY A_Boolean Kiểm tra hàm số có giao điểm với OY hay không?

22 cogiaodiemvoiOX A_Boolean Kiểm tra hàm số có giao điểm với OX hay không?

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú1 KhaoSat Khảo sát hàm số.

2 XuatKetQuaKhaoSat (A_RichTextBox)

Xuất kết quả khảo sát ra rtb.

3 SeftCreate Phát sinh ngẫu nhiên đề bài.

4 XuatDeBai (A_RichTextBox, A_RichTextBox)

Xuất đề bài ra tuso và mauso.

5 LayChuoiDaoHamCap1 A_String Lấy chuỗi đạo hàm cấp 1.

6 LayChuoiDaoHamCap2 Lấy chuỗi đạo hàm cấp 2.

Bảng 3-43 Các bảng mô tả lớp HAMSO

Page 122: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 113 -

Danh sách và ý nghĩa các lớp trong phần khảo sát và vẽ đồ thị hàm số:

STT Tên Ý nghĩa

1 DIEM Đối tượng điểm trong mặt phẳng

2 DIEM_Array Mảng điểm

3 CUCTRI Cực trị

4 CUCTRI_Array Mảng cực trị

5 DATHUC Đa thức

6 General Lớp lưu các hàm chuẩn hoá

7 GIOIHAN Giới hạn

8 GIOIHAN_Array Mảng giới hạn

9 KHOANG_GIA_TRI Khoảng giá trị

10 KGT_Array Mảng khoảng giá trị

11 NGHIEM_PTB2 Nghiệm phương trình bậc 2

12 HAMSO Hàm số

13 HAM_DATHUC Hàm đa thức

14 HAM_DATHUC_BAC1 Hàm đa thức bậc 1

15 HAM_DATHUC_BAC2 Hàm đa thức bậc 2

Page 123: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 114 -

16 HAM_DATHUC_BAC3 Hàm đa thức bậc 3

17 HAM_DATHUC_BAC4 Hàm đa thức bậc 4

18 HAM_HUUTI Hàm hữu tỉ

19 HAMHUUTI_0_1 Hàm hữu tỉ dạng bậc 0 trên bậc 1

20 HAMHUUTI_0_2 Hàm hữu tỉ dạng bậc 0 trên bậc 2

21 HAMHUUTI_1_1 Hàm hữu tỉ dạng bậc 1 trên bậc 1

22 HAMHUUTI_1_2 Hàm hữu tỉ dạng bậc 1 trên bậc 2

23 HAMHUUTI_2_1 Hàm hữu tỉ dạng bậc 2 trên bậc 1

24 HAMHUUTI_2_2 Hàm hữu tỉ dạng bậc 2 trên bậc 2

3.4.3.4. Lớp xử lý không gian tọa độ (XL_KhongGianToaDo):

Danh sách các hàm thành phần

STT Prototype Hàm Kết quả Xử lý Ghi chú

1 LayDiemTrongDe

(A_String, A_Int, A_Int)

DIEM_KG Lấy điểm

trong đề.

2 LayDuongThangTrongD

e

(A_String, A_Int, A_Int)

DUONG_THANG_KG Lấy đường

thẳng trong đề.

3 LayMatCauTrongDe

(A_String, A_Int, A_Int)

MAT_CAU Lấy mặt cầu

trong đề.

Page 124: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 115 -

4 LayMatPhangTrongDe

(A_String, A_Int, A_Int)

MAT_PHANG_KG Lấy mặt phẳng

trong đề.

5 LayTuDienTrongDe

(A_String, A_Int, A_Int)

TUDIEN Lấy tứ diện

trong đề.

6 LayTamGiacTrongDe

(A_String, A_Int, A_Int)

TUDIEN Lấy tam giác

trong đề.

7 LayVectorTrongDe

(A_String, A_Int, A_Int)

VECTOR_KG Lấy vector

trong đề.

8 PhatSinhDe(A_Int) A_String Phát sinh đề.

9 PhatSinhBaiGiai A_String Phát sinh bài

giải.

10 PhanTichDe(A_String) XL_KhongGianToaDo Phân tích đề.

11 GiaiDe Giải đề.

Bảng 3-44 Các bảng mô tả lớp XL_KhongGianToaDo

Danh sách các lớp trong phần không gian tọa độ:

STT Tên Ý nghĩa

1 DIEM_KG Điểm trong không gian.

2 DUONG_THANG_KG Đường thẳng trong không gian.

3 MAT_CAU Mặt cầu.

4 MAT_PHANG_KG Mặt phẳng trong không gian.

5 THUVIEN Thư viện nhận dạng đề bài.

Page 125: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 116 -

6 TU_DIEN Tứ diện.

7 VECTOR_KG Vector trong không gian.

8 KhoangCachGiua2DuongThang Lớp xử lý cho dạng toán tính

khoảng cách giữa 2 đường thẳng.

9 TinhDienTichMatCau Lớp xử lý cho dạng toán tính diện

tích mặt cầu.

10 TinhDienTichTamGiac Lớp xử lý cho dạng toán tính diện

tích tam giác.

11 TinhKhoangCachTu1DiemDen1MatPhang Lớp xử lý cho dạng toán tính

khoảng cách từ 1 điểm đến 1 mặt

phẳng.

12 TinhTheTichCuaTuDien Lớp xử lý cho dạng toán tính thể

tích của tứ diện.

13 TinhTheTichMatCau Lớp xử lý cho dạng toán tính thể

tích mặt cầu.

14 TinhVectorTuToaDoCacDiem Lớp xử lý cho dạng toán tính

vector từ toạ độ các điểm.

15 VietPhuongTrinhDuongThang

ChinhTac

Lớp xử lý cho dạng toán viết

phương trình đường thẳng chính

tắc.

16 VietPhuongTrinhDuongThang

ThamSo

Lớp xử lý cho dạng toán viết

phương trình đường thẳng tham số.

17 VietPhuongTrinhDuongThang

TongQuat

Lớp xử lý cho dạng toán viết

phương trình đường thẳng tổng

Page 126: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 117 -

quát.

18 VietPhuongTrinhDuongThang

VuongGocVoi2DuongThang

CheoNhau

Lớp xử lý cho dạng toán viết

phương trình đường thẳng vuông

góc với 2 đường thẳng chéo nhau.

19 VietPhuongTrinhMatPhang Lớp xử lý cho dạng toán viết

phương trình mặt phẳng.

20 VietPhuongTrinhMatPhang

ThamSo

Lớp xử lý cho dạng toán viết

phương trình mặt phẳng tham số.

21 ViTriTuongDoiGiua2MatPhang Lớp xử lý cho dạng toán tìm vị trí

tương đối giữa 2 mặt phẳng.

3.4.3.5. Lớp xử lý mặt phẳng tọa độ (XL_MatPhangToaDo): Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 LayDiemTrongDe

(A_String, A_Int, A_Int)

DIEM_MP Lấy điểm

trong đề.

2 LayDuongThangTrongD

e

(A_String, A_Int, A_Int)

DUONG_THANG_MP Lấy đường

thẳng trong đề.

3 LayDuongTronTrongDe

(A_String, A_Int, A_Int)

DUONG_TRON_MP Lấy mặt cầu

trong đề.

4 LayEllipseTrongDe

(A_String, A_Int, A_Int)

ELLIPSE Lấy mặt phẳng

trong đề.

Page 127: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 118 -

5 LayHyperbolTrongDe

(A_String, A_Int, A_Int)

HYPERBOL Lấy tứ diện

trong đề.

6 LayVectorTrongDe

(A_String, A_Int, A_Int)

VECTOR_MP Lấy vector

trong đề.

7 PhatSinhDe(A_Int) A_String Phát sinh đề.

8 PhatSinhBaiGiai A_String Phát sinh bài

giải.

9 PhanTichDe(A_String) XL_KhongGianToaDo Phân tích đề.

10 GiaiDe Giải đề.

Bảng 3-45 Các bảng mô tả lớp XL_MatPhangToaDo

Danh sách các lớp trong phần mặt phẳng tọa độ:

STT Tên Ý nghĩa

1 DIEM_MP Điểm trong không gian.

2 DUONG_THANG_MP Đường thẳng trong không gian.

3 DUONG_TRON Mặt cầu.

4 ELLIPSE Mặt phẳng trong không gian.

5 HYPERBOL Thư viện nhận dạng đề bài.

6 VECTOR_MP Vector trong không gian.

7 TimToaDoGiaoDiemGiuaCacDuong Lớp xử lý cho dạng toán tìm tọa độ

Page 128: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 119 -

giao điểm giữa 2 đường thẳng.

8 VietPhuongTrinhDuongThangChinhTac Lớp xử lý cho dạng toán viết

phương trình đường thẳng chính

tắc.

9 VietPhuongTrinhDuongThangQua1Diem

VaSongSongVoiDuongThangChoTruoc

Lớp xử lý cho dạng toán viết

phương trình đường thẳng qua 1

điểm và song song với đường

thẳng cho trước.

10 VietPhuongTrinhDuongThangQua1Diem

VaVuongGocVoiDuongThangChoTruoc

Lớp xử lý cho dạng toán viết

phương trình đường thẳng qua 1

điểm và vuông góc với đường

thẳng cho trước.

11 VietPhuongTrinhDuongThangThamSo Lớp xử lý cho dạng toán viết

phương trình đường thẳng tham số.

12 VietPhuongTrinhDuongThangTongQuat Lớp xử lý cho dạng toán viết

phương trình đường thẳng tổng

quát.

13 VietPhuongTrinhDuongTron Lớp xử lý cho dạng toán viết

phương trình đường tròn.

14 VietPhuongTrinhTiepTuyenQua1Diem

NgoaiDuongTron

Lớp xử lý cho dạng toán viết

phương trình tiếp tuyến qua 1 điểm

ngoài đường tròn.

15 VietPhuongTrinhTiepTuyenQua1Diem

ThuocDuongTron

Lớp xử lý cho dạng toán viết

phương trình tiếp tuyến qua 1 điểm

thuộc đường tròn.

16 XacDinhViTriTuongDoiGiua2DuongTron Lớp xử lý cho dạng toán xác định

Page 129: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 120 -

vị trí tương đối giữa 2 đường tròn.

17 KTDuongThangTiepXucVoiEllipse Lớp xử lý cho dạng toán kiểm tra

đường thẳng tiếp xúc với Ellipse.

18 PhuongTrinhHinhChuNhatCoSoEllipse Lớp xử lý cho dạng toán viết

phương trình hình chữ nhật cơ sở

cho Ellipse.

19 TimTamSaiEllipse Lớp xử lý cho dạng toán tìm tâm

sai của Ellipse.

20 TimTieuCuEllipse Lớp xử lý cho dạng toán tìm tiêu

cự của Ellipse.

21 TimTieuDiemEllipse Lớp xử lý cho dạng toán tìm tiêu

điểm của Ellipse

22 VietPhuongTrinhDuongChuanEllipse Lớp xử lý cho dạng toán viết

phương trình đường chuẩn của

Ellipse.

23 DKDuongThangTiepXucVoiHyperbol Lớp xử lý cho dạng toán kiểm tra

đường thẳng tiếp xúc với

Hyperbol.

24 PhuongTrinhHinhChuNhatCoSoHyperbol Lớp xử lý cho dạng toán viết

phương trình hình chữ nhật cơ sở

cho Hyperbol.

25 TimTamSaiHyperbol Lớp xử lý cho dạng toán tìm tâm

sai của Hyperbol.

26 TimTieuCuHyperbol Lớp xử lý cho dạng toán tìm tiêu

cự của Hyperbol.

27 TimTieuDiemHyperbol Lớp xử lý cho dạng toán tìm tiêu

Page 130: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 121 -

điểm của Hyperbol

28 VietPhuongTrinhDuongChuanHyperbol Lớp xử lý cho dạng toán viết

phương trình đường chuẩn của

Hyperbol.

29 TimToaDoGiaoDiemGiuaCacDuong Lớp xử lý cho dạng toán tìm tọa độ

giao điểm giữa 2 đường thẳng.

3.4.3.6. Lớp biểu thức (BIEU_THUC): Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 tenbien A_String Tên biến

Danh sách các hàm thành phần STT Tên Kết quả Xử lý Ghi chú

1 TinhDaoHam BIEU_THUC Tính đạo hàm của biểu thức.

2 KetXuatText A_String Xuất biểu thức ra.

3 NhanDienDe (A_String)

BIEU_THUC Nhận diện biểu thức đề.

Bảng 3-46 Các bảng mô tả lớp BIEU_THUC

3.4.3.7. Lớp đơn thức (DON_THUC): Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 heso A_Double Hệ số.

2 somu PHAN_SO Số mũ.

Page 131: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 122 -

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 TinhDaoHam BIEU_THUC Tính đạo hàm của biểu

thức.

2 KetXuatText A_String Xuất biểu thức ra.

3 NhanDienDe(A_String) BIEU_THUC Nhận diện biểu thức đề.

Bảng 3-47 Các bảng mô tả lớp DON_THUC

3.4.3.8. Lớp hằng số (HANG_SO) Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 hangso A_Double Hằng số.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 TinhDaoHam BIEU_THUC Tính đạo hàm của biểu

thức.

2 KetXuatText A_String Xuất biểu thức ra.

3 NhanDienDe(A_String) BIEU_THUC Nhận diện biểu thức đề.

Bảng 3-48 Các bảng mô tả lớp HANG_SO

3.4.3.9. Lớp biểu thức 1 ngôi (BIEU_THUC_1_NGOI) Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 u BIEU_THUC Biểu thức u.

Page 132: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 123 -

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 TinhDaoHam BIEU_THUC Tính đạo hàm của biểu

thức.

2 KetXuatText A_String Xuất biểu thức ra.

3 NhanDienDe(A_String) BIEU_THUC Nhận diện biểu thức đề.

Bảng 3-49 Các bảng mô tả lớp BIEU_THUC_1_NGOI

3.4.3.10. Lớp biểu thức 2 ngôi (BIEU_THUC_2_NGOI) Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 u BIEU_THUC Biểu thức u.

2 v BIEU_THUC Biểu thức v.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 TinhDaoHam BIEU_THUC Tính đạo hàm của biểu

thức.

2 KetXuatText A_String Xuất biểu thức ra.

3 NhanDienDe(A_String) BIEU_THUC Nhận diện biểu thức đề.

Bảng 3-50 Các bảng mô tả lớp BIEU_THUC_2_NGOI

Page 133: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 124 -

Danh sách các lớp trong phần đạo hàm

STT Tên Ý nghĩa

1 BIEU_THUC Một biểu thức toán.

2 BIEU_THUC_1_NGOI Thể hiện của biểu thức 1 ngôi.

Biểu thức 1 ngôi là những biểu

thức dưới căn, trong biểu thức cos,

sin, tg, totg, ln.

3 BIEU_THUC_CAN Là biểu thức căn của 1 biểu thức.

4 BIEU_THUC_COS Là biểu thức cos của 1 biểu thức.

5 BIEU_THUC_COTG Là biểu thức cotg của 1 biểu thức.

6 BIEU_THUC_LN Là biểu thức ln của 1 biểu thức.

7 BIEU_THUC_SIN Là biểu thức sin của 1 biểu thức.

8 BIEU_THUC_TG Là biểu thức tg của 1 biểu thức.

9 BIEU_THUC_2_NGOI Thể hiện của biểu thức 2 ngôi.

Biểu thức 2 ngôi là những biểu

thức được tạo thành từ 2 biểu thức

khác.

10 BIEU_THUC_CHIA Là biểu thức được tạo thành bằng

cách lấy 2 biểu thức chia cho nhau.

11 BIEU_THUC_NHAN Là biểu thức được tạo thành bằng

cách lấy 2 biểu thức nhân với

nhau.

Page 134: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 125 -

12 BIEU_THUC_CONG Là biểu thức được tạo thành bằng

cách lấy 2 biểu thức cộng với

nhau.

13 BIEU_THUC_TRU Là biểu thức được tạo thành bằng

cách lấy 2 biểu thức trừ cho nhau.

14 BIEU_THUC_U_MU_V Là biểu thức được tạo thành bằng

cách lấy 1 biểu thức luỹ thức luỹ

thừa 1 biểu thức còn lại.

15 DON_THUC Là biểu thức chỉ bao gồm biến và

hằng số.

16 HANG_SO Là biểu thức chỉ bao gồm hằng số.

3.4.3.11. Lớp Tham số ( ThamSo ): Danh sách biến thành phần

STT Tên Kiểu/Lớp Ý nghĩa Ghi chú

1 nodeThamSo A_XmlNode Node chứa thông tin các tham

số của chương trình..

2 docThamSo A_XmlDocument Document của các tham số

của chương trình.

Danh sách các hàm thành phần

STT Tên Kết quả Xử lý Ghi chú

1 LayThamSo(A_Int) A_String Lấy tham số ở vị trí là

tham số đầu vào.

2 CapNhat A_Int

A_String

Cập nhật tham số ở vị trí

là tham số đầu vào.

Page 135: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 126 -

3.5. Sơ đồ phối hợp hoạt động

3.5.1. Lưu trữ bài lý thuyết

3.5.2. Lưu trữ câu trắc nghiệm

Page 136: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 127 -

3.5.3. Phát sinh đề trắc nghiệm

3.5.4. Thi trắc nghiệm

Page 137: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 3. Thiết kế

- 128 -

3.5.5. Chấm điểm bài trắc nghiệm

:MH_ThiTracNghiem

btnKetThuc_Click

DethiTN:DeThiTracNghiem

ChamDiem(String[,])

:MH_ThiTracNghiem

CapNhatGrid()

uctThoiGian:TH_THOIGIAN

KetThuc()

(1) (2)

(3)

Page 138: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 4. Một số kỹ thuật đặc trưng của đề tài

- 129 -

Chương 4 Một số kỹ thuật đặc trưng của đề tài

Chương này mô tả một kỹ thuật đặc trưng được sử dụng trong đề tài,

gồm :

XML

XSLT

MathML

MathMLControl

Thư viện hỗ trợ nhận dạng đề tự luận

Page 139: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 4. Một số kỹ thuật đặc trưng của đề tài

- 130 -

4.1. XML

XML là chuẩn mở cho phép tạo lập họ các ngôn nhữ XML mà các ngôn ngữ này được

sử dụng để:

Mô tả thông tin về các đối tượng phức tạp.

Trao đổi thông tin qua các hệ thống khác nhau một cách dễ dàng.

Đặc tính của ngôn ngữ XML:

Là ngôn ngữ hình thức.

Dễ học, dễ sử dụng.

Khả Năng biểu diễn tốt.

Tính phổ dụng cao.

XML mô tả thông tin của đối tượng.

Văn bản XML bao gồm các thẻ <tag> với cú pháp đơn giản:

Thẻ mở <...>, thẻ đóng </...>.

Thẻ gốc.

Sự lồng nhau của các thẻ.

4.2. XSLT

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ỳ).

Nội dung của XSLT được trình bày chi tiết ở Phụ lục B1.

4.3. MATHML

MathML là một dạng ngôn ngữ thuộc họ XML nhưng dùng riêng cho toán học đề lưu

trữ thông tin về các đối tương toán học.

Một số thẻ đặc trưng của MathML có sử dụng trong chương trình:

1 Trang 151

Page 140: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 4. Một số kỹ thuật đặc trưng của đề tài

- 131 -

Thẻ lưu hằng số <mn></mn>

Thẻ lưu ký tự <mi></mi>

Thẻ lưu số mũ <msup></msup>

Thẻ lưu căn số <mroot></mroot> hay <msqrt></msqrt>

Thẻ lưu số chia <mfrac></mfrac>

Thẻ lưu phép cộng <mo>&plus;</mo>

Thẻ lưu phép trừ <mo>&minus;</mo>

...

Chi tiết hơn về việc sử dụng các thẻ XML để nhận diện các đề toán như thế nào,

chúng ta có thể xem trong Phụ lục D.2

4.4. MATHML Control

MathML Control là công cụ cho phép ta nhập một cách trực quan các biểu thức

toán học (tương tự như chương trình Equation và MathType) và trả về chuỗi dưới

dạng MathML.

MathML Control là một trình soạn thảo các biểu thức toán học được thiết kế

dưới dạng một control dành cho lập trình .Net. Có thể nói đây là công cụ dành cho mọi

loại người dùng từ sinh viên, giáo viên tới những người làm chuyên môn khoa học.

MathML Control cho phép tao nhật biểu thức toán học một cách trực quan và

rất dễ dàng. Mọi biểu thức toán có thể được lưu dưới dạng ảnh Jpeg hoặc được xuất

sang các dạng bitmap khác (Giff, Bmp, Tiff, ...) hoặc dưới dạng MathML theo chuẩn

của W3C.

Chi tiết về MathML Control được trình bày ở phụ lục A3.

2 Trang 181 3 Trang 144

Page 141: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 4. Một số kỹ thuật đặc trưng của đề tài

- 132 -

4.5. Thư viện hỗ trợ nhận dạng đề tự luận

Để việc nhận diện đề tự luận tự nhiên và linh động hơn với người dùng, chương

trình hỗ trợ một bộ hỗ trợ nhận diện gọi là thư viện nhận dạng đề. Thư viện cho phép

người dùng nhập vào các thông tin đặc trưng của loại đề toán, hay thông tin đặc trưng

của một đối tượng cần xử lý nào đó để chương trình có thể dựa vào đó nhận lấy những

thông tin cần thiết để giải quyết bài toán.

Bộ thư viện gồm 4 thư viện chính:

Thư viện nhận dạng đề của dạng toán không gian toạ độ.

Thư viện nhận dạng một đối tượng trong dạng toán không gian toạ độ.

Thư viện nhận dạng đề của dạng toán mặt phẳng toạ độ.

Thư viện nhận dạng một đối tượng trong dạng toán mặt phẳng toạ độ.

Với mỗi dạng toán, ta sẽ có một đoạn text đặc trưng được tìm thấy trong đề bài mà

không một dạng toán nào khác có được, những đoạn đặc trưng đó là những nội dung

được lưu trong các thư viện nhận dạng đề.

ví dụ: với dạng toán tính thể tích mặt cầu, thì ngoài những thông tin về mặt cầu,

trong đề nhất thiết phải có một đoạn text đặc trưng để nhận ra dạng toán đó. Chẳng hạn

mặc định ta quy định là “tính thể tích mặt cầu”. Và thư viện cho phép người dùng bổ

sung, thay đổi dạng text đặc trưng để nhận diện tốt hơn.

Với mỗi đối tượng, ta sẽ có một đặc trưng nào đó để có thể nhận diện ra sự tồn tại của

đối tượng trong đề bài khác với các đối tượng khác, những đặc trưng đó là những nội

dung được lưu trong các thư viện nhận dạng đối tượng.

ví dụ: để nhận diện 1 vector, thì ngoài những thông tin khác trong đề nhất thiết

phải có một đoạn text đặc trưng để nhận ra đối tượng vector. Chẳng hạn mặc định ta

quy định là “vector”. Và thư viện cho phép người dùng bổ sung, thay đổi dạng text đặc

trưng để nhận diện tốt hơn.

Page 142: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 5. Thực hiện và kiểm tra

- 133 -

Chương 5 Thực hiện và kiểm tra

Chương này mô tả công việc thực hiện và kiểm tra chương trình, gồm:

Thực hiện phần mềm

Kiểm tra phần mềm

Page 143: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 5. Thực hiện và kiểm tra

- 134 -

5.1. Thực hiện phần mềm Mô tả môi trường thực hiện phần mềm cùng với các kỹ thuật, thư viện đối tượng

được sử dụng :

Chương trình sử dụng ngôn ngữ lập trình C#, thích hợp chạy trên nền Windows

2000/XP.

Các thư viện được sử dụng :

Bộ thư viện chuẩn của .NET.

Các thư viện có sẵn : Word.dll, VBIDE.dll, Office.dll, Interop.Word.dll,

Interop.VBIDE.dll, Interop.Outlook.dll, Interop.Microsoft.Office.Core.dll.

Các thư viện tự xây dựng : OnThiTNToan.dll.

Mô tả cách tổ chức thư mục, tập tin, dữ liệu của phần mềm :

Ứng dụng bao gồm 3 project : OnThiTNToan, PhanHeHocSinh,

PhanHeGiaoVien.

5.2. Kiểm tra phần mềm • Kiểm tra phát sinh đề:

o Phát sinh đề cho dạng toán tính diện tích mặt cầu:

Cho mặt cầu có tâm là (0,8,-2) và có bán kính là 0 Tính diện tích của mặt cầu.

o Phát sinh đề cho dạng toán xét vị trí tương đối giữa 2 mặt phẳng:

Cho mặt phẳng có phương trình là 14x + 20y + -22z + -140 = 0 và mặt phẳng có

phương trình là -23x + 19y + -48z + 227 = 0 .

Xét vị trí tương đối của 2 mặt phẳng.

o Phát sinh đề cho dạng toán tìm giao điểm giữa 2 đường thẳng trong mặt

phẳng:

Page 144: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 5. Thực hiện và kiểm tra

- 135 -

Cho đường thẳng D1 :4x +1y +-20 = 0 và đường thẳng D2 : 2x +4y +-18 = 0 Tìm giao

điểm của 2 đường thẳng.

• Kiểm tra giải đề tự luận:

o Bài toán 1: Cho đường thẳng D1 :1x +1y -6 = 0 và đường thẳng D2 : 2x

+1y -7 = 0 Tìm giao điểm của 2 đường thẳng.

Bài giải: Giao điểm của 2 đường thẳng là điểm (1,5)

o Bài toán 2: Cho đường tròn có tâm là (-3,-9) và có bán kính là 6 và

đường tròn có tâm là (5,-5) và có bán kính là 5. Xét vị trí tương đối của 2

đường tròn.

Bài giải: Vị trí tương đối của 2 đường tròn là : 2 đường tròn cắt nhau tại 2 điểm phân

biệt.

o Bài toán 3: Cho mặt phẳng -22x + -16y + 14z + -220 = 0 và mặt phẳng

24x + -36y + 56z + 240 = 0 . Xét vị trí tương đối của 2 mặt phẳng.

Bài giải: 2 mặp phẳng chéo với nhau.

o Bài toán 4: Cho mặt cầu có tâm là (-2,6,-7) và có bán kính là 6 Tính thể

tích của mặt cầu.

Bài giải: Thể tích của mặt cầu là :904.77868423386

o Bài toán 5: Cho tứ diện có toạ độ 4 điểm lần lượt là điểm (-2,0,9) và

điểm (-10,-4,6) và điểm (1,-8,3) và điểm (8,-4,9) Tính thể tích của tứ

diện.

Bài giải: Thể tích của tứ diện là :498.727380439454

Page 145: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 5. Thực hiện và kiểm tra

- 136 -

• Kiểm tra nhận diện đề:

o Bài toán 1: Cho đường thẳng D1 :1x +1y -6 = 0 và đường thẳng D2 : 2x

+1y -7 = 0 Tìm giao điểm của 2 đường thẳng.

Bước giải Dấu hiệu nhận diện đề Kết quả nhận diện được

1 Tìm giao điểm của 2

đường thẳng

Dạng toán tìm giao điểm của 2 đường thẳng.

2 Cho đường thẳng D1

:1x +1y -6 = 0

Nhận diện được đường thẳng D1 có phương

trình là 1x+1y-6 = 0.

3 đường thẳng D2 : 2x

+1y -7 = 0

Nhận diện được đường thẳng D2 có phương

trình là 2x+y-6 = 0.

4 Đã có đủ 2 đường thẳng, ta gọi đến hàm tìm

giao điểm và được kết quả là (1,5).

5 Xuất kết quả thu được ra màn hình.

.

o Bài toán 2: Cho đường tròn có tâm là (-3,-9) và có bán kính là 6 và

đường tròn có tâm là (5,-5) và có bán kính là 5. Xét vị trí tương đối của 2

đường tròn.

Bước giải Dấu hiệu nhận diện đề Kết quả nhận diện được

1 Xét vị trí tương đối của 2

đường tròn.

Dạng toán xét vị trí tương đối của 2 đường

tròn.

2 Cho đường tròn Nhận diện được ta đang xét 1 đường tròn.

3 có tâm là (-3,-9) Nhận diện được tâm của đường tròn đầu tiên

là (-3,-9)

4 có bán kính là 6 Nhận diện được bán kính của đường tròn đầu

tiên là 6.

5 và đường tròn Nhận diện ta đang xét đường tròn thứ 2.

Page 146: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 5. Thực hiện và kiểm tra

- 137 -

6 có tâm là (5,-5) Nhận diện được tâm của đường tròn thứ 2 là

(5,-5)

7 có bán kính là 5 Nhận diện được bán kính của đường tròn thứ

2 là 5.

8 Đã nhận đủ thông tin, gọi hàm xét vị trí tương

đối giữa 2 đường tròn.

9 Kết quả là 2 đường tròn cắt nhau tại 2 điểm

phân biệt.

o Bài toán 3: Cho mặt phẳng -22x + -16y + 14z + -220 = 0 và mặt phẳng

24x + -36y + 56z + 240 = 0 . Xét vị trí tương đối của 2 mặt phẳng.

Bước giải Dấu hiệu nhận diện đề Kết quả nhận diện được

1 Xét vị trí tương đối của 2

mặt phẳng

Dạng toán: Xét vị trí tương đối của 2 mặt

phẳng

2 Cho mặt phẳng Nhận diện được ta đang xét mặt phẳng đầu

tiên.

3 -22x + -16y + 14z + -220

= 0

Nhận diện được thông tin của mặt phẳng đầu

tiên.

4 và mặt phẳng Nhận diện được ta đang xét mặt phẳng thứ 2.

5 24x + -36y + 56z + 240

= 0

Nhận diện được thông tin của mặt phẳng thứ

2.

6 Đã nhận đủ thông tin, gọi hàm xét vị trí tương

đối giữa 2 mặt phẳng.

7 Kết quả nhận được: 2 mặt phẳng chéo với

nhau.

Page 147: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 5. Thực hiện và kiểm tra

- 138 -

o Bài toán 4: Cho mặt cầu có tâm là (-2,6,-7) và có bán kính là 6 Tính thể

tích của mặt cầu.

Bước giải Dấu hiệu nhận diện đề Kết quả nhận diện được

1 Tính thể tích của mặt

cầu.

Xác định được dạng toán là tính thể tích mặt

cầu.

2 Cho mặt cầu Xác định đang xét mặt cầu

3 có tâm là (-2,6,-7) Xác định được tâm của mặt cầu.

4 Có bán kính là 6. Xác định được bán kính mặt cầu

5 Đã đầy đủ thông tin, gọi đến hàm tính thể tích

mặt cầu.

6 Kết quả thu được: thể tích của mặt cầu là

:904.77868423386

o Bài toán 5: Cho tứ diện có toạ độ 4 điểm lần lượt là điểm (-2,0,9) và

điểm (-10,-4,6) và điểm (1,-8,3) và điểm (8,-4,9) Tính thể tích của tứ

diện.

Bước giải Dấu hiệu nhận diện đề Kết quả nhận diện được

1 Tính thể tích của tứ diện. Xác định được dạng toán là tính thể tích tứ

diện.

2 Cho tứ diện Xác định đang xét tứ diện

3 điểm (-2,0,9) Xác định được điểm đầu tiên của tứ diện.

4 điểm (-10,-4,6) Xác định được điểm thứ 2 của tứ diện.

5 điểm (1,-8,3) Xác định được điểm thứ 3 của tứ diện.

6 điểm (8,-4,9) Xác định được điểm thứ 4 của tứ diện.

7 Đã đủ thông tin, gọi đến hàm tính thể tích của tứ diện.

8 Kết quả: Thể tích của tứ diện là :498.7273804

Page 148: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 6. Tổng kết

- 139 -

Chương 6 Tổng kết

Chương này tổng kết lại quá trình thực hiện đề tài, gồm:

Các kết quả đạt được

Tự đánh giá

Hướng phát triển

Page 149: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 6. Tổng kết

- 140 -

6.1. Các kết quả đạt được

6.1.1. Các yêu cầu chức năng : STT Chức năng Tình trạng Ghi chú

1 − Cung cấp lý thuyết cho học sinh:

o Cung cấp lý thuyết trong sách giáo

khoa.

o Cung cấp phương pháp giải quyết

các dạng bài toán.

o Cho phép học sinh sắp xếp các tài

liệu theo ý muốn.

Hoàn thành

Hoàn thành

Hoàn thành

2 − Cung cấp ngân hàng dữ liệu bài tập

mẫu đủ lớn cho học sinh:

o Cung cấp nhiều bài mẫu và đáp án

để học sinh tham khảo.

o Cho phép học sinh biên soạn và bổ

sung bài mẫu vào ngân hàng dữ liệu.

Hoàn thành

Hoàn thành

3 − Làm bài trắc nghiệm:

o Cho phép biên soạn câu hỏi trắc

nghiệm và đề thi trắc nghiệm.

o Cho phép phát sinh câu hỏi trắc

nghiệm.

o Cho phép phát sinh đề thi trắc

nghiệm từ ngân hàng dữ liệu có sẵn.

o Hỗ trợ nhiều dạng trắc nghiệm khác

Hoàn thành

Hoàn thành

Hoàn thành

Hoàn thành

Page 150: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 6. Tổng kết

- 141 -

nhau.

o Cho phép học sinh làm bài trắc

nghiệm.

o Hỗ trợ chấmbài làm cho học sinh.

Hoàn thành

Hoàn thành

4 − Làm bài tự luận: o Hỗ trợ phát sinh bài tự luận cho

học sinh các dạng toán sau: Khảo sát và vẽ đồ thị hàm số. Mặt phẳng tọa độ. Không gian tọa độ. Đạo hàm.

o Cho phép học sinh lưu trữ bài làm và chuyển cho giáo viên đánh giá.

o Nhận diện đề bài của học sinh dưới dạng tự nhiên.

Hoàn thành Hoàn thành Hoàn thành Hoàn thành Hoàn thành Hoàn thành

5 − Cung cấp phương tiện giao tiếp giữa giáo viên và học sinh: o Trao đổi thông tin qua Web.

Hỗ trợ 1 trang thông tin. Hỗ trợ download, upload tài liệu. Hỗ trợ 1 forum để giáo viên và học sinh trao đổi thông tin trực tuyến.

o Trao đổi thông tin qua đĩa mềm. o Trao đổi thông tin qua email. o Trao đổi thông tin qua giấy.

Hoàn thành Hoàn thành Hoàn thành Hoàn thành Hoàn thành Hoàn thành Hoàn thành

Page 151: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 6. Tổng kết

- 142 -

6.1.2. Các yêu phi chức năng: Tính tái sử dụng:

Chương trình được thiết kế bao gồm các thư viện liên kết (DLL), nên tuy có 2

phân hệ chương trình khác nhau nhưng hầu hết các xử lý, các control đều được thiết kế

chung trên 1 thư viện, chỉ những xử lý hoặc control riêng cho từng phân hệ (Giáo Viên,

Học Sinh) mới được thiết kế riêng. Đặc biệt chương trình còn tạo ra 1 bộ thư viện thể

hiện giao diện của riêng mình, có thể dễ dàng mang sử dụng sang cho các chương trình

khác.

Tính dễ bảo trì:

Chương trình được thiết kế theo mô hình 3 lớp : giao diện, xử lý, dữ liệu bất cứ 1

thay đổi, chỉnh sửa có thể dễ dàng phát hiện và thay đổi.

6.2. Tự đánh giá

6.2.1. Ưu điểm: − Thể hiện tốt các ký hiệu toán học.

− Nhận diện đề thi tự nhiên, hỗ trợ phát sinh bài giải cho gần 50 dạng toán.

− Lý thuyết cung cấp đầy đủ, chi tiết.

− Ngân hàng dữ liệu bài tập mẫu lớn.

− Phần trắc nghiệm hỗ trợ nhiều dạng câu hỏi, có phát sinh câu hỏi và đề thi.

− Lưu trữ và xử lý dữ liệu bằng XML và XSLT nên kích thước dữ liệu nhỏ.

− Phát triển hệ thống trao đổi thông tin trên môi trường Web, để học sinh và

giáo viên có thể trao đổi trực tuyến.

6.2.2. Hạn chế: − Chương trình có kích thước khá lớn.

− Chương trình chưa hỗ trợ giải và phát sinh hết các dạng toán.

− Chưa nhận diện được những đề toán quá phức tạp.

− Chưa hỗ trợ chấm bài tự luận được cho học sinh.

Page 152: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

Chương 6. Tổng kết

- 143 -

6.3. Hướng phát triển − Nhận diện được những đề toán phức tạp.

− Hỗ trợ giải và phát sinh hết các dạng toán.

− Hỗ trợ chấm bài tự luận cho học sinh.

Page 153: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 144 -

PHỤ LỤC

A. Giới thiệu MathMLControl:

MathML Control là công cụ cho phép ta nhập một cách trực quan các biểu thức

toán học (tương tự như chương trình Equation và MathType) và trả về chuỗi dưới

dạng MathML.

MathML Control là một trình soạn thảo các biểu thức toán học được thiết kế

dưới dạng một control dành cho lập trình .Net. Có thể nói đây là công cụ dành cho mọi

loại người dùng từ sinh viên, giáo viên tới những người làm chuyên môn khoa học.

MathML Control cho phép tao nhật biểu thức toán học một cách trực quan và

rất dễ dàng. Mọi biểu thức toán có thể được lưu dưới dạng ảnh Jpeg hoặc được xuất

sang các dạng bitmap khác (Giff, Bmp, Tiff, ...) hoặc dưới dạng MathML theo chuẩn

của W3C.

Page 154: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 145 -

Một số hàm thông dụng trong MathML Control

Hàm MC_Load : dùng để load một tài liệu MathML từ tập tin

public bool MC_load(string fileName);

fileName là đường dẫn của tập tin cần load.

Hàm MC_loadFromJPEG : mở một tập tin JPEG được tạo ra từ hàm

MC_saveASJPEG().

public bool MC_loadFromJPEG(

string fileName

);

fileName là đường dẫn tập tin cần load.

Hàm MC_loadXML : load biểu thức MathML từ chuỗi XML.

public bool MC_loadXML( string sXML);

sXML : biểu thức MathML cần load.

Ví dụ :

string sMathML="";

sMathML+="<math xmlns=\"http://www.w3.org/1998/Math/MathML\">";

sMathML+="<msqrt>";

sMathML+="<mi select='true\"><mi>X</mi>";

sMathML+="</msqrt>";

sMathML+="</math>",false);

MathMLControl.MC_loadXML(sMathML);

Hàm MC_save : lưu tài liệu MathML xuống tập tin

public bool MC_save( string fileName ); fileName : đường dẫn tập tin cần lưu.

Page 155: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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.

Page 156: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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);

Page 157: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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);

Page 158: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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.

Page 159: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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);

[...]

Page 160: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 :

<?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”planets.xsl”?>

<PLANETS>

<PLANET>

<NAME>Mecury</NAME>

<MASS UNITS=”(Earth=1)”>.0553</MASS>

<DAY UNITS=”days”>58.65</DAY>

<RADIUS UNITS=”miles”>1516</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.983</DENSITY>

Page 161: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 152 -

<DISTANCE UNITS=”million miles”>43.4</DISTANCE>

</PLANET>

<PLANET>

<NAME>Venus</NAME>

<MASS UNITS=”(Earth=1)”>.815</MASS>

<DAY UNITS=”days”>116.75</DAY>

<RADIUS UNITS=”miles”>3716</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.943</DENSITY>

<DISTANCE UNITS=”million miles”>66.8</DISTANCE>

</PLANET>

<PLANET>

<NAME>Earth</NAME>

<MASS UNITS=”(Earth=1)”>1</MASS>

<DAY UNITS=”days”>1</DAY>

<RADIUS UNITS=”miles”>2107</RADIUS>

<DENSITY UNITS=”(Earth=1)”>1</DENSITY>

<DISTANCE UNITS=”million miles”>128.4</DISTANCE>

</PLANET>

</PLANETS>

Ta thấy tài liệu planets.xml ngoài khai báo thông thường là

<?xml version=”1.0”?>

Còn khai báo thêm

<?xml-stylesheet type=”text/xsl” href=”planets.xsl”?>

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 :

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”/”>

<HTML>

Page 162: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 153 -

<xsl:apply-templates/>

</HTML>

</xsl:template>

<xsl:template match=”PLANETS”>

<xsl:apply-templates>

</xsl:template>

<xsl:template match=”PLANET”>

<P>

<xsl:value-of select=”NAME”>

</P>

</xsl:template>

</xsl:stylesheet>

Sau quá trình diễn dịch tài liệu kết xuất cuối cùng có dạng :

<HTML>

<P>Mercury</P>

<P>Vernus</P>

<P>Earth</P>

</HTML>

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ẻ

Page 163: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 <!—và -->

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à <? và ?>.

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ẻ <stylesheet>. 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).

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

.

.

.

</xsl:stylesheet>

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 :

Page 164: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 155 -

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”/”>

<HTML>

This is XML Root

</HTML>

</xsl:template>

</ xsl:stylesheet>

Tài liệu kết xuất cuối cùng là :

<HTML>

This is XML Root

</HTML>

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ư <xsl:apply-templates>, <xsl:value-of>, <xsl:for-each>, <xsl:copy-of>

hay <xsl:sort>. 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ụ:

<xsl:template match=”/”>

<HTML>

<xsl:apply-templates/>

</HTML>

</xsl:template>

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ử.

Page 165: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 156 -

Ví dụ : <xsl:template match=”PLANETS”>

<HTML>

<xsl:apply-templates/>

</HTML>

</xsl:template>

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.

<xsl:template match=”PLANET/NAME”>

<H3>

<xsl:value-of select=”.”/>

</H3>

</xsl:template>

Ký tự “.” trong thuộc tính select yêu cầu thẻ <xsl:value-of > 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ẻ <xsl:value-of>

chọn tất cả các phần tử. Ví dụ :

<xsl:template match=”PLANET/*/NAME”>

<H3>

<xsl:value-of select=”.”/>

</H3>

</xsl:template>

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)

Page 166: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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ụ:

<xsl:template match=”PLANET//NAME”>

<H3>

<xsl:value-of select=”.”/>

</H3>

</xsl:template>

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 :

<xsl:template match=”PLANET[NAME]”>

Để so khớp và chọn ra mọi phần tử có chứa thuộc tính con NAME

<xsl:template match=”*[NAME]”>

Để so khớp và chọn ra phần tử PLANET có chứa phần tử con là NAME hay

MASS

<xsl:template match=”PLANET[NAME | MASS]”>

Để so khớp và chọn ra phần tử PLANET có chứa thuộc tính UNITS mang giá trị

“days” :

Page 167: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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ử <xsl:value-of> đượ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 <xsl:value-of> để 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ụ : <?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”PLANETS”>

<HTML>

<HEAD>

<TITLE>

The Planets

</TITLE>

</HEAD>

<BODY>

<xsl:apply-templates select=”PLANET” />

</BODY>

</HTML>

</xsl:template>

<xsl:template match=”PLANET”>

<P>

<xsl:value-of select=”NAME” />

</P>

</xsl:template>

</xsl:stylesheet>

Kết quả xuất :

Page 168: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 159 -

<HTML>

<HEAD>

<TITLE>

The Planets

</TITLE>

</HEAD>

<BODY>

<P>Mercury</P>

<P>Venus</P>

<P>Earth</P>

</BODY>

</HTML>

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ử <xsl:element> để 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:

<PLANET NAME=”Mecury” >

<MASS UNITS=”(Earth=1)”>.0553</MASS>

<DAY UNITS=”days”>58.65</DAY>

<RADIUS UNITS=”miles”>1516</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.983</DENSITY>

<DISTANCE UNITS=”million miles”>43.4</DISTANCE>

</PLANET>

<PLANET NAME=”Venus” >

<MASS UNITS=”(Earth=1)”>.815</MASS>

<DAY UNITS=”days”>116.75</DAY>

<RADIUS UNITS=”miles”>3716</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.943</DENSITY>

<DISTANCE UNITS=”million miles”>66.8</DISTANCE>

</PLANET>

Page 169: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 160 -

<PLANET NAME=”Earth” >

<MASS UNITS=”(Earth=1)”>1</MASS>

<DAY UNITS=”days”>1</DAY>

<RADIUS UNITS=”miles”>2107</RADIUS>

<DENSITY UNITS=”(Earth=1)”>1</DENSITY>

<DISTANCE UNITS=”million miles”>128.4</DISTANCE>

</PLANET>

Tài liệu XSLT:

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”PLANETS”>

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

</HEAD>

<BODY>

<xsl:apply-templates select=”PLANET” />

</BODY>

</HTML>

</xsl:template>

<xsl:template match=”PLANET”>

<xsl:element name=”{@NAME}”>

<MASS>

<xsl:value-of select=”MASS”/>

</MASS>

</xsl:element>

</xsl:template>

</xsl:stylesheet>

“{@NAME}” có nghĩa là lấy giá trị của thuộc tính NAME trong phần tử

PLANET.

Page 170: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 161 -

Kết quả là :

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

</HEAD>

<BODY>

<Mercury>

<MASS>.0553</MASS>

</Mercury>

<Venus>

<MASS>.815</MASS>

</Venus>

<Earth>

<MASS>1</MASS>

</Earth>

</BODY>

</HTML>

Tạo thuộc tính mới

Phần tử <xsl:attribute> dùng tạo mới một thuộc tính cho phần tử nào đó.

Ví dụ : <?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”planets.xsl”?>

<PLANETS>

<PLANET COLOR=”RED”>

<NAME>Mecury</NAME>

<MASS UNITS=”(Earth=1)”>.0553</MASS>

<DAY UNITS=”days”>58.65</DAY>

<RADIUS UNITS=”miles”>1516</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.983</DENSITY>

Page 171: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 162 -

<DISTANCE UNITS=”million miles”>43.4</DISTANCE>

</PLANET>

<PLANET COLOR=”WHITE”>

<NAME>Venus</NAME>

<MASS UNITS=”(Earth=1)”>.815</MASS>

<DAY UNITS=”days”>116.75</DAY>

<RADIUS UNITS=”miles”>3716</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.943</DENSITY>

<DISTANCE UNITS=”million miles”>66.8</DISTANCE>

</PLANET>

<PLANET COLOR=”BLUE”>

<NAME>Earth</NAME>

<MASS UNITS=”(Earth=1)”>1</MASS>

<DAY UNITS=”days”>1</DAY>

<RADIUS UNITS=”miles”>2107</RADIUS>

<DENSITY UNITS=”(Earth=1)”>1</DENSITY>

<DISTANCE UNITS=”million miles”>128.4</DISTANCE>

</PLANET>

</PLANETS>

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 :

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”PLANETS”>

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

Page 172: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 163 -

</HEAD>

<BODY>

<xsl:apply-templates select=”PLANET” />

</BODY>

</HTML>

</xsl:template>

<xsl:template match=”PLANET”>

<PLANET>

<xsl:attribute name=”{NAME}”>

<xsl:value-of select=”@COLOR”/>

</xsl:attribute>

</PLANET>

</xsl:template>

</xsl:stylesheet>

“{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à :

<HTML>

<HEAD>

<TITLE>

Planets

<TITLE>

</HEAD>

<BODY>

<PLANET Mecury=”RED”></PLANET>

<PLANET Venus=”WHITE”></PLANET>

<PLANET Earth=”BLUE”></PLANET>

</BODY>

</HTML>

Sao chép các nút dữ liệu

Page 173: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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.

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”* | text()”>

<xsl:copy>

<xsl:apply-templates select=”* | text()” />

</xsl:copy>

</xsl:template>

</xsl:stylesheet>

Kết quả xuất :

<?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”planets.xsl”?>

<PLANETS>

<PLANET>

<NAME>Mecury

</NAME>

<MASS UNITS=”(Earth=1)”>.0553</MASS>

<DAY UNITS=”days”>58.65</DAY>

<RADIUS UNITS=”miles”>1516</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.983</DENSITY>

<DISTANCE UNITS=”million miles”>43.4</DISTANCE>

</PLANET>

<PLANET>

<NAME>Venus</NAME>

<MASS UNITS=”(Earth=1)”>.815</MASS>

<DAY UNITS=”days”>116.75</DAY>

<RADIUS UNITS=”miles”>3716</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.943</DENSITY>

Page 174: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 165 -

<DISTANCE UNITS=”million miles”>66.8</DISTANCE>

</PLANET>

<PLANET>

<NAME>Earth</NAME>

<MASS UNITS=”(Earth=1)”>1</MASS>

<DAY UNITS=”days”>1</DAY>

<RADIUS UNITS=”miles”>2107</RADIUS>

<DENSITY UNITS=”(Earth=1)”>1</DENSITY>

<DISTANCE UNITS=”million miles”>128.4</DISTANCE>

</PLANET>

</PLANETS>

Sử dụng xsl:if

Sử dụng phần tử <xsl:if> để 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ẻ <HR> (phần tử định dạng tạo một đường gạch ngang trong HTML):

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”PLANETS”>

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

</HEAD>

<BODY>

<xsl:apply-templates select=”PLANET” />

</BODY>

</HTML>

</xsl:template>

Page 175: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 166 -

<xsl:template match=”PLANET”>

<P>

<xsl:value-of select=”NAME” />

is planet number

<xsl:value-of select=”position()”/>

from the sun.

</P>

<xsl:if test=”position() = last(.)”>

<xsl:element name=”HR”>

</xsl:if>

</xsl:template>

</xsl:stylesheet>

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 :

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

</HEAD>

<BODY>

<P> Mercury is planet number 1 from the sun.</P>

<P> Earth is planet number 2 from the sun. </P>

<P> Venus is planet number 3 from the sun. </P>

<HR>

</BODY>

</HTML>

Sử dụng xsl:choose

Page 176: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 167 -

Phần tử điều khiển lựa chọn <xsl:choose> 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 :

<?xml version=”1.0”?>

<?xml-stylesheet type=”text/xsl” href=”planets.xsl”?>

<PLANETS>

<PLANET COLOR=”RED”>

<NAME>Mecury</NAME>

<MASS UNITS=”(Earth=1)”>.0553</MASS>

<DAY UNITS=”days”>58.65</DAY>

<RADIUS UNITS=”miles”>1516</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.983</DENSITY>

<DISTANCE UNITS=”million miles”>43.4</DISTANCE>

</PLANET>

<PLANET COLOR=”WHITE”>

<NAME>Venus</NAME>

<MASS UNITS=”(Earth=1)”>.815</MASS>

<DAY UNITS=”days”>116.75</DAY>

<RADIUS UNITS=”miles”>3716</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.943</DENSITY>

<DISTANCE UNITS=”million miles”>66.8</DISTANCE>

</PLANET>

<PLANET COLOR=”BLUE”>

<NAME>Earth</NAME>

<MASS UNITS=”(Earth=1)”>1</MASS>

<DAY UNITS=”days”>1</DAY>

<RADIUS UNITS=”miles”>2107</RADIUS>

<DENSITY UNITS=”(Earth=1)”>1</DENSITY>

<DISTANCE UNITS=”million miles”>128.4</DISTANCE>

</PLANET>

</PLANETS>

Page 177: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 <xsl:when> như sau :

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”PLANETS”>

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

</HEAD>

<BODY>

<xsl:apply-templates select=”PLANET” />

</BODY>

</HTML>

</xsl:template>

<xsl:template match=”PLANET”>

<xsl:choose>

<xsl:when test=”@COLOR=’RED’”>

<B>

<xsl:value-of select=”NAME”/>

</B>

</xsl:when>

<xsl:when test=”@COLOR=’WHITE’”>

<I>

<xsl:value-of select=”NAME”/>

</I>

</xsl:when>

<xsl:when test=”@COLOR=’BLUE’”>

<U>

<xsl:value-of select=”NAME”/>

Page 178: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 169 -

</U>

</xsl:when>

<xsl:therwise>

<PRE>

<xsl:value-of select=”.”/>

</PRE>

</xsl:therwise>

</xsl:choose>

</xsl:template>

</xsl:stylesheet>

Trong ví dụ ta sử dụng phần tử <xsl:otherwise> để yêu cầu chọn gái trị mặc

định khi không có biểu thức <xsl:when> nào thoả mãn.

Kết quả xuất sẽ là :

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

<HEAD>

<BODY>

<B>Mercury</B>

<I>Venus</I>

<U>Earth</U>

<BODY>

</HTML>

Page 179: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 :

<PLANET>

<NAME>Mercury</NAME>

<NAME>Closet planet to the sun</NAME>

< MASS UNITS=”(Earth=1)”>.0553</MASS>

<DAY UNITS=”days”>58.65</DAY>

<RADIUS UNITS=”miles”>1516</RADIUS>

<DENSITY UNITS=”(Earth=1)”>.983</DENSITY>

<DISTANCE UNITS=”million miles”>43.4</DISTANCE>

</PLANET>

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 :

<?xml version=”1.0”?>

<xsl:stylesheet xmlns:xsl=http://www.w3.org/TR/WD-xsl>

<xsl:template match=”/”>

<HTML>

<xsl:apply-templates/>

</HTML>

</xsl:template>

<xsl:template match=”PLANETS”>

<xsl:apply-templates>

</xsl:template>

<xsl:template match=”PLANET”>

<xsl:for-each select=”NAME”>

<P>

<xsl:value-of select=”.”/>

</P>

</xsl:for-each>

</xsl:template>

Page 180: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 171 -

</xsl:stylesheet>

Kết quả là :

<HTML>

<P>Mercury</P>

<P>Closet planet to the sun</P>

<HTML>

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. <?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="keyChuongID" match="CauTracNghiem" use="@Chuong" />

<xsl:key name="keyMaID" match="CauTracNghiem" use="@Ma" />

<xsl:template match="/">

<xsl:message>Matched </xsl:message>

<Danhsach>

<xsl:for-each select="//CauTracNghiem[generate-id(.)= generate-

id(key('keyChuongID',@Chuong)[1])]">

<xsl:variable name="lngChuongID"><xsl:value-of

select="@Chuong"/></xsl:variable>

<xsl:variable name="lstChuong"

select="//CauTracNghiem[@Chuong=$lngChuongID]"/>

<xsl:call-template name="LayDanhSachChuong">

<xsl:with-param name="lstChuong" select="$lstChuong" />

</xsl:call-template>

</xsl:for-each>

</Danhsach>

</xsl:template>

Page 181: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 172 -

<xsl:template name="LayDanhSachChuong">

<xsl:param name="lstChuong" />

<Group>

<xsl:attribute name="Ten">

<xsl:value-of select="$lstChuong[1]/@Chuong" />

</xsl:attribute>

<xsl:for-each select="$lstChuong[generate-id(.) = generate-

id(key('keyMaID', @Ma)[1])]">

<xsl:variable name="lngMaID" select="@Ma" />

<Ma>

<xsl:value-of select="$lstChuong[@Ma=$lngMaID]/@Ma" />

</Ma>

</xsl:for-each>

</Group>

</xsl:template>

</xsl:stylesheet>

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. <?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="keyGenreID" match="BaiHoc" use="@Lop" />

<xsl:key name="keyPDID" match="BaiHoc" use="@Chuong" />

<xsl:key name="keyPhotoID" match="BaiHoc" use="@TenBai" />

<xsl:template match="/">

<xsl:message>Matched </xsl:message>

<Danhsach>

<xsl:for-each select="//BaiHoc[generate-id(.)= generate-

id(key('keyGenreID',@Lop)[1])]">

Page 182: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 173 -

<xsl:variable name="lngGenreID"><xsl:value-of

select="@Lop"/></xsl:variable>

<xsl:variable name="lstPhoto"

select="//BaiHoc[@Lop=$lngGenreID]"/>

<xsl:call-template name="ShowPhotosInGalary">

<xsl:with-param name="lstPhoto"

select="$lstPhoto" />

</xsl:call-template>

</xsl:for-each>

</Danhsach>

</xsl:template>

<xsl:template name="ShowPhotosInGalary">

<xsl:param name="lstPhoto" />

<Lop>

<xsl:attribute name="Ten">

<xsl:value-of select="$lstPhoto[1]/@Lop" />

</xsl:attribute>

<xsl:for-each select="$lstPhoto[generate-id(.) = generate-

id(key('keyPDID', @Chuong)[1])]">

<xsl:variable name="lngPDID"><xsl:value-of

select="@Chuong" /></xsl:variable>

<xsl:variable name="lstPD"

select="$lstPhoto[@Chuong=$lngPDID]" />

<xsl:call-template name="ShowPhotoDate">

<xsl:with-param name="lstPD" select="$lstPD" />

</xsl:call-template>

</xsl:for-each>

</Lop>

</xsl:template>

<xsl:template name="ShowPhotoDate">

Page 183: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 174 -

<xsl:param name="lstPD" />

<Chuong>

<xsl:attribute name="Ten">

<xsl:value-of select="$lstPD[1]/@Chuong" />

</xsl:attribute>

<xsl:for-each select="$lstPD[generate-id(.) = generate-

id(key('keyPhotoID', @TenBai)[1])]">

<xsl:variable name="lngPhotoID" select="@TenBai" />

<Ma>

<xsl:value-of select="$lstPD[@TenBai=$lngPhotoID]/@TenBai"/>

</Ma>

</xsl:for-each>

</Chuong>

</xsl:template>

</xsl:stylesheet>

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.

<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="keyChuongID" match="CauTracNghiem" use="@Chuong" />

<xsl:key name="keyMaID" match="CauTracNghiem" use="@Ma" />

<xsl:template match="/">

<xsl:message>Matched </xsl:message>

<Danhsach>

<xsl:for-each select="//CauTracNghiem[generate-id(.)=

generate-id(key('keyChuongID',@Chuong)[1])]">

<xsl:variable name="lngChuongID"><xsl:value-of

select="@Chuong"/></xsl:variable>

<xsl:variable name="lstChuong"

select="//CauTracNghiem[@Chuong=$lngChuongID]"/>

<xsl:call-template name="LayDanhSachChuong">

Page 184: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 175 -

<xsl:with-param name="lstChuong" select="$lstChuong" />

</xsl:call-template>

</xsl:for-each>

</Danhsach>

</xsl:template>

<xsl:template name="LayDanhSachChuong">

<xsl:param name="lstChuong" />

<Group>

<xsl:value-of select="$lstChuong[1]/@Chuong" />

</Group>

</xsl:template>

</xsl:stylesheet>

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="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" encoding="UTF-8"/>

<xsl:template match="/">

<HTML>

<BODY>

<xsl:apply-templates/>

</BODY>

</HTML>

</xsl:template>

<xsl:template match="Cau">

<xsl:text disable-output-escaping="yes">&lt;FONT FACE="Times New

Roman", SIZE="3", COLOR="RED"&gt;</xsl:text>

<H3>

<xsl:text>Cau</xsl:text>

Page 185: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 176 -

<xsl:value-of select="position()"/>

</H3>

<xsl:text disable-output-escaping="yes">&lt;/FONT&gt;</xsl:text>

<xsl:apply-templates/>

</xsl:template>

<xsl:template match="Buoc">

<xsl:text disable-output-escaping="yes">&lt;FONT FACE="Times New

Roman", SIZE="2", COLOR="GREEN"&gt;</xsl:text>

<H4>

<xsl:text>Buoc</xsl:text>

<xsl:value-of select="position()"/>

</H4>

<xsl:text disable-output-escaping="yes">&lt;/FONT&gt;</xsl:text>

<xsl:text disable-output-escaping="yes">&lt;FONT FACE="Times

New Roman", SIZE="3", COLOR="BLUE"&gt;</xsl:text>

<Pre>

<xsl:value-of disable-output-escaping="yes" select="."/>

</Pre>

<xsl:text disable-output-escaping="yes">&lt;/FONT&gt;</xsl:text>

</xsl:template>

</xsl:stylesheet>

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”

Page 186: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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:

Page 187: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 :

Page 188: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 :

Page 189: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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.

Page 190: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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();

Page 191: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 = 34 *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

Page 192: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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;

Page 193: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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.xdt.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 )

Page 194: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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 =

Rttt

2221

-1

candelta - *

k2 =

Rttt

2221

-1

candelta * +

Page 195: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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) )

Page 196: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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ị.

Page 197: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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

<math>

<mn>3</mn>

<mi>X</mi>

</math>

x

<math>

<mi>X</mi>

</math>

Page 198: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 189 -

axb

<math>

<mn>3</mn>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>5</mn>

</mrow>

</msup>

</math>

xb

<math>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>5</mn>

</mrow>

</msup>

</math>

A X

<math>

<mn>3</mn>

<mroot>

<mrow>

<mi>X</mi>

Page 199: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 190 -

</mrow>

<mrow />

</mroot>

</math>

X

<math>

<mroot>

<mrow>

<mi>X</mi>

</mrow>

<mrow />

</mroot>

</math>

A C X

<math>

<mn>3</mn>

<mroot>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mroot>

</math>

C X

<math>

<mroot>

Page 200: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 191 -

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mroot>

</math>

A X B

<math>

<mn>3</mn>

<mroot>

<mrow>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>5</mn>

</mrow>

</msup>

</mrow>

<mrow />

</mroot>

</math>

X B

<math>

<mroot>

<mrow>

Page 201: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 192 -

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>5</mn>

</mrow>

</msup>

</mrow>

<mrow />

</mroot>

</math>

A C BX

<math>

<mn>3</mn>

<mroot>

<mrow>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>5</mn>

</mrow>

</msup>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mroot>

Page 202: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 193 -

</math>

<math>

<mrow>

<mo>&lpar;</mo>

<mo>&minus;</mo>

<mn>3</mn>

<mo>&rpar;</mo>

</mrow>

<mroot>

<mrow>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mn>5</mn>

</mrow>

</msup>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mroot>

</math>

C BX

<math>

<mroot>

<mrow>

<msup>

Page 203: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 194 -

<mrow><mi>X</mi></mrow>

<mrow><mn>5</mn></mrow>

</msup>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mroot>

</math>

A X CB

<math>

<mn>3</mn>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mfrac>

<mrow>

<mn>5</mn>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mfrac>

</mrow>

</msup>

</math>

X CB

Page 204: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 195 -

<math>

<msup>

<mrow>

<mi>X</mi>

</mrow>

<mrow>

<mfrac>

<mrow>

<mn>5</mn>

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mfrac>

</mrow>

</msup>

</math>

Biểu thức phức:

CONG,TRU

<math xmlns="http://www.w3.org/1998/Math/MathML">

<mi>U</mi>

<mo>&plus;</mo>

<mi>V</mi>

</math>

(U)V

<math>

<msup>

<mrow>

<mrow>

<mo>&lpar;</mo>

Page 205: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 196 -

<mi>U</mi>

<mo>&rpar;</mo>

</mrow>

</mrow>

<mrow>

<mi>V</mi>

</mrow>

</msup>

</math>

U/V

<math xmlns="http://www.w3.org/1998/Math/MathML">

<mfrac>

<mrow>

<mi>U</mi>

</mrow>

<mrow>

<mi>V</mi>

</mrow>

</mfrac>

</math>

(U)(V)

<math>

<mrow>

<mo>&lpar;</mo>

<mi>U</mi>

<mo>&rpar;</mo>

</mrow>

<mrow>

<mo>&lpar;</mo>

<mi>V</mi>

Page 206: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 197 -

<mo>&rpar;</mo>

</mrow>

</math>

COS(U) SIN TG COTG LN

<math xmlns="http://www.w3.org/1998/Math/MathML">

<mi>COS</mi>

<mrow>

<mo>&lpar;</mo>

<mi>U</mi>

<mo>&rpar;</mo>

</mrow>

</math>

HANGSO

<math xmlns="http://www.w3.org/1998/Math/MathML">

<mn>hs</mn>

</math>

CANSO

<math>

<mroot>

<mrow>

<mi>X</mi>

</mrow>

<mrow />

</mroot>

</math>

<math>

<mroot>

<mrow>

<mi>X</mi>

Page 207: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 198 -

</mrow>

<mrow>

<mn>4</mn>

</mrow>

</mroot>

</math>

"<math>

<mrow>

<mo>#lpar;</mo>

<mo>#minus;</mo>

<mn>3</mn>

<mo>#rpar;</mo>

</mrow>

<mi>x</mi>

</math>"

<math>

<mrow>

<mo>&lpar;</mo>

<mo>&minus;</mo>

<mn>3</mn>

<mo>&rpar;</mo>

</mrow>

<mi>X</mi>

</math>

− 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.

Page 208: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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;

Page 209: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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;

Page 210: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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; }

Page 211: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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()

Page 212: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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; }

Page 213: Phan mem ho tro on thi tot nghiep trung hoc pho thong mon toan

- 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:

http://msdn.microsoft.com

http://www.codeguru.com

http://www.codeproject.com