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

XD phan mem ho tro on tap Hoa hoc

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

<span class='text_page_counter'>(1)</span>Lời Cảm Ơn. WX 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. Trang 1.

<span class='text_page_counter'>(2)</span> Lời Nói Đầu [\. H. 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ó .. Trang 2.

<span class='text_page_counter'>(3)</span> Mục Lục Mục Lục.............................................................................................. 3 1 ) Đặt vấn đề ................................................................................... 7 1.1 1.2 1.3. Hiện trạng ................................................................................... 7 Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay .......... 8 Đề 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 2.3.2. Danh sách các lớp đối tượng ở mức phân tích ......................... 29 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. Trang 3.

<span class='text_page_counter'>(4)</span> 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 4.1.2 4.1.3. 4.2. ModuleChung ......................................................................... 143 ModuleHocSinh...................................................................... 144 ModuleGiaoVien .................................................................... 144. Thử nghiệm............................................................................. 144. Trang 4.

<span class='text_page_counter'>(5)</span> 5 ) Tổng kết................................................................................... 144 5.1 5.2 5.3. Các kết quả đạt được .............................................................. 144 Đánh giá ưu khuyết điểm ....................................................... 145 Hướng mở rộng tương lai ....................................................... 145. Trang 5.

<span class='text_page_counter'>(6)</span> 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. Trang 6.

<span class='text_page_counter'>(7)</span> 1 ) Đặt vấn đề 1.1. Hiện trạng 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. Trang 7.

<span class='text_page_counter'>(8)</span> 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.. 1.2. Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay. Để 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. Trang 8.

<span class='text_page_counter'>(9)</span> 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 : 9 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. 9 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. Trang 9.

<span class='text_page_counter'>(10)</span> 9 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 . 9 Có thống kê kết quả làm bài dưới dạng biểu đồ và báo biểu 9 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. 9 Có hỗ trợ lời giải trong quá trình làm bài 9 Cho phép thêm đề thi , bài tập. 1.3. Đề nghị yêu cầu chức năng 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. Trang 10.

<span class='text_page_counter'>(11)</span> - 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.. Trang 11.

<span class='text_page_counter'>(12)</span> 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. Trang 12.

<span class='text_page_counter'>(13)</span> • 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. Trang 13.

<span class='text_page_counter'>(14)</span> • 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.. Trang 14.

<span class='text_page_counter'>(15)</span> 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…. Trang 15.

<span class='text_page_counter'>(16)</span> 2 ) Phân tích 2.1. Sơ đ ồ sử d ụng. Ôn tập lý thuyết. Giải đề thi tự luận. Giải đề thi trắc nghiệm. Giải bài tập theo dạng. Hoc sinh. Tra cứu bảng tuần hoàn, bảng tính tan, máy tính…. Trao đổi. Giao vien. Soạn đề thi tự luận. Soạn đề thi trắc nghiệm Soạn bài lý thuyết. Trang 16.

<span class='text_page_counter'>(17)</span> ¾ Danh sách các người dùng của sơ đồ sử dụng STT 1 2. Người dùng Hoc sinh Giao vien. Diễn giải Học sinh Giáo viên. Ghi chú. ¾ Danh sách các nghiệp vụ của sơ đồ sử dụng STT 1 2 3 4 5 6 7 8. Nghiệp vụ Ôn tập lý thuyết Giải đề thi tự luận Giải đề thi trắc nghiệm Tra cứu Nhận / xuất dữ liệu Soạn bài lý thuyết Soạn đề thi tự luận Soạn đề thi trắc nghiệm 2.1.1. Ghi chú. 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. Trang 17.

<span class='text_page_counter'>(18)</span> 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. Trang 18.

<span class='text_page_counter'>(19)</span> 2.2. Sơ đồ luồng dữ liệu 2.2.1 Học sinh 2.2.1.1 Nghiệp vụ “Ôn tập lý thuyết” Học sinh. D2 D6 Máy In. Ôn tập lý thuyết. D3. 9 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 9 Xử lý Đọc D3 Xuất D2. Trang 19.

<span class='text_page_counter'>(20)</span> 2.2.1.2 Nghiệp vụ “Giải đề thi tự luận” Học sinh. D1 D6 Máy In. D2 Giải đề thi tự luận. D3. 9 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 9 Xử lý Nhập D1 Đọc D3 Lưu D4 Xuất D2. Trang 20. D4.

<span class='text_page_counter'>(21)</span> 2.2.1.3 Nghiệp vụ “Giải đề thi Trắc nghiệm ” Học sinh. D1 D6 Máy In. D2. Giải đề thi Trắc nghiệm. D3. D4. 9 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 9 Xử lý Nhập D1 Đọc D3 Lưu D4 Xuất D2. Trang 21.

<span class='text_page_counter'>(22)</span> 2.2.1.4 Nghiệp vụ “Giải đề bài tập theo dạng ” Học sinh. D1 D6 Máy In. D2 Giải bài tập theo dạng. 9 Diễn giải D1 : dạng bài tập và đề bài D2 : Kết quả làm bài D6 : in 9 Xử lý Nhập D1 Xuất D2. Trang 22.

<span class='text_page_counter'>(23)</span> 2.2.1.5 Nghiệp vụ “Tra cứu” Học sinh. 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…. D4. 9 Diễn giải D1 : loại tra cứu D4 : như D1 & kết quả tra cứu. Trang 23.

<span class='text_page_counter'>(24)</span> 2.2.1.6 Nghiệp vụ ‘ Nhận xuất dữ liệu ‘. Học sinh. D1. Chức năng nhận xuất dữ liệu để tra đổi với giáo viên. D5. D4. 9 Diễn giải : D1 : file cần trao đổi. D4 : như D1 D5 : như D1. Trang 24.

<span class='text_page_counter'>(25)</span> 2.2.2 Đối với giáo viên 2.2.2.1 Nghiệp vụ soạn bài lý thuyết Giáo viên. D1. Soạn đề bài lý thuyết. D4. 9 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 9 Xử lý Nhập D1 Lưu D4. Trang 25.

<span class='text_page_counter'>(26)</span> 2.2.2.2. Nghiệp vụ” soạn đề thi tự luận” Giáo viên. D1. Soạn đề thi tự luận. D4. 9 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 9 Xử lý Nhập D1 Lưu D4. Trang 26.

<span class='text_page_counter'>(27)</span> 2.2.2.3 Nghiệp vụ “soạn bài tập trắc nghiệm” Giáo viên. D1. Soạn đề thi trắc nghiệm. D4. 9 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 9 Xử lý Nhập D1 Lưu D4. Trang 27.

<span class='text_page_counter'>(28)</span> 2.2.2.4 Nghiệp vụ “Tra cứu” Giáo viên. 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…. D4. 9 Diễn giải D1 : loại tra cứu D4 : như D1. Trang 28.

<span class='text_page_counter'>(29)</span> 2.2.2.5 Nghiệp vụ “Nhận xuất dữ liệu“ Giáo viên. D1. Chức năng nhập xuất file để trao đổi với học sinh. D5. D4. 9 Diễn giải : D1 : file cần trao đổi. D4 : như D1 D5 : như D1. 2.3. Các lớp đối tượng 2.3.1. STT Tên 1 Lớp 2 Chương 3 4 5 6 7 8. Bài lý thuyết Đề thi tự luận Bài tập tự luận Đề thi trắc nghiệm Bài tập trắc nghiệm Dạng bài tập. Danh sách các lớp đối tượng ở mức phân tích Ý nghĩa Lớp Chương Bài lý thuyết Đề thi tự luận Bài tập tự luận Đề thi trắc nghiệm Bài tập trắc nghiệm Dạng bài tập. Trang 29. Ghi chú.

<span class='text_page_counter'>(30)</span> 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. Trang 30.

<span class='text_page_counter'>(31)</span> - 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ớ. Trang 31.

<span class='text_page_counter'>(32)</span> - 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 đề. Trang 32.

<span class='text_page_counter'>(33)</span> 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. Trang 33.

<span class='text_page_counter'>(34)</span> 3 ) Thiết kế 3.1. Kiến trúc logic đa tầng 3.1.1. Đối với học sinh Học sinh. Hệ thống các đối tượng thể hiện. 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. Hệ thống các đối tượng xử lý. 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 lưu trữ. Dữ liệu lý thuyết. Dữ liệu đề thi tự luận. Dữ liệu đề thi trắc nghiệm. Trang 34.

<span class='text_page_counter'>(35)</span> 3.1.1.1 Xử lý ôn tập theo lớp. Xử lý ôn tập lý thuyết. Xử lý Lý thuyết. Lớp. Chương. Xử lý bài tập. Hỗ trợ phương trình phản ứng. Bài. 3.1.1.2 Xử lý luyện giải đề thi. Xử lý giải đề thi tự luận. Hỗ trợ phương trình phản ứng. Trang 35.

<span class='text_page_counter'>(36)</span> Học sinh. Hệ thống các đối tượng thể hiện. Thể hiện tra cứu. Thể hiện giải bài tập theo dạng. Hệ thống các đối tượng xử lý. Xử lý tra cứu. Xử lý giải bài tập theo dạng. Hệ thống các đối tượng lưu trữ. Dữ liệu tra cứu. Trang 36.

<span class='text_page_counter'>(37)</span> 3.1.2. Đối với giáo viên Giáo viên. Hệ thống các đối tượng thể hiện. Thể hiện soạn đề thi trắc nghiệm. Thể hiện soạn đề thi tự luận. Thể hiện tra cứu. Hệ thống các đối tượng xử lý. Xử lý soạn đề thi trắc nghiệm. Xử lý soạn đề thi tự luận. Xử lý tra cứu. Hệ thống các đối tượng lưu trữ. Dữ liệu đề thi trắc. Dữ liệu đề thi tự luận. Dữ liệu tra cứu. Trang 37.

<span class='text_page_counter'>(38)</span> 3.1.3. Kiến trúc triển khai. Học sinh. Giáo viên. Thể hiện. Thể hiện. Xử lý. Xử lý. Lưu trữ. Lưu trữ. Bộ nhớ ngoài. 3.2. Bộ nhớ ngoài. Thiết kế dữ liệu 3.2.1. Sơ đồ logic dữ liệu. ™ Cấu trúc các lớp đối tượng LOP. CHUONG. BAILY THUYET. BAITAP SGK. DETHITU LUAN. DETHI_BAITAP TULUAN. BAITAP TULUAN. DETHITRAC NGHIEM. DETHI_BAITAP TRACNGHIEM. BAITAP TRACNGHIEM. Hình 7 : sơ đồ logic dữ liệu. Trang 38. LOAI BAITAP.

<span class='text_page_counter'>(39)</span> 3.2.1.1.1. Danh sách các thành phần của sơ đồ. STT Tên 1 LOP. Ý nghĩa Lớp. 2 CHUONG. Chương. 3 BAILYTHUYET. Bài lý thuyết 4 BAITAPSGK Bài tập SGK 5 DETHITULUAN Đề thi tự luận BAITAPTUUAN Bài tập tự luận 6 DETHI_BAITAPTULUAN Đề thi - bài tập tự luận 7 DETHITRACNGHIEM Đề thi trắc nghiệm 8 BAITAPTRACNGHIEM Bài tập trắc nghiệm 9 DETHI_BAITAPTRACNGHIEM Đề thi - bài tập trắc nghiệm 10 DANGBAITAP Dạng bài tập. Loại Đối tương Đối tương Đối tương Đối tương Đối tương Đối tương Quan hệ Đối tương Đối tương Quan hệ. Ghi chú. Đố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). Trang 39.

<span class='text_page_counter'>(40)</span> 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. 1 MaLop 2 TenLop. Miền giá trị. Ràng buộc. Số nguyên Chuỗi Tên. Ghi chú Khóa chính. : Chuong. Ý nghĩa : Chương STT Thuộc tính. Kiểu. 1 MaChuong 2 TenChuong. Miền giá trị. Ràng buộc. Số nguyên Chuỗi Tên. Ghi chú Khóa chính. : BaiLyThuyet. Ý nghĩa : Bài lý thuyết STT Thuộc tính 1 MaBaiLyThuyet 2 TenBaiLyThuyet 3 TenFileBaiLyTh uyet. Kiểu. Miền giá trị. Số nguyên Chuỗi Chuỗi. Ràng buộc. Ghi chú Khóa chính. Trang 40.

<span class='text_page_counter'>(41)</span> 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. 1 MaBaiTapS Số nguyên GK 2 MaBaiLyTh Số nguyên uyet. Ghi chú Khóa chính Tham chiếu khóa ngoại. 3 TenFileDeB Chuỗi ai 4 TenFileHuo Chuỗi ngDanGiai 5 TenFileBai Chuỗi Giai Tên. : DeThiTuLuan. ý nghĩa : Đề thi tự luận STT Thuộc tính 1 MaDeThi 2 TenGoiNho. Kiểu. Miền giá trị. Ràng buộc. Số nguyên Chuỗi Tên. Ghi chú Khóa chính. : BaiTapTuLuan. ý nghĩa : bài tập tự luận STT Thuộc tính. Kiểu. 1 MaBaiTap 2 TenGoiNho 3 MaDangBai. Số nguyên Chuỗi Số nguyên. 4 DoKho 5 ThoiGianLa mBai. Số nguyên DateTime. Miền giá trị. Ràng buộc. Ghi chú Khóa chính Tham chiếu khóa ngoại. >=1 and <=4. Trang 41.

<span class='text_page_counter'>(42)</span> 6 TenFileDeB ai 7 TenFileHuo ngDan 8 TenFileBai Giai 9 TenFileBai Lam. Chuỗi Chuỗi Chuỗi Chuỗi. Tên. : DeThi_BaiTapTuLuan. ý nghĩa : quan hệ đề thi bài tập tự luận STT Thuộc tính 1 MaDeThi. Kiểu Số nguyên. 2 MaBaiTap. Số nguyên. Miền giá trị. Ràng buộc. Ghi chú Tham chiếu khóa ngoại Tham chiếu khóa ngoại. Ràng buộc. Ghi chú Khóa chính. Tên : DeThiTracNghiem ý nghĩa : Đề thi trắc nghiệm STT Thuộc tính 1 MaDeThi 2 TenGoiNho. Kiểu Số nguyên Chuỗi Tên. Miền giá trị. : BaiTapTracNghiem. ý nghĩa : bài tập trắc nghiệm STT 1 2 3. Thuộc tính MaBaiTap TenGoiNho MaDangBai. Kiểu Số nguyên Chuỗi Số nguyên. 4 DoKho Số nguyên 5 ThoiGianLam DateTime Bai. Miền giá trị. Ràng buộc. Ghi chú Khóa chính Tham chiếu khóa ngoại. >=1 and <=4. Trang 42.

