V : numeric# thể tích (volume)
Chương 4: CÀI ĐẶT VÀ THỬ NGHIỆM
4.1.1 Xây dựng thư viện ChemistryUtility
Khi thực hiện thiết kế một ứng dụng theo kiến trúc hệ chuyên gia cho một lĩnh vực tri thức nào đó, bên cạnh các thao tác thiết kế mô hình và thuật giải, ta cần thiết kế các hàm và thủ tục để xử lý thông tin đặc trưng cho lĩnh vực đó. Cụ thể với miền tri thức Hóa vô cơ, ta cần phải thiết kế các hàm xử lý thông tin về “Công thức hóa học”, “Bảng tuần hoàn”, “Bảng tính tan”, các công thức tính toán và chuyển đổi các đại lượng v.v…
Sau đây là nội dung một số hàm cơ bản.
ParseChemistryFormula
Công thức hóa học của một chất là một chuỗi kí tự biểu diễn thông tin về thành phần các nguyên tố, cấu trúc và số lượng nguyên tử của nguyên tố cấu tạo nên chất. Với học sinh, sinh viên, giáo viên và những chuyên gia Hóa học, họ nhìn vào công
thức hóa học của một chất có thể biết được rất nhiều thông tin như tên chất, tính chất hóa học, tính chất vật lý của chất v.v…
Để xử lý được nội dung của “Công thức hóa học”, ta biểu diễn các công thức này từ dạng chuỗi tự nhiên thành một biểu thức toán học như sau:
Một biểu thức biểu diễn cho công thức hóa học có cấu trúc gồm 2 thành phần:
(E, i)
Với:
o E là 1 biểu thức có 1 trong 2 dạng:
Dạng 1: Kí hiệu cho tên của nguyên tố (Na, Ba, H, C v.v..)
Dạng 2: Một biểu thức bậc nhất tuyến tính giữa các biểu thức của công thức hóa học khác.
o i là giá trị số oxi hóa hoặc trị số ion của chất hoặc ion mà công thức hóa học E biểu diễn.
Ví dụ:
“Fe” => ( Fe , 0)
“NaCl” =>( (Na,+1) + (Cl,-1),0)
“H2SO4” =>( 2*(H,+1) + ( (S,+6) + (O,-2)*4,-2), 0)
Hàm ParseChemistryFormuladùng để chuyểnmột công thức Hóa học dạng chuỗi (String) thành một biểu thức được mô tả như trên.
Cách sử dụng:
FormulaChemistryUtility[ParseChemistryFormula](string)
Formula2String
HàmFormula2String có chức năng ngược lại với chức năng của hàm
ParseStringFormula. Hàm này sẽ nhận vào 1 biểu thức biểu diễn cho 1 công thức hóa học và trả về công thức hóa học dạng chuỗi.
Cách sử dụng:
String ChemistryUtility[Formula2String] (string)
Là hàm chuyển một biểu thức biểu diễn công thức hóa học của một chất thành một đối tượng kiểu SUBSTANCE (Chất), SUBSTANCE là 1 khái niệm đã được định nghĩa trong tập C. Các sử dụng: SUBSTANCE ChemistryUtility[Formula2Object](Formula) CalcpH Hàm tính độ pH của 1 dung dịch. Cách sử dụng: ChemistryUtility[CalcpH](SOLUTION) SolubilityTable
Là hàm dùng để kiểm tra tính tan của 1 chất trong môi trường nước. Đầu vào của hàm là 1 chất, kết quả trả về là TRUE nếu chất có thể tan trong dung dịch và ngược lại là FALSE.
Các sử dụng:
SolubilityTable(SUBSTANCE)
GetReactions
Hàm tìm phương trình phản ứng đầu tiên xảy ra trong 1 tập các chất đầu vào. Đầu ra của hàm là 1 Record có cấu trúc như sau:
Record (
“Reactants” // các chất tham gia “Products “ // các chất tạo thành
“Coeffs” // hệ số của các chất tham gia và tạo thành trong phản ứng.
GetReactions(reactants, envr, extra)
Trong đó:
- reactants là tập các chất tham gia
- envr là danh sách các điều kiện phản ứng - extra là thông tin bổ xung từ đề bài.
Ví dụ: tìm phản ứng giữa Fe và H2SO4 đặc nóng với sản phẩm khí duy nhất là SO2
GetReactions({Fe, H+, SO42-}, [“solution”, “dense”, “hot”], only={SO2})