🔙 Quay lại trang tải sách pdf ebook Giáo trình hóa tin học Ebooks Nhóm Zalo TRÂN VĨNH QUÝ GIÁO TRÌNH Hóa NHÀ XUẤT BẢN ĐẠI HỌC s ư PHẠM PGS. TS. TRẦN VĨNH QUÝ GIÁO TRÌNH HOÁ TIN HỌC (Các bài toán nhiệt động, thống kê và lí thuyết phản ứng hoá học) (Tái bản lần thứ nhất, có sủa chữa) DẠI HỤCTHÁỊ_ NGUYỀN TRUNG TẤiM HỌCLIỆt' NHÀ XUẤT BẢN ĐẠI HỌC s ư PHẠM Mục lục Lời nói đẩu .................................................................................................................. 7 Chương Mở đầu. NGÔN NGỮ LẬP TRÌNH PASCAL VÀ CÁC THUẬT TOÁN TÌM NGHIỆM Cơ BÀN DÙNG TRONG HOÁ HỌC.........................9 0.1. Ngôn ngữ Turbo Pascal 7.0........................................................................................... 9 1. Khởi động Turbo Pascal 7.0.............................................................................................. 9 2. Làm việc trong môi trường Turbo Pascal........................................................................9 3. Kí hiệu cơ bản và các đại lượng trong Turbo Pascal.................................................10 4. Biểu thức và hàm mẫu...................................................................................11 5. Cấu trúc chương trinh Turbo Pascal............................................................... 13 6. Các toán tử....................................................................................................15 7. Biến đếm, mảng, chu trìn h .............................................................................................. 18 8. Giải thích........................................................................................................20 9. Case... of........................................................................................................21 10. Các chương trình con : PROCEDURE (Thủ tục) và FUNCTION (hàm)...... 21 11. Kiểu dữ liệu có cấu trúc (R E C O R D )........................................................................... 27 12. Kiểu dữ liệu có cấu trúc: tệp (F IL E )............................................................................ 28 0.2. Các phương pháp tìm nghiệm phương trình đại sô'..............................................30 1. Phương pháp dây c u n g .................................................................................................... 30 2. Phương pháp tiếp tuyến - Phương pháp N ew ton......................................................32 3. Phương pháp kết hợ p ........................................................................................................35 4. Phương pháp chia đôi khoảng chứa nghiệm ...............................................................37 5. Phương pháp lặp ...............................................................................................................40 6. Phương pháp bước lặp giảm dần .................................................................................41 Tài liệu tham khảo chương MỞ đầu.............................................................................44 Chương 1. CÁC PHƯƠNG PHÁP NHIỆT ĐỘNG XÁC ĐỊNH HẰNG SÔ CÂN BẰNG HOÁ HỌC..................................................... 45 /. 1. Phương pháp phương trình Nernst..............................................................................4 5 Các bài tập ứng dụng phương pháp phương trinh N ernst..........................................60 Các bài toán tính ngược......................................................................................................... 63 1.2. Phương pháp Temkin - Schwarsman.........................................................................6 5 Các bài tập ứng dụng phương pháp Temkin - Schwarsm an.................................... 96 Các bài toán ngược.................................................................................................................. 9 9 3 I.3. Phương pháp thế phi s a o ............................................................................................ 101 Các bài tập ứng dụng phương pháp thê phi s a o ........................................................ ??6 Các bài toán tinh ngược................................................................................................. 7 Tài liệu tham khảo chương 1......................................................................................121 Chương 2. PHƯƠNG PHÁP cơ HỌC THỐNG KẺ XÁC ĐỊNH HẰNG SỐ CÂN BẰNG HOÁ HỌC....................................................123 II.1. Sơ lược về li thuyết Co học thống k ê ..................................................................... 123 1. Hàm phân bố của hè đoan nhiêt................................................................................. 125 2. Hàm phân bô’ đối với hệ đẳng nhiệt.............................................................................125 11.2. Áp dụng H thuyết Co học thống kê tinh hàng số cản bàng hoá học.................... 128 1. Hoá thế theo Cơ học thống k ê ......................................................................................129 2. Tinh hằng sô’ cân bằng................................................................................................... 130 11.3. Tinh tổng trạng thái (tổng thống k ê )...................................................................... 132 1. Đôi với khi đơn nguyên tử ...............................................................................................133 2. Tổng thống kê cùa phân tử khi hai nguyên tử ...........................................................136 3. Đối với phàn tử nhiéu nguyên tử (từ ba nguyên từ trờ lê n ).....................................149 II.4 ứng dụng: Tinh hàng só cân bàng của các phản ứng giữa các chất k h í.. 151 1. Tinh hằng sô' cân bằng của các phản ứng phân li ra nguyên tử.......................... 151 2. Tính hằng sô cân bằng cùa phàn ứng không phản li ra nguyên tử .....................199 Các bài tập chương 2 ...................................................................................................207 Các bài toán tinh ngược.......................................................................................................210 Các bài loàn loại k h á c ......................................................................................................... 272 Tài liệu tham khảo chư ơ ng 2 ..................................................................................................213 Chương 3. NGHIÊN cứu TÍNH CHẤT HOÁ LÍ HỆ PHÀN ỨNG CÂN BẰNG ở NHIỆT ĐỘ CAO...............................................................................215 III..1. Li thuyết hệ cân bàng..................................................................................................215 1. Ba định luật chi phối hệ phàn ứng cân b ằ n g .............................................................215 2. Nhặn xét..............................................................................................................................219 111.2. Phương pháp Newton..................................................................................................220 1. Khai triển T a y lo r........................................................................ 220 2. Giải bài toán nghiên cứu hê cân bằng ở nhièt đô c a o .............................................223 111.3. Phương pháp Newton cải tiến.................................... 231 1. Thiết ỉảp hệ phương trinh xác đinh nồng đô các cấu tử ..........................................231 2 NÔI dung cùa phương phap Newton cài tiên 232 1 3. Bài toán cụ thể và chương trình giải theo phương pháp Newton cải tiến........ 235 4. Bài toán cụ thể giải bằng cả hai phương pháp New ton và N ew ton cải tiến để so s á n h ................................................................................. 239 III. 4. Cân bàng ion trong dung d ịch ................................................................................253 Các bài tập ứng dụng của chương 3 ...............................................................................261 Tài liệu tham khảo chương 3............................................................................... ......264 Chương 4. LÍ THUYẾT HỒI QUY................................................................................ 265 IV. 1. Nội dung của phương pháp.....................................................................................265 1. Nguyên lí tổng binh phương độ lệch cực tiểu............................................................ 265 2. Phương pháp xác định hệ sô' của phương trình........................................................265 IV.2. Phép khử G auss..........................................................................................................268 1. Phương pháp tổng q u á t.................................................................................................268 2. Sơ đồ Gauss bó gọn........................................................................................................271 IV. 3. Các bài toán hoá học sử dụng li thuyết hồi q u y ...............................................273 1. Tinh các hệ số của phương trình IgKp = F(T) xuất phát từ các dữ liệu thực ng h iệ m .......................................................................................................................273 2. Chương trình................................................................................................274 3. Các ứng dụng khác của lí thuyết hồi quy................................................................... 276 Tài liệu tham khảo chương 4......................................................................................286 Chương 5. PHƯƠNG PHÁP GIẢI HỆ PHƯƠNG TRÌNH VI PHÂN ĐỘNG HOÁ HỌC XÁC ĐỊNH Cơ CHẾ PHÀN ỨNG HOÁ HỌC..................................287 V.1. Phương pháp tích phân số hệ phương trình vi phân mô tả ca chế phản ứng hoá học phức tạp.........................................................................287 1. Nội dung phương pháp................................................................................................... 289 2. Đánh giá độ chính xác của phương pháp g iả i.......................................................... 294 V.2. Tinh toán động học quá trình clo hoá etilen và phân tích độ chinh xác của thuật toán................................................................................................................. 296 1. Hệ phản ứng hoá học và cơ c h ế .................................................................................. 296 2 Hệ phương trình vi phân mõ tả cơ chê phản ứng clo hoá e tile n .......................... 297 3. Phương pháp giải hệ phương trình vi phân mô tả cơ chế phản ứng clo hoá e tilen......................................................................................................................301 4. Đánh giá độ chính xác của kết quả tích phân số hệ phương trình (5 .1 2 ).......... 303 5. Giải gấn đúng phương trình vi phân thường...................................................307 6. Chương trình, kết quả các đố thị của phép tích phân số hệ (5 .1 2 )......................309 Bài tập ứng dụng chương 5 ................................................................................................ 316 Tài liệu tham khảo chương 5...................................................................................... 322 5 Chương 6. ĐỘNG HỌC PHẢN ỨNG ĐƠN PHÂN TỬ. LÍ THUYẾT RRKM..............323 Mỏ đầu ................................................................................................................................... 323 VI. 1. Co sỏ của li thuyết RRKM .........................................................................................323 1. Mô hình của lí thuyết R R K M ..........................................................................................323 2. Biểu thức của Sk1(E.đE.tỗE. )/ k 2 ...................................................................................325 3. Biểu thức của ka(E * )........................................................................................................ 326 4. Biểu thức của ku„, theo lí thuyết R R K M ....................................................................... 330 5. Giới hạn áp suất c a o ....................................................................................................... 330 6. Giới hạn áp suất th ấ p ......................................................................................................332 7. Những thừa sô thống kê................................................................................332 8. Số trạng th á i...................................................................................................................... 333 9. Mật độ các trạng thái lượng tử N (E ).............................................................................333 VI.2. Các phương pháp tinh số trạng thái lượng tử .....................................................334 1. Sự tinh toán trực tiếp các trạng thái dao động...........................................................334 3. Phép gẩn đúng của VVhitten Rabinovitch......................................................337 VI.3. Ap dụng li thuyết RRKM nghiên cứu động học phản ứng đơn phân tử.... 339 1. Các đại lượng cẩn tính khi nghiên cứu các phàn ứng đơn phân tử ......................339 2. Áp dụng: Tính hằng số tốc độ của phản ứng đồng phân hoá metyl isoxian ua. 343 3. Các chương trinh máy tính áp dụng cho bài toán nghiên cứu động học phản ứng đổng phân hoá bằng nhiệt metyl isoxia n u a ............................................ 348 4. Bài tập .................................................................................................................................355 Tài liệu tham khảo.........................................................................................................358 6 Lời nói đẩu Hoá tin học - môn khoa học liên ngành ứng dụng phương pháp tính toán, xử lí thông tin vào việc nghiên cứu các vấn đề hoá học, ngay từ khi ra đời đã thúc đẩy sự phát triển mạnh mẽ mọi lĩnh vực của môn khoa học, nhất là lĩnh vực nghiên cứu và giảng dạy lí thuyết. Giáo trình Hoá tin học (Các bài toán nhiệt động, thống kê và lí thuyết phản ứng hoá học) trình bày từng bước phát triển của phần lí thuyết các hệ vĩ mô của hoá học và cách ứng dụng tin học vào trợ giúp lí thuyết này vượt qua trở ngại trong sự tiến bộ của mình. Phần cốt lõi, nền tảng cơ bản của giáo trình là sự áp dụng Cơ học thống kê vào các vấn đề lí thuyết hoá học (lí thuyết cân bằng hoá học và lí thuyết phản ứng hoá học). Giáo trình là bản tồng kết các nội dung nghiên cứu trong các bài tập lớn, luận văn của sinh viên, học viên cao học, Nghiên cứu sinh (lĩnh vực lí thuyết hệ vĩ mô) trong các năm vừa qua ỏ khoa Hoá học, trường Đại học Sư phạm Hà Nội. Nội dung của giáo trình được sắp xếp theo trình tự phát triển của vấn đề bắt đầu từ: + Ngôn ngữ lập trình Pascal và các thuật toán tìm nghiệm cơ bản dùng trong hoá học - chương Mở đẩu, tiếp đến các chương: + Các phương pháp Nhiệt động xác định hằng số cân bằng hoá học - chương 1. + Phương pháp Cơ học thống kê xác định hằng số cân bằng hoá học - chương 2. + Nghiên cứu hệ cân bằng ở nhiệt độ cao - chương 3. + Lí thuyết hổi quy - chương 4. + Phương pháp giải hệ phương trình vi phân động hoá học nghiên cứu cơ chế phản ứng - chương 5. Và kết thúc bằng chương 6: Động học phản ứng đơn phân tử - lí thuyết RRKM. Giáo trình trình bày lí thuyết hoá học một cách đơn giản nhưng hệ thống và chặt chê. Người đọc là sinh viên và học viên cao học Hoá học sẽ nắm được các lí thuyết hoá học nói chung, và đặc biệt, Cơ học thống kê 7 hoá học một cách chắc chắn và có thể vận dụng trong các nghiên cứu của mình ỏ các bậc học tập hiện tại và cao hơn, nếu theo dõi một cách tuần tự các chương của giáo trinh. Ngôn ngữ lập trình của cuốn sách là ngôn ngữ Pascal, ngôn ngữ mà các sinh viên Hoá học đều được học. Các chương của giáo trinh đều có những bài tập để người đọc có Ihể vận dụng các vấn đề lí thuyết vào giải quyết các bài toán cụ thể của tất cả các bộ môn Hoá học. Các bài tập này với nội dung và sô' lượng phong phú đã được giải cẩn thận và nghiêm túc. Tuy vậy, giáo trình chỉ đưa ra các đáp số ngắn gọn để người đọc có thể kiểm tra các tính toán của mình. Phần chương trình giải các bài tập này có thể sẽ đưa vào đĩa CD kèm theo cuốn sách (nếu có đủ điều kiện làm điều đó). Một cuốn Bài tặp Hoá tin học kèm theo cuốn giáo trình này cũng sẽ là rất bổ ích trong thời gian tới. Tác giả chân thành cảm ơn Thạc sĩ Ngô Tuấn Cường đã sửa chữa và đánh máy bản thảo một cách rất nghiêm túc, Thạc sĩ Nguyễn Văn và Thạc sĩ Nguyễn Đình Độ đã ưng thuận để tác giả được sử dụng các chương chủ yếu trong luận văn Cao học của mình làm nội dung để viết các Chương Mở đầu, Chương 5 và Chương 6. Những đóng góp của các Thạc sĩ đã giúp tác giả hoàn thành được cuốn sách trong điều kiện thời gian và vật chất cực kì eo hẹp như hiện nay. Cuối cùng, tác giả chúc các bạn đọc thành công trong việc đọc cuốn sách và ứng dụng nó vào việc nghiên cứu của mình. Tác giả cũng thiết tha mong các bạn đọc góp ý thẳng thắn cho những thiếu sót không thể tránh khỏi về nội dung và hình thức của cuốn sách để nó có thể phục vụ các bạn một cách đắc lực hơn trong tương lai. Xin chân thành cảm ơn. TÁC GIẢ 8 Chương Mở đẩu NGÔN NGỮ LẬP TRÌNH PASCAL VÀ CÁC THUẬT TOÁN TÌM NGHIỆM Cơ BẢN DÙNG TRONG HOÁ HỌC 0.1. NGÔN NGỮ TURBO PASCAL 7.0 1. Khởi động Turbo Pascal 7.0 Đế dùng Turbo Pascal (TP) phải có ít n h ất 2 tệp: TURBO.EXE và TURBO.TPL. Hai tệp này có thể lưu trữ trên đĩa mềm hoặc đĩa cứng. Đế khởi động TP, bạn hãy vào thư mục có chứa tệp TURBO.EXE và sau đó dùng lệnh: TURBO.EXE J. Sau khi màn hình soạn thảo của TP xuất hiện, bạn có thể thực hiện việc soạn thảo và chạy chương trình. Tổ hợp các phím Alt+X: Ra khỏi chương trình TP. 2. Làm việc trong môi trường Turbo Pascal - Soạn thảo trong TP: Nói chung việc soạn thảo trong TP cũng giông như trong các hệ soạn thảo khác (Word, Notepad...). Phím (Enter J): dùng để tạo dòng mới. Bốn phím mũi tên (<-í->ị): dùng đê dịch chuyển con trỏ. Các phím PgDn, PgUp dùng để lật trang. Phím Home: đế đưa con trỏ vê' đầu dòng. Phím End: đưa con trỏ về cuối dòng. Phím Insert: đê thay đôi chê độ chèn hoặc đè. Phím Delete: để xoá kí tự tại vị trí con trỏ. Phím («- Backspace): đế xoá kí tự bên trái con trỏ. Tổ hợp các phím Ctrl+K B: đế đánh dấu đầu khối. Tô hợp các phím Ctrl+K K: để đánh dấu cuối khối. Tô hợp các phím Ctrl+K C: đề sao chép khôi đã đánh dấu. 9 Tổ hợp các phím Ctrl+K Y: đẻ xoá khôi đã đánh dấu. Tố hợp các phím Ctrl+K V: để chuyển khối đã sao chép tới vị trí con trỏ. - Một sô phím chức năng: Fl: Hướng dẫn. F2: Ghi tệp lên đĩa. F3: Mỏ tệp. F5, F6 : Chuyển giữa các cửa sổ đang mở. F9: Soát lỗi ngữ pháp. Tổ hợp các phím Ctrl+F9: Chạy thử chương trình. Tô hợp các phím Ctrl+Pause: Thoát khỏi chương trình đang chạy thử Tố’ hợp các phím AU+F3: Thoát khỏi của sổ hiện thời. 3. Kí hiệu cơ bản và các dại lượng trong Turbo Pascal 3. í ề Ki hiệu cơ bản Chữ cái: TP dùng các chữ cái tiếng Anh viết hoa: A. B. c .......z hoặc viết thường: a. b. c......z và các chữ sô 0, 1.........9. Dâu: + - * / : Các phép toán sô học: cộng, trừ, nhân, chia. = > > = < < = <> : Các phép toán quan hệ: bằng, lớn hơn, không nhỏ hơn. nhỏ hơn. không lỏn hơn. khác. : Phép gán. : Chấm thập phân, dấu hết chương trình. : : Kêt thúc một toán tử. một mô tả. : Mô tả. : Dấu nháy dùng cho hàng văn bản. T ừ khoá : AND. DO. GOTO. FUXCTION\... 3.2. Các đại lượng H ằng (const) Có hai loại hãng: hảng sô và hằng văn bàn. Các hằng sô được biểu diễn dưới dạng nguyên và thực. Ví dụ: 1076. 123 là các hằng nguyên. 10 Các hằng thực có hai cách biểu diễn: + Dấu phảy tĩnh: 1.3; 0.7; 125.5. + Dấu phảy động: 1.25 E-3; 3.581 E4. Giá trị lớn nhất của hằng nguyên là -32768......32767. Các sô’ thực xác định trong đoạn: 2.9 e-39 đến 1.7e38 và sô’ 0 . Vượt quá giới hạn trên có hiện tượng tràn (overflow), máy tính không nhận sô' đó. Vượt quá giới hạn dưới, máy tính sẽ cho giá trị sô' đó bằng 0. Dòng (string) Dòng là một dãy kí tự, sô', kí hiệu và khoảng cách. Tên gọi (indentifier) Tên gọi là một dãy kí tự bắt đầu bằng chữ cái, tiếp theo đó là chữ cái hoặc chữ sô'. Có thể dùng các dấu nôi (_). Trong TP. các tên gọi phân biệt nhau ở 8 kí hiệu đầu tiên. Việc viết tên cần tuân thủ các nguyên tắc sau: + Không có khoảng cách và cốc dâu. + Không đặt chữ số lên đầu. Tên gọi được dùng đe đặt tên cho các biến, hàm và hằng. Biến Trong TP có 4 loại biến cơ bản: + Biến nguyên (INTEG ER): Có giá trị là các số nguyên. + Biến thực (REAL)-. Có giá trị là các số thực. + Biến k í tự (CHAR)-. Có giá trị là các chữ cái viết hoa và không viết hoa, với 10 chữ sô' thập phân từ 0 đến 9. + Biến logic (BOOLEAN)-. Chỉ có hai giá trị: đúng (TRUE) và sai (FALSE). 4. Biểu thức và hàm mẫu 4.1. Các phép toán sô học TP chỉ có các phép toán số học sau: Cộng + Trừ Nhân * Chia / l l 4.2. Hàm mầu Hàm m ẫu với các biến nguyên Sau đây là một số hàm mẫu mặc định dùng với biến nguyên của TP ORD(x) cho chính giá trị X ABS(x) cho giá trị tuyệt đối của X SQR(x) cho giá trị bình phương của X SUCC(x) cho giá trị sau x: (x + 1) PRED(x) cho giá trị trước x: (x - 1) MOD phần dư của phép chia hai số nguyên DIV phép chia hai số nguyên cho kết quả nguyên X MOD y = X - (x DIV y)*y. H àm m ẫu với các biến thực ABS(x) giá trị tuyệt đối của X SQRT(x) căn bậc hai của X SQR(x) bình phương của X COS(x) cosx SIN(x) sinx ARCTAN(x) arctgx LN(x) loga cơ số tự nhiên của X EXP(x) e* TRUNC(x) cho phần nguyên của X ROUND(x) cho số nguyên gần X nhâ't. Các hàm m ẫu với biến k i tự ORD(c) (c kiểu CHAR) cho thứ tự của c trong bảng kí tự PRED(c) (c kiêu CHAR) cho kí tự trước c trong bảng succ (c) (c kiểu CHAR) cho kí tự sau c trong bảng kí tự CHR(i) (i kiểu INTEGER) cho kí tụ có số thứ tự 1. Các hàm m ẫu với biến logic ORD (FALSE) = 0 ORD (TRUE) = 1 12 4.3. Biểu thức Biểu thức là một dãy các phép toán tác dụng lên các hằng, biên và hàm. Việc viết các biểu thức TP cần tuân thủ các quy tắc sau: + Không để hai phép toán đứng liền nhau. + Không viết hai hằng hoặc hai biến liên nhau. T hứ tự ưu tiên các phép tinh Trong các biểu thức của TP, các phép tính được ưu tiên theo thứ tự sau: 1. Dấu (). 2. Các hàm. 3. NOT. 4. Các phép thuộc lớp nhân (* / DIV MOD AND). 5. Các phép thuộc lớp cộng (+ - OR). Nếu cùng mức ưu tiên thì thực hiện trái trước, phải sau. 5. Cấu trúc chương trình TURBO PASCAL Chương trình TP được hợp thành từ các phần sau: đầu chương trình, phần mô tả, thân chương trình và kết thúc. 5.1. Đấu chương trinh Phần đầu của chương trình bao gồm: PROGRAM tên_chương_trình; 5.2. Phẩn khai báo dữ liệu Phần khai báo gồm có 6 mục: khai báo nhãn (địa chỉ), hàng, kiểu biến, thủ tục và hàm (chương trình con). K hai báo nhăn (địa chỉ) N hãn là một số nguyên dương có không quá 4 chữ số. Khai báo nhãn liệt kê tất cả các nhãn sử dụng trong khối và dùng để định vị các toán tử khi cần điểu khiển chương trình hoạt động ngoài quy tắc thông thường (từ trên xuống dưới). 13 Cách khai báo: LABEL số nguyên: Khai báo hằng Các hàng có giá trị không đổi trong suốt quá trình thực hiện hương trình Bởi vậy không được phép dùng một lệnh nào đê thay đổi ỊĨá trị của hằng. Cách khai báo: CONST tên hàng 1 = giá trị hàng 1; tên hàng 2 = giá trị hằng 2: Khai báo kiêu (TYP E ) TYPE dùng để xác định các kiêu dữ liệu mới so với 4 kiêu đã có của rp (Integer. Real. Char và Boolean). Cách khai báo: TYPE Tên kiểu 1 = (các biến của kiểu 1): Tên kiêu 2 = (các biến của kiêu 2); Khai báo biến Nguyên tác rất cơ bản cùa TP là trong chương trình dùng biến nào phải mô tả biên đó. Khác với một sô ngôn ngữ khác. TP không cỏ các biến mặc định. Cách khai báo: VAR tên biến 1. tên biến 2 kiểu 1; tên biến 3. tên biến 4 kiểu 2; Khai bán thù tục, hàm (xem phần 2.8). 5.3. Phán thân chương trinh Thân chương trình bao gồm các toán tử (còn gọi là các lệnh) để thạc hiện công việc của chương trình. 14 5.4. Phần kết thúc Phần kết thúc bao gồm tập hợp lệnh: READLN; END. Với một sô" phiên bản của chương trình dịch TP, lệnh READLN không n h át thiết phải có. 6. Các toán tử 6.1. Toántửgán Toán tử gán có dạng tổng quát: Tên biến:= biêu thức, biến, hằng, giá trị; Khi gặp lệnh này, kết quả tính toán của biểu thức vê phải hoặc giá trị biến, hằng vê phải được gán cho biến vế trái. 6.2. Toán tử chuyển (GOTO) Dạng tổng quát: GOTO nhãn; Dưới tác động của toán tử này, chương trình chuyển đến nhãn (đã được xác định bằng LABEL). Chú ý rằng TP rấ t ít dùng hoặc tuyệt đối không dùng lệnh GOTO vì GOTO làm mất tính "cấu trúc thuật toán" của TP. Một điều bắt buộc của lệnh nhảy GOTO là không được dùng nó để nhảy vào chương trình con mặc dù có thể từ chương trình con nhảy ra ngoài. 6.3. Toán tử hợp thành BEGIN s,; s2; ... Sn; END; s,....s„ là các toán tử thành phần trong đó có thề có cả toán tử chuvển 15 6.4. Toán tứ vào/ra 6.4.1. Nhập số liệu qua bàn phim Để nhập số liệu qua bàn phím. TP có hai dạng tổng quát sau: Dạng 1: READ (v,. v2, ... v„); trong dó V,. v,....v„ là các biên. Khi sử dụng READ cần lưu ý: - Giá trị của các biến được đưa vào qua bàn phím theo đúng kiêu đã khai báo ỏ phần khai báo của chương trình. - Đọc xong con trỏ trên màn hình không tự động xuông dòng. Dạng 2: READLN (v,. V,. ... v„): dùng tương tự như READ. Khi nhập sô liệu xong, con trỏ trên màn hình tự dộng xuống dòng. 6.4.2. In số liệu ra màn hình 6.4.2.1. Write Dạng tổng quát: WRITE (các biêu thức và các biến): Trong dấu ngoặc đơn có thể là một biêu thức hoặc biến hoặc hằng. Hác quy ước trong việc sủ dụng lệnh WRITE như sau: - Sau mỗi biểu thức, biến hoặc hằng phái đật một dấu phảy. - Giá trị của biêu thức. biến, hằng được viết theo ba cách sau: Cách 1: Không viết gì thêm sau biếu thức, tên biến hoặc tên hàng gọi chung là tên): WRITE (Vị. V........ v n); Giá trị được viêt ra dưới dạng dấu phảy động. Cách 2: Dạng tổng quát: 6 WRITE (v„ v2: m2, ... v„:mn); trong đó nrij (i = 1, ...n) dùng để quy định số vị trí được dành cho đại lượng thứ i được đưa ra màn hình khi thực hiện câu lệnh. Cách 3: Dạng tổng quát: WRITE (v1:m1:ni....vn:m„:n„); tron g đó Vị là số thực, n, là số chữ số th ậ p p h â n sa u d ấu phảy, rriị là số vị trí dành cho toàn bộ số thực Vị (i = 1,.., n). 6.4.2.2. W riteln Dạng tổng quát: WRITELN (bt„ bt2, ... bt„); Cách dùng tương tụ Write. Điểm khác biệt là sau khi viết xong, con trỏ sẽ tự động xuống dòng. 6.4.2.3. Ghi ra đoạn k í tự: Để viết lòi giải thích, chúng ta đặt các lòi giải thích đó vào trong dấu nháy ‘ WRITE('Đoạn kí tự'); WRITELN(’Đoạn kí tụ ’). 6.5. Toán tử diều kiện Dạng tổng quát: IF biểu thức THEN Việc 1 ELSE Việc 2 trong đó biểu thức nhận giá trị logic. Nếu biểu thức nhận giá trị đúng (TRUE) thì thực hiện Việc 1, ngược lại: + Nếu có ELSE thì thực hiện Việc 2. + Nếu không có ELSE thì không làm gì. Sau đó chuyên sang toán tử kế tiếp IF. D Ạ I TỀĨỌ C T H A I N G U Y Ê N TRUNG TẤM HỌC LIỆU 17 Chú ý: - Trước ELSE không có dấu chấm phảy (;). - Việc 1 và Việc 2 có thể là các lệnh hợp th àn h (đặt trong BEGIN.... END;). 7. Biến đêm, mảng, chu trình Ngoài các biến đơn giản trong các tính toán toán học, vật lí. hoá học còn cần dùng các biến có chi sô a„ a,r b,|k (Ví dụ: các thành phần cùa một vectơ, các phần tử của ma trận,...). Kí hiệu thông thường Kí hiệu củaTP a[i| a[ij] a[i,j,k] Chú ý: Chỉ sô' buộc phải có giá trị nguyên. 7.1. Mảng Tập hợp các biến có chỉ số tạo thành mảng. Mỗi mảng có một kích thước xác định. Kích thước của mảng là sô phần tử của mảng. Mó tà m ảng Trong TP ỏ phần khai báo phái công bô" kích thước các máng được dùng trong chương trình bàng lệnh: Tên mảng: ARRAY [l..n] OF kiểu phần tủ của mảng; trong đó: + n là giá trị cực đại của chỉ sô; + Sau từ khoá OF là kiểu biếu diễn của các phần tử của mang (INTEGER, REAL hoặc CHAR...). Cũng có thể khai báo mảng như một TYPE. Cách khai báo như sau: 18 TYPE m l = ARRAY [1..10] of integer m2 = ARRAY [1..100] of real; VAR b: m l; a: m2; 7.2. Vòng lặp xác định: toán tử FOR Dạng tổng quát: FOR biến đếm = giá trị đầu TO giá trị cuối DO Công việc; FOR biến đếm = giá trị đầu DOWNTO giá trị cuối DO Công việc; Có thề diễn giải các vòng lặp trên như sau: Việc thực hiện Công việc được lặp lại một số lần xác định tương ứng với các giá trị của biến đêm từ giá trị đầu đến giá trị cuối của nó. Vòng lặp FOR được thực hiện theo các bước sau: 1. Tính giá trị đầu, giá trị cuôi của biến đếm. 2. Bỏ qua vòng lặp FOR nếu biến đếm đã có giá trị nằm ngoài khoảng giá trị nói trên. 3. Biến đếm nhận giá trị đầu. 4. Thực hiện công việc. 5. Biến đếm nhận giá trị tiếp theo, chương trình quay về điếm 4 cho đến khi biến đếm có giá trị đứng sau giá trị cuối cùng một đơn vị thì ra khỏi vòng lặp. 7.3. Toán tử WHILE (vòng lặp không xác định) Dạng tổng quát: WHILE (biểu thức logic) DO BEGIN Công việc END; 19 WHILE cũng dùng để lặp lại Công việc. Vòng lặp WHILE... DO được thực hiện như sau: 1. Kiểm tra biểu thức logic. 2. Nếu TRUE thực hiện công việc; Nếu FALSE thì thực hiện Công việc sau từ khoá End; của vòng lập WHILE (tức là ra khỏi vòng lặp WHILE). 3. Quay lại bước 1 nếu bước 2 chưa kết thúc. Chú ý: + Công việc có thể không được thực hiện vì ngay từ đầu biểu thức đã có giá trị FALSE. + Sự thực hiện Công việc phải dẫn tới thay đổi giá trị của biểu thức logic thì vòng lặp WHILE mổi kết thúc được. 7.4. Toán tử REPEAT (vòng lặp không xác định) Dạng tổng quát: REPEAT Các Công việc; UNTIL biểu thức logic; Trong vòng lặp này không cần BEGIN ... END. Vòng lặp REPEAT được thực hiện như sau: 1. Thực hiện các Công việc. 2. Kiểm tra biểu thức lôgic. Nếu FALSE thì quay lại bước 1, nếu TRUE ra khỏi vòng lặp REPEAT. Chú ý: Cũng giống như với WHILE, sự thực hiện các Công việc cần phải dẫn đến các thay đổi giá trị của biểu thức lôgic để có thế kết thúc vòng lặp. 8. Giải thích Xen kẽ trong chương trình có thể đặt những giải thích nhằm mục đích làm cho ngươi đọc dê theo dõi. Những đoạn này không đóng vai trò gì trong chương trình và thường được viết trong hai dấu { Ị hoặc (* *). 20 9. Case... of Dạng tổng quát: CASE OF hằng 1: begin .. end; hằng 2 : begin .. end; hằng 3: begin .. end; ELSE begin ...... (có thể không có) end; END; CASE ..... 0 F được thực hiện như sau: + Tính giá trị của biểu thức. + Nếu giá trị biểu thức bằng hằng nào thì thực hiện Công việc sau hằng đó. Sau đó ra khỏi CASE. + Nếu giá trị của biểu thức không trùng với hằng nào cả thì thực hiện Công việc sau từ khoá ELSE. Sau đó ra khỏi CASE. Chú ý: Giá trị của biểu thức phải thuộc về kiểu đếm được bao gồm: Byte (là các số nguyên từ 0...255), Boolean, Integer, Char. Các kiểu không đếm được (ví dụ kiểu Real) không dùng cho CASE .... OF. 10. Các chương trình con: PROCEDURE (Thủ tục) và FUNCTION (hàm) PROCEDURE và FUNCTION là tập hợp toán tử tạo nên một khối con có khả năng sử dụng nhiều lần ở những ndi khác nhau trong chương trình lớn. Ưu điểm: + Tiết kiệm bộ nhớ và công sức lập trình. + Tạo cho chương trình một cấu trúc rõ ràng và gọn. 21 10.1. FUNCTION (hàm) FUNCTION là phương tiện để tạo các hàm mới được sử dụng trong chương trình Vi dụ: Trong các hàm mẫu của TP không có hàm giai thừa n! Vậy muốn tính các biêu thức có chứa n! có thê lặp một chương trình con dưới dạng FUNCTION (hàm) tương đương với việc định nghĩa hàm mới bên cạnh các hàm sin, COS. ... có sẵn. Để làm công việc này, cần thực hiện hai bước bắt buộc sau đây: + Khai báo FUNCTION. + Gọi FUNCTION' trong chương trình chính. 10.1.1. K hai báo Thủ tục khai báo FUNCTION như sau: FUNCTION tên hàm (các tham số hình thức: kiểu của tham số): kiêu dủ liệu của hàm: (*các khai báo cục bộ: khai báo Label. Const. Type. Var của riêng Function nếu cần*). BEGIN .... tên hàm:= (biểu thức); (bắt buộc phải có) END: Chú ý: Phần thân chương trình con (CTC) -FUNCTION bắt buộc phải kết thúc bằng lệnh gán giá trị cho tên hàm. Do vậy khi sử dụng ta có thể dùng tên CTC-FUNCTIOX chứa kết quà đế viết trong các biểu thức. Phần khai báo cục bộ chì có tác dụng trong FUNCTION, không có tác dụng trong chương trình chính. Cần tránh khai báo trùng lặp các tên giữa CTC và chương trình chính. Vi dụ: Với hàm Giai thừa n! ta có FUNCTION Giai_thưa(n: integer): integer: Var i.k: integer: Begin 22 i:=0 ; k:=l; {phải dùng biến địa phương để chứa kết quả trung gian} while i 0 Nổì các điểm A[a. f(a)] và B[b. f(b)] bằng đường thẳng. Đường này cắt trục hoành tại X|. Coi Xj là nghiệm gần đúng câ"p một của phương trình cần giải trên. Giá trị gần đúng này có thế được tìm từ công thức: (b-a).f(a) 1 f(b )-f(a) Lại giả thiết (x,.b) là khoảng chứa nghiệm mối. Nôi A,[x,.f(x,)] và B[b.f(b)] nhận được điếm cát của dây cung với trục hoành là X,. Coi XJ là nghiệm gần đúng cấp hai của phương trình cần giải. Nó sẽ được tính từ công thức: 30 (b-x,).f(x) 2 1 f(b)-f(x,) và cứ như vậy, chuỗi sô’ a, Xị, x2... sẽ tiến tới nghiệm cần tìm. Phương pháp này có nhược điểm là nó đòi hỏi ta phải biêt khoảng chứa nghiệm. END 31 Ví dụ: Tính X tại đó hàm y = ln(x)-l = 0 Chương trình PROGRAM PPDC; Const epsi = l e - 6 ; Var a.b.x.dx: real;i:integer: Function f(x:real):real; begin f:=ln(x)-l; end: BEGIN WritelnC 0epsi do begin x:=x-dx;i:=i+l: dx:=f(x)*(b-x)/(f(b)-f(x)): end; WritelnC Nghiem la: ',x:8:5): WritelnO So lan lap la: ',i); Readln; END. Kết quả: 0 < a < b < 6 Cho a = 1 Cho b = 4 Nghiệm là: 2.71828. 2. Phương pháp tiếp tuyến - Phương pháp Newton Ta lấy x„ nằm bên phải nghiệm, từ x„ kè đường song song với trục tung cắt đường biểu diễn hàm f(x) tại B[x0.f(x0)]. Từ điêm nàv. kè dưòng 32 tiếp tuyên với đường f(x), đường tiếp tuyến này cắt trục hoành tại X , (x, được coi là nghiệm gần đúng cấp một). Từ X , lại kẻ đường song song với trục tung cắt đường biểu diễn hàm f(x) tại Bjfxj.fCx,)]. Từ điểm B, lại kẻ tiếp tuyến với đường f(x), để được x2 (x2 là nghiệm gần đúng cấp hai),... Các nghiệm gần đúng kế tiếp của phương pháp này sẽ hội tụ khi f(x) liên tục và có đạo hàm tại lân cận nghiệm. y y = f(x) f(x) 0 X Quá trình tiếp tục tối khi hai nghiệm gần đúng kế tiếp thoả mãn điều kiện I x„- xntl I < E (e là đại lượng dương vô cùng nhỏ cho trước). 33 Sơ đổ khối: BEGIN r Vào X o i x:=x0; i:=0 dx:=f(x)/f (x); Đúng x:=x i:=i -dx; + 1 dx:=fl x)/f(x) In nghiệm EXD Vi dụ: Tính X tại đó hàm y = ln(x)-l = 0 Chương trình PROGRAM PPTT: Const epsi=le- 6 : Var x.XO.dx: real:i:integer; Function f(x:real):real: Begin f:=ln(x)-l: end: 34 Function dh_f(x:real):real; Begin dh_f:=l/x; end; BEGIN WritelnC 3epsi do begin x:=x-dx;i:=i+l; dx:=f(x)/dh_f(x); end; WritelnC Nghiem la: ',x:8:5); WritelnC So lan lap la: \i); Readln; END. Kết quả: 3 < x0 < 6 Cho x0 = 4 Nghiệm là: 2,71828. 3. Phương pháp kết hợp Phương pháp kết hợp là kết hợp phương pháp dây cung và phương pháp tiếp tuyến. Đe’ đạt tới nghiệm, phương pháp kết hợp có số lần lặp ít hơn hai phương pháp trên. (b-a). f(a) X,, = a -f(b)-f(a) f(x j X,, = X.f(x„) 35 ( X |Ị ~ x i ; ) - f ( x |2 ) X , , = X ., - - x„ = X,, - f(xM) - f ( x i:) f(x„) " f(x„) X , , = X ,, x„ = Xj, (X,, - x „ ) .f (x „ ) f(x,,)-f(x„) f(x;i) f (x„) Ví dụ: Tính X tại đó hàm y = ln(x)-l = 0 Chương trình PROGRAM PPKH: Const epsi=le- 6 : Var x.a.b.dx: real; iiinteger: Function f(x:real):real: begin f:=ln(x)-l; end: 36 Function dh_f(x:real):real; begin dh_f:=l/x; end; BEGIN WritelnC 0epsi do begin x:=a+dx; i:=i+l; dx:=(b-a)/2 ; if f(x)*f(b)>0 then b:=x else a:=x; end; writelnC Nghiem la: ',x:8:5); writelnC So lan lap la: ',i); end; Readln; END. Kết quả: 0 < a < b < 6 Cho a = 1, b = 4 Nghiệm là: 2,71828. 39 5. Phương pháp lặp [4] Nếu phương trình cần giải quy được về dạng X = ọ(x) trong đó |'(x)| < 1 thì ta có thể tiến tới nghiệm bằng các bước lặp kế tiếp xuất phát từ nghiệm gần đúng ban đầu x0 X, = =epsi do begin tg 2:=tgl; v:=v+delta_v; tgl:=f(v); if tgl*tg 2<0 then delta_v:=-delta_v/2 ; i:=i+l; end; WritelnC Nghiem la: ',v:8:5); WritelnO So lan lap la: ',i); Readln; END. Kết quả: Nghiệm là: 2,71828. 43 Tài liệu tham khảo chương Mỏ đầu [1] P h ạ m T h ị Tâm . Tính hằng số cân bằng hoá học bằng phương pháp thê ỷ , luận văn Sau đại học Hoá học, Đại học Sư phạm Hà Nội I, 1991. [2] T r a n V in h Q u y, Do Van Khang. A m athem atical m ethod for chem ical equylibrium at high temperature. Báo cáo toàn văn hội nghị khoa học kỉ niệm lần thứ 20 ngày thành lập Viện Công nghệ Thông tin "Công nghệ Thông tin Nghiên cứu và Triển khai". 5 6/12/1996 (trang 350 -354). [3] Q u á c h T u â n Ngọc. Ngôn ngữ lập trinh Pascal. Đại học Bách khoa Hà Nội, 1991. [4] J. L. B u c h a n a n , P e t e r R. T u r n e r . N um erical m ethods and A nalysis. "Me Graw - Hill, Inc.", New York, Paris, Tokyo, Toronto, 1992. [5] P. E. Đ a n k o , A. G. P o p o p , T. Ia. C o z n e p n h ic o v a . Rài tập toán học cao cấp phần II. Nhà xuất bản "Đại học và Trung học chuyên nghiệp Hà Nội"- Nhà xuất bản "Mir", Maxcơva, 1983. [6] A. Jì. c y p n c - TEPMOAMHAMhKA BblCOKO-TEMnEPATyPHblX nPOUECCOB CnPABOHHMK, "MET/UUiyPrMíl", MOCKBA, 1 9 8 5 . 44 Chương 1 CÁC PHƯƠNG PHÁP NHIỆT ĐỘNG XÁC ĐỊNH HẰNG s ố CÂN BẰNG HOÁ HỌC s ■ 1.1. PHƯƠNG PHÁP PHƯONG TRÌNH NERNST Xuất phát từ nguyên lí III của Nhiệt động lực học, mà điểu khẳng định quan trọng nhất của nó là gần OK, biến thiên th ế đẳng áp AG của phản ứng hoá học không phụ thuộc nhiệt độ: lim— = 0 t-To ổt người ta suy ra rằng, nhiệt độ gần 0K, AH = AG (vì AG = AH + T. ) và ST hai hàm này có cùng tiếp tuyến song song với trục hoành. Điều đó giúp ta chọn được một đường AG thích hợp trong vô vàn đưòng AG = + B,(K) ■» C (K ) + D CÖ ■ or£>cữ ‘ o (K) A m Bn bßc>cô A H < bo c>cd X . Dk trong đó AG(k) = -RTlnKp được tính từ áp suất riêng phần của các khí A B, c, D như sau: 47 le p = ___^ ^ 0.1 f (Cp>cc T B 4.576.T 1.987 1 TfdTTr 4,576 nJ T2,: í [ ( C p ) „ r ( C p C „ st> T + J <1 7 ) 0 L Ở đây j là hằng số tích phân; AHq , là nhiệt chuyển pha quy về OK của các cấu tử I (các chất A, B, c, D chảng hạn). Từ (1.7) và sử dụng điều kiện IAG = 0 cho chu trìn h khép kín nói trên, N ernst đã dẫn đến phương trình tính Kp cho các hệ khí như sau: lgKp = -----A H ^ + (ACp)c T p 4.Õ76.T 1.987 * d í ỉ / C íwc’W T *4i a81 Dây là phương trình N ernst. trong đó: + j là hằng sô hoá học thực của các chất, mà bản chất của nó là hằng sô tích phân trong phương trình biểu thị áp su ấ t hơi bão hoà (1.7); -! (ACp)const là phần nhiệt dung không phụ thuộc vào T: + (ACp)WT) là phần nhiệt dung phụ thuộc vào T; + AHq là nhiệt của phản ứng ở OK. Đê áp dụng phương trình Nernst thì tiện nhât là sử dụng biểu thức nhiệt dung sau: 3 n - 3 - m ( Q \ 2 9, 'T R + R p - .— — + R (1.9) . íe9.T-l )2 - Sô hạng thứ nhất của biểu thức này là nhiệt dung ứng với chuyến động tịnh tiến và quay, nó được tính theo công thức cổ điến (mỗi bậc tự kT do quay và tịnh tiến có động năng — . mỗi phân tử khí có 3 bậc tự do tịnh tiến và m bậc tự do quay). Số bậc tự do quay m có thể được tính như sau: 48 m = 2 đối với phân tử 2 nguyên tử và phân tử nhiều nguyên tử dạng thẳng; m = 3 đối với phân tử 3 nguyên tử hoặc nhiều hơn có cấu trúc không thẳng. - Số hạng thứ hai là biểu thức nhiệt dung ứng với chuyển động dao động. Nó dược tính theo lí thuyết lượng tử dao động của Einstein trong đó, 0, là nhiệt độ đặc trưng dao động ^9j h là hằng số Plank; k là hằng số Boltzmann. Tổng số bậc tự do dao động i được tính bằng 3n - 3 - m. (n: số nguyên tử trong phân tử, m số bậ c tự do quay) Sau đây là ví dụ và chương trình tính nhằm minh hoạ phương pháp Nernst. Ví dụ 1: Tính hằng sô cân bằng của phản ứng sau: H 20 (h) = H2 + Ạ o 2 2 Giải: Để tính hằng số cân bằng, chúng ta cần phải tính 4 đại lượng sau: 1. T ỉn h Aj (Aj là biến thiên hằng số hoá học thực của phản ứng) Aj = Zj các chất cuổi - Ij các chất đầu. Các giá trị hằng số hoá học thực j của các chất được tra ở Bảng 1.3 (xem trang 418-420 của tài liệu [4]). Ta có jH = -3,357 ; j0 = 0,533 ; j„ 20 = -1,775, do đó Aj = — io2 + jHỉ - jH 0 Aj = —.0,533 + ( - 3,355) - (-1,775) = -1,3155 Aj =-1,3155. 49 2. T ín h (ACp)consi (ACp)const là số hạng không phụ thuộc vào nhiệt độ của nhiệt dung. Từ (1.9) ta có ( A C p U ., = R (ACp )cons, = (Cp )» L . + \ (Cp )° 2ns, - (Cp với mH = 2 ; m0 = 2; mH 0 = 3 Ta có: (A C p)const = 1 .2 5 R. 3. T ín h AH°0 : AHp là nhiệt của phàn ứng ở OK. Với nhiệt dung của các chất gồm hai phần: phần không phụ thuộc nhiệt độ ((AC ) = A — — j R ) và 3 n - 3 - m /0 \2 0,rr phần phụ thuộc nhiệt độ ( R V - 1- — ------ ) Ta có' i I t J (ee,rr - 1)2 í K ^ 298.16 / - \2 ì ( Ễ ± H ] r .2 9 8 . 1 6 - A R I I ( ậ r ) . ủH° =AH°9S-A| — Ịr.298.16 - A Lưu ý rằng f V :! *MT T J (eB| T - l )2dT =eft| T - 1 50 T e í -d T ì (e^ - 1)2 từ đó ta nhận được: AH° = AH°98 - A p ± ^ R . 2 9 8 , 1 6 - a ( r Ị 8|/29Ĩ 16_t (1.10) AH°9S(H20 = H2 + i ( ) 2) = 0 + - . 0 - ( - 5 7 7 9 6 ) = 57796 (cal/mol) trong đó nhiệt của phản ứng AHÍỈggCÓ thể tính từ sinh nhiệt của các chất có trong phản ứng mà giá trị của chúng có thể tra ỏ Bảng 1.1 hoặc Bảng 1.6. Sau khi đặt các giá trị nhiệt độ đặc trưng dao động của các phân tử lấy từ B ảng 1.4: e(H2) = 6130K; 0(O2) = 2224K; 0(H2O) = 2290, 5730, 5510K, ta nhận được biểu thức: 6130 1 2224 AH° = 57796 - 1,25R.298,16 - R 1 g6130/ 298,16 _ J 2 02224/ 298.16 _ 2290 5730 5510 5510/ 298.16 2 290/ 298,16’ — 1 05730/ 298.16 _ eooiu/ zy8.1t> _ ^ Nếu 0, > 2000 thì đại lượng — —---- rất nhỏ, có thể bỏ được, nên ta nhận được: AH° = 57796 - 1,25.1,987.298,16 = 57055,445 (cal/mol). 4. T ín h s ố h ạ n g t h ủ ba củ a p h ư ơ n g tr ìn h (1 .8 )- tích phân TỂ } ( A C PW 1 T . 0 1 0 Giá trị của tích phân này có thể trực tiếp tra bảng (xem Bảng 1.2, cột 1 và 5). ATrd T Tr_ |"TfdTT(/ 6130 Y e613^ 0 T2 J = J t 2 0J1 T I • (eB.30/T _ 1)2 dT 51 1 TfdTTff 2224 Y e2224/T TfdT rí 2290 Y e229OT , + 2 0JT2 Jl T J V 130/T- l ) 2 0JT2 J 1 T J (e229orr- l ) 2 TfdT T{ 5730'ị 2 e5730/T jrr Tfd T Tff551oY e55lOT ,1T. .R ¿T 2 j l T ) (e5730fr- l ) 2 0J T2 J l T ) (e55lOT- l ) 2 • Hay có thể viết gọn: T A 0 Với T = 1000K, theo Bảng 1.2, ta có: ATf£ÌlTr í _ 0 Ị _ ì dT = 0 004 + 1 0 233 _ 0 21 - 0,0065 - 0,008 J t 2 0JỌI i 0 0 0 J 2 A Ị Ì T Tr _ O dT = _0;104. 0J T2 f l l 0 0 0 j Nếu tính trực tiếp tích phân hai lớp có thể nhận được biểu thức giải tích gọn sau: ] — ỵ ^ - ì . e"| T dT = — - ln(e6|/T - 1 ) • (1.11) 0 T 0Jl T J (e - 1) T Thay bôn đại lượng vừa tính được vào biểu thức (1.8) ứng với T = 1000K, ta nhận được giá trị lgKp I 17 - A H Ỏ (ACp)const 1 Tf dT Tf/Ar- 1 , »: lgKp ■ I ^ T +^ S ^ lgT + ^ J ^ J (ACpUdT + Aj 57055,54 1.25.1.987, 1 _ ----- -- + ------liir— Ig 1000 + —f — (-0,104) -1.3155 4,576.1000 1,987 4.576 = -10,0566 Để tính các giá trị lgKp ở nhiều nhiệt độ khác nhau, ngưòi ta phải sử dụng máy tính. Trong trường hợp này tích phân hai lớp (số hạng thứ ba) của (1.8) được tính theo phương trình (1.11). 52 Chương trình viết trên ngôn ngữ Pascal 7.0 để tính lgKp ở các nhiệt độ 400, 500, 600,..., 3000K dược đưa ra dưới đây: PROGRAM N_LgKp_H20; Var T,i:integer; Lg_Kp: real; BEGIN For i:=0 to 27 do begin T:=300+i*100; Lg_Kp:=-12468.43/T+(l.25/2.303)*Ln(T)+(l.987/4.576)* (-6288/T-Ln(exp(6130/T)-l)-0.5*Ln(exp(2224/T)-l) +Ln(exp(2290/T)-1)+Ln(exp(5730/T)-1)+ Ln(exp(5510/T)-1)) -1.3155; Writeln('Lg_Kp o nhiet do T,' = Lg_Kp:8:4); end; Readln; END. Kết quả: N hiệt độ (K) igKp Nhiệt dộ (K) IgK , 300 -39,7812 1700 -4,6954 400 -29,2352 1800 -4,2668 500 -22,8812 1900 -3,8829 600 -18,6285 2000 -3,5372 700 -15,5796 2100 -3,2241 800 -13,2850 2200 -2,9394 900 -11,4947 2300 -2,6792 1000 -10,0583 2400 -2,4407 1100 -8,8800 2500 -2,2212 1200 -7,8958 2600 -2,0185 1300 -7,0612 2700 -1,8308 1400 -6,3445 2800 -1,6565 1500 -5,7223 2900 -1,4942 1600 -5,1771 3000 -1,3427 53 Vi dụ 2: (Bài toán ngược) Tính nhiệt độ tại đó hằng số cân bằng của phản ứng H20 (/i) = H, + ị o 2 2 có giá trị Kp = 10“10. Giải: Để giải bài toán này, ta cũng thiết lập biểu thức tính lgKp như ỏ ví dụ 1, sau đó sử dụng th u ậ t toán tìm nghiêm (thuật toán bước lặp giảm dần, chẳng hạn) đê tính giá trị nhiệt độ cần tìm (tức là tìm nhiệt độ tại đó lgKp + 10 = 0). Chương trình: PROGRAM N_LgKp_H20_N; Var T,tgl,tg2,đel_t:real; Function LgKp(x:real):real: begin LgKp :=-12468.43/x+( 1.25/2.303)*Ln(x) +(1.987/4.576)*(-6288/x-Ln(exp(6130/x)-l)-0.5*Ln(exp(2224/x) -l)+Ln(exp(2290/x)-l)+Ln(exp(5730/x)-l) +Ln(exp(5510/x)-l))-l .3155; end; BEGIN T:=100; del_t: = 100; tgl: = Lgkp(T)+10; While abs(tgl)>=(l.E-8) do begin tg2:=tgl: T:=T+del_T: tgl:=Lgkp(T)+10: if tgl*tg 2<0 then del_T:=-del_T/2; end: Writeln (' gia tri cua T de lgkp=-10 la: '.T:8 :4 .'K'): Readln; END. Kết quả: Giá trị của T để lgKp = -1 0 là: 1004.5264K 54 Bảng 1.1. Sinh nhiệt (kcal/mol) của một vài chất Chất AH% Chất Chất AH°„. Chất AH°m Các chất vó cơ AgCI (tt) -30,73 FeO (tt) -63,3 H,0 (k) -57,796 NaCI (tt) -98,26 AICI,(tt) -168,3Fe?Oj (hematit)-196,5 -68,315 Pb02(tt) -66,10 C(kim cưdng) -0,437Fe20 3 (manhetit)-267,0 H,s (k) -5,0 PbS04(tt) 220,04 CO (k) -26,416 FeS, a (tt) -24,0 H;SO< (l) -194,6 s (đon tà) 0,071 co ,(k ) -94,052 FeS; (tt) -39,0 Mg^dd) -110,41 SjOO 30,47 CaC03(canxit) -288,45 HCI (k) -22,06 MgCựtt) -153,35 s o 2(k) -70.96 CaO (tt) -151.79 HCI (dd) -39,94 NH,(k) -11,04 s o 3(k) -94,61 c r (dd) -39,94 HNO,(Z; -41,62 NO (k) 21,57 XeF,(đôn tà) -60 Các chất hũli cơ CH« (k) -17,88 C ,^ (k) 4,88 CsHsft) 11,72 CsHsCOOH 92,05 C,H, (k) 54,02 C,H, (k) -24,82 CHjOH (I) -57,23 CO(NH2)2(tt) 79,53 C;H4 (k) 12,54 C T = 992,83K. Bài tậ p 13: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst đế tính nhiệt độ tại đó phản ứng C 0 2 = CO + Ị o 2 2 có giá trị hằng số cân bằng Kp = 10"'°. Kết q u ả : Kp = 1(T10 -> T = 1028,65K. Bài tậ p 14: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst để tính nhiệt độ tại đó phản ứng N H 3 = Ị n 2 + - H : 2 2 có giá trị hằng số cân bằng Kp = 1. Kết quả'. Kp = 1 —> T = 462,13K. Bài tậ p 15: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst để tính nhiệt độ tại đó phản ứng CO + 3H2 = CH4 + H20 63 có giá trị hằng số cân bằng Kp - 1. Kết quả. Kp = 1 -» T = 907,61 K. Bài tậ p 16: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst dể tính nhiệt độ tại đó phản ứng CH, + 2 0 2 = C 0 2 + 2H ,0 có giá trị hằng sô cân bằng Kp = 1010. Kết quả: Kp = 10<0 -> T = 1044,45K. Bài tậ p 17: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst để tính nhiệt độ tại đó phàn ứng NH3 + - 0 2 = — H ,0 + I n , 4 2 2 có giá trị hằng sô cân bằng Kp = 1018. Kết quả: Kp = 1018 -> T = 1016,OOK. Bài tậ p 18: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst đê tính nhiệt độ tại đó phản ứng HọO = H2 + I o 2 2 có giá trị hằng số cân bằng Kp = ÌO"10. Kết quá: Kp = 10‘ 10 -> T = 1 0 0 4 .52K. Bài tậ p 19: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst để tính nhiệt độ tại đó phản ứng H2 + C 0 2 = CO + HọO có giá trị hằng số cân bằng Kp = 1. Kết quả: Kp = 1 -> T = 1253.19K. Bài tậ p 20: Hãy viết chương trình trên ngôn ngữ lập trình Pascal, sử dụng phương pháp phương trình Nernst để tính nhiệt độ tại đó phản ứng 0 , + 4HC1 = 2 H ,0 + 2CỊ, có giá trị hằng số cân bàng Kp = 1. Kết quà. Kp = 1 -> T = 864.83K. 64 1.2. PHUONG PHÁP TEMKIN-SCHWARSMAN Xuất phát từ phương trình: AGt = AHỊ - TASt trong đó T AHt = AH°9S + j ACp dT 298 và T A c A Sị = AS°98 + J ^ d T 298 ta có thế nhận được phương trình sau: T T A p AG° = AH°98 - TAS“98 + J ACpdT - T J ^ . d T . 298 298 Phương trình (1.15) có thể viết lại thành: A G° = AH“98 - TASj98 + t U 1 ACpdT - ] ^ d T , 1 298 298 ( l ễ12) (1.13) (1.14) (1.15) (1.16) / 1 dT ^ Nếu đ ặ t u = — ->du = - —y và ACpdT = V -* dv = ACp T 298 các tích phân trong biểu thức (1.16) sẽ được viết thành . T T A C T T — I ACpdT - ---- ^dT = uv - Ị udv = I vdu T 2 98 298 ^ 298 298 hay T Ì ACpdT‘ i ^ T 1 2 98 298 = .lí.lACpdTì{” T^)dT = _lf^.,lACpdT •298 V 298 ) ' ' 298 1 ‘298 ,dT thì (1.17) Cuối cùng phương trình tính AG có dạng như sau: AGỊ = AH°9S - T aS ^ - T Ị 5 } ACpdT (1.18) 298 298 Thay giá trị AG theo biểu thức (1.18) vào biểu thức tính hằng số cân bằng lnKp = - — (119) p RT ta có AGj AH°98 AS°98 1 Tf dT Tf RT RT R R hay lgKp = - AH°98 + i— ] j Ị 1 ACpdT ■ (1.21) 4.576.T 4.576 4.576 J s T Trong phương pháp này, người ta biêu thị nhiệt dung của các chất phản ứng dưới dạng các phương trình kinh nghiệm: C p = a + bT + cT2 (1.22) hoặc Cp = a + bT + -^- p T2 do vậy ACp của phản ứng bàng: Ac' (1.23) ACp = Aa + Ab.T + Ac.T2 + — . (1.24) T Thay giá trị của ACp theo (1.24) vào biểu thức (1.21) ta được: lgKp = - ^ + - ^ 1 + — ỉ— 1 J í Aa + Ab.T + Ac.T2 + — dT 4.576.T 4.576 4,576 J 8 T2 29J8l TJ 66 hay IgKp = — 4 * 4 .8 + _AS°29S + 1 _ [ A aTf j ĩ Tf dT + Ab. 1 1 TdT + 4.576.T 4,576 4,576 L 2l T2 J s ¿ T 2 ^ +AC'.l?.ỉT2dT+AC' l f l T2dT 298 1 298 298 1 298 (1.25) Với các giá trị của cốc tích phân ứng các bậc khác nhau n = 0, ] của nhiệt độ T đặt lần lượt là M0, M,, M2, M-2 298,16 M°= ] f r í dT = ln298,16 298 1 298 M 1= í í TdT = - + - 9^i-16- - 298,16 J T 2 J 9 9 T 29 8 1 298 T_ 298.16 298,16 2,-2 (1.26) (1.27) (1.28) M* = í f : í T2dT = 298 ' 298 6 + 3.T 2 tổng quát: M 2 = ì — ì T‘2dT = - i T -------ỉ — + ----- 298 T 298 2 T 298.16.T 2.298,162 T n 298,16n+1 298,16” , , „ = — ------ + ------— ---------- — — (n = 1. 2, -2) n(n +1) (n + l).T n (1.29) (1.30) biểu thức (1.25) trở thành: 1 K AH29a ^ AS293 ^ 1 g p ~ 4,576.T 4,576 4,576Aa In 298,16 |2 -1 + 298,16 +Ab.| — + 2~8 — ■ - 298,16 I + Ac. 2 2.T +Ac'._1_______ 1 1 2.T2 298,16.T 2.298.162 hoặc có thể viết gọn lại như sau: T 298,163 2 98,162 6 3.T 2 67 lg K D = _ J ^ Ĩ Ỉ * ẹ _ + ^ ® m + — . (Aa. M0 + Ab.M, + AC.M, * Ac .M ,) p 4.Õ76.T 4.576 4.576 ' (1.31) Nhận xét rằng trong (1.31) các hệ sô M0, Mị, M2, M-2 không phụ thuộc vào tính chất và câu trúc của các chất, mà chỉ phụ thuộc vào nhiệt độ. nên để tiện sử dụng trong trường hợp không có phương tiện máy tính, người ta đã có thể tính sẵn giá trị của chúng ò các nhiệt độ khác nhau theo các phương trình (1.26) - (1.29) và lập thành bảng (xem Bảng 1.5). Nhờ các giá trị tích phân này (tra trong Báng 1.5 hoặc tính trực tiếp bằng máy tinh), các giá trị sinh nhiệt tiêu chuẩn, các giá trị entropi tuyệt đối và các giá trị hệ số a. b. c. c’ của phương trình nhiệt dung (tra trong Bảng 1.6). ta có thể tính hàng số cân bằng của các phán ứng ở các nhiệt độ khác nhau. Đó là nội dung chính cùa phương pháp Temkin-Schwarsman. Sau đây là ví dụ và chương trình tính nhằm minh họa phương pháp Temkin - Schvvarsman. Ví dụ 3: Tính hằng sô cân bàng của phản ứng sau: H 20(A) = H, + ị o 2 2 Giải: - Các giá trị Aa. Ab. Ac. AH°ọ98. S°,9s của hệ phàn ứng trên lấy từ Báng 1.6 được kê dưới đáy: Chát a b c' AH°98 (kcal/m ol) cal/m ol °298 h 2 6,52 0,78 10 3 0,12 105 0H 31.195 0 2 7,16 1.00.10-3 -0 .40 105 0 49.005 H?0 7.30 2.46.10‘ 3 0 -57.796 4 5 .1 0 6 2.8 - 1 .1 8 .1 0 '3 -0.08 105 5 7 .7 9 6 10.592 - Các giá trị M„. M,. M_>. M 2 tra ỏ B àng 1.5. Mj°°° =0.5088: MỊ000 =0.2463.10’; MỊ000 = 0.2783.10 ’ . 68 T hay các giá trị trên vào biểu thức (1.31) ta có: ỊgK1000 - 57796 10,591 ^ p _ 4,576.1000 4,576 + — 1— .(0 ,5088.2,8 + 0 ,2 4 6 3 .1 0 3.( - 1.1 8 .1 0 “3) 4,576 + 0,2783.10“5.( - 0,08.105) = -10,0726 Vậy giá trị của lgKp ồ 1000K nhận được là: lgK|>000= -10,0726. Để tính lgKp ỏ nhiều nhiệt độ khác nhau, ta phải sử dụng máy tính. Có thể lập chương trình tính trên ngôn ngữ Pascal để giải bài toán đó như sau: PROGRAM T_H20; Var T,i:integer; kq:text; Function MO(x:real):real; begin M0:=ln(x/298.16)-l+298.16/x; end; Function Ml(x:real):real; begin M 1 :=x/2+sqr(298.16)/2/x-298.16;end; Function M2(x:real):real; begin M2:=sqr(x)/6+(298.16*sqr(298.16))/x/3-sqr(298.16)/2; end; Function M_2(x:real):real; begin M_2: = l/2/sqr(x)-1/298.16/x+l/sqr(298.16)/2;end; Function lg_Kp(y:integer):real; { Phan dung để tinh lgKp Ị begin lg_Kp:= -57 796/4.576/y+l 0.591/4.576+( 1/4.576)*(M0(y)*2.8 +Ml(y)*(-1.18E-03)+M_2(y)*(-8E+03)); end; BEGIN Ị Chuong trinh chinh Ị Writeln('KET QUA TINH Lg_Kp THEO PHUONG PHAP TEMKIN_ SCHWARSMAN:’:65); Assign(kq.'kq.doc'); rewrite(kq); 69 For i:=l to 27 do begin T:=300+i*100; writeln('T = '.T.' LgKp = Mg_Kp(T):8:4); writeln(kq,lg_Kp(T):8:4); end; Readln; Close(kq); END. Ket quá: Nhiét dó (K) igKp Nhiét dó (K) igKp 400 -29.2411 1800 -4,2812 500 -22.8888 1900 -3,8968 600 -18,6379 2000 -3.5506 700 -15,5908 2100 -3,2371 800 -13.2977 2200 -2,9519 900 -11,5086 2300 -2,6915 1000 -10.0731 2400 -2,4527 1100 -8.8954 2500 2.2331 1200 -7,9115 2600 -2,0304 1300 -7,0770 2700 -1,8428 1400 -6,3603 2800 -1.6687 1500 -5,7379 2900 -1.5067 1600 1700 -5,1923 -4,7102 3000 -1 3557 Vi du 4: Tính nhiét dó tai dó háng so can báng cúa phán úng sau Ho0(/¡) = H, + l o , 2 có giá tri KP = 10“10. 70 Giải: Ta cũng thiết lập biểu thức tính lgKp như ở Ví dụ 1, sau đó sử dụng thuật toán tìm nghiệm chẳng hạn thuật toán bước lặp giảm dần đê tìm giá trị nhiệt độ tại đó lgKp = -10 (hay lgKp +10 = 0). Chương trình: Program T_H20_N; Var T,tgl,tg2,del_t:real; Function M0(x:real):real: begin M0:=ln(x/298.16)-1+298.16/x; end; Function Ml(x:real):real; begin Ml:=x/2+sqr(298.16)/2/x-298.16; end; Function M2(x:real):real; begin M2:=sqr(x)/6+(298.16*sqr(298.16))/x/3-sqr(298.16)/2; end; Function M_2(x:real):real; begin M_.2: = l/2/sqr(x)-l/298.16/x+l/sqr(298.16)/2; end; Function lgKp(T:real):real; { Phan dung de tinh lgKp Ị begin lgKp :=-57 796/4.576/T+l 0.591/4.576+( 1/4.576) *(M0(T)*2.8+ Ml(T)*(-1.18E-03)+M_2(T)*(-8E+03)); end; BEGIN { Chuong trinh chinh } Wnteln ('KET QUA TINH NHIET DO DE LgKp=-10 THEO pp TEMKIN_SCHWARSMAN:’:65); T: = 100;del_t: = 100; tgl :=lgkp(T)+10; While abs(tgl)>= (l.E -8) do begin tg2:=tgl; T:=T+del_T; tgl:=lgkp(T)+10; if tgl/tg2 <0 then del„T:=-del_T/2; end; Writeln (' gia tri cua T de lgkp=-10 la: '.T:8:4.'K'); Readln: END. Kết quả: Giá trị nhiệt độ T đế’ lgKp = -10 là: 1005.6830K. 71 Bảng 1.5. Giá trị các tích phân của phương trinh (1.31) ớ các nhiệt dộ T M0 M,.10 3 M2.10s M_;.105 T M,.10 5 M,.10 * M ,.10s 300 0,000 0,0000 0,0000 0,0000 1700 0,9162 0,5780 0,4424 0.3824 400 0.0392 0,0130 0,0043 0,0364 1800 0.9635 0.6265 0,5005 0,3915 500 0.1133 0,0407 0,149 0,0916 1900 1,009 0,6752 0,5619 0.3998 600 0,1962 0,0759 0.0303 0.1423 2000 1,0525 0.7240 0,6265 0.4072 700 0,2794 0.1153 0,0498 0,1853 2100 1,094 0,7730 0,6948 0,4140 800 0,3597 0,1574 0,0733 0.2213 2200 1,134 0,8220 0,7662 0,4203 900 0,4361 0,2012 0,1004 0.2521 2300 1.173 0,8711 0,8411 0.4260 1000 0,5088 0.2463 0,1134 0,2783 2400 1,210 0,9203 0.9192 0.4314 1100 0,5765 0,2922 0,1652 0.2988 2500 1,246 0,9696 1,0008 0.4363 1200 0,6410 0,3389 0,2029 0,3176 2600 1,280 1,0189 1,0856 0,4408 1300 0,7019 0,3860 0,2440 0.3340 2700 1,314 1.0683 1,1738 0.44505 1400 0,7595 0,4336 0,2886 0,34835 2800 1,346 1,1177 1,2654 0,4490 1500 0,8141 0,4814 0,3362 0,3610 2900 1,3775 1,1672 1,3603 0.4527 1600 0,8665 0,5296 0,3877 0,3723 3000 1.408 1,2166 1,4585 0.4562 Bảng 1.5 này được lấy từ [4], trang 452. Bạn đọc có thể kiểm tra lại giá trị của các đại lượng M0, Mi, Mọ, M_2 của bảng này bàng cách sử dụng chương trình viết ở ví dụ 3 và ví dụ 4. 7 2 B â n g 1.6. N h iệ t d u ng, s in h n h iệt, n ăn g lượng G ib b s h ìn h thành v à e n tro p y tiê u c h u ẩ n của m ộ t vài dơn chất, hợ p c h ấ t và ion Nhiệt dung Chất Các hệ sô' của phưong trinh C„=. corvimđum 27.43 3,06 0.847 298-1500 18,89 400,5 -378,17 12,17 AI20 3.Si02 (tt), kianit41,05 6.98 1.246 298-1500 29,10 -620,1 -584.16 20.02 AI20 3Si02 (tt).silimanhil 39,30 8,04 1,102 298-1500 29,3 -618,8 -583,74 22,97 ai2o 3.s ĩo2 (tt),anđaluzit41,22 6,24 1,222 298-1600 29,34 --619,6 -584,33 22,28 3AỊA.2SÌCỊ, (tt),mulit111,29 13,06 3,322 298-2000 77,94 -1630,0 -1538,35 60,78 A y s 0 4),(tt) 88,09 14,80 27,12 62,0 -822,61 -741,13 57,17 AsCI, (k) 19.72 -0.10 1,46 298-2000 18.04 -64,8 -61,68 77,97 AsHj (k) 10.07 5,42 2,20 298-2000 9,22 15,87 16,47 53,29 A s A (tt) 8,37 48,6 ---- 298-548 22.86 159.2 -140,6 27,89 A s A (tt) 27,85 -221.42 -187.33 25,2 A s A (tt) 16.74 97.2 48,7 319.0 -281.66 55,8 BCI3 (k) 18,45 0,80 3,28 298-2500 15,0 -96,51 -92,89 69,22 BA («) 15,88 14,81 0,49 298-723 15,00 -304,23 -285,33 12,90 B,c (tt) 22,99 5.40 10,72 298-1700 12,62 6,48 BaCI? (tt) 17,00 3,34 ---- 273-1198 17,96 -205,0 -193,2 29.56 BaC03 (tt),viterit21,50 11,06 3,91 298-1079 20,40 -297,5 -278,4 26,8 BaF2 (tt) 13,98 10,20 — 298-1300 17,02 -286.9 -274,5 23,03 Ba(NO,), (tt) 30,05 35,70 4,01 29&-850 36,18 -237,06 190,0 51,1 BaO (tt) 11.79 1.88 0.88 298-2000 10,82 -139,06 -132,0 16,8 77 Nhiệt dung < C X Ê( Chất Các hệ sô' của phưdng kcal/mol kca l/mols*m. AH"». trinh Cp = it55,87 7,84 15,74 298 1600 39,80 766,2 -724,5 34,2 Ca(N03), (tt) 29,37 36,80 4,13 298-800 35,70 -224,00 -177,34 46,2 CaS (tt) 10,20 3,80 ------- 298-1000 11,33 -115,3 -114,1 13,5 CaS04 (tt), anhiđrit16,78 23,60 -------- 298-1468 23,82 -342,42 -315,56 25,5 CaS04.2H20 (tt), thạch cao21,84 76,00 -------- 298-400 44,5 -483,06 -429,19 46.36 CaSi03 (tt), volastonit26,64 3,60 6,52 298-1450 20,38 -390,76 -370,30 19,6 Ca2Si04, p (tt) 34,87 9,74 6,26 298-970 30,74 -551,49 -524,00 30,5 Ca3(P04)2, a ( « ) 48,24 39,24 5,00 298-1373 55,35 -986,2 -929,7 57,6 CdBr2 (tt) 18,32 -75,35 -70,71 33,18 CdCOj (tt) -180,36 -166.2 23 CdCI2 (tt) 14,64 9,60 ------- 273-841 17,84 -93,40 -82,04 27,55 79 Nhiệt dung Chất Các hệ so của phường trinh c „ = p(T)Khoảng nhiêt đô