<span class='text_page_counter'>(43)</span> 6 SoLuaChon 7 LuaChonDun g 8 TenFileDeBai 9 TenFileHuon gDan 10 TenFilebaiGia i 11 LuaChon. Số nguyên Số nguyên. >=2 and <=5 <= SoLuaChon. Chuỗi Chuỗi Chuỗi Số nguyên Tên. <= SoLuaChon : 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ị. 1 MaDeThi. Số nguyên. 2 MaBaiTap. Số nguyên Tên. Ràng buộc. Ghi chú Tham chiếu khóa ngoại Tham chiếu khóa ngoại. : DangBai. ý nghĩa : Dạng bài STT Thuộc tính 3 MaDangBai 4 TenDangBai. Kiểu. Miền giá trị. Số nguyên Chuỗi. Ràng buộc. Ghi chú Khóa chính. 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>. Trang 43.

<span class='text_page_counter'>(44)</span> <!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">. Trang 44.

<span class='text_page_counter'>(45)</span> <BAILYTHUYET MaSo="100" TenBai="Chất điện li" TenFileBaiLT="L1C0B0.rtf"> </BAILYTHUYET> </CHUONG> </LOP> <LOP MaSo="2" TenLop="Lớp 12"> <CHUONG MaSo="20" TenChuong="RƯỢU - PHENOL - AMIN"> <BAILYTHUYET MaSo="200" TenBai="Nhóm chức" TenFileBaiLT="L2C0B0.rtf"> </BAILYTHUYET> </CHUONG> </LOP> </LYTHUYET> 3.2.1.3 Đề thi tự luận ™ Cấu trúc của file DuLieuTuLuan.xml <?xml version="1.0" encoding="utf-8" ?> <!ELEMENT DANHSACHCAUHOITULUAN (CAUHOI*)> <!ELEMENT CAUHOI EMPTY> <!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> <!ELEMENT DANHSACHDETHITULUAN (DETHI*)> <!ELEMENT DETHI (CAUHOI*)> <!ATTLIST DETHI MaDeThi CDATA #REQUIRED> <!ATTLIST DETHI TenGoiNho CDATA #IMPLIED> <!ATTLIST DETHI DoKho CDATA #IMPLIED>. Trang 45.

<span class='text_page_counter'>(46)</span> <!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" ?>. Trang 46.

<span class='text_page_counter'>(47)</span> <!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 .">. Trang 47.

<span class='text_page_counter'>(48)</span> <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>. 3.3. Thiết kế xử lý. 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.. Trang 48.

<span class='text_page_counter'>(49)</span> 3.3.2.1.1. 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 Các lớp đối tượng xử lý chính. STT Tên 1 Lop 2 Chuong. Ý nghĩa Lớp Chương. 3 4 5 6 7 8 9 10. BaiLyThuyet BaiTapSGK BaiTapTuLuan DeThiTuLuan BaiTapTracNghiem DeThiTracNghiem XuLy_MHChinh XuLy_OnTapLyThuyet. 11. XuLy_GiaiDeThiTuLuan. 12. XuLy_GiaiDeThiTracNghiem. 13. XuLy_SoanBaiLuyThuyet. 14. XuLy_SoanDeThiTuLuan. 15. XuLy_SoanDeThiTracNghiem. 16 17 18. DuLieu_LyThuyet DuLieu_TuLuan DuLieu_TracNghiem. Bài lý thuyết Bài tập SGK Bài tập tự luận Đề thi trắc nghiệm Bài tập trắc nghiệm Đề thi trắc nghiệm Xử lý màn hình chính 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 Xử lý soạn bài lý thuyết Xử lý soạn đề thi tự luận Xử lý soạn đề thi trắc nghiệm Dữ liệu lý thuyết Dữ liệu tự luận 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. Trang 49. Ghi chú.

<span class='text_page_counter'>(50)</span> • KimLoai • PhiKim • KLNhomI • KLNhomII • KLNhomIII • KLNhomPhu • PKNhomIV • PKNhomV • PKNhomVI • PKNhomVII • Muoi • Axit • Bazo • BazoKiem • BazoKiemTho • BazoLuongTinh • BazoNhomPhu • BazoNH4 • H2O • Oxit • OxitAxit • OxitBazo • OxitAxitNhomIV • OxitAxitNhomV • OxitAxitNhomVI • OxitAxitNhomVII • OxitBazoNhomI • OxitBazoNhomII. Trang 50.

<span class='text_page_counter'>(51)</span> • 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 :. Trang 51.

<span class='text_page_counter'>(52)</span> • 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 .. Trang 52.

<span class='text_page_counter'>(53)</span> • 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 :. Trang 53.

<span class='text_page_counter'>(54)</span> • 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.. Trang 54.

<span class='text_page_counter'>(55)</span> 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. Trang 55.

<span class='text_page_counter'>(56)</span> 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.. Trang 56.

<span class='text_page_counter'>(57)</span> • 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 : PhuongTrinhPhanUngCollection * PhuongTrinhPhanUng * TapHopChat *. * *. DanhSachChat. ChatVoCo. • 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. Trang 57.

<span class='text_page_counter'>(58)</span> I.A.1.a.13.. Mô hình 2 : PhuongTrinhPhanUngHoanChinh. *. * TapHopChatTrongPtp. PhuongTrinhPhanUn *. ChatPhanUng * ChatVoCo • 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.. Trang 58.

<span class='text_page_counter'>(59)</span> I.A.1.a.14.. Mô hình 3 : ChatVoCo. *. * PhuongTrinhPhanUngCollectio. TapHopNguyenTo. *. *. DanhSachNguyen T • Lớp. ChatVoCo. NguyenTo * 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.. Trang 59.

<span class='text_page_counter'>(60)</span> I.A.1.a.15.. Mô hình 4 : HopChatDienTich. *. *. IonDuong. IonAm. * KimLoai. • 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ý 1. 1. DuLieu_LyThuyet. XuLy_OnTapLyThuyet. 0..*. XuLy_SoanBaiLyThuyet. BaiTapSGK. 0..* Chuong. 1 0..* 1. DuLieu_TracNghiem. XuLy_SoanDeThiTuLuan. DeThiTuLuan 0..*. DuLieu_TuLuan. 1. 0..*. 1 1. 1. 1. 1. BaiLyThuyet 0..*. Lop. 1. 1. 1. 0..*. 1. 0..* 0..*. XuLy_GiaiDeThiTuLuan. 0..* CauHoiTuLuan. 0..* DeThiTracNghiem 0..* 0..* 1. 1. XuLy_SoanDeThiTracNghiem 1 1. 1. 0..* 0..* CauHoiTracNghiem. Trang 60. XuLy_GiaiDeThiTracNghiem.

<span class='text_page_counter'>(61)</span> 3.3.2.3.1. 3.3.2.3 Chi tiết tổ chức bên trong các lớp đối tượng Lớp ChatVoCo • Danh sách các biến thành phần (fields) :. STT Tên m_NguyenTos. Loại TaphopNguyenTo. 1. m_ptpus. PhuongTrinhPhan UngCollection. 2. Ý nghĩa 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 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. Ghi chú protected. protected. • Danh sách các thuộc tính (properties) : ST T 1 2 3. Tên. Loại. Ý nghĩa. Ghi chú M float Khối lượng Readonly NguyenTos TapHopNguyenTo Tương ứng Read – m_nguyent only os PhuongTrinhPhanUn PhuongTrinhPhanUngCollect Tương ứng public gs ion m_ptpus. Trang 61.

<span class='text_page_counter'>(62)</span> • Danh sách các hàm thành phần (methods) : STT Tên XacDinhChat 1. Tham số ten : string. LaChatKhi. chat : ChatVoCo. KimLoaiMuoi. kl : KimLoai m : Muoi. KimLoaiAxit. kl : KimLoai axit : Axit. KimLoaiH2O. kl : KimLoai h2O : H2O. 2. 3. 4. 5. KimLoaiPhiKimVII kl : KimLoai pk : PKNhomVII 6. Xử lý Xác định đối tượng có tên chất như vậy Xác định chất cho có phải là chất khí hay không Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Muoi Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Axit Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng H2O Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVII. Trang 62. Kết quả Đối tượng thuộc lớp tương ứng True : đúng False : sai. Ghi chú static. True:có False:không Tính m_ptpus. protecte d. True:có False:không Tính m_ptpus. protecte d. True:có False:không Tính m_ptpus. protecte d. True:có False:không Tính m_ptpus. protecte d. static.

<span class='text_page_counter'>(63)</span> KimLoaiPhiKimVI. kl : KimLoai pk : PKNhomVI. KimLoaiPhiKimV. kl : KimLoai pk : PKNhomV. KimLoaiPhiKimIV. kl : KimLoai pk : PKNhomIV. …. …. 7. 8. 9. 10. Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVI Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomV 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. True:có False:không Tính m_ptpus. protecte d. True:có False:không Tính m_ptpus. protecte d. …. …. 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)?. Trang 63.

<span class='text_page_counter'>(64)</span> ƒ đú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ệ Giải thuật hàm LaChatKhi :. o. ƒ 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. STT 1 2 3 4 5 6 7 8 9 10. Tên. I.A.1.a.16. Lớp NguyenTo • Danh sách các biến thành phần (field) : Loại Ý nghĩa. m_nt db m_soHieuNtu m_ten m_kyHieu m_khoiLuong m_cauHinhElectron m_doAmDien m_tapHopSoOxiHoa. enumNguyenTo DataBase int string string float string float int[]. m_soOxiHoa. int. Trang 64. Kiểu tập hợp enum Để truy vấn dữ liệu Số hiệu nguyên tử Tên nguyên tố Kí hiệu nguyên tử Khối lượng của nguyên tử Cấu hình electron Độ âm điện Tập hợp số oxi hoá có thể có của nguyên tử Số oxi hoá của đối tựong nguyento hiện tại. Ghi chú private private private private private private private private private protect ed.

<span class='text_page_counter'>(65)</span> • Danh sách các thuộc tính (properties) STT Tên 1 Ten 2 SoHieuNguyenTu TenNguyenTu 3. Loại enumNguyenTo int string. Ý nghĩa m_ten m_soHieuNtu m_tenNguyenTu. KyHieu. string. m_kyHieu. KhoiLuong. float. m_khoiLuong. CauHinhElectron. string. m_cauHinhElectron. DoAmDien. float. m_doAmDien. 4 5 6 7 8. TapHopSoOxiHoa int[]. m_tapHopSoOxiHoa. SoOxiHoa. 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?. int. 9. Ghi chú public public public Read-only public Read – only public Read - only public Read – only public Read only public Readonly public. • Danh sách các hàm thành phần (methods) STT. Tên. Tham số. Clone 1 LaNguyenTo. ten : string. 2 XacDinhNguyenTo ten : string 3. Trang 65. Xử lý. Kết quả. Ghi chú public. Tạo mới đối tượng copy từ đối tượng này. trả về đối tượng NguyenTo được copy true : đúng public false : sai static. Kiểm tra với tên đó có là nguyento hày không Trả về chính null : public xác đối tựơng không là static có ten như vậy NguyenTo.

<span class='text_page_counter'>(66)</span> 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ó… ten : string Khởi tạo soOxiHoa : int thuộc tính Tên, sooxihoa, cấu hình e, khối lượng… soHieuNguyenTu Khởi tạo đối : int tượng nguyento khi biết số hiệu nguyên tử của nguyên tố đó. 4. NguyenTo 5 NguyenTo 6. I.A.1.a.17.. public Hàm tạo. public Hàm tạo public Hàm tạo. Lớp KimLoai :. • Danh sách các biến thành phần (fields) : STT. Tên m_kls. 1. STT 1. Ý nghĩa Định nghĩa các nguyên tố nào thỏa mãn là kim loại • Danh sách các hàm thành phần (methods) :. Ghi chú private static. Tên. Tham số. Xử lý. Kết quả. LaKimLoai. ten :string. DungTruoc. NguyenTo nt. Kiểm tra có phải tên đó là kim loại? Kiểm tra đối tượng này có đứng trước nt trong dãy điện hoá? Xd số oxi hoá của đối tựơng này. true : đúng false : sai true : đúng false : sai. 2 3. Loại enumNguyenTo[]. XacDinhSoOxiHoa. Trang 66. Ghi chú public static public. public virtual.

<span class='text_page_counter'>(67)</span> I.A.1.a.18.. Lớp KLNhomI :. • Danh sách các biến thành phần (fields) : STT Tên m_kls 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là kim loại nhóm I. Ghi chú private static. • Danh sách các hàm thành phần (methods) : STT 1 2 3 4 5 6 7 … 8. Tên LaKLNho mI TacDung TacDung TacDung TacDung TacDung TacDung … TacDung. Tham số ten : string. Xử lý xd tên đó có là KLNhomI? h2O : H2O this + H2O ? axit : Axit this + Axit? pk : this + PKNhomIV PKNhomIV ? pk : this + PKNhomV PKNhomV? pk : this + PKNhomVI PKNhomVI ? pk : this + PKNhomVII PKNhomVII ? … … chatTGs : this + DanhSachChat chatConLai?. I.A.1.a.19.. Kết quả true : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ?. Ghi chú public static public public public. tìm m_ptpus ?. public. tìm m_ptpus ?. public. tìm m_ptpus ?. public. …. tìm m_ptpus ?. … public vitual. Lớp KLNhomII :. • Danh sách các biến thành phần (fields) : STT Tên m_kls 1. Loại enumNguyenTo[]. Ý nghĩa Ghi chú xd nguyên tố nào thoả private mãn là kim loại nhóm II static. Trang 67.

