1. Trang 1
Lời Cảm Ơn
Luận văn của chúng em sẽ rất khó hoàn thành nếu không có sự truyền đạt
kiến thức quí báu và sự hướng dẫn tận tình của thầy Nguyễn Tiến Huy . Chúng em
xin chân thành cám ơn sự chỉ bảo của thầy.
Chúng con xin gửi tất cả lòng biết ơn, sự kính trọng đến ông bà, cha mẹ, cùng
toàn thể gia đình, những người đã nuôi dạy, đã cho chúng con niềm tin và nghị lực
để vượt qua mọi khó khăn.
Chúng em xin trân trọng cám ơn quý thầy cô trong khoa Công nghệ Thông
tin trường Đại học Khoa học Tự nhiên thành phố Hồ Chí Minh đã tận tình giảng
dạy, truyền đạt những kiến thức quý báu và tạo điều kiện cho chúng em thực hiện
luận văn này.
Xin chân thành cám ơn sự giúp đỡ, động viên và chỉ bảo nhiệt tình của các
anh chị đi trước và tất cả bạn bè. Các anh chị, các bạn luôn có mặt trong những thời
điểm khó khăn nhất, tiếp thêm động lực và ý chí, giúp chúng tôi hoàn thành luận
văn.
Mặc dù đã cố gắng nỗ lực hết sức mình, song chắc chắn luận văn không khỏi
còn nhiều thiếu sót. Chúng em rất mong nhận được sự thông cảm và đóng góp ý
kiến của quý thầy cô và các bạn.
Tp.HCM, 7/2005
Nhóm sinh viên thực hiện
Nguyễn Thị Thơm – Vũ Văn Thông
2. Trang 2
Lời Nói Đầu
iện nay theo qui định hiện hành , học sinh phổ thông trung học sau khi
hoàn tất chương trình lớp 10 , 11 ,12 phải trải qua kỳ thi tốt nghiệp phổ
thông trung học . Khối lượng kiến thức mà học sinh cần ôn tập trong 3 năm học có
thể nói là rất lớn . Hóa học thường là một trong những môn được chọn trong kỳ thi
tốt nghiệp phổ thông trung học . Vì vậy , một nhu cầu bức thiết đặt ra là phải có một
công cụ hỗ trợ việc dạy và học trong quá trình ôn thi tốt nghiệp của học sinh . Nó
phải hệ thống hóa toàn bộ kiến thức một cách rỏ ràng , qui cũ , mạch lạc . Nó phải
cho phép học sinh ôn bài một cách hiệu quả , dễ học , dễ hiểu , dễ nhớ và rút ngắn
thời gian ôn luyện . Nó giúp học sinh ôn luyện một cách độc lập , nâng cao khả
năng tự học và giảm đi sự phụ thuộc quá nhiều của học sinh vào giáo viên , cho
phép giao tiếp giữa học sinh và giáo viên dựa trên việc tận dụng các tài nguyên có
sẵn .
Các phần mềm có mặt trên thị trường hiện nay đã phần nào đáp ứng được
nhu cầu trên . Mỗi cái có những ưu khuyết điểm riêng của mình . Phần Mềm Hỗ
Trợ Học Sinh Phổ Thông Trung Học Ôn Thi Tốt Nghiệp Môn Hóa Học của nhóm
ra đời dựa trên việc phân tích chi tiết các vấn đề đã đặt ra như trên , kế thừa những ý
tưởng tích cực và khắc phục những hạn chế của những phần mềm đã có với hy vọng
có thể đáp ứng nhu cầu của học sinh một cách tốt nhất có thể có .
H
3. Trang 3
MMụụcc LLụụcc
Mục Lục..............................................................................................3
1 ) Đặt vấn đề ...................................................................................7
1.1 Hiện trạng ................................................................................... 7
1.2 Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay .......... 8
1.3 Đề nghị yêu cầu chức năng ...................................................... 10
1.3.1 Module dành cho học sinh........................................................ 10
1.3.1.1 Chức năng tự ôn luyện cho học sinh ................................... 11
1.3.1.2 Chức năng nhận xuất dữ liệu............................................... 14
1.3.1.3 Các công cụ hỗ trợ khác ...................................................... 14
1.3.2 Module dành cho giáo viên ...................................................... 14
1.3.2.1 Soạn đề thi trắc nghiệm ....................................................... 15
1.3.2.2 Chức năng soạn đề thi tự luận ............................................. 15
1.3.2.3 Chức năng nhận xuất dữ liệu............................................... 15
1.3.2.4 Chức năng hỗ trợ khác......................................................... 15
2 ) Phân tích....................................................................................16
2.1 Sơ đồ sử dụng........................................................................... 16
2.1.1 Chi tiết các chức năng hỗ trợ.................................................... 17
2.1.1.1 Đối với học sinh................................................................... 17
2.1.1.2 Đối với giáo viên ................................................................. 18
2.1.1.3 Chức năng khác ................................................................... 18
2.2 Sơ đồ luồng dữ liệu................................................................... 19
2.2.1 Học sinh.................................................................................... 19
2.2.1.1 Nghiệp vụ “Ôn tập lý thuyết”.............................................. 19
2.2.1.2 Nghiệp vụ “Giải đề thi tự luận”........................................... 20
2.2.1.3 Nghiệp vụ “Giải đề thi Trắc nghiệm ”................................. 21
2.2.1.4 Nghiệp vụ “Giải đề bài tập theo dạng ”............................... 22
2.2.1.5 Nghiệp vụ “Tra cứu” ........................................................... 23
2.2.1.6 Nghiệp vụ ‘ Nhận xuất dữ liệu ‘.......................................... 24
2.2.2 Đối với giáo viên ...................................................................... 25
2.2.2.1 Nghiệp vụ soạn bài lý thuyết............................................... 25
2.2.2.2 Nghiệp vụ” soạn đề thi tự luận” .......................................... 26
2.2.2.3 Nghiệp vụ “soạn bài tập trắc nghiệm”................................. 27
2.2.2.4 Nghiệp vụ “Tra cứu” ........................................................... 28
2.2.2.5 Nghiệp vụ “Nhận xuất dữ liệu“........................................... 29
2.3 Các lớp đối tượng ..................................................................... 29
2.3.1 Danh sách các lớp đối tượng ở mức phân tích ......................... 29
2.3.2 Chi tiết các lớp đối tượng ở mức phân tích .............................. 30
3 ) Thiết kế......................................................................................34
3.1 Kiến trúc logic đa tầng ............................................................. 34
4. Trang 4
3.1.1 Đối với học sinh........................................................................ 34
3.1.1.1 Xử lý ôn tập theo lớp........................................................... 35
3.1.1.2 Xử lý luyện giải đề thi ......................................................... 35
3.1.2 Đối với giáo viên ...................................................................... 37
3.1.3 Kiến trúc triển khai................................................................... 38
3.2 Thiết kế dữ liệu......................................................................... 38
3.2.1 Sơ đồ logic dữ liệu.................................................................... 38
3.2.1.2 Ôn tập lý thuyết ................................................................... 43
3.2.1.3 Đề thi tự luận ....................................................................... 45
3.2.1.4 Đề thi trắc nghiệm ............................................................... 46
3.3 Thiết kế xử lý............................................................................ 48
3.3.1 Mục đích................................................................................... 48
3.3.2 Kiến trúc tổng thể của các lớp đối tượng ................................. 49
3.3.2.1 Danh sách các lớp đối tượng ............................................... 49
3.3.2.2 Mô hình quan hệ giữa các đối tượng................................... 51
3.3.2.3 Chi tiết tổ chức bên trong các lớp đối tượng....................... 61
3.4 Thiết kế giao diện ..................................................................... 98
3.4.1 Thiết kế thực đơn...................................................................... 98
3.4.2 Sơ đồ các màn hình ................................................................ 101
3.4.2.1 Phân hệ học sinh................................................................ 101
3.4.2.2 Phân hệ giáo viên............................................................... 101
3.4.3 Danh sách các thành phần trên sơ đồ ..................................... 102
3.4.4 Chi tiết từng màn hình............................................................ 102
3.4.4.1 Màn hình chính.................................................................. 102
3.4.4.2 Màn hình ôn tập lý thuyết.................................................. 105
3.4.4.3 Màn hình luyện giải đề thi tự luận..................................... 108
3.4.4.4 Màn hình luyện giải đề thi trắc nghiệm............................. 111
3.4.4.5 Màn hình viết cấu hình electron ........................................ 114
3.4.4.6 Màn hình viết phương trình phản ứng............................... 115
3.4.4.7 Màn hình bảng hệ thống tuần hoàn ................................... 118
3.4.4.8 Màn hình bảng tính tan...................................................... 120
3.4.4.9 Màn hình giới thiệu ........................................................... 121
3.4.4.10 Màn hình xuất dữ liệu........................................................ 123
3.4.4.11 Màn hình soạn bài lý thuyết .............................................. 125
3.4.4.12 Màn hình soạn đề thi tự luận ............................................. 128
3.4.4.13 Màn hình soạn đề thi trắc nghiệm ..................................... 130
3.4.4.14 TH_MyRichEditControl.................................................... 132
4 ) Thực hiện và thử nghiệm.......................................................143
4.1 Thực hiện................................................................................143
4.1.1 ModuleChung......................................................................... 143
4.1.2 ModuleHocSinh...................................................................... 144
4.1.3 ModuleGiaoVien .................................................................... 144
4.2 Thử nghiệm.............................................................................144
5. Trang 5
5 ) Tổng kết...................................................................................144
5.1 Các kết quả đạt được ..............................................................144
5.2 Đánh giá ưu khuyết điểm .......................................................145
5.3 Hướng mở rộng tương lai.......................................................145
6. Trang 6
Danh sách các hình vẽ
Hình 1 : Ôn tập theo lớp của ADCOM .......................................................................9
Hình 2 : Chức năng ôn tập theo dạng bài của ADCOM .............................................9
Hình 3 : Chức năng luyện giải đề thi ........................................................................10
Hình 4 : Ôn tập theo lớp............................................................................................12
Hình 5 : Giải đề thi trắc nghiệm................................................................................13
Hình 6 : Soạn đề thi trắc nghiệm...............................................................................15
Hình 7 : sơ đồ logic dữ liệu.......................................................................................38
Hình 8 : Màn hình chính .........................................................................................103
Hình 9 : Màn hình ôn tập lý thuyết .........................................................................105
Hình 10 : Màn hình giải đề thi tự luận....................................................................108
Hình 11 : Màn hình giải đề thi trắc nghiệm............................................................111
Hình 12 : Màn hình viết cấu hình electron..............................................................114
Hình 13 : Màn hình viết phương trình phản ứng ....................................................116
Hình 14 : Bảng hệ thống tuần hoàn.........................................................................118
Hình 15 : Bảng tính tan...........................................................................................120
Hình 16 : Màn hình giới thiệu.................................................................................121
Hình 17 : Màn hình xuất dữ liệu.............................................................................123
Hình 18 : Màn hình soạn bài lý thuyết....................................................................125
Hình 19 : Màn hình soạn đề thi tự luận...................................................................128
Hình 20 : Màn hình soạn đề thi trắc nghiệm...........................................................130
7. Trang 7
11 )) ĐĐặặtt vvấấnn đđềề
11..11 HHiiệệnn ttrrạạnngg
Hiện nay , Công nghệ Thông tin đã có những đóng góp to lớn trong
cuộc sống , đặc biệt là các ứng dụng của phần mềm máy tính . Hầu hết tất cả
các ngành nghề đều cần có sự hỗ trợ của các phần mềm ứng dụng nhằm hoàn
thành công việc một cách nhanh chóng và hiệu quả , giúp nâng cao hiệu suất
làm việc . Có thể nói công nghệ thông tin đã trở thành chất xúc tác không thể
thiếu trong toàn bộ các hoạt động của đời sống , của nền kinh tế tri thức , của
nền văn minh đương đại . Trong công tác giảng dạy và học tập cũng vậy ,
nếu có được các sản phẩm phần mềm hỗ trợ tốt sẽ đem lại những ích lợi vô
cùng to lớn cho cả học sinh lẫn giáo viên . Nhiệm vụ của các phần mềm
trong lĩnh vực giáo dục là phải hệ thống hóa toàn bộ kiến thức một cách rỏ
ràng , qui củ , mạch lạc . Nó phải cho phép học sinh ôn bài một cách hiệu
quả , dễ học , dễ hiểu , dễ nhớ và rút ngắn thời gian ôn luyện . Nó giúp học
sinh ôn luyện một cách độc lập , nâng cao khả năng tự học và giảm đi sự phụ
thuộc quá nhiều của học sinh vào giáo viên. Vậy hiện trạng của việc ôn luyện
môn Hoá phục vụ cho kì thi tốt nghiệp phổ thông như thế nào cùng với sự hỗ
trợ của các chương trình phần mềm đang có trên thị trường ?
Trước hết trong việc học tập, học sinh làm các bài tập dưới sự hướng
dẫn của thầy cô và các sách tham khảo có bán trên thị trường . Vấn đề phát
sinh là học sinh không quản lý được lượng bài tập đã làm , không sắp xếp
được các bài tập đó một cách hệ thống nhất . Do vậy, trong một số trường
hợp học sinh không có đủ điều kiện làm đủ các dạng bài tập cần thiết và có
thể tham khảo các đề thi tốt nghiệp của các năm trước. Ngoài ra, trong quá
trình làm bài, học sinh phải tìm kiếm các kiến thức liên quan đến bài, điều
này rất mất thời gian do lượng kiến thức môn Hoá ở cấp 3 rất lớn. Thêm vào
đó, sự liên lạc giữa học sinh với giáo viên không được thường xuyên , phần
nhiều là ở trên lớp. Do đó, khi gặp một bài toàn khó học sinh không biết lời
8. Trang 8
giải hoặc có lời giải mà không biết đúng sai , họ gặp khó khăn để liên lạc với
thầy cô nhờ giúp đỡ. Ngoài ra, học sinh rất cần đến một công cụ trợ giúp , ở
đó như là phòng thi ảo (có bấm giờ làm bài , có đề thi…) để rèn luyện trước
khi vào phòng thi chính thức. Điều này có tác dụng rất lớn giúp họ làm quen
với thi cử một cách thường xuyên , do đó cải thiện tâm lý khi đi thi thật.
Về phần giáo viên, trong khi soạn bài tập cho học sinh họ rất cần đến một
công cụ hỗ trợ tính toán , đưa ra trước các phương trình phản ứng , tự phát
sinh phương pháp và lời giải cho một vài dạng toán đặc thù … giúp giảm
thời gian soạn bài cho học sinh . Ngoài ra, việc quản lý các bài tập, các dạng
bài đã soạn cũng là một vấn đề khó khăn khi giáo viên cần tra cứu, tìm kiếm.
Không chỉ soạn bài, họ còn giúp học sinh sửa bài. Do đó, họ cũng cần một
công cụ hỗ trợ sửa bài , tìm ra lỗi sai của học sinh một cách nhanh nhất mà
không mất thời gian dò thủ công.
11..22 CCáácc ssảảnn pphhẩẩmm pphhầầnn mmềềmm hhỗỗ ttrrợợ ttrrêênn tthhịị ttrrưườờnngg hhiiệệnn nnaayy
Để giúp đỡ phần nào công việc học tập và giảng dạy của giáo viên và học sinh,
trên thị trường đã xuất hiện một số các phần mềm hỗ trợ rất hữu ích. Tuy nhiên,
chúng chỉ dừng lại ở việc hỗ trợ giảng dạy cho học sinh và đưa ra một số các bài tập
dưới dạng thi trắc nghiệm giúp học sinh nắm được lý thuyết mà chưa có các chức
năng tra cứu kiến thức, hỗ trợ giải bài tập (ví dụ đưa ra các hướng dẫn giải ) hay cho
học sinh làm trực tiếp trên máy vi tính nên chưa có chức năng chấm bài cho học
sinh . Ngoài ra chúng còn thiếu hoặc thậm chí không có các hình ảnh , các thí
nghiệm minh họa trực quan bằng các đoạn video clip ngắn làm sinh động bài học
cho học sinh và gợi nhớ lại những gì mà học sinh đã học . Học sinh khi sử dụng các
phần mềm này chỉ đơn thuần làm các bài mà phần mềm đưa ra chứ không được hỗ
trợ chức năng soạn thảo bài mới. Và các phần mềm này mới chỉ bắt đầu hỗ trợ cho
học sinh trong việc ôn luyện môn hoá chứ chưa phục vụ cho đối tượng là giáo viên
trong qúa trình soạn bài tập, đề thi, sửa bài cho học sinh . Tuy nhiên các phần mềm
cũng đã giúp học sinh tiếp cận và giải các đề thi tốt nghiệp phổ thông các năm trước
9. Trang 9
nên học sinh có thể làm quen , nắm bắt được cách thức thi cử , các dạng bài tập
thường ra và phân bổ thời gian làm bài sao cho tối ưu nhất để có thể làm kịp giờ .
Đơn cử , phần mềm Hổ trợ ôn thi môn Hoá học của Công ty Tư vấn và Tin
học 99 ADCOM . Các tính năng chính của phần mềm này như sau :
Cho phép ôn luyện theo lớp ( lớp 10, lớp 11 , lớp 12 ) : học sinh ôn lại kiến
thức lý thuyết của chương trình cấp III .
Hình 1 : Ôn tập theo lớp của ADCOM
Phân hoạch các dạng bài và làm bài theo các dạng đó , không hỗ trợ giải bài .
Hình 2 : Chức năng ôn tập theo dạng bài của ADCOM
10. Trang 10
Tất cả các bài làm đều là bài trắc nghiệm , có tính giờ và nhắc nhở trong quá
trình làm bài .
Có thống kê kết quả làm bài dưới dạng biểu đồ và báo biểu
Cho phép luyện giải đề thi các năm trước và đề thi mẫu
Hình 3 : Chức năng luyện giải đề thi
Có hỗ trợ lời giải trong quá trình làm bài
Cho phép thêm đề thi , bài tập
11..33 ĐĐềề nngghhịị yyêêuu ccầầuu cchhứứcc nnăănngg
Trước các hiện trạng của quá trình học tập, rèn luyện của học sinh ,
soạn giáo án và sửa bài của giáo viên, nhóm đề nghị yêu cầu chức năng cho
phần mềm sẽ xây dựng như sau : Hệ thống gồm có 2 module
1.3.1 Module dành cho học sinh
Các chức năng của chương trình hỗ trợ cho module này bao gồm :
• Chức năng tự ôn luyện cho học sinh :
- Ôn luyện theo lớp 10, 11,12
11. Trang 11
- Hổ trợ học sinh ôn tập theo dạng bài , bao gồm :
o Bổ túc và cân bằng hoàn thành phương trình
phản ứng
o Định lượng dựa vào phương trình phản ứng
- Ôn luyện làm đề thi thử các năm trước.
- Ôn luyện theo bài tự do : học sinh tự soạn thảo , sưu tập
bài (từ bạn bè hoặc thầy cô ) cho mình và làm tự chọn .
- Làm các bài tập trắc nghiệm.
- Nhập xuất dữ liệu
• Chức năng hỗ trợ khác :
- Bảng tuần hoàn
- Nháp
- Bảng tính tan
- Bảng kết tủa.
- Bảng các chất bay hơi
- Máy tính.
- Hỗ trợ chức năng khác như : Bảng tuần hoàn, bảng tính
tan, bảng kết tủa, máy tính, nháp, giúp trí nhớ hoá học cả 3 lớp
10,11,12.
1.3.1.1 Chức năng tự ôn luyện cho học sinh
• Ôn luyện theo lớp 10, 11,12 :
Hệ thống sẽ hệ thống hoá kiến thức 3 lớp 10,11,12, đối với từng
bài cụ thể sẽ có các bài tập tương ứng giúp học sinh củng cố kiến thức
phần lý thuyết vừa học. Hệ thống cho phép học sinh giải bài tập trên
máy và sau khi giải xong có thể xem lời giải do hệ thống đưa ra.
Trong qúa trình giải xem nhanh các hướng dẫn để có ý tưởng làm bài.
Hệ thống hỗ trợ chức năng in ấn đối với bài lý thuyết và lưu bài giải
của học sinh.
12. Trang 12
Sau khi học xong phần lý thuyết ứng với mỗi bài, hệ thống sẽ đưa
ra các hỗ trợ về hình ảnh hay phim minh hoạ. Ví dụ : khi học sinh học
xong các tính chất hoá học của rượu, người dùng có thể được xem các
thí nghiệm minh hoạ trên phim. Hay đối với bài thành phần cấu tạo
của nguyên tử, học sinh có thể được xem các hình ảnh về lớp vỏ
electron, hạt nhân (proton, notron..)…
Hình 4 : Ôn tập theo lớp
• Hệ thống hỗ trợ ôn luyện các dạng bài sau :
Bổ túc và cân bằng hoàn thành phương trình phản ứng
Định lượng dựa vào phương trình phản ứng
13. Trang 13
• Giải đề thi trắc nghiệm :
Ngoài 2 hỗ trợ tự ôn luyện theo lớp (phần cơ bản) và ôn luyện theo
dạng bài (phần nâng cao), chương trình còn giúp cho học sinh tự củng
cố kiến thức của mình bằng các câu hỏi trắc nghiệm.
Các câu hỏi của phần thi trắc nghiệm giúp học sinh có phản xạ
nhanh khi làm bài, ngoài ra nó còn là sự kết hợp các kiến thức khác
nhau do đó học sinh sẽ nhớ lý thuyết hơn.
Hệ thống sẽ hỗ trợ chức năng tuỳ chọn gồm :
Nếu học sinh chỉ muốn ôn luyện thì hệ thống sẽ không hiển thị
đồng hồ tính giờ mà hiển thị hướng dẫn và lời giải đối với từng bài
cho học sinh . Còn ngược lại nếu họ muốn làm một phần thi thử thì hệ
thống sẽ hiển thị đồng hồ và cho ngừng các hướng dẫn và lời giải đối
với các bài thi .
Hình 5 : Giải đề thi trắc nghiệm
14. Trang 14
• Giải đề thi tự luận :
Sau quá trình ôn luyện học sinh có thể làm quen với việc giải các
đề thi của các năm trước. Chức năng này cho phép học sinh kiểm tra
lại khả năng của mình và có tâm lý quen với việc thi cử. Sau khi học
sinh làm xong, hệ thống sẽ chấm điểm cho học sinh và đưa ra lời giải
đối với từng bài.
1.3.1.2 Chức năng nhận xuất dữ liệu
Chức năng này hỗ trợ học sinh trao đổi dữ liệu ( bài tập , đề thi …)
với nhau và với thầy cô .
1.3.1.3 Các công cụ hỗ trợ khác
Trong quá trình làm bài , học sinh có thể sử dụng các công cụ hỗ
trợ từ hệ thống đó là : bảng hệ thống tuần hoàn, bảng tính tan, máy
tính , nháp…
1.3.2 Module dành cho giáo viên
Đối tượng giáo viên thì không giống với đối tượng học sinh, vì
công việc của họ là soạn các bài tập theo dạng, soạn thi trắc nghiệm
và soạn các đề thi mẫu.
Do đó, hệ thống hỗ trợ giáo viên cần có các chức năng sau :
- Chức năng soạn bài : giáo viên có khả năng soạn bài theo dạng,
soạn thi trắc nghiệm và đề thi.
- Hỗ trợ chức năng khác như : Bảng tuần hoàn, bảng tính tan, máy
tính, nháp, giúp trí nhớ hoá học cả 3 lớp 10,11,12.
15. Trang 15
1.3.2.1 Soạn đề thi trắc nghiệm
Hình 6 : Soạn đề thi trắc nghiệm
1.3.2.2 Chức năng soạn đề thi tự luận
Giáo viên tập hợp lại tất cả các bài đã soạn để tạo ra đề thi cho học
sinh, trong đó có quy định thời gian làm bài cách tính điểm cho mỗi
câu…
1.3.2.3 Chức năng nhận xuất dữ liệu
Giáo viên có thể giao bài tập , đề thi , trắc nghiệm , trao đổi với
học sinh thông qua chức năng này .
1.3.2.4 Chức năng hỗ trợ khác
Trong quá trình soạn bài, giáo viên có thể nhờ sự hỗ trợ của các
công cụ máy tính, bảng tuần hoàn, bảng tính tan, sổ tay giúp trí nhớ
hóa học, nháp…
16. Trang 16
22 )) PPhhâânn ttíícchh
22..11 SSơơ đđồồ ssửử ddụụnngg
Ôn tập lý
thuyết Giải đề thi tự
luận
Giải đề thi
trắc nghiệm
Tra cứu bảng tuần
hoàn, bảng tính tan,
máy tính…
Trao đổi
Soạn đề thi
tự luận
Soạn đề thi
trắc nghiệm
Soạn bài lý
thuyết
Giải bài tập
theo dạng
Hoc sinh
Giao vien
17. Trang 17
Danh sách các người dùng của sơ đồ sử dụng
STT Người dùng Diễn giải Ghi chú
1 Hoc sinh Học sinh
2 Giao vien Giáo viên
Danh sách các nghiệp vụ của sơ đồ sử dụng
STT Nghiệp vụ Ghi chú
1 Ôn tập lý thuyết
2 Giải đề thi tự luận
3 Giải đề thi trắc nghiệm
4 Tra cứu
5 Nhận / xuất dữ liệu
6 Soạn bài lý thuyết
7 Soạn đề thi tự luận
8 Soạn đề thi trắc nghiệm
2.1.1 Chi tiết các chức năng hỗ trợ
2.1.1.1 Đối với học sinh
• Ôn tập theo lớp : Phân cấp ra 3 lớp chính 10, 11, 12.
Ứng với mỗi lớp sẽ có hệ thống các bài lý thuyết theo
từng chương và từng bài lý thuyết cụ thể. Tương ứng
với mỗi bài lý thuyết học sinh có thể làm bài tập theo
sách giáo khoa để củng cố phần lý thuyết vừa học.
• Giải đề thi tự luận: Tại chức năng này, học sinh sẽ giải
các bài thi do hệ thống đưa sẵn hay do nhập từ giáo
viên. Đây là phần ôn theo tự luận.
• Giải đề thi trắc nghiệm : học sinh sẽ ôn tập các bài học
theo phương pháp thi trắc nghiệm với các bài được hệ
thống đưa sẵn hay nhập từ bài soạn của giáo viên. Hệ
thống hỗ trợ tính giờ…
• Chức năng tra cứu : phần mềm cung cấp một số các
chức năng giúp người dùng thuận tiện hơn trong việc tra
18. Trang 18
cứu : bảng hệ thống tuần hoàn, bảng tính tan, máy tính,
nháp, sổ tay hoá học…
• Chức năng nhận / xuất dữ liệu : chức năng này giúp học
sinh trao đổi với giáo viên về các bài tập cũng như đề thi
thông qua email…
2.1.1.2 Đối với giáo viên
• Soạn đề thi tự luận : hệ thống giúp giáo viên quản lý
phần soạn các đề thi tự luận.
• Soạn đề thi trắc nghiệm : hệ thống giúp giáo viên quản
lý phần soạn đề thi trắc nghiệm.
• Chức năng tra cứu : phần mềm cung cấp một số các
chức năng giúp người dùng thuận tiện hơn trong việc tra
cứu : bảng hệ thống tuần hoàn, bảng tính tan, máy tính,
nháp, sổ tay hoá học…
• Chức năng nhận / xuất dữ liệu : chức năng này giúp học
sinh trao đổi với giáo viên về các bài tập cũng như đề thi
thông qua email…
2.1.1.3 Chức năng khác
• Trong quá trình giải bài của học sinh và soạn đáp án của
giáo viên, hệ thống hỗ trợ tác vụ tự động phát sinh
phương trình phản ứng dựa vào danh sách các chất phản
ứng do người dùng đưa ra, đồng thời hỗ trợ tác vụ tính
giá trị của chất phản ứng có trong phương trình phản
ứng đó.
• Hỗ trợ học sinh viết cấu hình electron khi biết điện tích
nguyên tố hoặc ngược lại xác định nguyên tố khi biết
cấu hình electron
19. Trang 19
22..22 SSơơ đđồồ lluuồồnngg ddữữ lliiệệuu
2.2.1 Học sinh
2.2.1.1 Nghiệp vụ “Ôn tập lý thuyết”
Diễn giải
D2 : Các thông tin về bài học : Lớp , Chương , Lý thuyết , Bài tập
SGK áp dụng .
D3 : Như D2
D6 : in
Xử lý
Đọc D3
Xuất D2
Ôn tập lý thuyết
Học sinh
D2
D3
Máy In
D6
20. Trang 20
2.2.1.2 Nghiệp vụ “Giải đề thi tự luận”
Diễn giải
D1 : Mã số đề thi
D2 : Kết quả làm bài
D3 : Đề thi
D4 : Bài làm
D6 : in
Xử lý
Nhập D1
Đọc D3
Lưu D4
Xuất D2
Giải đề thi tự
luận
Học sinh
D2
D3
D1
D4
Máy In
D6
21. Trang 21
2.2.1.3 Nghiệp vụ “Giải đề thi Trắc nghiệm ”
Diễn giải
D1 : Số bài tập
D2 : Kết quả làm bài
D3 : Bài trắc nghiệm
D4 : Bài làm
D6 : in
Xử lý
Nhập D1
Đọc D3
Lưu D4
Xuất D2
Giải đề thi Trắc
nghiệm
Học sinh
D2
D3
D1
D4
Máy In
D6
22. Trang 22
2.2.1.4 Nghiệp vụ “Giải đề bài tập theo dạng ”
Diễn giải
D1 : dạng bài tập và đề bài
D2 : Kết quả làm bài
D6 : in
Xử lý
Nhập D1
Xuất D2
Giải bài tập
theo dạng
Học sinh
D2D1
Máy In
D6
23. Trang 23
2.2.1.5 Nghiệp vụ “Tra cứu”
Diễn giải
D1 : loại tra cứu
D4 : như D1 & kết quả tra cứu
Tra cứu bảng hệ
thống tuần hoàn máy
tính, bảng tính tan,
máy tính, nháp…
Học sinh
D1
D4
24. Trang 24
2.2.1.6 Nghiệp vụ ‘ Nhận xuất dữ liệu ‘
Diễn giải :
D1 : file cần trao đổi.
D4 : như D1
D5 : như D1
Chức năng nhận xuất
dữ liệu để tra đổi với
giáo viên
Học sinh
D1
D4
D5
25. Trang 25
2.2.2 Đối với giáo viên
2.2.2.1 Nghiệp vụ soạn bài lý thuyết
Diễn giải
D1 : Mã lớp , mã chương , mã bài
D4 : Như D1 và các dữ liệu liên quan đến bài lý thuyết
Xử lý
Nhập D1
Lưu D4
Soạn đề bài lý
thuyết
Giáo viên
D1
D4
26. Trang 26
2.2.2.2 Nghiệp vụ” soạn đề thi tự luận”
Diễn giải
D1 : Số đề thi , số bài tập
D4 : Như D1 và các dữ liệu liên quan đến đề thi , bài tập
Xử lý
Nhập D1
Lưu D4
Soạn đề thi tự
luận
Giáo viên
D1
D4
27. Trang 27
2.2.2.3 Nghiệp vụ “soạn bài tập trắc nghiệm”
Diễn giải
D1 : Số đề thi , số bài tập
D4 : Như D1 và các dữ liệu liên quan đến đề thi , bài tập
Xử lý
Nhập D1
Lưu D4
Soạn đề thi trắc
nghiệm
Giáo viên
D1
D4
28. Trang 28
2.2.2.4 Nghiệp vụ “Tra cứu”
Diễn giải
D1 : loại tra cứu
D4 : như D1
Tra cứu bảng hệ
thống tuần hoàn máy
tính, bảng tính tan,
máy tính, nháp…
Giáo viên
D1
D4
29. Trang 29
2.2.2.5 Nghiệp vụ “Nhận xuất dữ liệu“
Diễn giải :
D1 : file cần trao đổi.
D4 : như D1
D5 : như D1
22..33 CCáácc llớớpp đđốốii ttưượợnngg
2.3.1 Danh sách các lớp đối tượng ở mức phân tích
STT Tên Ý nghĩa Ghi chú
1 Lớp Lớp
2 Chương Chương
3 Bài lý thuyết Bài lý thuyết
4 Đề thi tự luận Đề thi tự luận
5 Bài tập tự luận Bài tập tự luận
6 Đề thi trắc nghiệm Đề thi trắc nghiệm
7 Bài tập trắc nghiệm Bài tập trắc nghiệm
8 Dạng bài tập Dạng bài tập
Chức năng nhập xuất
file để trao đổi với
học sinh
Giáo viên
D1
D4D5
30. Trang 30
2.3.2 Chi tiết các lớp đối tượng ở mức phân tích
Lớp
-Tên lớp
- Nhập tên lớp
- xuất tên lớp
- kiểm tra thông tin hợp lệ
- tìm kiếm chương trong lớp
Chương
-Tên chương
- Nhöngập tên chương
- xuất tên chương
- kiểm tra thông tin hợp lệ
- tìm kiếm bài trong chương
- lấy lớp mà chương thuộc về
Bài lý thuyết
-Tên bài lý thuyết
- các bài tập SGK
- Nhöngập tên bài
- xuất tên bài
- kiểm tra thông tin hợp lệ
- tìm kiếm bài tập trong lớp
- lấy chương mà bài thuộc về
Bài tập tự luận
- Tên gợi nhớ
- Độ khó
- Dạng bài
- Thời gian làm bài
- Nhập thông tin bài tập tự luận
.
- xuất thông tin bài tập tự luận
- kiểm tra thông tin hợp lệ
- Tính thời gian làm bài
31. Trang 31
- thêm bài tập
- xóa bài tập
- sửa bài tập
- lưu trữ bài tập
- thêm bài tập vào đề thi
- xóa bài tập khỏi đề thi
Đề thi tự luận
-Tên gợi nhớ
- Nhập tên gợi nhớ
- xuất tên gợi nhớ
- kiểm tra thông tin hợp lệ
- thêm đề thi
- xóa đề thi
- sửa đề thi
- tìm bài tập trong đề
Bài tập trắc nghiệm
- Tên gợi nhớ
- Độ khó
- Dạng bài
- Thời gian làm bài
- Số lựa chọn
- Lựa chọn đúng
- Nhập thông tin bài tập tự
luận .
- xuất thông tin bài tập tự luận
- kiểm tra thông tin hợp lệ
- Tính thời gian làm bài
- thêm bài tập
- xóa bài tập
- sửa bài tập
- lưu trữ bài tập
- thêm bài tập vào đề thi
- xóa bài tập khỏi đề thi
Đề thi trắc nghiệm
- Tên gợi nhớ
- Nhập tên gợi nhớ
- xuất tên gợi nhớ
32. Trang 32
- kiểm tra thông tin hợp lệ
- thêm đề thi
- xóa đề thi
- sửa đề thi
- tìm bài tập trong đề
33. Trang 33
Dạng bài
-Tên dạng bài
- Nhập tên dạng bài
- xuất tên dạng bài
- kiểm tra thông tin hợp lệ
- thêm dạng bài
- xóa dạng bài
- sửa dạng bài
- tìm các bài thuộc về dạng
bài
34. Trang 34
33 )) TThhiiếếtt kkếế
33..11 KKiiếếnn ttrrúúcc llooggiicc đđaa ttầầnngg
3.1.1 Đối với học sinh
Học sinh
Thể hiện
ôn tập lý
thuyết
Thể hiện
giải đề thi
tự luận
Thể hiện giải
đề thi trắc
nghiệm
Xử lý ôn
tập lý
thuyết
Xử lý giải
đề thi tự
luận
Xử lý giải đề
thi trắc
nghiệm
Hệ thống các
đối tượng thể
hiện
Hệ thống các
đối tượng xử
lý
Hệ thống các
đối tượng lưu
trữ
Dữ liệu lý
thuyết
Dữ liệu
đề thi
tự luận
Dữ liệu đề
thi trắc
nghiệm
35. Trang 35
3.1.1.1 Xử lý ôn tập theo lớp
3.1.1.2 Xử lý luyện giải đề thi
Xử lý ôn tập lý
thuyết
Xử lý Lý thuyết
Lớp
Xử lý bài tập
Chương Bài Hỗ trợ phương
trình phản ứng
Xử lý giải đề thi
tự luận
Hỗ trợ phương
trình phản ứng
36. Trang 36
Học sinh
Hệ thống các
đối tượng thể
hiện
Hệ thống các
đối tượng xử
lý
Hệ thống các
đối tượng lưu
trữ
Thể hiện
tra cứu
Xử lý tra
cứu
Dữ liệu
tra cứu
Thể hiện giải
bài tập theo
dạng
Xử lý giải
bài tập
theo dạng
37. Trang 37
3.1.2 Đối với giáo viên
Giáo viên
Thể hiện
soạn đề
thi trắc
nghiệm
Thể hiện
soạn đề thi
tự luận
Xử lý soạn
đề thi trắc
nghiệm
Xử lý soạn
đề thi tự
luận
Hệ thống các
đối tượng thể
hiện
Hệ thống các
đối tượng xử
lý
Hệ thống các
đối tượng lưu
trữ
Dữ liệu
đề thi
trắc
Dữ liệu
đề thi tự
luận
Thể hiện
tra cứu
Xử lý tra
cứu
Dữ liệu
tra cứu
38. Trang 38
3.1.3 Kiến trúc triển khai
33..22 TThhiiếếtt kkếế ddữữ lliiệệuu
3.2.1 Sơ đồ logic dữ liệu
Cấu trúc các lớp đối tượng
Hình 7 : sơ đồ logic dữ liệu
Thể hiện
Xử lý
Lưu trữ
Bộ nhớ
ngoài
Học
sinh
Thể hiện
Xử lý
Lưu trữ
Giáo
viên
Bộ nhớ
ngoài
LOP CHUONG BAILY
THUYET
DETHITU
LUAN
DETHI_BAITAP
TULUAN
BAITAP
TULUAN
DETHITRAC
NGHIEM
DETHI_BAITAP
TRACNGHIEM
BAITAP
TRACNGHIEM
BAITAP
SGK
LOAI
BAITAP
39. Trang 39
3.2.1.1.1 Danh sách các thành phần của sơ đồ
STT Tên Ý nghĩa Loại Ghi chú
1 LOP Lớp Đối
tương
2 CHUONG Chương Đối
tương
3 BAILYTHUYET Bài lý
thuyết
Đối
tương
4 BAITAPSGK Bài tập
SGK
Đối
tương
5 DETHITULUAN Đề thi tự
luận
Đối
tương
BAITAPTUUAN Bài tập tự
luận
Đối
tương
6 DETHI_BAITAPTULUAN Đề thi - bài
tập tự luận
Quan
hệ
7 DETHITRACNGHIEM Đề thi trắc
nghiệm
Đối
tương
8 BAITAPTRACNGHIEM Bài tập trắc
nghiệm
Đối
tương
9 DETHI_BAITAPTRACNGHIEM Đề thi - bài
tập trắc
nghiệm
Quan
hệ
10 DANGBAITAP Dạng bài
tập
Đối
tương
3.2.1.1.2 Danh sách các thuộc tính của từng thành phần ở dạng
quan hệ
1. LOP (MaLop,TenLop)
2. CHUONG(MaChuong,TenChuong)
3. BAILYTHUYET(MaBaiLyThuyet,TenBaiLyThuyet,TenFileBaiL
yThuyet).
4. BAITAPSGK(MaBaiTapSGK,MaBaiLyThuyet,TenFileDeBai,Ten
FileHuongDanGiai,TenFileBaiGiai)
5. DETHITULUAN(MaDeThi,TenGoiNho)
40. Trang 40
6. BAITAPTULUAN(MaBaiTap,TenGoiNho,MaDangBai,DoKho,T
hoiGianLamBai,TenFileDeBai,TenFileHuongDan,TenFileBaiGiai,
TenFileBaiLam).
7. DETHI_BAITAPTULUAN(MaDeThi,MaBaiTap)
8. DETHITRACNGHIEM(MaDeThi,TenGoiNho)
9. BAITAPTRACNGHIEM(MaBaiTap,TenGoiNho,MaDangBai,Do
Kho,ThoiGianLamBai,SoLuaChon,LuaChonDung,TenFileDeBai,
TenFileHuongDan,TenFileBaiGiai,LuaChon).
10.DETHI_BAITAPTRACNGHIEM(MaDeThi,MaBaiTap)
11.DANGBAI(MaDangBai,TenDangBai)
3.2.1.1.3 Danh sách các thuộc tính của từng thành phần
Tên : Lop
Ý nghĩa : Lớp
STT Thuộc tính Kiểu Miền giá
trị
Ràng buộc Ghi chú
1 MaLop Số nguyên Khóa chính
2 TenLop Chuỗi
Tên : Chuong
Ý nghĩa : Chương
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
1 MaChuong Số nguyên Khóa chính
2 TenChuong Chuỗi
Tên : BaiLyThuyet
Ý nghĩa : Bài lý thuyết
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
1 MaBaiLyThuyet Số nguyên Khóa chính
2 TenBaiLyThuyet Chuỗi
3 TenFileBaiLyTh
uyet
Chuỗi
41. Trang 41
Tên : BaiTapSGK
Ý nghĩa : Bài tập SGK
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
1 MaBaiTapS
GK
Số nguyên Khóa chính
2 MaBaiLyTh
uyet
Số nguyên Tham
chiếu khóa
ngoại
3 TenFileDeB
ai
Chuỗi
4 TenFileHuo
ngDanGiai
Chuỗi
5 TenFileBai
Giai
Chuỗi
Tên : DeThiTuLuan
ý nghĩa : Đề thi tự luận
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
1 MaDeThi Số nguyên Khóa chính
2 TenGoiNho Chuỗi
Tên : BaiTapTuLuan
ý nghĩa : bài tập tự luận
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
1 MaBaiTap Số nguyên Khóa chính
2 TenGoiNho Chuỗi
3 MaDangBai Số nguyên Tham
chiếu khóa
ngoại
4 DoKho Số nguyên >=1 and <=4
5 ThoiGianLa
mBai
DateTime
42. Trang 42
6 TenFileDeB
ai
Chuỗi
7 TenFileHuo
ngDan
Chuỗi
8 TenFileBai
Giai
Chuỗi
9 TenFileBai
Lam
Chuỗi
Tên : DeThi_BaiTapTuLuan
ý nghĩa : quan hệ đề thi bài tập tự luận
STT Thuộc tính Kiểu Miền giá trị Ràng buộc Ghi chú
1 MaDeThi Số nguyên Tham
chiếu khóa
ngoại
2 MaBaiTap Số nguyên Tham
chiếu khóa
ngoại
Tên : DeThiTracNghiem
ý nghĩa : Đề thi trắc nghiệm
STT Thuộc tính Kiểu Miền giá trị Ràng buộc Ghi chú
1 MaDeThi Số nguyên Khóa chính
2 TenGoiNho Chuỗi
Tên : BaiTapTracNghiem
ý nghĩa : bài tập trắc nghiệm
STT Thuộc tính Kiểu Miền giá trị Ràng buộc Ghi chú
1 MaBaiTap Số nguyên Khóa chính
2 TenGoiNho Chuỗi
3 MaDangBai Số nguyên Tham chiếu
khóa ngoại
4 DoKho Số nguyên >=1 and <=4
5 ThoiGianLam
Bai
DateTime
43. Trang 43
6 SoLuaChon Số nguyên >=2 and <=5
7 LuaChonDun
g
Số nguyên <=
SoLuaChon
8 TenFileDeBai Chuỗi
9 TenFileHuon
gDan
Chuỗi
10 TenFilebaiGia
i
Chuỗi
11 LuaChon Số nguyên <=
SoLuaChon
Tên : DeThi_BaiTapTracNghiem
ý nghĩa : quan hệ đề thi bài tập trắc nghiệm
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
1 MaDeThi Số nguyên Tham chiếu
khóa ngoại
2 MaBaiTap Số nguyên Tham chiếu
khóa ngoại
Tên : DangBai
ý nghĩa : Dạng bài
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc
Ghi chú
3 MaDangBai Số nguyên Khóa chính
4 TenDangBai Chuỗi
3.2.1.2 Ôn tập lý thuyết
Cấu trúc file LyThuyet.dtd:
<?xml version="1.0" encoding="utf-8" ?>
<!ELEMENT LYTHUYET (LOP*)>
<!ELEMENT LOP (CHUONG*)>
<!ELEMENT CHUONG (BAILYTHUYET*)>
<!ELEMENT BAILYTHUYET (BAITAPSGK*)>
<!ELEMENT BAITAPSGK EMPTY>
44. Trang 44
<!ATTLIST LOP MaSo CDATA #REQUIRED>
<!ATTLIST LOP TenLop CDATA #IMPLIED>
<!ATTLIST CHUONG MaSo CDATA #REQUIRED>
<!ATTLIST CHUONG TenChuong CDATA #IMPLIED>
<!ATTLIST BAILYTHUYET MaSo CDATA #REQUIRED>
<!ATTLIST BAILYTHUYET TenBai CDATA #IMPLIED>
<!ATTLIST BAILYTHUYET TenFileBaiLT CDATA #IMPLIED>
<!ATTLIST BAITAPSGK TenFileBT CDATA #IMPLIED>
<!ATTLIST BAITAPSGK TenFileHuongDan CDATA #IMPLIED>
<!ATTLIST BAITAPSGK TenFileBaiGiai CDATA #IMPLIED>
Dữ liệu ví dụ : file LyThuyet.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE LYTHUYET SYSTEM "LyThuyet.dtd"[]>
<LYTHUYET>
<LOP MaSo="0" TenLop="Lớp 10">
<CHUONG MaSo="00" TenChuong="CẤU TẠO NGUYÊN TỬ">
<BAILYTHUYET MaSo="000" TenBai="Thành phần cấu tạo của nguyên
tử - Kích thước , khối lượng nguyên tử" TenFileBaiLT="L0C0B0.rtf">
<BAITAPSGK TenFileBT="L0C0B0BT0.rtf"
TenFileHuongDan="L0C0B0BT0HD0.rtf"
TenFileBaiGiai="L0C0B0BT0BG0.rtf"
TenFileBaiLam="L0C0B0BT0BL0.rtf">
</BAITAPSGK>
</BAILYTHUYET>
</CHUONG>
</LOP>
<LOP MaSo="1" TenLop="Lớp 11">
<CHUONG MaSo="10" TenChuong="SỰ ĐIỆN LY">
46. Trang 46
<!ATTLIST DETHI ThoiGianLamBai CDATA #IMPLIED>
Dữ liệu ví dụ :
file CauHoiTuLuan.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHCAUHOITULUAN SYSTEM "DuLieuTuLuan.dtd"[]>
<DANHSACHCAUHOITULUAN>
<CAUHOI MaCauHoi="CHTL001" TenGoiNho="Bài tập về kim loại lưỡng
tính" DangBai="" DoKho="2" ThoiGianLamBai="00:05:00" NoiDung="Hòa tan
hoàn toàn một khối lượng m gam FexOy bằng dung dịch H2SO4 đặc nóng , ta thu
được khí A và dung dịch B Cho khí A hấp thụ hoàn toàn bởi dung dịch NaOH dư
tạo ra 12,6 g muối . Mặt khác cô cạn dung dịch B thì thu được 120 gam muối khan .
Xác định công thức của Oxit sắt ."></CAUHOI>
</DANHSACHCAUHOITULUAN>
file DeThiTuLuan.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHDETHITRACNGHIEM SYSTEM
"DuLieuTuLuan.dtd"[]>
<DANHSACHDETHITRACNGHIEM>
<DETHI MaDeThi="DTTL001" TenGoiNho="Đề thi 1" DoKho="2"
ThoiGianLamBai="00:20:30" NgayRaDe="10/10/2001">
<CAUHOI MaCauHoi="CHTL001"></CAUHOI>
<CAUHOI MaCauHoi="CHTL002"></CAUHOI>
<CAUHOI MaCauHoi="CHTL003"></CAUHOI>
</DETHI>
</DANHSACHDETHITRACNGHIEM>
3.2.1.4 Đề thi trắc nghiệm
Cấu trúc của file DuLieuTracNghiem.dtd:
<?xml version="1.0" encoding="utf-8" ?>
47. Trang 47
<!ELEMENT DANHSACHCAUHOITRACNGHIEM (CAUHOI*)>
<!ELEMENT CAUHOI (CACLUACHON)>
<!ELEMENT CACLUACHON (LUACHON*)>
<!ELEMENT LUACHON (#PCDATA)>
<!ATTLIST CAUHOI MaCauHoi CDATA #REQUIRED>
<!ATTLIST CAUHOI TenGoiNho CDATA #IMPLIED>
<!ATTLIST CAUHOI DangBai CDATA #IMPLIED>
<!ATTLIST CAUHOI DoKho CDATA #IMPLIED>
<!ATTLIST CAUHOI ThoiGianLamBai CDATA #IMPLIED>
<!ATTLIST CAUHOI NoiDung CDATA #IMPLIED>
<!ATTLIST CACLUACHON LuaChonDung CDATA #IMPLIED>
<!ELEMENT DANHSACHDETHITRACNGHIEM (DETHI*)>
<!ELEMENT DETHI (CAUHOI*)>
<!ATTLIST DETHI MaDeThi CDATA #REQUIRED>
<!ATTLIST DETHI TenGoiNho CDATA #IMPLIED>
<!ATTLIST DETHI DoKho CDATA #IMPLIED>
<!ATTLIST DETHI ThoiGianLamBai CDATA #IMPLIED>
Dữ liệu ví dụ :
file CauHoiTracNghiem.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHCAUHOITRACNGHIEM SYSTEM
"DuLieuTracNghiem.dtd"[]>
<DANHSACHCAUHOITRACNGHIEM>
<CAUHOI MaCauHoi="CHTN001" TenGoiNho="Bài tập về kim loại lưỡng
tính" DangBai="" DoKho="2" ThoiGianLamBai="00:05:00" NoiDung="Một kim
loại M tác dụng với dung dịch HNO3 loãng thu được M(NO3)3,H2O và hổn hợp
khí E chứa N2 và N2O.Khi hòa tan hoàn toàn 2,16 gam kim loại M trong dung
dịchHNO3 loãng thu được 604,8 ml hổn hợp khí E có tỉ khối hơi đối với H2 là
18,45 . Xác định kim loại M .">
48. Trang 48
<CACLUACHON LuaChonDung="3">
<LUACHON>Cr</LUACHON>
<LUACHON>Al</LUACHON>
<LUACHON>Fe</LUACHON>
<LUACHON>Mn</LUACHON>
<LUACHON>Kết quả khác</LUACHON>
</CACLUACHON>
</CAUHOI>
</DANHSACHCAUHOITRACNGHIEM>
file DeThiTracNghiem.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHDETHITRACNGHIEM SYSTEM
"DuLieuTracNghiem.dtd"[]>
<DANHSACHDETHITRACNGHIEM>
<DETHI MaDeThi="DTTN001" TenGoiNho="Đề thi 1" DoKho="2"
ThoiGianLamBai="00:20:30" NgayRaDe="10/10/2001">
<CAUHOI MaCauHoi="CHTN001"></CAUHOI>
<CAUHOI MaCauHoi="CHTN003"></CAUHOI>
</DETHI>
</DANHSACHDETHITRACNGHIEM>
33..33 TThhiiếếtt kkếế xxửử llýý
3.3.1 Mục đích
Xây dựng tập hợp các lớp đối tượng mô phỏng các loại chất vô cơ nhằm thể
hiện tính chất hoá học của chúng. Do đó, chương trình có thể giúp người dùng
trong việc tự động phát sinh các phương trình phản ứng khi biết các chất tham
gia.
49. Trang 49
3.3.2 Kiến trúc tổng thể của các lớp đối tượng
3.3.2.1 Danh sách các lớp đối tượng
3.3.2.1.1 Các lớp đối tượng xử lý chính
STT Tên Ý nghĩa Ghi chú
1 Lop Lớp
2 Chuong Chương
3 BaiLyThuyet Bài lý thuyết
4 BaiTapSGK Bài tập SGK
5 BaiTapTuLuan Bài tập tự luận
6 DeThiTuLuan Đề thi trắc nghiệm
7 BaiTapTracNghiem Bài tập trắc nghiệm
8 DeThiTracNghiem Đề thi trắc nghiệm
9 XuLy_MHChinh Xử lý màn hình chính
10 XuLy_OnTapLyThuyet Xử lý Ôn tập lý
thuyết
11 XuLy_GiaiDeThiTuLuan Xử lý giải đề thi tự
luận
12 XuLy_GiaiDeThiTracNghiem Xử lý giải đề thi trắc
nghiệm
13 XuLy_SoanBaiLuyThuyet Xử lý soạn bài lý
thuyết
14 XuLy_SoanDeThiTuLuan Xử lý soạn đề thi tự
luận
15 XuLy_SoanDeThiTracNghiem Xử lý soạn đề thi trắc
nghiệm
16 DuLieu_LyThuyet Dữ liệu lý thuyết
17 DuLieu_TuLuan Dữ liệu tự luận
18 DuLieu_TracNghiem Dữ liệu trắc nghiệm
3.3.2.1.2 Các đối tượng thể hiện chất vô cơ
• ChatVoCo
• NguyenTo
• HopChatOH
• HopChatDienTich
• IonDuong
• IonAm
51. Trang 51
• OxitBazoNhomIII
• OxitBazoNhomPhu
• RH
• RHNhomIV
• RHNhomV
3.3.2.1.3 Các đối tượng quản lý
• DanhSachNguyenTo
• TapHopNguyenTo
• DanhSachChat
• TapHopChat
• PhuongTrinhPhanUng
• PhuongTrinhPhanUngCollection
• PhuongTrinhPhanUngHoanChinh
• ChatPhanUng
• TapHopChatTrongPtpu
• Math
• MyException
• DataBase
3.3.2.2 Mô hình quan hệ giữa các đối tượng
3.3.2.2.1 Các đối tượng thể hiện chất vô cơ
I.A.1.a.1. Mô hình 1 :
52. Trang 52
• Lớp ChatVoCo là lớp cơ sở của tất cả các lớp đối tượng.
• Lớp NguyenTo kế thừa từ lớp ChatVoCo thể hiện các nguyên tố
• Lớp HopChatOH kề thừa từ lớp ChatVoCo thể hiện các hợp chất với oxi
(oxit) hay với hidro(RH).
• Lớp HopChatDienTich kế thừa từ lớp ChatVoCo thể hiện các hợp chất
của IonDuong và IonAm
• Lớp IonDuong kế thừa từ lớp ChatVoCo thể hịên các ion dương tương
ứng trong lớp HopChatDienTich
• Lớp IonAm kế thừa từ lớp ChatVoCo thể hịên các ion âm tương ứng trong
lớp HopChatDienTich
I.A.1.a.2. Mô hình 2 :
• Lớp KimLoai kế thừa từ lớp NguyenTo thể hiện các nguyên tố kim loại.
• Lớp PhiKim kế thừa từ lớp NguyenTo thể hiện các nguyên tố phi kim.
I.A.1.a.3. Mô hình 3 :
• Lớp KLNhomI kế thừa từ lớp KimLoai thể hiện các kim loại thuộc phân
nhóm chính nhóm I .
53. Trang 53
• Lớp KLNhomII kế thừa từ lớp KimLoai thể hiện các kim loại thuộc phân
nhóm chính nhóm II .
• Lớp KLNhomIII kế thừa từ lớp KimLoai thể hiện các kim loại thuộc phân
nhóm chính nhóm III .
• Lớp KLNhomPhu kế thừa từ lớp KimLoai thể hiện các kim loại thuộc
phân nhóm chính nhóm Phu (phân nhóm B).
I.A.1.a.4. Mô hình 4 :
• Lớp PKNhomIV kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm IVA.
• Lớp PKNhomV kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm VA.
• Lớp PKNhomVI kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm VIA.
• Lớp PKNhomVII kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm VIIA.
I.A.1.a.5. Mô hình 5 :
54. Trang 54
• Lớp Oxit kế thừa từ lớp HopChatOH thể hiện các oxit (hợp chất được tạo
bởi mối kết hợp của nguyên tố O với các nguyên tố khác.)
• Lớp RH kế thừa từ lớp HopChatOH thể hiện các hợp chất RH (hợp chất
được tạo bởi mối kết hợp của nguyên tố H với các nguyên tố khác.).
I.A.1.a.6. Mô hình 6 :
• Lớp OxitAxit kế thừa từ lớp Oxit thể hiện các oxit axit .
• Lớp OxitBazo kế thừa từ lớp Oxit thể hiện các oxit bazo.
I.A.1.a.7. Mô hình 7 :
• Lớp OxitAxitNhomIV kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm IVA với nguyen tố O.
• Lớp OxitAxitNhomV kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm VA với nguyen tố O.
• Lớp OxitAxitNhomVI kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm VIA với nguyen tố O.
• Lớp OxitAxitNhomVII kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm VIIA với nguyen tố O.
55. Trang 55
I.A.1.a.8. Mô hình 8 :
• Lớp OxitBazoNhomI kế thừa từ lớp OxitBazo thể hiện các oxit bazo của
nguyên tố kim loại thuộc phân nhóm chính nhóm IA với nguyên tố O.
• Lớp OxitBazoNhomII kế thừa từ lớp OxitBazo thể hiện các oxit bazo của
nguyên tố kim loại thuộc phân nhóm chính nhóm IIA với nguyên tố O.
• Lớp OxitBazoNhomIII kế thừa từ lớp OxitBazo thể hiện các oxit bazo
của nguyên tố kim loại thuộc phân nhóm chính nhóm IIIA với nguyên tố O.
• Lớp OxitBazoNhomPhu kế thừa từ lớp OxitBazo thể hiện các oxit bazo
của nguyên tố kim loại thuộc phân nhóm chính nhóm phụ (nhóm B) với
nguyên tố O.
I.A.1.a.9. Mô hình 9 :
• Lớp RHNhomIV kế thừa từ lớp RH thể hiện cách hợp chất RH của
nguyên tố phi kim nhóm IVA với nguyên tố H
• Lớp RHNhomV kế thừa từ lớp RH thể hiện cách hợp chất RH của nguyên
tố phi kim nhóm VIA với nguyên tố H
56. Trang 56
I.A.1.a.10. Mô hình 10 :
• Lớp Muoi kế thừa từ lớp HopChatDienTich thể hiện hợp chất muối (sự
kết hợp của ion dương kim loại , ion duơng NH4 và ion âm gốc axit).
• Lớp Axit kế thừa từ lớp HopChatDienTich thể hiện hợp chất Axit (sự kết
hợp của ion dương H
+
với ion âm gốc axit).
• Lớp Bazo kế thừa từ lớp HopChatDienTich thể hiện hợp chất Bazo (sự
kết hợp của ion dương kim loại, ion dương NH4 với ion âm OH-
)
• Lớp H2O kế thừa từ lớp HopChatDienTich thể hiện hợp chất của H2O.
I.A.1.a.11. Mô hình 11 :
• Lớp BazoKiem kế thừa từ lớp Bazo thể hiện bazo của kim loại phân nhóm
chính nhóm IA.
• Lớp BazoKiemTho kế thừa từ lớp Bazo thể hiện bazo của kim loại phân
nhóm chính nhóm IIA.
• Lớp BazoLuongTinh kế thừa từ lớp Bazo thể hiện bazo của kim loại phân
nhóm chính nhóm IIIA.
57. Trang 57
• Lớp BazoNhomPhu kế thừa từ lớp Bazo thể hiện bazo của kim loại phân
nhóm chính nhóm phụ.
• Lớp BazoNH4 kế thừa từ lớp Bazo thể hiện bazo của ion dương NH4.
3.3.2.2.2 Mối quan hệ khác
I.A.1.a.12. Mô hình 1 :
• Lớp PhuongTrinhPhanUngCollection chứa tập hợp các đối tượng của lớp
PhuongTrinhPhanUng.
• Lớp PhuongTrinhPhanUng chứa 2 đối tượng thuộc lớp TapHopChat thể
hiện các chất tham gia phản ứng và các chất tạo thành cùng chỉ số cân bằng
của chúng.
• Lớp TapHopChat chứa tập hợp các ChatVoCo tham gia phản ứng cùng các
chỉ số của chúng trong phương trình đã cân bằng và đồng thời 1 đối tượng
thuộc lớp DanhSachChat lưu các chất tham gia phản ứng.
• LớpDanhSachChat chứa tập hợp các đối tượng thuộc lớp ChatVoCo
*
*
PhuongTrinhPhanUngCollection
PhuongTrinhPhanUng
TapHopChat
DanhSachChat ChatVoCo
*
**
58. Trang 58
I.A.1.a.13. Mô hình 2 :
• Lớp PhuongTrinhPhanUngHoanChinh chứa một đối tượng thuộc lớp
PhuongTrinhPhanUng và một đối tượng thuộc lớp
TapHopChatTrongPtpu thể hiện các chất tham gia phản ứng cùng các
thuộc tính khối lượng số mol đã được tính.
• Lớp TapHopChatTrongPtpu chứa tập hợp các đối tượng thuộc lớp
ChatPhanUng.
• Lớp ChatPhanUng chứa một đối tượng thuộc lớp ChatVoCo cùng các
thuộc tính khối lượng, số mol của chất đó trong phương trình phản ứng.
PhuongTrinhPhanUngHoanChinh
PhuongTrinhPhanUn TapHopChatTrongPtp
ChatPhanUng
ChatVoCo
*
*
*
*
59. Trang 59
I.A.1.a.14. Mô hình 3 :
• Lớp ChatVoCo chứa một đối tượng thuộc lớp
PhuongTrinhPhanUngCollection đề lưu tập hợp các phương trình phản
ứng mà đối tượng này (ChatVoCo) sẽ tham gia phản ứng với một đối tượng
thuộc lớp ChatVoCo khác. Đồng thời lớp ChatVoCo cũng chứa một đối
tượng thuộc lớp TapHopNguyenTo để lưu toàn bộ các NguyenTo cấu tạo
lên đối tượng thuộc lớp ChatVoCo này và số lượng của chúng (phục vụ cho
việc tính khối lượng của đối tượng ChatVoCo này).
• Lớp TapHopNguyenTo chứa một đối tượng thuộc lớp
DanhSachNguyenTo để lưu các đối tượng thuộc lớp NguyenTo và bản thân
các NguyenTo cùng với chỉ số của chúng.
• Lớp DanhSachNguyenTo chứa các đối tượng thuộc lớp NguyenTo.
ChatVoCo
PhuongTrinhPhanUngCollectio
NguyenTo
TapHopNguyenTo
DanhSachNguyen
T
* *
* *
*
60. Trang 60
I.A.1.a.15. Mô hình 4 :
• Lớp HopChatDienTich chứa một đối tượng thuộc lớp IonDuong và một đối
tượng thuộc lớp IonAm.
• Lớp IonDuong có thể chứa hoặc không chứa đối tượng thuộc lớp KimLoai
tương ứng với ion dương đó.
3.3.2.2.3 Mô hình quan hệ giữa các đối tượng xử lý
DuLieu_TuLuan
XuLy_OnTapLyThuyetDuLieu_LyThuyet
1 11 1
XuLy_SoanBaiLyThuyet
1
1
1
1
DuLieu_TracNghiem
Lop
0..*
1
0..*
1
0..*
1
0..*
1
Chuong
0..*
1
0..*
1
BaiTapSGK BaiLyThuyet
10..* 10..*10..* 10..*
CauHoiTracNghiem
1
0..*
1
0..*
CauHoiTuLuan1
0..*
1
0..*
XuLy_SoanDeThiTuLuanDeThiTuLuan
1
0..*
1
0..*
0..*
1
0..*
1 10..* 10..*
XuLy_GiaiDeThiTuLuan
1
0..*
1
0..*
XuLy_SoanDeThiTracNghiemDeThiTracNghiem
1
0..*
1
0..*
0..*
1
0..*
1 10..* 10..*
XuLy_GiaiDeThiTracNghiem
1
0..*
1
0..*
HopChatDienTich
IonDuong IonAm
KimLoai
* *
*
61. Trang 61
3.3.2.3 Chi tiết tổ chức bên trong các lớp đối tượng
3.3.2.3.1 Lớp ChatVoCo
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_NguyenTos TaphopNguyenTo Lưu các đối
tượng của lớp
NguyenTo cùng
số lượng của
chúng tạo nên
đối tượng
ChatVoCo này
protected
2
m_ptpus PhuongTrinhPhan
UngCollection
Khi đối tượng
ChatVoCo này
phản ứng với
một chất khác
nó có thể tạo ra
một hoặc nhiều
phương trình
phản ứng khác
nhau
protected
• Danh sách các thuộc tính (properties) :
ST
T
Tên Loại Ý nghĩa Ghi
chú
1
M float Khối lượng Read-
only
2
NguyenTos TapHopNguyenTo Tương ứng
m_nguyent
os
Read –
only
3
PhuongTrinhPhanUn
gs
PhuongTrinhPhanUngCollect
ion
Tương ứng
m_ptpus
public
62. Trang 62
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
XacDinhChat ten : string Xác định đối
tượng có tên
chất như vậy
Đối tượng
thuộc lớp
tương ứng
static
2
LaChatKhi chat :
ChatVoCo
Xác định
chất cho có
phải là chất
khí hay
không
True : đúng
False : sai
static
3
KimLoaiMuoi kl : KimLoai
m : Muoi
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tựong
Muoi
True:có
False:không
Tính
m_ptpus
protecte
d
4
KimLoaiAxit kl : KimLoai
axit : Axit
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tựong
Axit
True:có
False:không
Tính
m_ptpus
protecte
d
5
KimLoaiH2O kl : KimLoai
h2O : H2O
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
H2O
True:có
False:không
Tính
m_ptpus
protecte
d
6
KimLoaiPhiKimVII kl : KimLoai
pk :
PKNhomVII
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomVII
True:có
False:không
Tính
m_ptpus
protecte
d
63. Trang 63
7
KimLoaiPhiKimVI kl : KimLoai
pk :
PKNhomVI
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomVI
True:có
False:không
Tính
m_ptpus
protecte
d
8
KimLoaiPhiKimV kl : KimLoai
pk :
PKNhomV
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomV
True:có
False:không
Tính
m_ptpus
protecte
d
9
KimLoaiPhiKimIV kl : KimLoai
pk :
PKNhomIV
Xác định
phương trình
phản ứng
của đối
tượng
KimLoai và
đối tượng
PKNhomIV
True:có
False:không
Tính
m_ptpus
protecte
d
10 … … … … …
Danh sách các hàm tiếp theo sẽ theo tính chất hoá học của các chất vô cơ có thể
phản ứng với nhau.
o Giải thuật hàm XacDinhChat :
Kiểm tra chất có thuộc lớp NguyenTo(phi kim + kim loại) ?
đúng : tạo mới đối tượng thuộc lớp NguyenTo tương ứng với tenChat
đã cho, dừng
sai : Kiểm tra chất có thuộc lớp HopChatOH (oxit + RH) ?
đúng : tạo mới đối tượng thuộc lớp HopChatOH tương ứng với
tenChat đã cho, dừng
sai : Kiểm tra chất có thuộc lớp HopChatDienTich (axit + bazo +
muối)?
64. Trang 64
đúng : tạo mới đối tượng thuộc lớp HopChatDienTich tương ứng với
tenChat đã cho, dừng
sai : trả về giá trị null thông báo tên chất không hợp lệ
o Giải thuật hàm LaChatKhi :
Nếu chất là phi kim và chất là chất khí (O,N,F,Cl,I) trả về true
nếu không trả về false
o Giải thuật hàm KimLoaiMuoi :
Kiểm tra kim loại có đứng trước kim loại của ion dương muối
nếu không -> không phản ứng, dừng
nếu có trả về chất tạo thành là (kim loại mới và muối mới).
o Giải thuật hàm KimLoaiAxit :
Kiểm tra axit thuộc loại gì ?
Nếu axit là HNO3 thì gọi hàm kimLoaiTacDungAxitHNO3
Nếu axit là H2SO4 thì gọi hàm kimLoaiTacDungAxitH2SO4
Nếu là axit khác thì gọi hàm kimLoaiTacDungAxitThuong
o Giải thuật hàm KimLoaiH2O :
Nếu KimLoai là KLNhomI hay KLNhomII thì có phản ứng xảy ra
Nếu không thì trả về null
I.A.1.a.16. Lớp NguyenTo
• Danh sách các biến thành phần (field) :
STT
Tên Loại Ý nghĩa Ghi
chú
1 m_nt enumNguyenTo Kiểu tập hợp enum private
2 db DataBase Để truy vấn dữ liệu private
3 m_soHieuNtu int Số hiệu nguyên tử private
4 m_ten string Tên nguyên tố private
5 m_kyHieu string Kí hiệu nguyên tử private
6 m_khoiLuong float Khối lượng của nguyên tử private
7 m_cauHinhElectron string Cấu hình electron private
8 m_doAmDien float Độ âm điện private
9
m_tapHopSoOxiHoa int[] Tập hợp số oxi hoá có thể
có của nguyên tử
private
10
m_soOxiHoa int Số oxi hoá của đối tựong
nguyento hiện tại
protect
ed
65. Trang 65
• Danh sách các thuộc tính (properties)
STT Tên Loại Ý nghĩa Ghi chú
1 Ten enumNguyenTo m_ten public
2 SoHieuNguyenTu int m_soHieuNtu public
3
TenNguyenTu string m_tenNguyenTu public
Read-only
4
KyHieu string m_kyHieu public
Read –
only
5
KhoiLuong float m_khoiLuong public
Read - only
6
CauHinhElectron string m_cauHinhElectron public
Read –
only
7
DoAmDien float m_doAmDien public
Read only
8
TapHopSoOxiHoa int[] m_tapHopSoOxiHoa public
Readonly
9
SoOxiHoa int Kiểm tra giá trị số oxi
hoá khởi gán có nằm
trong tập hợp số oxi
hoá của nguyên tố hay
không?
public
• Danh sách các hàm thành phần (methods)
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
Clone Tạo mới đối
tượng copy từ
đối tượng này
trả về đối
tượng
NguyenTo
được copy
public
2
LaNguyenTo ten : string Kiểm tra với
tên đó có là
nguyento hày
không
true : đúng
false : sai
public
static
3
XacDinhNguyenTo ten : string Trả về chính
xác đối tựơng
có ten như vậy
null :
không là
NguyenTo
public
static
66. Trang 66
4
NguyenTo ten: string Tạo đối tượng
thuộc lớp
nguyento
đồng thời khởi
tạo các thuộc
tính Tên, khối
lượng, cấu
hình e, tập
hợp số oxi hoá
có thể có…
public
Hàm
tạo
5
NguyenTo ten : string
soOxiHoa : int
Khởi tạo
thuộc tính
Tên, sooxihoa,
cấu hình e,
khối lượng…
public
Hàm
tạo
6
NguyenTo soHieuNguyenTu
: int
Khởi tạo đối
tượng
nguyento khi
biết số hiệu
nguyên tử của
nguyên tố đó
public
Hàm
tạo
I.A.1.a.17. Lớp KimLoai :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_kls enumNguyenTo[] Định nghĩa các
nguyên tố nào
thỏa mãn là kim
loại
private
static
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
LaKimLoai ten :string Kiểm tra có phải
tên đó là kim loại?
true : đúng
false : sai
public
static
2
DungTruoc NguyenTo
nt
Kiểm tra đối
tượng này có đứng
trước nt trong dãy
điện hoá?
true : đúng
false : sai
public
3
XacDinhSoOxiHoa Xd số oxi hoá của
đối tựơng này
public
virtual
67. Trang 67
I.A.1.a.18. Lớp KLNhomI :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_kls enumNguyenTo[] xd nguyên tố nào thoả
mãn là kim loại nhóm I
private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaKLNho
mI
ten : string xd tên đó có là
KLNhomI?
true : đúng
false : sai
public
static
2 TacDung h2O : H2O this + H2O ? tìm m_ptpus ? public
3 TacDung axit : Axit this + Axit? tìm m_ptpus ? public
4
TacDung pk :
PKNhomIV
this +
PKNhomIV ?
tìm m_ptpus ? public
5
TacDung pk :
PKNhomV
this +
PKNhomV?
tìm m_ptpus ? public
6
TacDung pk :
PKNhomVI
this +
PKNhomVI ?
tìm m_ptpus ? public
7
TacDung pk :
PKNhomVII
this +
PKNhomVII ?
tìm m_ptpus ? public
… … … … …. …
8
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
tìm m_ptpus ? public
vitual
I.A.1.a.19. Lớp KLNhomII :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_kls enumNguyenTo[] xd nguyên tố nào thoả
mãn là kim loại nhóm II
private
static
68. Trang 68
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaKLNhomII ten : string xd tên đó có là
KLNhomII?
True :
đúng
false : sai
public
static
2
TacDung h2O : H2O this + H2O ? tìm
m_ptpus ?
public
3
TacDung axit : Axit this + Axit? Tìm
m_ptpus ?
public
4
TacDung pk :
PKNhomIV
this +
PKNhomIV ?
tìm
m_ptpus ?
public
5
TacDung pk :
PKNhomV
this +
PKNhomV?
Tìm
m_ptpus ?
public
6
TacDung pk :
PKNhomVI
this +
PKNhomVI ?
tìm
m_ptpus ?
public
7
TacDung pk :
PKNhomVII
this +
PKNhomVII ?
tìm
m_ptpus ?
public
… … … … …. …
8
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
vitual
I.A.1.a.20. Lớp KLNhomIII :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_kls enumNguyenTo[] xd nguyên tố nào thoả mãn
là kim loại nhóm III
private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaKLNhomIII ten : string xd tên đó có là
KLNhomIII?
True :
đúng
false : sai
public
static
2
TacDung h2O : H2O this + H2O ? tìm
m_ptpus ?
public
3
TacDung axit : Axit this + Axit? Tìm
m_ptpus ?
public
4
TacDung pk :
PKNhomIV
this +
PKNhomIV ?
tìm
m_ptpus ?
public
69. Trang 69
5
TacDung pk :
PKNhomV
this +
PKNhomV?
Tìm
m_ptpus ?
public
6
TacDung pk :
PKNhomVI
this +
PKNhomVI ?
tìm
m_ptpus ?
public
7
TacDung pk :
PKNhomVII
this +
PKNhomVII ?
tìm
m_ptpus ?
public
… … … … …. …
8
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
vitual
I.A.1.a.21. Lớp KLNhomPhu :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_kls enumNguyenTo[] xd nguyên tố nào thoả
mãn là kim loại nhóm
phụ
private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaKLNhomPhu ten : string xd tên đó có là
KLNhomPhu?
True :
đúng
false : sai
public
static
2
TacDung h2O : H2O this + H2O ? tìm
m_ptpus ?
public
3
TacDung axit : Axit this + Axit? Tìm
m_ptpus ?
public
4
TacDung pk :
PKNhomIV
this +
PKNhomIV ?
tìm
m_ptpus ?
public
5
TacDung pk :
PKNhomV
this +
PKNhomV?
Tìm
m_ptpus ?
public
6
TacDung pk :
PKNhomVI
this +
PKNhomVI ?
tìm
m_ptpus ?
public
7
TacDung pk :
PKNhomVII
this +
PKNhomVII ?
tìm
m_ptpus ?
public
… … … … …. …
8
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
vitual
70. Trang 70
I.A.1.a.22. Lớp PhiKim
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_pks enumNguyenTo[] xd nguyên tố nào thoả
mãn là phi kim
private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaPhiKim ten : string xd tên đó có là
PhiKim?
True :
đúng
false : sai
public
static
2
LaChatKhi ten : string xd đó có là chất
khí ?
true : đúng
false : sai
public
static
3
PhiKimH2 pk : PhiKim
h2 : H2
this + H2? tìm
m_ptpus ?
protected
4
PhiKimO2 pk : PhiKim
o2 :
PKNhomVI
this + O2? tìm
m_ptpus ?
protected
I.A.1.a.23. Lớp PKNhomIV :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_pks enumNguyenTo[] xd nguyên tố nào thoả
mãn là PKNhomIV?
Private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaPKNhomIV ten : string xd tên đó có là
PKNhomIV?
True :
đúng
false : sai
public
static
2
TacDung kl: KimLoai this + KimLoai ? tìm
m_ptpus ?
public
3
TacDung h2 : H2 this + H2 ? tìm
m_ptpus ?
public
4
TacDung o2 :
PKNhomVI
this + O2? tìm
m_ptpus ?
public
71. Trang 71
5 TacDung … … … …
6
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
vitual
I.A.1.a.24. Lớp PKNhomV :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_pks enumNguyenTo[] xd nguyên tố nào thoả
mãn là PKNhomV?
Private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaPKNhomV ten : string xd tên đó có là
PKNhomV?
True :
đúng
false : sai
public
static
2
TacDung kl: KimLoai this + KimLoai ? tìm
m_ptpus ?
public
3
TacDung h2 : H2 this + H2 ? tìm
m_ptpus ?
public
4
TacDung o2 :
PKNhomVI
this + O2? tìm
m_ptpus ?
public
5 TacDung … … … …
6
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
vitual
I.A.1.a.25. Lớp PKNhomVI :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_pks enumNguyenTo[] xd nguyên tố nào thoả
mãn là PKNhomVI?
Private
static
72. Trang 72
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaPKNhomVI ten : string xd tên đó có là
PKNhomVI?
True :
đúng
false : sai
public
static
2
TacDung kl: KimLoai this + KimLoai ? tìm
m_ptpus ?
public
3
TacDung h2 : H2 this + H2 ? tìm
m_ptpus ?
public
4
TacDung o2 :
PKNhomVI
this + O2? tìm
m_ptpus ?
public
5 TacDung … … … …
6
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
vitual
I.A.1.a.26. Lớp PKNhomVII :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_pks enumNguyenTo[] xd nguyên tố nào thoả
mãn là PKNhomVII?
Private
static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaPKNhomVII ten : string xd tên đó có là
PKNhomVII?
True :
đúng
false : sai
public
static
2
TacDung kl: KimLoai this + KimLoai ? tìm
m_ptpus ?
public
3
TacDung h2 : H2 this + H2 ? tìm
m_ptpus ?
public
4
TacDung o2 :
PKNhomVI
this + O2? tìm
m_ptpus ?
public
5 TacDung … … … …
6
TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm
m_ptpus ?
public
73. Trang 73
I.A.1.a.27. Lớp IonDuong :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
ionDuongs enumIonDuong[] Xd các ion dương có
thể có
private
static
2 m_ionDuong enumIonDuong Ion dương private
3
m_kimLoai KimLoai Kim loại tương ứng
với ion dương đó
= null nếu là ion
dương (h hay nh4)
private
4
m_soOxiHoa int Số oxi hoá của ion
dương này
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Ten enumIonDuong m_ionDuong public
2 SoOxiHoa int m_soOxiHoa public
3 KimLoai KimLoai m_kimLoai public
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaIonDuongBazo ten : string Xd tên đó có là
ion dương của
bazơ ?
true :
đúng
false : sai
public
static
2
LaIonDuongMuoi ten : string Xd tên đó có là
ion dương của
muoi?
True :
đúng
false : sai
public
static
3
ChuaIonDuongMuoi ten : string
vitri : int
(out)
Xd trong ten
có
Chứa ion
dương muối
không (nếu có
ơ vị trí nào)?
Trả về
ion
dương
mà tên đó
chứa
public
static
4
LaIonDuong ten : string Xd tên đó có là
ionduong ?
true :
đúng
false : sai
public
static
74. Trang 74
I.A.1.a.28. Lớp IonAm :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
ionAms enumIonAm[] Xd các ion âm có thể
có
private
static
2 m_ionAm enumIonAm Ion âm private
3
m_soOxiHoa int Số oxi hoá của ion âm
này
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Ten enumIonAm m_ionAm public
2
SoOxiHoa int m_soOxiHoa public
read – only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaIonAmAxit ten : string Xd tên đó có là
ion âm của
axit?
True :
đúng
false : sai
public
static
2
ChuaIonAmMuoi ten : string
viTri : int
(out)
Xd trong ten
có
Chứa ion âm
muối không
(nếu có ơ vị trí
nào)?
Trả về
ion âm
mà tên đó
chứa
public
static
4
LaIonAm ten : string Xd tên đó có là
ionam ?
true :
đúng
false : sai
public
static
I.A.1.a.29. Lớp HopChatDienTich :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_ionDuong IonDuong Ion dương của hợp
chất điện tích
private
2
m_ionAm IonAm Ion âm của hợp chất
điện tích
private
75. Trang 75
3 m_soIonDuong int Số ion dương private
4 m_soIonAm int Số ion âm private
5
m_tonTai bool Xd tính tồn tại của
hợp chất này
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
IonDuong IonDuong m_ionDuong public
read – only
2
IonAm IonAm m_ionAm public
read – only
3
SoIonDuong int m_soIonDuong public
read – only
4
SoIonAm int m_soIonAm public
read – only
5
TonTai bool m_tonTai public
read – only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
XacDinhHopChatDienTich ten :
string
xd tên đó
có là Muoi,
Axit, hay
Bazo?
Null :
không
public
static
2
XacDinhTinhTonTai xd tính tồn public
3
TacDung m1 : Muoi
m2 : Muoi
m1 + m2 ? tìm
m_ptpus?
Public
4
TacDung axit : Axit
m : Muoi
axit + m? tìm
m_ptpus?
Public
5
TacDung b : Bazo
m : Muoi
b + m? tìm
m_ptpus?
Public
6
TacDung b : Bazo
axit : Axit
b + axit ? tìm
m_ptpus?
Public
76. Trang 76
I.A.1.a.30. Lớp Axit :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_axit enumAxit Xđ các axit có thể có private
2 m_tinhAxit enumTinhAxit Xđ tính axit private
3
m_trangThai string Trạng thái của axit
(loãng, đặc nóng…)
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
Ten enumAxit m_axit public
read – only
2
TinhAxit enumTinhAxit m_tinhAxit public
read – only
3 TrangThai string m_trangThai public
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
LaAxit ten : string xd tên đó có là
axit?
True : đúng
false : sai
public
static
2
XacDinhAxit ten : string xd axit đó là
axit nào?
Đối tượng
Axit
public
static
3
TacDung b : Bazo this + bazo? Tìm m_ptpus
?
public
4 TacDung m : Muoi this + m? tìm m_ptpus ? public
5 TacDung kl : KimLoai this + kl? tìm m_ptpus public
… … … … … …
6 TacDung chatTGs :
DanhSachChat
xd chất còn lại
+ this ?
tìm m_ptpus public
virtual
I.A.1.a.31. Lớp Bazo :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_bazo enumBazo Xđ các bazo có thể có private
2 m_tinhTan bool Xđ tính tan của bazo private
77. Trang 77
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Ten enumBazo m_bazo public
2
TinhTan bool m_tinhTan public
read – only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
LaBazo ten : string xd tên đó có là
Bazo?
True:đúng
false : sai
public
static
2
XacDinhBazo ten : string xđ loại Bazo
ứng với tên
đó?
Null : ko xác
định
public
static
3 TacDung axit : Axit this + axit? Tìm m_ptpus? Public
4 TacDung m : Muoi this + m? tìm m_ptpus? Public
5
TacDung b : Bazo this + b? tìm m_ptpus? Public
virtual
I.A.1.a.32. Lớp BazoKiem :
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public
2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public
3 TacDung m : Muoi this + m? tìm m_ptpus? Public
4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public
… … … … … …
5 TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm m_ptpus? Public
virtual
78. Trang 78
I.A.1.a.33. Lớp BazoKiemTho :
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public
2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public
3 TacDung m : Muoi this + m? tìm m_ptpus? Public
4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public
… … … … … …
5 TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm m_ptpus? Public
virtual
I.A.1.a.34. Lớp BazoLuongTinh :
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public
2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public
3 TacDung m : Muoi this + m? tìm m_ptpus? Public
4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public
… … … … … …
5 TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm m_ptpus? Public
virtual
I.A.1.a.35. Lớp BazoNhomPhu
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public
2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public
3 TacDung m : Muoi this + m? tìm m_ptpus? Public
4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public
… … … … … …
5 TacDung chatTGs :
DanhSachChat
this +
chatConLai?
Tìm m_ptpus? Public
virtual
79. Trang 79
I.A.1.a.36. Lớp HopChatOH :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_nts NguyenTo[2] 2 nguyên tố tạo nên đối
tượng lớp hopchatoh
private
2
m_sonts int[2] Số lượng của 2 nguyên
tố
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
NguyenTo1 NguyenTo Nguyên tố thứ 1 public
read – only
2
NguyenTo2 NguyenTo Nguyên tố thứ 2 public
read – only
3
SoNguyenTo1 int Số nguyến tố 1 public
read – only
4 SoNguyenTo2 int Số nguyến tố 2 public
read – only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
XacDinhHopChatOH ten : string Xđ tên đó là
oxit hay RH
?
null : không
có
Public
static
I.A.1.a.37. Lớp Oxit :
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
LaOxit ten : string xđ tên đó là
oxit
true : đúng
false : sai
Public
static
2
XacDinhOxit ten : string Xđ loại Oxit null : không
có
public
static
80. Trang 80
I.A.1.a.38. Lớp RH
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
LaRH ten : string Xđ tên đó là
RH
true : đúng
false : sai
Public
static
2
XacDinhRH ten : string Xđ loại RH null : không
có
public
static
I.A.1.a.39. Lớp DanhSachNguyenTo :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_list ArrayList Tập hợp nguyên tố private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
Count int Đếm số lượng nguyên
tố
public
read – only
2
indexer NguyenTo Trả về đối tượng của
lớp NguyenTo ứng
với index
public
read - only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
Add nt : NguyenTo Thêm đối tượng của
lớp NguyenTo
Public
2
AddRange arr : ArrayList Thêm tập các đối
tựơng
public
3
Remove nt : NguyenTo Xoá 1 đối tựơng
NguyenTo ra khỏi
tập hợp
public
4
Clone Nhân bản ra một đối
tượng
DanhSachNguyenTo
mới dựa trên đối
tương hiện có
public
5
Clear Xoá toàn bộ đối
tượng NguyenTo
public
81. Trang 81
I.A.1.a.40. Lớp TapHopNguyenTo :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_NguyenTos HashTable Lưu đối tượng
NguyenTo và số
lượng của chúng
private
2
m_ds DanhSachNguyenTo Lưu tập các đối
tượng hiện có
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 TapHopNTo HashTable m_NguyenTos public
2
DanhSachNguyenTo DanhSachNguyenTo m_ds public
read - only
3
this[index :
NguyenTo]
int Trả về số
lượng
NguyenTo
public
4
this[index : string] int Trả về số
lượng
NguyenTo
public
5
Count int Đềm số lượng
NguyenTo
public
read - only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết
quả
Ghi
chú
1
Add nt : NguyenTo
chiSo : int
Thêm đối tượng của
lớp NguyenTo với số
lượng
Public
2 AddRange h : HashTable Thêm tập các đối tựơng public
3
Remove nt : NguyenTo Xoá 1 đối tựơng
NguyenTo ra khỏi tập
hợp
public
4
Clone Nhân bản ra một đối
tượng
DanhSachNguyenTo
mới dựa trên đối tựong
hiện có
public
5
Clear Xoá toàn bộ đối tượng
NguyenTo
public
82. Trang 82
I.A.1.a.41. Lớp DanhSachChat :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_list ArrayList Tập hợp chất vô cơ private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
Count int Đếm số lượng chất vô
cơ
public
read – only
2
indexer ChatVoCo Trả về đối tượng của
lớp ChatVoCo ứng
với index
public
read - only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
Add chat :
ChatVoCo
Thêm đối tượng
của lớp
ChatVoCo
Public
2
AddRange arr : ArrayList Thêm tập các đối
tượng
public
3
Remove chat :
ChatVoCo
Xoá 1 đối tựơng
ChatVoCo ra
khỏi tập hợp
public
4
Clone Nhân bản ra một
đối tượng
DanhSachChat
mới dựa trên đối
tượng hiện có
public
5
Clear Xoá toàn bộ đối
tượng ChatVoCo
public
83. Trang 83
I.A.1.a.42. Lớp TapHopChat
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_chats HashTable Lưu đối tượng
ChatVoCo và số lượng
của chúng
private
2
m_ds DanhSachChatVoCo Lưu tập các đối tượng
hiện có
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 TapHopNTo HashTable m_chats public
2
DanhSachChatVoCo DanhSachChatVoCo m_ds public
read - only
3
this[index :
ChatVoCo]
int Trả về số
lượng
ChatVoCo
public
4
this[index : string] int Trả về số
lượng
ChatVoCo
public
5
Count int Đếm số lượng
ChatVoCo
public
read - only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết
quả
Ghi
chú
1
Add nt : ChatVoCo
chiSo : int
Thêm đối tượng của
lớp ChatVoCo với số
lượng
Public
2 AddRange h : HashTable Thêm tập các đối tựơng public
3
Remove nt : ChatVoCo Xoá 1 đối tựơng
ChatVoCo ra khỏi tập
hợp
public
4
Clone Nhân bản ra một đối
tượng
DanhSachChatVoCo
mới dựa trên đối tựong
hiện có
public
5
Clear Xoá toàn bộ đối tượng
ChatVoCo
public
84. Trang 84
I.A.1.a.43. Lớp PhuongTrinhPhanUng
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_chatThamGias TapHopChat Chất tham gia private
2 m_chatTaoThanhs TapHopChat Chất tạo thành private
3 m_xucTac string Xúc tác private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 ChatThamGia TapHopChat m_chatThamGias public
2 ChatTaoThanh TapHopChat m_chatTaoThanhs public
3 XucTac string m_xucTac public
4 SoChatTrongPtpu int Số chất trong ptpu public
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
ToString Thể hiện chuỗi
hiển thị ptpu
Chuổi hiển thị
ptpu
Public
override
I.A.1.a.44. Lớp PhuongTrinhPhanUngCollection :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_list ArrayList Tập hợp phương trình
phản ứng
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
Count int Đếm số lượng
phương trình phản
ứng
public
read – only
2
indexer PhuongTrinhPhanUng Trả về đối tượng của
lớp
PhuongTrinhPhanUng
ứng với index
public
read - only
85. Trang 85
• Danh sách các hàm thành phần (methods) :
ST
T
Tên Tham số Xử lý Kế
t
qu
ả
Ghi
chú
1
Add nt :
PhuongTrinhPhanU
ng
Thêm đối tượng của lớp
PhuongTrinhPhanUng
Publi
c
2
AddRang
e
arr : ArrayList Thêm tập các đối tựơng publi
c
3
Remove nt :
PhuongTrinhPhanU
ng
Xoá 1 đối tựơng
PhuongTrinhPhanUng ra
khỏi tập hợp
publi
c
4
Clone Nhân bản ra một đối tượng
PhuongTrinhPhanUngColleti
on mới dựa trên đối tựong
hiện có
publi
c
5
Clear Xoá toàn bộ đối tượng
PhuongTrinhPhanUng
publi
c
I.A.1.a.45. Lớp ChatPhanUng :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_chat ChatVoCo Đối tượng chất vô cơ private
2
m_chiSo int Số lựơng của đối
tượng trong ptpu
private
3 m_khoiLuong float Khối lượng private
4 m_soMol float Số mol private
5 m_donVi DonVi (g, kg, tấn…) private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
DaXacDinh bool Kiểm tra ChatVoCo
đã tính khối lượng
hoặc số mol chưa?
public
read – only
2
ChiSo int m_chiSo public
read – only
86. Trang 86
3
KhoiLuong float m_khoiLuong public
read – only
4
DonVi DonVi m_donVi public
read – only
5
SoMol float m_soMol public
read – only
6
Chat ChatVoCo m_chat public
read – only
7
TenChat string Tên của chất vô cơ public
read – only
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
Tinh chat2 :
ChatPhanUng
Tính toán các
giá trị của đối
tượng khi biết
đối tượng
khác
tính
m_khoiLuong
và m_soMol
Public
I.A.1.a.46. Lớp TapHopChatTrongPtpu :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_list ArrayList Chứa tập hợp các đối
tượng của lớp
ChatPhanUng
private
2
m_daTinh bool Kiểm tra đã tính giá trị
?
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
Count int Đềm số lượng các đối
tượng ChatPhanUng
public
read – only
2
DaTinh bool Đã tính ? public
read - only
87. Trang 87
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
Add chat :
ChatPhanUng
Thêm mới 1 đối
tượng
ChatPhanUng
Public
2
Remove chat :
ChatPhanUng
Xoá đối tượng
ChatPhanUng
public
3
Clear Xoá toàn bộ đối
tượng
ChatPhanUng
public
4
Tinh Tính toán các đối
tượng
ChatPhanUng
public
I.A.1.a.47. Lớp PhuongTrinhPhanUngHoanChinh
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_ptpu PhuongTrinhPhanUng private
2
m_tapHopChat TapHopChatTrongPtpu Tập hợp chất tương
ứng của
PhuongTrinhPhanUng
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1
DaXacDinhPtpu bool Kiểm tra đã xđ
ptpu?
Public
read –
only
2 PhuongTrinh PhuongTrinhPhanUng m_ptpu public
3 TapHopChat TapHopChatTrongPtpu m_tapHopChat public
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
Tinh Tính giá trị
của các chất
trong ptpu
Public
88. Trang 88
I.A.1.a.48. Lớp DataBase :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_dataSet DataSet Chứa tòan bộ dữ liệu
được lưu trong file
.mdb
private
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết
quả
Ghi
chú
1
SoOxiHoa ten : string Xđ tập hợp
số oxi hoá
của 1
nguyên tố
int[] Public
2
KhoiLuongNTu ten : string Xđ khối
lượng
nguyên tử
của nguyên
tố
float public
3
CauHinhElectron ten : string Xđ cấu
hình
electron
của nguyên
tố
string public
4
SoHieuNguyenTu ten : string Xđ số hiệu
nguyên tử
của nguyên
tố
int public
5
TimTenBietSoHieuNguyenTu soHieuNguyen
Tu : int
Tìm tên
của nguyên
tố khi biết
số hiệu
nguyên tử
của nó
string public
89. Trang 89
I.A.1.a.49. Lớp Math :
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
USCLN a : int
b : int
tìm USCLN
của 2 số a, b
USCLN của
(a,b)
Public
static
2
BSCNN a : int
b : int
tìm BSCNN
của 2 số a,b
BSCNN của
(a ,b )
public
static
3
ChiHet soBiChia : int
soChia : int
kiểm tra
soBiChia có
chia hết cho
soChia ?
true : đúng
false : sai
public
static
3.3.2.3.2 Lớp Lop
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_strTenLop A_String Tên lớp private
2
m_arrChuongs Chuong Các chương
thuộc lớp
private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 ThemChuong Thêm chương public
2 XoaChuong Xóa chương public
3
TimChuong maso :
A_String
Tìm chương public
4 KiemTraHopLe Kiểm tra hợp lệ public
5 SuaLop Sửa lớp public
3.3.2.3.3 Lớp Chuong
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_strTenChuong A_String Tên chương private
2 m_arrBaiLyThuyets BaiLyThuyet Các bài thuộc chương private
90. Trang 90
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 ThemBai Thêm bài public
2 XoaBai Xóa bài public
3 TimChuong maso : A_String Tìm bài public
4 KiemTraHopLe Kiểm tra hợp lệ public
5 SuaChuong Sửa chương public
6
LopThuocVe Lớp mà chương
thuộc về
đối tượng
kiểu Lop
public
3.3.2.3.4 lớp BaiLyThuyet
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_strTenBaiLT A_String Tên lớp private
2
m_arrBaiTapSGKs BaiTapSGK Các bài tập
thuộc lớp
private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1
ThemBaiTap Thêm bài
tập
public
2 XoaBaiTap Xóa bài tap public
3
KiemTraHopLe Kiểm tra
hợp lệ
public
4 SuaBai Sửa bài LT public
5
ChuongThuocVe Chương mà
bài LT thuộc
về
đối tượng
kiểu
Chuong
public
3.3.2.3.5 Lớp XuLy_OnTapLyThuyet
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_tvChuongTrinh A_TreeView Chương
trình học
private
2 m_rtbBaiLyThuyet A_RichTextBox Bài lý private
91. Trang 91
thuyết
3 m_rtbbaiLam A_RichTextBox Bài làm private
4
m_arrLops Lop Danh sách
lớp
private
5 m_dlLyThuyet DuLieu_LyThuyet private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1
CapNhatControl Cập nhật
control
public
2
HienThiBaiTapSGK Hiển thị bài
tập SGK
public
3
HienThiLyThuyet Hiển thị bài
LT
public
4 LuuBaiLam Lưu bài làm public
5 LuuDuLieu Lưu dữ liệu public
6 TaiDuLieu Tải dữ liệu public
7 XoaDuLieu Xóa dữ liệu public
8
ThemDuLieu Thêm dữ
liệu
public
9 LuuBaiLam Lưu bài làm public
10
TimKiemTheoMa ma :
A_String
Tìm kiếm
theo mã
public
3.3.2.3.6 Lớp XuLy_GiaiDeThiTuLuan
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_tvDeThi A_TreeView Đề thi private,tham
chiếu
2
m_cboDoKho A_ComboBox Độ khó private,tham
chiếu
3
m_rtbDeBai A_RichTextBox Đề bài
tập
private,tham
chiếu
4
m_dtpThoiGianLamBai A_DateTimePicker Thời gian
Làm bài
private,tham
chiếu
5
m_ucBaiLam A_UserControl Bài làm private,tham
chiếu
6
m_rtbHuongDan A_RichTextBox Hướng
dẫn
private,tham
chiếu
7 m_rtbBaiGiai A_RichTextBox Bài giải private,tham
92. Trang 92
chiếu
8
m_cboDangBai A_Combobox Dạng bài private,tham
chiếu
9 m_dlTuLuan DuLieu_TuLuan private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TaiDuLieu Tải dữ liệu public
2
CapNhatControl Cập nhật
control
public
3
TimKiemTheoMa strMaSo :
A_String
Tìm kiếm
khi biết mã
XmlNode public
4
TinhThoiGian Tính thời
gian
public
3.3.2.3.7 Lớp XuLy_GiaiDeThiTracNghiem
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_tvDeThi A_TreeView Đề thi private,tham
chiếu
2
m_cboDoKho A_ComboBox Độ khó private,tham
chiếu
3
m_rtbDeBai A_RichTextBox Đề bài
tập
private,tham
chiếu
4
m_dtpThoiGianLamBai A_DateTimePicker Thời
gian làm
bài
private,tham
chiếu
6
m_rtbHuongDan A_RichTextBox Hướng
dẫn
private,tham
chiếu
7
m_rtbBaiGiai A_RichTextBox Bài giải private,tham
chiếu
8
m_cboDangBai A_Combobox Dạng bài private,tham
chiếu
9 m_arrCauChons A_Array Câu chọn private
10 m_dlTracNghiem DuLieu_TracNghiem private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TaiDuLieu Tải dữ liệu public
93. Trang 93
2
CapNhatControl Cập nhật
control
public
3
TimKiemTheoMa strMaSo :
A_String
Tìm kiếm
khi biết mã
XmlNode public
4
KiemTraNhanh Kiểm tra câu
chọn có
đúng không
public
5
TimKetQua Tìm kết quả
đúng
public
6
TinhThoiGian Tính thời
gian
public
3.3.2.3.8 lớp soạn bài lý thuyết
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_tvChuongTrinh A_TreeView Chương
trình học
private
2
m_rtbBaiLyThuyet A_RichTextBox Bài lý
thuyết
private
3 m_rtbbaiLam A_RichTextBox Bài làm private
4
m_arrLops Lop Danh sách
lớp
private
5 m_dlLyThuyet DuLieu_LyThuyet private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1
CapNhatControl Cập nhật
control
public
2
HienThiBaiTapSGK Hiển thị bài
tập SGK
public
3
HienThiLyThuyet Hiển thị bài
LT
public
4 LuuBaiLam Lưu bài làm public
5 LuuDuLieu Lưu dữ liệu public
6 TaiDuLieu Tải dữ liệu public
7 XoaDuLieu Xóa dữ liệu public
8
ThemDuLieu Thêm dữ
liệu
public
9 LuuBaiLam Lưu bài làm public
10 TimKiemTheoMa ma : Tìm kiếm public
94. Trang 94
A_String theo mã
3.3.2.3.9 soạn đề thi tự luận
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1
m_lstBaiTap A_ListBox Bài tập private,tham
chiếu
2
m_ucDeBai A_UserControl Đề bài private,tham
chiếu
3
m_cboDangBai A_Combobox Dạng bài private,tham
chiếu
4
m_cboDoKho A_Combobox Độ khó private,tham
chiếu
5
m_dtpThoiGianLamBai A_DateTimePicker Thời gian
làm bài
private,tham
chiếu
6
m_cboDeThi A_Combobox private,tham
chiếu
7
m_lstDeThi_BaiTap A_ListBox private,tham
chiếu
8 m_dlTuLuan DuLieu_TuLuan private
• các phương thức
STT
Tên Tham số Xử lý Kết quả Ghi
chú
1
TaiDanhSachDeThi Tải danh
sách đề
thi
public
2
ChonDeThi Chọn đề
thi
public
3
ThemDe Thêm đề
thi
public
4
XoaDe Xóa đề
thi
public
5
ThemCauHoiVaoDeThi Thêm câu
hỏi vào
đề thi
public
6
KiemTraTrung Kiểm tra
trùng câu
hỏi trong
đề thi
public