<span class='text_page_counter'>(68)</span> • Danh sách các hàm thành phần (methods) : STT. Tên Tham số LaKLNhomII ten : string. Xử lý xd tên đó có là KLNhomII?. TacDung. h2O : H2O. this + H2O ?. TacDung. axit : Axit. this + Axit?. TacDung. pk : PKNhomIV pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat. this + PKNhomIV ? this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … this + chatConLai?. 1 2 3 4 5 6 7 … 8. TacDung TacDung TacDung … TacDung. I.A.1.a.20.. Kết quả True : đúng false : sai tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? …. Tìm m_ptpus ?. Ghi chú public static public public public public public public … public vitual. Lớp KLNhomIII :. • Danh sách các biến thành phần (fields) : STT Tên m_kls 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là kim loại nhóm III. Ghi chú private static. • Danh sách các hàm thành phần (methods) : STT. Tên Tham số LaKLNhomIII ten : string. Xử lý xd tên đó có là KLNhomIII?. TacDung. h2O : H2O. this + H2O ?. TacDung. axit : Axit. this + Axit?. TacDung. pk : PKNhomIV. this + PKNhomIV ?. 1 2 3 4. Trang 68. Kết quả True : đúng false : sai tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ?. Ghi chú public static public public public.

<span class='text_page_counter'>(69)</span> 5 6 7 … 8. TacDung TacDung TacDung … TacDung. pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat. I.A.1.a.21.. this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … this + chatConLai?. Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? …. Tìm m_ptpus ?. public public public … public vitual. Lớp KLNhomPhu :. • Danh sách các biến thành phần (fields) : STT Tên m_kls 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là kim loại nhóm phụ. Ghi chú private static. • Danh sách các hàm thành phần (methods) : STT. Tên Tham số LaKLNhomPhu ten : string. Xử lý xd tên đó có là KLNhomPhu?. TacDung. h2O : H2O. this + H2O ?. TacDung. axit : Axit. this + Axit?. TacDung. pk : PKNhomIV pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat. this + PKNhomIV ? this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … this + chatConLai?. 1 2 3 4 5 6 7 … 8. TacDung TacDung TacDung … TacDung. Trang 69. Kết quả True : đúng false : sai tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? …. Tìm m_ptpus ?. Ghi chú public static public public public public public public … public vitual.

<span class='text_page_counter'>(70)</span> I.A.1.a.22.. Lớp PhiKim. • Danh sách các biến thành phần (fields) : STT Tên m_pks 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là phi kim. Ghi chú private static. • Danh sách các hàm thành phần (methods) : STT. Tên LaPhiKim. Tham số ten : string. Xử lý xd tên đó có là PhiKim?. LaChatKhi. ten : string. PhiKimH2. pk : PhiKim h2 : H2 pk : PhiKim o2 : PKNhomVI. xd đó có là chất khí ? this + H2?. 1 2 3. PhiKimO2 4. I.A.1.a.23.. this + O2?. Kết quả True : đúng false : sai true : đúng false : sai tìm m_ptpus ? tìm m_ptpus ?. Ghi chú public static public static protected protected. Lớp PKNhomIV :. • Danh sách các biến thành phần (fields) : STT Tên m_pks 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomIV?. Ghi chú Private static. • Danh sách các hàm thành phần (methods) : STT. Tên Tham số LaPKNhomIV ten : string. Xử lý xd tên đó có là PKNhomIV?. TacDung. kl: KimLoai. this + KimLoai ?. TacDung. h2 : H2. this + H2 ?. TacDung. o2 : PKNhomVI. this + O2?. 1 2 3 4. Trang 70. Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ?. Ghi chú public static public public public.

<span class='text_page_counter'>(71)</span> 5 6. TacDung TacDung. … … chatTGs : this + DanhSachChat chatConLai?. I.A.1.a.24.. … Tìm m_ptpus ?. … public vitual. Lớp PKNhomV :. • Danh sách các biến thành phần (fields) : STT Tên m_pks 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomV?. Ghi chú Private static. • Danh sách các hàm thành phần (methods) : STT. Tên LaPKNhomV. Tham số ten : string. Xử lý xd tên đó có là PKNhomV?. TacDung. kl: KimLoai. this + KimLoai ?. TacDung. h2 : H2. this + H2 ?. TacDung. o2 : PKNhomVI … chatTGs : DanhSachChat. this + O2?. 1 2 3 4 5 6. TacDung TacDung. I.A.1.a.25.. … this + chatConLai?. Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? … Tìm m_ptpus ?. Ghi chú public static public public public … public vitual. Lớp PKNhomVI :. • Danh sách các biến thành phần (fields) : STT Tên m_pks 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomVI?. Trang 71. Ghi chú Private static.

<span class='text_page_counter'>(72)</span> • Danh sách các hàm thành phần (methods) : STT. Tên Tham số LaPKNhomVI ten : string. Xử lý xd tên đó có là PKNhomVI?. TacDung. kl: KimLoai. this + KimLoai ?. TacDung. h2 : H2. this + H2 ?. TacDung. o2 : PKNhomVI … chatTGs : DanhSachChat. this + O2?. 1 2 3 4 5 6. TacDung TacDung. I.A.1.a.26.. … this + chatConLai?. Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? … Tìm m_ptpus ?. Ghi chú public static public public public … public vitual. Lớp PKNhomVII :. • Danh sách các biến thành phần (fields) : STT Tên m_pks 1. Loại enumNguyenTo[]. Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomVII?. Ghi chú Private static. • Danh sách các hàm thành phần (methods) : STT. Tên Tham số LaPKNhomVII ten : string. Xử lý xd tên đó có là PKNhomVII?. TacDung. kl: KimLoai. this + KimLoai ?. TacDung. h2 : H2. this + H2 ?. TacDung. o2 : PKNhomVI … chatTGs : DanhSachChat. this + O2?. 1 2 3 4 5 6. TacDung TacDung. … this + chatConLai?. Trang 72. Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? … Tìm m_ptpus ?. Ghi chú public static public public public … public.

<span class='text_page_counter'>(73)</span> I.A.1.a.27.. Lớp IonDuong :. • Danh sách các biến thành phần (fields) : STT Tên ionDuongs 1 2. Loại enumIonDuong[]. m_ionDuong enumIonDuong m_kimLoai KimLoai. 3 4. m_soOxiHoa int. Ý nghĩa Xd các ion dương có thể có Ion dương Kim loại tương ứng với ion dương đó = null nếu là ion dương (h hay nh4) Số oxi hoá của ion dương này. Ghi chú private static private private. private. • Danh sách các thuộc tính (properties) : STT 1 2 3. Tên Ten SoOxiHoa KimLoai. Loại enumIonDuong int KimLoai. Ý nghĩa m_ionDuong m_soOxiHoa m_kimLoai. Ghi chú public public public. • Danh sách các hàm thành phần (methods) : STT. Tên LaIonDuongBazo. Tham số ten : string. LaIonDuongMuoi. ten : string. 1 2. 3. ChuaIonDuongMuoi ten : string vitri : int (out). LaIonDuong 4. ten : string. Xử lý Xd tên đó có là ion dương của bazơ ? Xd tên đó có là ion dương của muoi? Xd trong ten có Chứa ion dương muối không (nếu có ơ vị trí nào)? Xd tên đó có là ionduong ?. Trang 73. Kết quả true : đúng false : sai True : đúng false : sai Trả về ion dương mà tên đó chứa. Ghi chú public static. true : đúng false : sai. public static. public static public static.

<span class='text_page_counter'>(74)</span> I.A.1.a.28. Lớp IonAm : • Danh sách các biến thành phần (fields) : STT Tên ionAms 1 2 3. Loại enumIonAm[]. Ý nghĩa Xd các ion âm có thể có Ion âm Số oxi hoá của ion âm này. m_ionAm enumIonAm m_soOxiHoa int. Ghi chú private static private private. • Danh sách các thuộc tính (properties) : STT Tên Loại 1 Ten enumIonAm SoOxiHoa int 2. Ý nghĩa m_ionAm m_soOxiHoa. Ghi chú public public read – only. • Danh sách các hàm thành phần (methods) : STT. Tên LaIonAmAxit. Tham số ten : string. ChuaIonAmMuoi. ten : string viTri : int (out). LaIonAm. ten : string. 1. 2. 4. Xử lý Xd tên đó có là ion âm của axit? Xd trong ten có Chứa ion âm muối không (nếu có ơ vị trí nào)? Xd tên đó có là ionam ?. Kết quả True : đúng false : sai Trả về ion âm mà tên đó chứa. Ghi chú public static. true : đúng false : sai. public static. 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 m_ionDuong 1 2. m_ionAm. Loại IonDuong. Ý nghĩa Ion dương của hợp chất điện tích Ion âm của hợp chất điện tích. IonAm. Trang 74. Ghi chú private private.

<span class='text_page_counter'>(75)</span> 3 4 5. m_soIonDuong int m_soIonAm int m_tonTai bool. Số ion dương Số ion âm Xd tính tồn tại của hợp chất này. private private private. • Danh sách các thuộc tính (properties) : STT Tên IonDuong 1 2 3 4 5. IonAm. Loại IonDuong. Ý nghĩa m_ionDuong. IonAm. m_ionAm. SoIonDuong int. m_soIonDuong. SoIonAm. int. m_soIonAm. TonTai. bool. m_tonTai. Ghi chú public read – only public read – only public read – only public read – only public read – only. • Danh sách các hàm thành phần (methods) : STT 1 2 3 4 5 6. Tên. Tham số. XacDinhHopChatDienTich ten : string XacDinhTinhTonTai TacDung TacDung TacDung TacDung. m1 : Muoi m2 : Muoi axit : Axit m : Muoi b : Bazo m : Muoi b : Bazo axit : Axit. Trang 75. Xử lý. Kết quả. xd tên đó có là Muoi, Axit, hay Bazo? xd tính tồn. Null : không. m1 + m2 ?. tìm m_ptpus? tìm m_ptpus? tìm m_ptpus? tìm m_ptpus?. axit + m? b + m? b + axit ?. Ghi chú public static public Public Public Public Public.

<span class='text_page_counter'>(76)</span> I.A.1.a.30.. Lớp Axit :. • Danh sách các biến thành phần (fields) : STT Tên 1 m_axit 2 m_tinhAxit m_trangThai 3. Loại enumAxit enumTinhAxit string. Ý nghĩa Xđ các axit có thể có Xđ tính axit Trạng thái của axit (loãng, đặc nóng…). Ghi chú private private private. • Danh sách các thuộc tính (properties) : STT Tên Ten 1 2 3. Loại enumAxit. Ý nghĩa m_axit. TinhAxit. enumTinhAxit. m_tinhAxit. TrangThai. string. m_trangThai. Ghi chú public read – only public read – only public. • Danh sách các hàm thành phần (methods) : Tên. Tham số. Xử lý. Kết quả. LaAxit. ten : string. XacDinhAxit. ten : string. TacDung. b : Bazo. xd tên đó có là axit? xd axit đó là axit nào? this + bazo?. 4 5. TacDung TacDung. m : Muoi kl : KimLoai. this + m? this + kl?. True : đúng false : sai Đối tượng Axit Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus. … 6. … TacDung. … chatTGs : DanhSachChat. … … xd chất còn lại tìm m_ptpus + this ?. STT 1 2 3. Ghi chú public static public static public public public … 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 1 m_bazo enumBazo 2 m_tinhTan bool. Ý nghĩa Xđ các bazo có thể có Xđ tính tan của bazo. Trang 76. Ghi chú private private.

<span class='text_page_counter'>(77)</span> • Danh sách các thuộc tính (properties) : STT Tên 1 Ten TinhTan 2. Loại enumBazo bool. Ý nghĩa m_bazo m_tinhTan. Ghi chú public public read – only. • Danh sách các hàm thành phần (methods) : STT 1. Tên. Tham số. Xử lý. Kết quả. LaBazo. ten : string. XacDinhBazo. ten : string. True:đúng false : sai Null : ko xác định. TacDung TacDung TacDung. axit : Axit m : Muoi b : Bazo. xd tên đó có là Bazo? xđ loại Bazo ứng với tên đó? this + axit? this + m? this + b?. 2 3 4 5. I.A.1.a.32.. Tìm m_ptpus? tìm m_ptpus? tìm m_ptpus?. Ghi chú public static public static Public Public Public virtual. Lớp BazoKiem :. • Danh sách các hàm thành phần (methods) : STT 1 2 3 4 … 5. Tên. Tham số. Xử lý. Kết quả. TacDung TacDung TacDung TacDung … TacDung. pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat. this + pk? this + axit? this + m? this + bazo? … this + chatConLai?. Tìm m_ptpus? Tìm m_ptpus? tìm m_ptpus? Tìm m_ptpus? … Tìm m_ptpus?. Trang 77. Ghi chú Public Public Public Public … Public virtual.

<span class='text_page_counter'>(78)</span> I.A.1.a.33.. Lớp BazoKiemTho :. • Danh sách các hàm thành phần (methods) : STT 1 2 3 4 … 5. Tên. Tham số. Xử lý. Kết quả. TacDung TacDung TacDung TacDung … TacDung. pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat. this + pk? this + axit? this + m? this + bazo? … this + chatConLai?. Tìm m_ptpus? Tìm m_ptpus? tìm m_ptpus? Tìm m_ptpus? … Tìm m_ptpus?. I.A.1.a.34.. Ghi chú Public Public Public Public … Public virtual. Lớp BazoLuongTinh :. • Danh sách các hàm thành phần (methods) : STT 1 2 3 4 … 5. Tên. Tham số. Xử lý. Kết quả. TacDung TacDung TacDung TacDung … TacDung. pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat. this + pk? this + axit? this + m? this + bazo? … this + chatConLai?. Tìm m_ptpus? Tìm m_ptpus? tìm m_ptpus? Tìm m_ptpus? … Tìm m_ptpus?. I.A.1.a.35.. Ghi chú Public Public Public Public … Public virtual. Lớp BazoNhomPhu. • Danh sách các hàm thành phần (methods) : STT 1 2 3 4 … 5. Tên. Tham số. Xử lý. Kết quả. TacDung TacDung TacDung TacDung … TacDung. pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat. this + pk? this + axit? this + m? this + bazo? … this + chatConLai?. Tìm m_ptpus? Tìm m_ptpus? tìm m_ptpus? Tìm m_ptpus? … Tìm m_ptpus?. Trang 78. Ghi chú Public Public Public Public … Public virtual.

<span class='text_page_counter'>(79)</span> I.A.1.a.36.. Lớp HopChatOH :. • Danh sách các biến thành phần (fields) : STT Tên m_nts 1 2. Loại NguyenTo[2]. m_sonts. Ý nghĩa 2 nguyên tố tạo nên đối tượng lớp hopchatoh Số lượng của 2 nguyên tố. int[2]. Ghi chú private private. • Danh sách các thuộc tính (properties) : STT Tên NguyenTo1 1. Loại NguyenTo. Ý nghĩa Nguyên tố thứ 1. NguyenTo2. NguyenTo. Nguyên tố thứ 2. 2 3 4. SoNguyenTo1 int. Số nguyến tố 1. SoNguyenTo2 int. Số nguyến tố 2. Ghi chú public read – only public read – only public read – only public read – only. • Danh sách các hàm thành phần (methods) : STT. Tên. Tham số. Xử lý. XacDinhHopChatOH ten : string. Xđ tên đó là null : không oxit hay RH có ?. 1 I.A.1.a.37.. Kết quả. Ghi chú Public static. Lớp Oxit :. • Danh sách các hàm thành phần (methods) : STT 1 2. Tên. Tham số. Xử lý. Kết quả. LaOxit. ten : string. XacDinhOxit. ten : string. xđ tên đó là oxit Xđ loại Oxit. true : đúng false : sai null : không có. Trang 79. Ghi chú Public static public static.

<span class='text_page_counter'>(80)</span> I.A.1.a.38.. Lớp RH. • Danh sách các hàm thành phần (methods) : STT Tên LaRH 1 2. Tham số ten : string. XacDinhRH. ten : string. Xử lý Xđ tên đó là RH Xđ loại RH. Kết quả true : đúng false : sai null : không có. Ghi chú Public static 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 1 m_list. Loại ArrayList. Ý nghĩa Tập hợp nguyên tố. Ghi chú private. • Danh sách các thuộc tính (properties) : STT Tên Count 1. Loại int. indexer. Ý nghĩa Đếm số lượng nguyên tố Trả về đối tượng của lớp NguyenTo ứng với index. NguyenTo. 2. Ghi chú public read – only public read - only. • Danh sách các hàm thành phần (methods) : STT 1 2. Tên. Tham số. Add. nt : NguyenTo Thêm đối tượng của lớp NguyenTo arr : ArrayList Thêm tập các đối tựơng nt : NguyenTo Xoá 1 đối tựơng NguyenTo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachNguyenTo mới dựa trên đối tương hiện có Xoá toàn bộ đối tượng NguyenTo. AddRange Remove. 3 Clone 4. 5. Clear. Xử lý. Trang 80. Kết quả. Ghi chú Public public public public. public.

<span class='text_page_counter'>(81)</span> 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 m_NguyenTos HashTable Lưu đối tượng 1 NguyenTo và số lượng của chúng m_ds DanhSachNguyenTo Lưu tập các đối 2 tượng hiện có. Ghi chú private private. • Danh sách các thuộc tính (properties) : STT Tên Loại Ý nghĩa 1 TapHopNTo HashTable m_NguyenTos DanhSachNguyenTo DanhSachNguyenTo m_ds 2 3. this[index : NguyenTo]. int. this[index : string]. int. Count. int. Trả về số lượng NguyenTo Trả về số lượng NguyenTo Đềm số lượng NguyenTo. 4 5. Ghi chú public public read - only public public public read - only. • Danh sách các hàm thành phần (methods) : STT. Tên. Tham số. Xử lý. Add. nt : NguyenTo chiSo : int. AddRange Remove. h : HashTable nt : NguyenTo. Thêm đối tượng của lớp NguyenTo với số lượng Thêm tập các đối tựơng Xoá 1 đối tựơng NguyenTo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachNguyenTo mới dựa trên đối tựong hiện có Xoá toàn bộ đối tượng NguyenTo. 1 2 3 Clone 4. 5. Clear. Trang 81. Kết quả. Ghi chú Public public public public. public.

<span class='text_page_counter'>(82)</span> I.A.1.a.41.. Lớp DanhSachChat :. • Danh sách các biến thành phần (fields) : STT Tên 1 m_list. Loại ArrayList. Ý nghĩa Tập hợp chất vô cơ. Ghi chú private. • Danh sách các thuộc tính (properties) : STT Tên Count 1. Loại int. indexer. Ý nghĩa Đếm số lượng chất vô cơ Trả về đối tượng của lớp ChatVoCo ứng với index. ChatVoCo. 2. Ghi chú public read – only public read - only. • Danh sách các hàm thành phần (methods) : STT. Tên. Tham số. Xử lý. Add. chat : ChatVoCo. AddRange. arr : ArrayList. Remove. chat : ChatVoCo. Thêm đối tượng của lớp ChatVoCo Thêm tập các đối tượng Xoá 1 đối tựơng ChatVoCo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachChat mới dựa trên đối tượng hiện có Xoá toàn bộ đối tượng ChatVoCo. 1 2 3 Clone 4. 5. Clear. Trang 82. Kết quả. Ghi chú Public public public public. public.

<span class='text_page_counter'>(83)</span> I.A.1.a.42.. Lớp TapHopChat. • Danh sách các biến thành phần (fields) : STT Tên m_chats 1 2. m_ds. Loại HashTable. Ý nghĩa Lưu đối tượng ChatVoCo và số lượng của chúng DanhSachChatVoCo Lưu tập các đối tượng hiện có • Danh sách các thuộc tính (properties) :. Ghi chú private private. STT Tên Loại Ý nghĩa 1 TapHopNTo HashTable m_chats DanhSachChatVoCo DanhSachChatVoCo m_ds 2 3. this[index : ChatVoCo]. int. this[index : string]. int. Count. int. Trả về số lượng ChatVoCo Trả về số lượng ChatVoCo Đếm số lượng ChatVoCo. 4 5. Ghi chú public public read - only public public public read - only. • Danh sách các hàm thành phần (methods) : STT. Tên. Tham số. Xử lý. Add. nt : ChatVoCo chiSo : int. AddRange Remove. h : HashTable nt : ChatVoCo. Thêm đối tượng của lớp ChatVoCo với số lượng Thêm tập các đối tựơng Xoá 1 đối tựơng ChatVoCo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachChatVoCo mới dựa trên đối tựong hiện có Xoá toàn bộ đối tượng ChatVoCo. 1 2 3 Clone 4. 5. Clear. Trang 83. Kết quả. Ghi chú Public public public public. public.

<span class='text_page_counter'>(84)</span> I.A.1.a.43.. Lớp PhuongTrinhPhanUng. • Danh sách các biến thành phần (fields) : STT 1 2 3. Tên m_chatThamGias m_chatTaoThanhs m_xucTac. Loại TapHopChat TapHopChat string. Ý nghĩa Chất tham gia Chất tạo thành Xúc tác. Ghi chú private private private. • Danh sách các thuộc tính (properties) : STT 1 2 3 4. Tên ChatThamGia ChatTaoThanh XucTac SoChatTrongPtpu. Loại TapHopChat TapHopChat string int. Ý nghĩa m_chatThamGias m_chatTaoThanhs m_xucTac Số chất trong ptpu. Ghi chú public public public public. • Danh sách các hàm thành phần (methods) : STT Tên ToString 1. Tham số. I.A.1.a.44.. Xử lý Thể hiện chuỗi hiển thị ptpu. Kết quả Ghi chú Chuổi hiển thị Public ptpu override. Lớp PhuongTrinhPhanUngCollection :. • Danh sách các biến thành phần (fields) : STT Tên m_list 1. Loại ArrayList. Ý nghĩa Tập hợp phương trình phản ứng. Ghi chú private. • Danh sách các thuộc tính (properties) : STT Tên Count 1 indexer 2. Loại int. Ý nghĩa Đếm số lượng phương trình phản ứng PhuongTrinhPhanUng Trả về đối tượng của lớp PhuongTrinhPhanUng ứng với index. Trang 84. Ghi chú public read – only public read - only.

<span class='text_page_counter'>(85)</span> • Danh sách các hàm thành phần (methods) : Tên. Tham số. Xử lý. Kế t qu ả. ST T Add 1 2 3. nt : PhuongTrinhPhanU ng AddRang arr : ArrayList e Remove nt : PhuongTrinhPhanU ng Clone. 4 5. Clear. I.A.1.a.45.. Ghi chú. Thêm đối tượng của lớp PhuongTrinhPhanUng. Publi c. Thêm tập các đối tựơng. publi c publi c. Xoá 1 đối tựơng PhuongTrinhPhanUng ra khỏi tập hợp Nhân bản ra một đối tượng PhuongTrinhPhanUngColleti on mới dựa trên đối tựong hiện có Xoá toàn bộ đối tượng PhuongTrinhPhanUng. publi c publi c. Lớp ChatPhanUng :. • Danh sách các biến thành phần (fields) : STT Tên 1 m_chat m_chiSo 2 3 4 5. Loại ChatVoCo int. m_khoiLuong float m_soMol float m_donVi DonVi. Ý nghĩa Đối tượng chất vô cơ Số lựơng của đối tượng trong ptpu Khối lượng Số mol (g, kg, tấn…). Ghi chú private private private private private. • Danh sách các thuộc tính (properties) : STT Tên DaXacDinh 1 2. ChiSo. Loại bool int. Ý nghĩa Kiểm tra ChatVoCo đã tính khối lượng hoặc số mol chưa? m_chiSo. Trang 85. Ghi chú public read – only public read – only.

<span class='text_page_counter'>(86)</span> 3 4 5 6 7. KhoiLuong. float. m_khoiLuong. DonVi. DonVi. m_donVi. SoMol. float. m_soMol. Chat. ChatVoCo. m_chat. TenChat. string. Tên của chất vô cơ. public read – only public read – only public read – only public read – only public read – only. • Danh sách các hàm thành phần (methods) : STT. Tên. Tham số. Xử lý. Tinh. chat2 : ChatPhanUng. Tính toán các tính giá trị của đối m_khoiLuong tượng khi biết và m_soMol đối tượng khác. 1. I.A.1.a.46.. Kết quả. Ghi chú Public. Lớp TapHopChatTrongPtpu :. • Danh sách các biến thành phần (fields) : STT Tên m_list 1 2. Loại ArrayList. m_daTinh bool. Ý nghĩa Chứa tập hợp các đối tượng của lớp ChatPhanUng Kiểm tra đã tính giá trị ?. Ghi chú private private. • Danh sách các thuộc tính (properties) : STT Tên Count 1 2. DaTinh. Loại int bool. Ý nghĩa Đềm số lượng các đối tượng ChatPhanUng Đã tính ?. Trang 86. Ghi chú public read – only public read - only.

<span class='text_page_counter'>(87)</span> • Danh sách các hàm thành phần (methods) : STT. Tên. Tham số. Xử lý. Add. chat : ChatPhanUng. Remove. chat : ChatPhanUng. Thêm mới 1 đối tượng ChatPhanUng Xoá đối tượng ChatPhanUng Xoá toàn bộ đối tượng ChatPhanUng Tính toán các đối tượng ChatPhanUng. 1 2. Clear 3 Tinh 4 I.A.1.a.47.. Kết quả. Ghi chú Public public public public. 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 m_tapHopChat TapHopChatTrongPtpu Tập hợp chất tương private 2 ứng của PhuongTrinhPhanUng • Danh sách các thuộc tính (properties) : STT Tên Loại DaXacDinhPtpu bool 1 2 3. PhuongTrinh TapHopChat. Ý nghĩa Kiểm tra đã xđ ptpu?. PhuongTrinhPhanUng m_ptpu TapHopChatTrongPtpu m_tapHopChat. Ghi chú Public read – only public public. • Danh sách các hàm thành phần (methods) : STT. Tên Tinh. 1. Tham số. Xử lý Tính giá trị của các chất trong ptpu. Trang 87. Kết quả. Ghi chú Public.

<span class='text_page_counter'>(88)</span> 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 m_dataSet DataSet 1. Ý nghĩa Chứa tòan bộ dữ liệu được lưu trong file .mdb. Ghi chú private. • Danh sách các hàm thành phần (methods) : STT 1. 2. 3. 4. 5. Tên. Tham số. Kết quả SoOxiHoa ten : string Xđ tập hợp int[] số oxi hoá của 1 nguyên tố KhoiLuongNTu ten : string Xđ khối float lượng nguyên tử của nguyên tố CauHinhElectron ten : string Xđ cấu string hình electron của nguyên tố SoHieuNguyenTu ten : string Xđ số hiệu int nguyên tử của nguyên tố TimTenBietSoHieuNguyenTu soHieuNguyen Tìm tên string Tu : int của nguyên tố khi biết số hiệu nguyên tử của nó. Trang 88. Xử lý. Ghi chú Public. public. public. public. public.

<span class='text_page_counter'>(89)</span> I.A.1.a.49.. Lớp Math :. • Danh sách các hàm thành phần (methods) : STT 1 2. Tên. Tham số. Xử lý. Kết quả. USCLN. a : int b : int a : int b : int soBiChia : int soChia : int. tìm USCLN của 2 số a, b tìm BSCNN của 2 số a,b kiểm tra soBiChia có chia hết cho soChia ?. USCLN của (a,b) BSCNN của (a ,b ) true : đúng false : sai. BSCNN ChiHet. 3. Ghi chú Public static public static public static. 3.3.2.3.2 Lớp Lop • các thuộc tính STT Tên m_strTenLop 1 2. m_arrChuongs. Loại A_String. Ý nghĩa Tên lớp. Ghi chú private. Chuong. Các chương thuộc lớp. private. • các phương thức STT Tên 1 ThemChuong 2 XoaChuong TimChuong 3 4 5. Tham số maso : A_String. KiemTraHopLe SuaLop 3.3.2.3.3. Xử lý Thêm chương Xóa chương Tìm chương Kiểm tra hợp lệ Sửa lớp. Kết quả. Ghi chú public public public public public. Lớp Chuong. • các thuộc tính STT Tên m_strTenChuong 1 2. Loại A_String. m_arrBaiLyThuyets BaiLyThuyet. Trang 89. Ý nghĩa Tên chương. Ghi chú private. Các bài thuộc chương private.

<span class='text_page_counter'>(90)</span> • các phương thức STT 1 2 3 4 5 6. Tên ThemBai XoaBai TimChuong KiemTraHopLe SuaChuong LopThuocVe. Tham số. Xử lý Thêm bài Xóa bài Tìm bài Kiểm tra hợp lệ Sửa chương Lớp mà chương thuộc về. maso : A_String. Kết quả. đối tượng kiểu Lop. Ghi chú public public public public public public. 3.3.2.3.4 lớp BaiLyThuyet • các thuộc tính STT Tên m_strTenBaiLT 1 2. Loại A_String. m_arrBaiTapSGKs BaiTapSGK. Ý nghĩa Tên lớp. Ghi chú private. Các bài tập thuộc lớp. private. • các phương thức STT Tên ThemBaiTap 1 2 3 4. XoaBaiTap KiemTraHopLe SuaBai ChuongThuocVe. 5. 3.3.2.3.5. Tham số. Xử lý Thêm bài tập Xóa bài tap Kiểm tra hợp lệ Sửa bài LT Chương mà bài LT thuộc về. Kết quả. Ghi chú public public public. đối tượng kiểu Chuong. public public. Lớp XuLy_OnTapLyThuyet. • các thuộc tính STT Tên m_tvChuongTrinh 1 2. m_rtbBaiLyThuyet. Loại A_TreeView A_RichTextBox. Trang 90. Ý nghĩa Chương trình học Bài lý. Ghi chú private private.

<span class='text_page_counter'>(91)</span> 3 4 5. m_rtbbaiLam m_arrLops. A_RichTextBox Lop. m_dlLyThuyet. DuLieu_LyThuyet. thuyết Bài làm Danh sách lớp. private private private. • các phương thức STT Tên CapNhatControl 1 2 3 4 5 6 7 8 9 10. Tham số. HienThiBaiTapSGK HienThiLyThuyet LuuBaiLam LuuDuLieu TaiDuLieu XoaDuLieu ThemDuLieu LuuBaiLam TimKiemTheoMa. ma : A_String. Xử lý Cập nhật control Hiển thị bài tập SGK Hiển thị bài LT Lưu bài làm Lưu dữ liệu Tải dữ liệu Xóa dữ liệu Thêm dữ liệu Lưu bài làm Tìm kiếm theo mã. Kết quả. Ghi chú public public public public public public public public public public. 3.3.2.3.6 Lớp XuLy_GiaiDeThiTuLuan • các thuộc tính STT Tên m_tvDeThi 1 2 3 4 5 6 7. Loại A_TreeView. m_cboDoKho. A_ComboBox. m_rtbDeBai. A_RichTextBox. m_dtpThoiGianLamBai A_DateTimePicker m_ucBaiLam. A_UserControl. m_rtbHuongDan. A_RichTextBox. m_rtbBaiGiai. A_RichTextBox. Trang 91. Ý nghĩa Đề thi. Ghi chú private,tham chiếu Độ khó private,tham chiếu Đề bài private,tham tập chiếu Thời gian private,tham Làm bài chiếu Bài làm private,tham chiếu Hướng private,tham dẫn chiếu Bài giải private,tham.

<span class='text_page_counter'>(92)</span> 8 9. m_cboDangBai. A_Combobox. m_dlTuLuan. DuLieu_TuLuan. Dạng bài. chiếu private,tham chiếu private. • các phương thức STT Tên 1 TaiDuLieu CapNhatControl 2 3 4. TimKiemTheoMa. Tham số. strMaSo : A_String. TinhThoiGian. Xử lý Tải dữ liệu Cập nhật control Tìm kiếm khi biết mã Tính thời gian. Kết quả. Ghi chú public public. XmlNode. public public. 3.3.2.3.7 Lớp XuLy_GiaiDeThiTracNghiem • các thuộc tính STT Tên m_tvDeThi 1 2 3. Loại A_TreeView. Ý nghĩa Đề thi. m_cboDoKho. A_ComboBox. Độ khó. m_rtbDeBai. A_RichTextBox. Đề bài tập Thời gian làm bài Hướng dẫn Bài giải. m_dtpThoiGianLamBai A_DateTimePicker 4 6 7 8 9 10. m_rtbHuongDan. A_RichTextBox. m_rtbBaiGiai. A_RichTextBox. m_cboDangBai. A_Combobox. m_arrCauChons m_dlTracNghiem. A_Array DuLieu_TracNghiem. Ghi chú private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu. private,tham chiếu private,tham chiếu Dạng bài private,tham chiếu Câu chọn private private. • các phương thức STT Tên 1 TaiDuLieu. Tham số. Xử lý Tải dữ liệu. Trang 92. Kết quả. Ghi chú public.

<span class='text_page_counter'>(93)</span> 2 3. CapNhatControl TimKiemTheoMa. strMaSo : A_String. KiemTraNhanh 4 5 6. TimKetQua TinhThoiGian. Cập nhật control Tìm kiếm XmlNode khi biết mã Kiểm tra câu chọn có đúng không Tìm kết quả đúng Tính thời gian. public public public public public. 3.3.2.3.8 lớp soạn bài lý thuyết • các thuộc tính STT Tên m_tvChuongTrinh 1 2 3 4 5. Loại A_TreeView. m_rtbBaiLyThuyet. A_RichTextBox. m_rtbbaiLam m_arrLops. A_RichTextBox Lop. m_dlLyThuyet. DuLieu_LyThuyet. Ý nghĩa Chương trình học Bài lý thuyết Bài làm Danh sách lớp. Ghi chú private private private private private. • các phương thức STT Tên CapNhatControl 1 2 3 4 5 6 7 8 9 10. Tham số. HienThiBaiTapSGK HienThiLyThuyet LuuBaiLam LuuDuLieu TaiDuLieu XoaDuLieu ThemDuLieu LuuBaiLam TimKiemTheoMa. ma :. Xử lý Cập nhật control Hiển thị bài tập SGK Hiển thị bài LT Lưu bài làm Lưu dữ liệu Tải dữ liệu Xóa dữ liệu Thêm dữ liệu Lưu bài làm Tìm kiếm. Trang 93. Kết quả. Ghi chú public public public public public public public public public public.

<span class='text_page_counter'>(94)</span> A_String. theo mã. 3.3.2.3.9 soạn đề thi tự luận • các thuộc tính STT Tên m_lstBaiTap 1 2 3 4 5 6 7 8. Loại A_ListBox. Ý nghĩa Bài tập. m_ucDeBai. A_UserControl. Đề bài. m_cboDangBai. A_Combobox. Dạng bài. m_cboDoKho. A_Combobox. Độ khó. m_dtpThoiGianLamBai A_DateTimePicker m_cboDeThi. A_Combobox. m_lstDeThi_BaiTap. A_ListBox. m_dlTuLuan. DuLieu_TuLuan. Thời gian làm bài. Ghi chú private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private. • các phương thức STT. Tên. Tham số. TaiDanhSachDeThi. Tải danh sách đề thi Chọn đề thi Thêm đề thi Xóa đề thi Thêm câu hỏi vào đề thi Kiểm tra trùng câu hỏi trong đề thi. 1 2 3 4. Xử lý. ChonDeThi ThemDe XoaDe ThemCauHoiVaoDeThi. 5 KiemTraTrung 6. Trang 94. Kết quả. Ghi chú public public public public public public.

<span class='text_page_counter'>(95)</span> BoBaiTapKhoiDeThi. Bỏ bài tập khỏi đề thi Tải danh sách câu hỏi Chọn câu hỏi Thêm bài Lưu Xóa bài Xóa bài trong đề Sửa tên gợi nhớ. 7 TaiDanhSachCauHoi 8 9 10 11 12 13 14. ChonCauHoi ThemBai Luu XoaBai XoaBaiTrongDe SuaTenGoiNho. public public public public public public public public. 3.3.2.3.10 soạn đề thi trắc nghiệm • các thuộc tính STT Tên m_lstBaiTap 1 2 3 4 5 6 7 8 9 10. Loại A_ListBox. Ý nghĩa Bài tập. m_ucDeBai. A_UserControl. Đề bài. m_cboDangBai. A_Combobox. Dạng bài. m_cboDoKho. A_Combobox. Độ khó. m_dtpThoiGianLamBai A_DateTimePicker m_cboDeThi. A_Combobox. m_lstDeThi_BaiTap. A_ListBox. m_cboSoLuaChon. A_Combobox. m_cboLuaChonDung. A_Combobox. m_dlTracNghiem. DuLieu_TracNghiem. • các phương thức. Trang 95. Thời gian làm bài. Ghi chú private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private.

<span class='text_page_counter'>(96)</span> STT. Tên. Tham số. TaiDanhSachDeThi. 3 4. ChonDeThi ThemDe XoaDe ThemCauHoiVaoDeThi. 5 KiemTraTrung 6 BoBaiTapKhoiDeThi 7 TaiDanhSachCauHoi 8 9 10 11 12 13 14. Kết quả. Tải danh sách đề thi Chọn đề thi Thêm đề thi Xóa đề thi Thêm câu hỏi vào đề thi Kiểm tra trùng câu hỏi trong đề thi Bỏ bài tập khỏi đề thi Tải danh sách câu hỏi Chọn câu hỏi Thêm bài Lưu Xóa bài Xóa bài trong đề Sửa tên gợi nhớ. 1 2. Xử lý. ChonCauHoi ThemBai Luu XoaBai XoaBaiTrongDe SuaTenGoiNho. Ghi chú public public public public public public. public public public public public public public public. 3.3.2.3.11 Lớp DuLieu_LyThuyet • các thuộc tính STT Tên m_docLyThuyet 1 2. m_strPath. Loại XmlDocument A_String. Trang 96. Ý nghĩa Ghi chú Dữ liệu lý private thuyết Đường private dẫn file.

<span class='text_page_counter'>(97)</span> dữ liệu • các phương thức Tên. Tha m số. ST T TruyVanDuLieuLyThu yet CapNhatDuLieuLyThuy et. 1 2. Xử lý. Kế t qu ả. m_docLyThyet.Load(m_strPa th) m_docLyThyet.Save(m_strPat h). Ghi chú publi c publi c. 3.3.2.3.12 Lớp DuLieu_TuLuan • các thuộc tính STT Tên m_docDeThi 1 2. Loại XmlDocument. m_docCauHoi. XmlDocument. m_strPath. A_String. 3. Ý nghĩa Dữ liệu đề thi Dữ liệu câu hỏi Đường dẫn file dữ liệu. Ghi chú private private private. • các phương thức STT 1 2 3 4. Tên LuuDeThi TaiDeThi LuuCauHoi TaiCauHoi. Tham số. Xử lý. Kết quả. Ghi chú. m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath) m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath). 3.3.2.3.13 Lớp DuLieuTracNghiem • các thuộc tính STT Tên m_docDeThi 1 2. m_docCauHoi. Loại XmlDocument XmlDocument. Trang 97. Ý nghĩa Dữ liệu đề thi Dữ liệu câu hỏi. Ghi chú private private.

<span class='text_page_counter'>(98)</span> m_strPath. A_String. 3. Đường dẫn file dữ liệu. private. • các phương thức STT 1 2 3 4. Tên. Tham số. LuuDeThi TaiDeThi LuuCauHoi TaiCauHoi. 3.4. Thiết kế giao diện. 3.4.1. Thiết kế thực đơn - menu chính. Xử lý m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath) m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath). - submenu hệ thống. - submenu hiển thị. - submenu Ôn luyện. Trang 98. Kết quả. Ghi chú.

<span class='text_page_counter'>(99)</span> -submenu dữ liệu. - submenu công cụ. - submenu trợ giúp. - Danh sách các menu STT Tên 1 Hệ thống 2 Hiển thị 3 Ôn luyện. Chức năng Các thao tác liên quan đến hệ thống Bật / tắt vài control của chương trình Các chức năng liên. Trang 99. Ghi chú.

<span class='text_page_counter'>(100)</span> 4 Dữ liệu. 5 Công cụ. 6 Thoát 7 Hiển thị thanh công cụ 8 Hiển thị thanh trạng thái 9 Hiển thị thanh tác vụ 10 Ôn luyện lý thuyết 11 Giải đề thi tự luận 12 Giải đề thi trắc nghiệm 13 Sổ tay hóa học 14 Soạn đề thi tự luận 15 Soạn bài tập trắc nghiệm 16 Nhận dữ liệu 17 Xuất dữ liệu 18 Bảng hệ thống tuần hoàn 19 Bảng tính tan 20 Trao đổi. 21 Máy tính. quan đến ôn luyện bài học Các chức năng liên quan đến soạn thảo và nhập – xuất dữ liệu Các công cụ hỗ trợ như : máy tính , nháp , sổ tay hóa học , bảng hệ thống tuần hoàn Choát chương trình Hiển thị thanh công cụ Hiện thị thanh trạng thái Hiện thị thanh tác vụ Ôn tập lại các kiến thức cơ bản lớp 10 ,11,12 Giải các đề thi trong thư viện các đề thi tự luận Giải các đề thi trắc nghiệm Tra cứu nhanh các kiến thức lớp 10,11,12 Tạo thư viện các đề thi tự luận Soạn đề thi trắc nghiệm Nhận dữ liệu có sẳn Xuất dữ liệu Bảng hệ thống tuần hoàn Bảng tính tan Sử dụng Outlook Express để trao đổi trên môi trường mạng Máy tính dùng để tính toán. Trang 100.

<span class='text_page_counter'>(101)</span> 22 Nháp 23 Hướng dẫn sử dụng 24 Thông tin phần mềm 25 Thông tin tác giả 26 Góp ý 27 Giải bài tập theo dạng. 3.4.2. Dùng để nháp khi cần thiết Tài liệu hướng dẫn sử dụng Thộng tin về mềm Thông tin về tác giả Góp ý vế quá trình sử dụng phần mềm Giải bài tập theo dạng. Sơ đồ các màn hình 3.4.2.1 Phân hệ học sinh Màn hình giới thiệu. Màn hình ôn tập lý thuyết. Màn hình chính. Màn hình giải bài tập theo dạng. Màn hình giải đề thi tự luận. Màn hình sổ tay hóa học Màn hình bảng hệ thống tuần hoàn. Màn hình giải đề thi trắc nghiệm. 3.4.2.2 Phân hệ giáo viên. Trang 101. Màn hình bảng bảng tính tan.

<span class='text_page_counter'>(102)</span> Màn hình giới thiệu. Màn hình chính. Màn hình soạn bài lý thuyết. Màn hình soạn đề thi tự luận. 3.4.3 STT 1 2 3 4 5 6 7 8 9 10 11. Màn hình sổ tay hóa học Màn hình bảng hệ thống tuần hoàn. Màn hình soạn đề thi trắc nghiệm. Màn hình bảng bảng tính tan. Danh sách các thành phần trên sơ đồ Nghiệp vụ Màn hình chính Màn hình ôn tập lý thuyết Màn hình giải đề thi tự luận Màn hình giải đề thi trắc nghiệm Màn hình soạn đề thi tự luận Màn hình soạn đề thi trắc nghiệm Màn hình bảng hệ thống tuần hoàn Màn hình bảng tính tan Màn hình Sổ tay hóa học Màn hình giải bài theo dạng Màn hình giới thiệu. Ghi chú MH_MHChinh TH_OnTapLyThuyet TH_GiaiDeThiTuLuan TH_GiaiDeThiTracNghiem TH_SoanDeThiTuLuan TH_SoanDeThiTracNghiem MH_BangHeThongTuanHoan MH_BangTinhTan MH_SoTayHoaHoc TH_GiaiBaiTheoDang MH_GioiThieu. 3.4.4 Chi tiết từng màn hình 3.4.4.1 Màn hình chính • Nhiệm vụ : điều phối các chức năng của chương trình .. Trang 102.

<span class='text_page_counter'>(103)</span> Hình 8 : Màn hình chính. Trang 103.

<span class='text_page_counter'>(104)</span> • Danh sách các đối tượng thể hiện STT 1 2 3 4. Thể hiện m_sbThanhTrangTha i m_tbThanhCongCu m_mbThanhMenu m_ptbLogo. 5. m_ucGioiThieu. 6 7. m_tmrDinhThoi m_bbThanhTacVu. Loại A_StatusBar. Diễn giải Thanh trạng thái. Ghi chú private. A_ToolBar A_MenuBar A_PictureBox. Thanh công cụ Thanh menu Logo chương trình Giới thiệu. private private private private. Định thời Thanh tác vụ. private private. Diễn giải Hiển thị các màn hình chức năng khác của chương trình. Ghi chú private. A_UserContro l A_Timer A_ButtonBar. • Danh sách các đối tượng xử lý STT 1. Thể hiện m_xlMHChinh. Loại XuLy_MHChi nh. • Danh sách các biến cố xử lý STT 1.. Thể hiện Loại biến cố m_sbThanhTrangThai A_PanelClick. 2.. m_tbThanhCongCu. A_ItemClick. 3.. m_mbThanhMenu. A_ItemClick. 4.. m_bbThanhTacVu. A_ItemClick. Trang 104. Xử lý Cho phép thay đổi ngày giờ hệ thống Hiển thị các màn hình chức năng của chương trình Hiển thị các màn hình chức năng của chương trình Hiển thị các màn hình chức năng của chương trình. Ghi chú public public public public.

<span class='text_page_counter'>(105)</span> 3.4.4.2 Màn hình ôn tập lý thuyết. Hình 9 : Màn hình ôn tập lý thuyết. • Nhiệm vụ : cho phép ôn tập về lý thuyết • Danh sách các đối tượng thể hiện. Trang 105.

<span class='text_page_counter'>(106)</span> STT 1 2 3. Thể hiện m_cmdLuu m_cmdDong m_tvChuongTrinh. Loại A_Button A_Button A_TreeView. 4. m_rtbBaiHoc. 5. m_lstBaiTap. A_RichTextB ox A_ListBox. 6. m_rtbDeBai. 7. m_ucBaiLam. A_RichTextB ox A_UserContro l. Trang 106. Diễn giải Lưu bài làm Đóng Chương trình ọc theo lớp Bài học lý thuyết Danh sách bài tập ứng với bài lý thuyết Đề bài tập SGK. Ghi chú private private private. private. Bài làm. private. private private.

<span class='text_page_counter'>(107)</span> • Danh sách các đối tượng xử lý STT 1. Thể hiện Loại m_xlOnTapLyThuyet XuLy_OnTap LyThuyet. Diễn giải Ghi chú Thực hiện việc private xử lý các chức năng liên quan đến ôn tập lý thuyết như : hiển thị bài lý thuyết , bài tap SGK , hướng dẫn làm bài , bài giải , lưu bài làm. • Danh sách các biến cố xử lý STT 5.. Thể hiện m_tvChuongTrinh. 6. 7.. m_cmdLuu m_lstBaiTapSGK. 8.. m_cmdDong. Loại biến cố A_ItemClick. Xử lý Hiển thị bài lý thuyết tương ứng A_Click Lưu bài làm A_SelectedIndexChanged Hiển thị bài tập SGK A_Click Đóng màn hình. Trang 107. Ghi chú public public public public.

<span class='text_page_counter'>(108)</span> 3.4.4.3 Màn hình luyện giải đề thi tự luận • Nhiệm vụ : cho phép học sinh luyện giải các đề thi tự luận trong thư viện có sẵn , thực hiện tính thời gian.. Hình 10 : Màn hình giải đề thi tự luận. Trang 108.

<span class='text_page_counter'>(109)</span> • Danh sách các đối tượng thể hiện STT 1 2 3 4 5. Thể hiện m_cmdDong m_tvDeThi m_cmdLuuBaiLam m_cboDoKho m_rtbDeBai. Loại A_Button A_TreeView A_Button A_ComboBox A_RichTextB ox 6 m_dtpThoiGianLam A_DateTimePi Bai cker 7 m_ucBaiLam A_UserContro l 8 m_cmdTinhThoiGian A_Button 9 m_rtbHuongDan A_RichTextB ox 10 m_rtbBaiGiai A_RichTextB ox 11 m_cboDangBai A_Combobox 12 m_tmrBoDinhThoi A_Timer. Diễn giải Đóng Đề thi Lưu bài làm Độ khó Đề bài tập SGK. Ghi chú private private private private private. Thời gian làm bài Bài làm. private. Tính thời gian Hướng dẫn. private private. Bài giải. private. Dạng bài Bộ định thời. private private. private. • Danh sách các đối tượng xử lý STT 1. Thể hiện m_xlGiaiDeThiTuLu an. Loại XuLy_GiaiDe ThiTuLuan. Diễn giải Ghi chú Thực hiện việc private xử lý các chức năng liên quan đến giải đề thi tự luận : hiển thị bài tập và các thuộc tính của bài tập. • Danh sách các biến cố STT 1 2 3 4. Thể hiện m_tvDeThi m_cmdDong m_cmdLuu m_cmdTinhThoiGian. Loại biến cố A_ItemClick A_Click A_Click A_Click. Trang 109. xử lý Hiển thị đề bài Đóng màn hình Lưu bài làm Tính thời gian. Ghi chú public public public public.

<span class='text_page_counter'>(110)</span> Trang 110.

<span class='text_page_counter'>(111)</span> 3.4.4.4 Màn hình luyện giải đề thi trắc nghiệm • Nhiệm vụ : cho phép học sinh luyện giải các đề thi trắc nghiệm trong thư viện có sẵn , thực hiện tính thời gian và chấm điểm. Hình 11 : Màn hình giải đề thi trắc nghiệm. Trang 111.

<span class='text_page_counter'>(112)</span> • Danh sách các đối tượng thể hiện STT 1 2 3 4 5 6. Thể hiện m_cmdKiemTraNhan h m_cmdDong m_tvDeThi m_cmdDapAn m_cboDoKho m_rtbDeBai. Loại A_Button. A_Button A_TreeView A_Button A_ComboBox A_RichTextB ox 7 m_dtpThoiGianLam A_DateTimePi Bai cker 8 m_cmdTinhThoiGian A_Button 9 m_rtbHuongDan A_RichTextB ox 10 m_rtbBaiGiai A_RichTextB ox 11 m_cboDangBai A_Combobox 12 m_optCauA A_RadioButto n 13 m_optCauB A_RadioButto n 14 m_optCauC A_RadioButto n 15 m_optCauD A_RadioButto n 16 m_optCauE A_RadioButto n 17 m_tmrBoDinhThoi A_Timer. Diễn giải Ghi chú Kiểm tra kết quả private Đóng Đề thi Đáp án Độ khó Đề bài tập SGK. private private private private private. Thời gian làm bài Tính thời gian Hướng dẫn. private. Bài giải. private. Dạng bài Câu A. private private. Câu A. private. Câu B. private. Câu C. private. Câu D. private. Bộ định thời. private. Diễn giải Thực hiện việc xử lý các chức năng liên quan đến giải đề thi trắc nghiệm : hiển thị bài tập và các thuộc tính của bài tập. Ghi chú private. private private. • Danh sách các đối tượng xử lý STT 1. Thể hiện m_xlGiaiDeThiTrac Nghiem. Loại XuLy_GiaiDe ThiTracNghie m. Trang 112.

<span class='text_page_counter'>(113)</span> Trang 113.

<span class='text_page_counter'>(114)</span> • Danh sách các biến cố STT 1 2 3 4. 5. Thể hiện m_tvDeThi m_cmdDong m_cmdTinhThoiGian m_cmdKiemTraNhan h. Loại biến cố A_ItemClick A_Click A_Click A_Click. m_cmdKetQua. A_Click. xử lý Hiển thị đề bài Đóng màn hình Tính thời gian Kiểm tra xem liệu lựa chọn đã đúng kết quả chưa Hiển thị kết quả. Ghi chú public public public public. public. 3.4.4.5 Màn hình viết cấu hình electron • Nhiệm vụ : cho phép học sinh giải bài tập dạng viết cấu hình electron .. Hình 12 : Màn hình viết cấu hình electron. Trang 114.

<span class='text_page_counter'>(115)</span> • Danh sách các đối tượng thể hiện STT 1 2 3 4. Thể hiện m_lblHinhThuc m_grpBaiTap m_lblDeBai m_rtbDeBai. 5. m_rtbBaiLam. 6. m_rtbBaiGiai. 7 8. m_cmdBaiLam m_cmdBaiGiai. Loại A_Label A_Group A_Label A_RichTextB ox A_RichTextB ox A_RichTextB ox A_Button A_Button. Diễn giải Hình thức Bài tập Đề bài Đề bài. Ghi chú private private private private. Bài làm. private. Bài giải. private private private. • Danh sách các biến cố STT 1. Thể hiện m_cboHinhThuc. 2. m_cmdBaiLam. Loại biến cố A_SelectedInd exChanged A_Click. 3. m_cmdGiaiBaiTap. A_Click. xử lý Thay đổi hình thức giải toán Phát sinh bài làm Tiến hành giải bài tập. 3.4.4.6 Màn hình viết phương trình phản ứng. Trang 115. Ghi chú public public public.

<span class='text_page_counter'>(116)</span> Hình 13 : Màn hình viết phương trình phản ứng. • Danh sách các đối tượng thể hiện STT 1 2 3 4. Thể hiện m_lblHinhThuc m_grpBaiTap m_lblDeBai m_rtbDeBai. 5. m_rtbBaiLam. 6. m_rtbBaiGiai. 7 8. m_cmdBaiLam m_cmdBaiGiai. Loại A_Label A_Group A_Label A_RichTextB ox A_RichTextB ox A_RichTextB ox A_Button A_Button. • Danh sách các biến cố. Trang 116. Diễn giải Hình thức Bài tập Đề bài Đề bài. Ghi chú private private private private. Bài làm. private. Bài giải. private private private.

<span class='text_page_counter'>(117)</span> STT 1. Thể hiện m_cboHinhThuc. 2. m_cmdBaiLam. Loại biến cố A_SelectedInd exChanged A_Click. 3. m_cmdGiaiBaiTap. A_Click. Trang 117. xử lý Thay đổi hình thức giải toán Phát sinh bài làm Tiến hành giải bài tập. Ghi chú public public public.

<span class='text_page_counter'>(118)</span> 3.4.4.7 Màn hình bảng hệ thống tuần hoàn. Hình 14 : Bảng hệ thống tuần hoàn. • Danh sách các đối tượng thể hiện. Trang 118.

<span class='text_page_counter'>(119)</span> STT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. Thể hiện m_ptbBangTuanHoa n m_lblKyHieuNguyen To m_lblTenNguyenTo m_lblDienTichNguye nTo m_lblNguyenTuKhoi. Loại A_PictureBox. Diễn giải Bảng tuần hoàn. Ghi chú private. A_Label. private. m_lblDoAmDien m_lblCauHinhElectro n m_lblSoOxiHoa m_lblLabel1 m_lblLabel2 m_lblLabel3 m_lblLabel4 m_lblLabel5 m_lblLabel6 m_lblLabel7. A_Label A_Label. Ký hiệu nguyên tố Tên nguyên tố Diện tích nguyên tố Khối lượng nguyên tố Độ âm điện Cấu hình electron Số oxi hóa. A_Label A_Label A_Label. A_Label A_Label A_Label A_Label A_Label A_Label A_Label A_Label. private private private private private private private private private private private private private. • Danh sách các đối tượng xử lý STT 1. Thể hiện m_xlBangHeThongT uanHoan. Loại XuLy_BangH eThongTuanH oan. Diễn giải Ghi chú Thực hiện việc private xử lý các chức năng liên quan đến truy xuất thông tin về bảng hệ thống tuần hoàn : ký hiệu , tên , nguyên tử khối , điện tích , độ âm điện , số oxi hóa , cấu hình electron .. • Danh sách các biến cố ST. Thể hiện. Loại biến cố. Trang 119. Xử lý. Ghi chú.

<span class='text_page_counter'>(120)</span> T m_ptbBangTuanHoa A_Click n. Thông tin public chi tiết về nguyên tố được chọn : ký hiệu , tên , nguyên tử khối , điện tích , độ âm điện , số oxi hóa , cấu hình electron .. 3.4.4.8 Màn hình bảng tính tan. Hình 15 : Bảng tính tan. • Danh sách các đối tượng thể hiện. Trang 120.

<span class='text_page_counter'>(121)</span> STT 1. Thể hiện m_ptbBangTinhTan. Loại A_PictureBox. Diễn giải Bảng tính tan. Ghi chú private. • Danh sách các biến cố ST T. Thể hiện MH_BangTinhTan. Loại biến cố A_FormLoad. Xử lý Thông tin chi tiết về tính tan các chất. Ghi chú public. 3.4.4.9 Màn hình giới thiệu. Hình 16 : Màn hình giới thiệu. • Danh sách các đối tượng thể hiện STT 1. Thể hiện m_ptbGioiThieu. Loại A_PictureBox. • Danh sách các biến cố. Trang 121. Diễn giải Giới thiệu. Ghi chú private.

<span class='text_page_counter'>(122)</span> ST T. Thể hiện MH_GioiThieu. Loại biến cố A_FormLoad. Trang 122. Xử lý Hiển thị thông tin phần mềm. Ghi chú public.

<span class='text_page_counter'>(123)</span> 3.4.4.10 Màn hình xuất dữ liệu. Hình 17 : Màn hình xuất dữ liệu. • Danh sách các đối tượng thể hiện STT 1 2. 5 6 7. Thể hiện m_grpChucNang m_chkOnTapLyThuy et m_chkDeThiTuLuan m_chkDeThiTracNgh iem m_lblThuMucXuat m_lblLabel m_cmdChonThuMuc. 8. m_cmdXuatDuLieu. 9. m_cmdDong. 3 4. Loại A_GroupBox A_CheckBox. Diễn giải Chức năng Ôn tập lý thuyết. Ghi chú private private. A_CheckBox A_CheckBox. Đề thi tự luận Đề thi trắc nghiệm Thư mục xuất. private private. A_Label A_Label m_Command Button m_Command Button m_Command Button. • Danh sách các biến cố. Trang 123. Chọn thư mục. private private private. Xuất dữ liệu. private. Đóng. private.

<span class='text_page_counter'>(124)</span> STT 1 2 3. Thể hiện m_cmdChonThuMuc. Loại biến cố A_Click. m_cmdXuatDuLieu m_cmdDong. A_Click A_Click. Trang 124. xử lý Chọn thư mục xuất Xuất dữ liệu Đóng màn hình. Ghi chú public public public.

<span class='text_page_counter'>(125)</span> 3.4.4.11 Màn hình soạn bài lý thuyết. Hình 18 : Màn hình soạn bài lý thuyết. • Danh sách các đối tượng thể hiện. Trang 125.

<span class='text_page_counter'>(126)</span> STT 1 2 3. Thể hiện m_cmdLuu m_cmdDong m_tvChuongTrinh. Loại A_Button A_Button A_TreeView. 4. m_rtbBaiHoc. 5. m_lstBaiTap. A_RichTextB ox A_ListBox. 6. m_rtbDeBai. 7. m_ucBaiLam. 8. m_ctmThaoTac. A_RichTextB ox A_UserContro l A_ContextMe nu. Trang 126. Diễn giải Lưu bài làm Đóng Chương trình ọc theo lớp Bài học lý thuyết Danh sách bài tập ứng với bài lý thuyết Đề bài tập SGK. Ghi chú private private private. private. Bài làm. private. Thao tác. private. private private.

<span class='text_page_counter'>(127)</span> • Danh sách các đối tượng xử lý STT 2. Thể hiện m_xlSoanBaiLyThuy et. Loại Diễn giải XuLy_SoanBa Thực hiện việc iLyThuyet xử lý các chức năng liên quan đến soạn bài lý thuyết. Ghi chú private. • Danh sách các biến cố STT. Thể hiện m_tvChuongTrinh m_cmdLuu m_lstBaiTapSGK m_cmdDong m_ctmThaoTac. m_tvChuongTrinh. Loại biến cố A_ItemClick. Xử lý Hiển thị bài lý thuyết tương ứng A_Click Lưu bài làm A_SelectedIndexChanged Hiển thị bài tập SGK A_Click Đóng màn hình A_ItemClick Thực hiện các thao tác : thêm , xóa , sửa lớp / chương / bài . A_DoubleClick Sửa thuộc tính của lớp / chương / bài .. Trang 127. Ghi chú public public public public public. public.

<span class='text_page_counter'>(128)</span> 3.4.4.12 Màn hình soạn đề thi tự luận. Hình 19 : Màn hình soạn đề thi tự luận. • Danh sách các đối tượng thể hiện. Trang 128.

<span class='text_page_counter'>(129)</span> STT 1 2 3 4 5 6 7 8 9 10 11 12 13. Thể hiện m_lstBaiTap m_ucDeBai m_grpThuocTinh m_cboDangBai m_cboDoKho m_dtpThoiGianLam Bai m_cmdThemBai m_cmdXoaBai m_cmdCapNhat m_cboDeThi m_lstDeThi_BaiTap m_cmdThemDe m_cmdXoaDe. Loại A_ListBox A_UserContro l A_Group A_Combobox A_Combobox A_DateTimePi cker A_Button A_Button A_Button A_Combobox A_ListBox A_Button A_Button. Diễn giải Bài tập Đề bài. Ghi chú private private. Thuộc tính Dạng bài Độ khó Thời gian làm bài Thêm bài. private private private private private private private private private private private. • Danh sách các đối tượng xử lý STT 1. Thể hiện Loại Diễn giải m_xlSoanDeThiTuLu XuLy_SoanDe Thực hiện việc an ThiTuLuan xử lý các chức năng liên quan đến soạn đề thi tự luận. Ghi chú private. • Danh sách các biến cố STT 1 2 3 4 5 6 7 8. Thể hiện m_cmdThemDe m_cmdXoaDe m_cmdDong m_cmdLuu m_cmdThemBai m_cmdXoaBai m_cmdThem m_cmdXoa. Loại biến cố A_Click A_Click A_Click A_Click A_Click A_Click A_Click A_Click. Trang 129. Xử lý Thêm đề Xóa đề Đóng màn hình Lưu bài tập Thêm bài tập Xóa bài tập Thêm bài vào đề Xóa bài tập khỏi đề. Ghi chú public public public public public public public public.

<span class='text_page_counter'>(130)</span> 3.4.4.13 Màn hình soạn đề thi trắc nghiệm. Hình 20 : Màn hình soạn đề thi trắc nghiệm. • Danh sách các đối tượng thể hiện. Trang 130.

<span class='text_page_counter'>(131)</span> STT 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14. Thể hiện m_lstBaiTap m_ucDeBai m_grpThuocTinh m_cboDangBai m_cboDoKho m_dtpThoiGianLam Bai m_cmdThemBai m_cmdXoaBai m_cmdCapNhat m_cboDeThi m_lstDeThi_BaiTap m_cmdThemDe m_cmdXoaDe m_cboSoLuaChon m_cboLuaChonDung. Loại A_ListBox A_UserContro l A_Group A_Combobox A_Combobox A_DateTimePi cker A_Button A_Button A_Button A_Combobox A_ListBox A_Button A_Button A_Combobox A_Combobox. Diễn giải Bài tập Đề bài. Ghi chú private private. Thuộc tính Dạng bài Độ khó Thời gian làm bài Thêm bài. private private private private private private private private private private private private private. • Danh sách các đối tượng xử lý STT 1. Thể hiện m_xlSoanDeThiTrac Nghiem. Loại XuLy_SoanDe ThiTracNghie m. Diễn giải Thực hiện việc xử lý các chức năng liên quan đến soạn đề thi trắc nghiệm. Ghi chú private. Xử lý Thêm đề Xóa đề Đóng màn hình Lưu bài tập Thêm bài tập Xóa bài tập Thêm bài vào đề Xóa bài tập khỏi đề. Ghi chú public public public public public public public public. • Danh sách các biến cố STT 1 2 3 4 5 6 7 8. Thể hiện m_cmdThemDe m_cmdXoaDe m_cmdDong m_cmdLuu m_cmdThemBai m_cmdXoaBai m_cmdThem m_cmdXoa. Loại biến cố A_Click A_Click A_Click A_Click A_Click A_Click A_Click A_Click. Trang 131.

<span class='text_page_counter'>(132)</span> 3.4.4.14 TH_MyRichEditControl I.A. Mục đích : Nhằm xây dựng một công cụ hỗ trợ người dùng trong việc tự động phát sinh phương trình phản ứng đồng thời có thể tính toán được các chất tham gia và các chất tạo thành của phương trình phản ứng đó. I.B. Kiến trúc tổng thể của các lớp đối tượng : I.B.1. Danh sách các lớp đối tượng : • Các lớp đối tượng thể hiện : 9 TH_MyRichEditControl 9 TimKiemVaThayThe 9 NhapGiaTriChatPhanUng • Các lớp đối tượng xử lý : 9 XL_MyRichEditControl 9 XL_TimKiemVaThayThe 9 XLRichTextBox • Các lớp đối tượng hỗ trợ hiện thị : 9 Hỗ trợ hiển thị : ™ CoSo ™ PhuongTrinhPhanUng ™ TapHopPhuongTrinhPhanUng 9 My list box : ™ XulyListBox ™ TapHopPtpu I.B.2. Chi tiết tổ chức bên trong các lớp đối tượng : I.B.2.a.1. Lớp TH_MyRichEditControl : • Nhiệm vụ : thể hiện công cụ bài làm trong đó có hỗ trợ tác vụ tự động phát sinh phương trình phản ứng. • Danh sách các đối tượng thể hiện :. Trang 132.

<span class='text_page_counter'>(133)</span> STT 1 2 3 4 5. 6. 7. 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25. Tên richTextBox. Loại Ý nghĩa A_RichTextBox Control cho người dùng soạn thảo new A_Button Tạo mới 1 file open A_Button Mở 1 file save A_Button Lưu file saveAs A_Button Lưu file với đường dẫn khác cut A_Button Chuyển chuỗi kí tự chọn vào Clipboard đông thời xoá chuỗi kí tự được chọn trên richtextbox copy A_Button Chuyển chuỗi kí tự vừa soạn vào Clipboard paste A_Button Chuyển chuỗi kí tự từ Clipboard (vừa được cut hay copy) lên richtextbox tại vị trí con trỏ undo A_Button redon A_Button selectAll A_Button fontName A_Button Loại font chữ fontSize A_Button Kích cỡ font chữ fontColor A_Button Màu của font chữ bold A_Button Tạo chữ đậm italic A_Button Tạo chữ nghiêng underline A_Button Tạo gạch chân dưới chuỗi kí tự leftAlignment A_Button Canh chỉnh trái rightAlignment A_Button Canh chỉnh phải justifyAlignment A_Button Canh chỉnh cả trái và phải indent A_Button superScript A_Button Tạo chữ trên subScript A_Button Tạo chữ dưới openFileDialog A_Dialog Hiển thị hộp thoại open của Windows saveFileDialog A_Dialog Hiển thị hộp thoại save của Windows. Trang 133. Ghi chú private private private private private private. private private. private private private private private private private private private private private private private private private private private.

<span class='text_page_counter'>(134)</span> 26. fontDlg. A_Dialog. Hiển thị hộp thoại Font của Windows. private. • Danh sách các đối tượng xử lý : STT 1 2. Tên Loại Ý nghĩa xlMyRichEditControl Xuly_MyRichEditControl Xử lý các button và dialog myRichTextBox XulyRichTextBox Xử lý richtextbox. Ghi chú private private. I.B.2.a.2. Lớp TimKiemVaThayThe : • Nhiệm vụ : tiến hành tìm kiếm và thay thế trên richtextbox soạn thảo. • Danh sách các đối tượng thể hiện : STT 1 2 3 4 5 6 7 8 9 10 11 12. Tên. Loại. Ý nghĩa. lb1 lb2 cbTuCanTim cbThayTheBang chkPhanBietHoaThuong. A_Label A_Label A_ComboBox A_ComboBox A_CheckBox. chkTimCaTu optTuTrenXuong optDuoiLen cmdTim cmdThayThe richTextBox. A_CheckBox A_RadioButton A_RadioButton A_Button A_Button A_RichTextBox. cmdDong. A_Button. Từ cần tìm Thay thế bằng Nhập từ cần tìm Nhập từ cần thay thế Phân biệt chữ hoa, chữ thường Tìm tất cả Tìm từ trên xuống Tìm từ dưới lên Tìm Thay thế Tìm kiếm và thay thế trên richtextbox này Đóng. Ghi chú private private private private private private private private private private private private. • Danh sách các đối tượng xử lý : STT Tên Loại Ý nghĩa xlTimKiemVaThayThe XuLy_TimKiemVaThayThe Đối 1 tượng tiến hành. Trang 134. Ghi chú private.

<span class='text_page_counter'>(135)</span> xử lý tìm kiếm và thay thế. Trang 135.

<span class='text_page_counter'>(136)</span> • Danh sách các biến cố xử lý : ST T. Thể hiện. Loại biến cố. Xử lý. cmdDong. A_Click. cmdTim cmdThayThe TH_TimKiemVaThay The. A_Click A_Click A_VisibleChanged. Đóng TH_timkiemvathay the Tiến hành tìm kiếm private Tiến hành thay thế private Nếu richtextbox private đang select chuỗi kí tự thì chuỗi kí tự đó sẽ được chuyển vào cbtucantim. 1 2 3 4. Ghi chú private. I.B.2.a.3. Lớp NhapGiaTriChatPhanUng : • Nhiệm vụ : nhập giá trị cho ChatPhanUng trong Phương trình phản ứng để tiến hành tính giá trị của các chất còn lại trong Phương trình phản ứng . Giá trị này có thể là số mol hay khối lượng của ChatPhanUng.. Trang 136.

<span class='text_page_counter'>(137)</span> • Danh sách các đối tượng thể hiện : STT 1 2 3 4 5 6 7 8. Tên. Loại. Ý nghĩa. Ghi chú. lbThuocTinh lbGiaTri lbDonVi cbThuocTinh cbDonVi txtGiaTri. A_Label A_Label A_Label A_ComboBox A_ComboBox A_TextBox. private private private private private private. btDongY btHuyBo. A_Button A_Button. Thuộc tính Giá trị Đơn vị Số mol/khối lượng G/kg/tấn Giá trị của chất phản ứng Đồng ý Huỷ bỏ. private private. • Danh sách các đối tượng xử lý : STT Tên m_chat 1. Loại. Ý nghĩa. Ghi chú. ChatPhanUng. Thể hiện đối tượng chatphanung sẽ được nhập giá trị. private. • Danh sách các biến cố : STT 1 2 3. Thể hiện btHuyBo txtGiaTri. Loại biến cố A_Click A_KeyDown. btDongY cbThuocTinh. A_Click A_SelectedInde xChange. frmNhapGiaTri. A_Closing. 4. 5. Xử lý Đóng thể hiện Nếu nhấn enter thì xử lý nhập giá trị Xử lý nhập giá trị Nếu chọn “số mol” thì lbdonvi và cbdonvi sẽ biến mất còn chọn “khối lượng” thì chúng sẽ xuất hiện Nếu chưa nhập giá trị thì định m_chat = null. Ghi chú private private private private. private. I.B.2.a.4. Lớp XL_TimKiemVaThayThe : • Nhiệm vụ : là lớp trực tiếp xử lý tác vụ tìm kiếm và thay thế trên form TimKiemVaThayThe. • Danh sách các đối tượng thể hiện :. Trang 137.

<span class='text_page_counter'>(138)</span> STT Tên 1 cbTuCanTim 2 cbTuThayThe chkPhanBietHoaThuong 3 4 5 6 7. chkTimCaTu optTuTrenXuong optTuDuoiLen richTextBox. Loại. Ý nghĩa. A_ComboBox A_ComboBox A_CheckBox. Từ cần tìm Từ thay thế Phân biệt hoa thường A_CheckBox Tìm tất cả A_RadioButton Tìm từ trên xuống A_RadioButton Tìm từ dưới lên A_RichTextBox Tiến hành tìm kiếm trên richtextbox. Ghi chú private private private private private private private. • Danh sách các hàm xử lý : STT. Tên hàm. Tham Kết số quả. TimKiem. Tiến hành tìm kiếm trên richtextbox dựa trên từ khoá ở cbtucantim Tiến hành tìm kiếm trên richtextbox dựa trên từ khoá ở cbtucantim và thay thế bằng cbthaythe Kiểm tra chuỗi vừa nhập vào có trùng với chuỗi đã có sẵn trong cbtucantim hay cbthaythe chưa nếu chưa có thì thêm từ vừa nhập vào 2 combobox trên Tìm chuỗi trong 2 combobox. 1 ThayThe 2 ThemChuoiVaoComboBox. 3. 4. Xử lý. TimChuoiTrongComboBox. Ghi chú public. public. pubic static. public static. I.B.2.a.5. Lớp XuLyRichTextBox : • Nhiệm vụ : Là lớp trực tiếp xử lý các tác vụ liên quan đến richtextbox gồm có tạo tự động phương trình phản ứng khi biêt. Trang 138.

<span class='text_page_counter'>(139)</span> các chất tham gia, nếu có thể tạo ra nhìêu phương trình phản ứng thì hiển thị listbox cho phép người dùng chọn phương trình phản ứng cần dùng. Sau đó, khi người dùng nhập giá trị cho chất trong phương trình phản ứng => tự động tính lại giá trị của các chất còn lại. • Danh sách các đối tượng thể hiện : STT 1 2. Tên m_richTextBox m_listBox. Loại RichTextBox ListBox. Ý nghĩa Soạn thảo bài làm Hiển thị tập hợp phương trình phản ứng. Ghi chú private private. • Danh sách các đối tượng xử lý : STT Tên Lớp m_myRichTextBox CoSo 1 2. m_myListBox. XuLyListBox. m_ptpus. TapHopPhuong TrinhPhanUng. 3. Ý nghĩa Tham chiếu đến đối tượng m_richtextbox Tham chiếu đến đối tượng m_listbox Tập hợp tất cả các đối tượng phuongtrinhphanung có trong m_richtextbox. Ghi chú private private private. • Danh sách các biến cố : STT Thể hiện 1 m_richTextBox. Loại biến cố A_KeyDown. 2. m_richTextBox. A_KeyUp. 3. m_richTextBox. A_Protected. 4. m_richTextBox. A_GotFocus. Trang 139. Xử lý Nhấn Ctrl + Shift + P => Tạo đối tượng phuongtrinhphanung Hiển thị đối tượng phuongtrinhphanung vừa tạo Khi người dùng thay đổi chuỗi kí tự đựơc bảo vệ , nếu người dùng nhấn Del thì sẽ xoá Hiển thị. Ghi chú private private private. private.

<span class='text_page_counter'>(140)</span> 5. m_richTextBox. phuongtrinhphanung ngừơi dùng chọn trong listbox A_MouseDown Nếu ngừơi dùng nhấn private doubleclick vào chất phản ứng trong đối tượng phuongtrinhphanung thì sẽ hiển thị cửa số nhapgiatrichatphanung. I.B.2.a.6. Lớp CoSo : • Nhiệm vụ : lớp này chứa một biến static m_richTextBox tham chiếu trực tiếp đến đối tượng richTextBox của lớp XuLyRichTextBox để tiến hành xử lý hiển thị của lớp PhuongTrinhPhanUng kế thừa từ lớp CoSo này. • Danh sách các đối tựơng thể hiện STT Tên 1 m_richTextBox. Loại ý nghĩa Ghi chú RichTextBox Tham chiếu đến đối protected tựơng RichTextBox của static lớp đối tượng có chứa biến thuộc lớp CoSo này. • Danh sách hàm xử lý : STT 1. Tên hienThi. Tham số str : string. Kết quả. Xử lý Ghi chú Hiển thị chuỗi protected str ra m_richTextBox đồng thời đặt thuộc tính bảo vệ. I.B.2.a.7. Lớp PhuongTrinhPhanUng : • Nhiệm vụ : kế thừa từ lớp CoSo : tạo lập một đối tựơng PhuongTrinhPhanUngHoanChinh cùng 2 vị trí đầu và cuối của chúng. Sau đó tiến hành hiển thị.. Trang 140.

<span class='text_page_counter'>(141)</span> • Danh sách đối tượng xử lý : STT 1 2 3. Tên m_ptpu m_viTriDau m_viTriCuoi. Lớp PhuongTrinhPhanUngHoanChinh int int. Ý nghĩa Vị trí đầu Vị trí cuối. Ghi chú private private private. • Danh sách các thuộc tính : STT 1 2 3 4 5. Tên. Lớp. Ý nghĩa. ViTriDau ViTriCuoi ViTriPtpu ViTriHienThiGiaTri. int int int int. DaTinh. bool. Vị trí đầu Vị trí cuối Vị trí hiển thị Ptpu Vị trí hiển thị giá trị của chất phản ứng Kiểm tra phương trình phản ứng đã tính giá trị của chất phản ứng chưa. Ghi chú public public public public. • Danh sách các hàm xử lý : STT Tên. Tham Xử lý Kết số quả HienThiTagPhuongTrinhPhanUng Hiển thị 2 tag đầu của Ptpu HienThiPhuongTrinh Hiển thị ptpu HienThiGiaTriChatPhanUng Hiển thị giá trị của các chất phản ứng HienThiPhuongTrinhPhanUng Hiển thị toàn bộ ptpu. 1 2 3 4. Ghi chú public public public public. I.B.2.a.8. Lớp TapHopPhuongTrinhPhanUng : • Nhiệm vụ : lớp bao gồm tập hợp các PhuongTrinhPhanUng mà richTextBox sẽ sử dụng. • Danh sách các đối tượng xử lý : STT 1. Tên. Lớp. Ý nghĩa. m_list. ArrayList Tập hợp các đối tượng PhuongTrinhPhanUng. Trang 141. Ghi chú private.

<span class='text_page_counter'>(142)</span> • STT Tên 1. Danh sách các hàm xử lý : Tham số. Xử lý. ptpu: Thêm mới một đối PhuongTrinhPhanUng tượng PhuongTrinhPhanUng Remove ptpu : Xoá đối tượng PhuongTrinhPhanUng PhuongTrinhPhanUng Clear Xoá toàn bộ tập hợp Count Đếm số lượng phần tử XacDinhViTri str : string Xác định lại vị trí của các đối tượng PhuongTrinhPhanUng trong tập hợp XacDinhPtpu str : string Xác định tại vị trí viTriCursor : int cursor ứng với đối tượng PhuongTrinhPhanUng nào trong tập hợp. Kết quả. Ghi chú public. Add. 2 3 4 5. 6. public public public public. int. null : public không có. I.B.2.a.9. Lớp XuLyListBox : • Nhiệm vụ : xử lý control listbox để thể hiện tập hợp các phương trình phản ứng có thể có ứng với các chất tham gia do người dùng nhập vào. • Danh sách các đối tượng xử lý : STT 1 2. Tên. Lớp/Loại. Ý nghĩa. m_listBox. A_ListBox. m_giaTri. object. listBox thể hiện tập các phương trình phản ứng Giá trị mà ngừơi dùng chọn lựa. Ghi chú private private. • Danh sách các biến cố : STT 1. Thể hiện Biến cố m_listBox A_KeyDown. 2 3. m_listBox A_DoubleClick m_listBox A_LostFocus. Xử lý Di chuyển trong listbox và lựa chọn đối tượng Chọn đối tựợng khi nhấn đôi Lấy lại focus khi bị lost focus. Trang 142. Ghi chú public virtual public public.

<span class='text_page_counter'>(143)</span> • Danh sách các thuộc tính : STT 1 2. Tên ViTriListBox GiaTri. Loại A_Point object. Ý nghĩa Vị trí list box sẽ hiển thị Đối tượng đựơc chọn trong listbox. Ghi chú public publc. I.B.2.a.10. Lớp TapHopPtpu : • Nhiệm vụ : kế thừa từ lớp XuLyListBox : thể hiện tập hợp các phương trình phản ứng. 4 ) Thực hiện và thử nghiệm 4.1. Thực hiện. + Môi trường cài đặt : Microsoft visual studio .NET + Ngôn ngữ lập trình : C#.net + Lưu trữ và xử lý dữ liệu : ngôn ngữ XML + kiến trúc cài đặt : phần mềm gồm 1 solution OnThiHoaHoc.sln với 3 project : ModuleChung.csproj , ModuleHocSinh.csproj, ModuleGiaoVien.csproj . ModuleChung bao gồm các tính năng chung được dùng cho cả ModuleHocSinh và ModuleGiaoVien .. Module Chung. ModuleGia oVien 4.1.1 ModuleChung Tên project : Module Chung. Trang 143. ModuleHocSi nh.

<span class='text_page_counter'>(144)</span> Bao gồm các chức năng chính của chương trình như :Xuất dữ liệu , Nhập dữ liệu , bảng hệ thống tuần hoàn , bảng tính tan ... Các lớp xử lý chung về các chất hóa học . Module này được sử dụng bởi hai module học sinh và giáo viên . Kết quả biên dịch của module này là một thư viện lớp ModuleChung .dll 4.1.2 ModuleHocSinh Tên project : Module Học sinh Bao gồm các chức năng liên quan đến học sinh : Giải đề thi tự luận ,Giải đề thi trắc nghiệm , Ôn tập lý thuyết . Kết quả sau khi biên dịch là ModuleHocSinh.exe 4.1.3 ModuleGiaoVien Tên project : Module Giáo viên Bao gồm các chức năng liên quan đến giáo viên : Soạn bài lý thuyết , soạn đề thi trắc nghiệm , soạn đề thi tự luận Kết quả sau khi biên dịch là ModuleGiaoVien.exe + Các thư viện được dùng trong phần mềm : -SandBar -SharpLibrary -Infragistic -Janus. 4.2. Thử nghiệm. Cấu hình đòi hỏi : Bộ vi xử lý tốc độ 500Mhz , RAM 128 MB , hệ điều hành Windows 2000/XP , không gian đĩa trống 500MB .. 5 ) Tổng kết 5.1. Các kết quả đạt được. Cho phép học sinh ôn tập theo lớp , luyện giải đề thi , làm bài tập trắc nghiệm . Giáo viên thì có thể soạn thảo thư viện các bài lý thuyết , các bài tập trắc nghiệm , soạn thảo đề thi . Hổ trợ học sinh trong quá trình làm bài , chẳng hạn : bổ túc và cân bằng các phương trình phản ứng dạng trao đổi ion , oxi hóa – khử . Xây dựng được. Trang 144.

<span class='text_page_counter'>(145)</span> hệ thống các lớp đối tượng xử lý cho phép tái sử dụng và nâng cấp dễ dàng trong các phiên bản cải tiến ngay cả việc bổ sung thêm chức năng .. 5.2. Đánh giá ưu khuyết điểm. + Chưa hỗ trợ giải bài tập ở mức độ cụ thể như : chuổi phản ứng , nhận biết các chất , điều chế . Tốc độ chương trình chưa tối ưu do phải truy xuất thường xuyên các đối tượng trên cây kế thừa . + Code vẫn chưa tối ưu + Chương trình chạy chưa nhanh + Chương trình được viết theo mô hình 3 lớp (three-tiers) + Phân tích , thiết kế thuần hướng đối tượng + Giao diện dễ sử dụng + Có setup cho phép cài đặt dễ dàng + Có help hướng dẫn sử dụng. 5.3. Hướng mở rộng tương lai. + Nhờ việc xậy dựng cây kế thừa chứa một hệ thống các đối tượng xử lý nên hệ thống dể dàng được mở rộng trong tương lai kể cả việc bổ sung thêm các chức năng của chương trình hay bổ sung thêm các dạng bài tập hỗ trợ giải. + Tiến hành phân phối, chuyển giao phần mềm cho người dùng và lấy feedback từ người dùng làm kinh nghiệm cải tiến cho các phiên bản sau hoàn chỉnh hơn. + Tiếp tục nâng cấp kiến trúc phần mềm sao cho có thể làm việc trên các hệ phân tán , trên mạng và trên môi trường web.. Trang 145.

<span class='text_page_counter'>(146)</span> Tài liệu Tham khảo [1] Nguyễn Tiến Huy (2004) , “Bài giảng môn Xây dựng phần mềm hướng đối tượng”. [2] Trần Minh Triết , Trần Lê Hồng Dũ , Nguyễn Minh Huy , Phạm Minh Tuấn , Văn Đức Phương Hồng , Đặng Bình Phương (2004) , “Tài liệu hướng dẫn thực hành môn Xây dựng phần mềm hướng đối tượng” . [3] Nguyễn Duy Ái - Dương Tất Tốn (2001) , “Hóa học 10” , nxb Giáo Dục. [4] Đổ Tất Hiển – Trần Quốc Sơn ( 2001) , “Hóa học 11” , nxb Giáo Dục. [5] Lê Xuân Trọng – Nguyễn Văn Tòng (2001) , “Hóa học 12” , nxb Giáo Dục. [6] Ngô Ngọc An (2000) , “Các bài toán Hóa học chọn lọc” , nxb Giáo Dục. [7] Lê Thanh Xuân (2000) , “Lý thuyết Hóa học PTTH” , nxb TPHCM.. Trang 146.

<span class='text_page_counter'>(147)</span>

×