®¹I häc th¸i nguyªn
trêng ®¹I häc s ph¹m
Khoa Ho¸ häc
TS Mai Xu©n Trêng
DĐ : 0912.739.257 CQ : 0280.3856.853 NR 0280.3759.402
Bµi gi¶ng
Tin häc øng dông trong ho¸ häc
(2 tÝn chØ)
(TÀI LIU LƯU HÀNH NI B)
Th¸i nguyªn, 2011
TS Mai Xu©n Trêng - Trêng §¹i häc S ph¹m - §¹i häc Th¸i Nguyªn
1
Më ®Çu
Tin häc trong hãa häc (chemometric) hay ho¸ tin (computational
chemistry) lµ danh tõ dïng ®Ó chØ mét lÜnh vùc khoa häc kÕt hîp to¸n
häc - mµ chñ yÕu lµ ph¬ng ph¸p tÝnh - víi m¸y tÝnh ®Ó gi¶i c¸c bµi to¸n ho¸ häc.
Ho¸ tin bao giê còng ®îc cÊu thµnh bëi ba yÕu tè: thuËt to¸n (algorithm), ®o¹n
ch¬ng tr×nh m¸y tÝnh (computer code) vµ néi dung ho¸ häc.
Tin häc øng dông trong hãa häc cã thÓ hiÓu lµ c¸c ph¬ng ph¸p tÝnh to¸n trªn
m¸y tÝnh ®Ó gi¶i c¸c bµi to¸n ho¸ häc vµ kh«ng cã tÝnh ®Æc thï ®Çy ®ñ. Tøc lµ cã t
cã nh÷ng ph¬ng ph¸p chØ dïng ®Ó gi¶i c¸c bµi to¸n ho¸ häc, thêng lµ nh÷ng ph¬ng
ph¸p tæ hîp cÊu thµnh bµi to¸n lín nh ho¸ lîng tö (quantum chemistry), m« pháng
®éng lùc ph©n tö lîng tö (quantum molecular dynamics simulation), vµ cã nh÷ng
ph¬ng ph¸p kh«ng chØ ®îc dïng trong ho¸ häc mµ cßn dïng trong c¸c lÜnh vùc
kh¸c. C¸c ph¬ng ph¸p nµy, ®Æc biÖt lµ trong viÖc khai th¸c d÷ liÖu (datamining),
thêng lµ nh÷ng ph¬ng ph¸p ®¬n, kh«ng qu¸ phøc t¹p vµ xuÊt ph¸t tõ nh÷ng bµi to¸n
c¬ b¶n trong to¸n häc vÒ ph¬ng ph¸p tÝnh nh: ph¬ng ph¸p håi quy phi tuyÕn, gi¶i
hÖ ph¬ng tr×nh vi ph©n, läc Kalman (Kalman filter), m¹ng n¬ron, ...
Nh÷ng n¨m gÇn ®©y, sù ph¸t triÓn c¸c ng«n ng÷ lËp tr×nh, thuËt to¸n, c¸c
bµi to¸n ho¸ häc, c¸c phÇn mÒm tÝnh to¸n øng dông trong ho¸ häc vµ sè lîng
ngêi sö dông ngµy cµng nhiÒu. §Ó phôc vô c«ng t¸c gi¶ng d¹y vµ häc tËp tin häc
øng dông trong hãa häc, chóng t«i ®· biªn so¹n bµi gi¶ng "Tin häc øng dông trong
ho¸ häc". HiÖn nay cã rÊt nhiÒu thuËt to¸n, phÇn mÒm còng nh c¸c bµi to¸n ho¸
tin øng dông ®· ®îc t¶i lªn m¹ng INTERNET, b¹n cã thÓ t×m thÊy trªn m¹ng c¸c
thuËt to¸n díi d¹ng m· nguån më cho hÇu hÕt c¸c bµi to¸n øng dông trong ho¸
häc th× viÖc thay ®æi c¸ch häc thùc lµ rÊt cÊp thiÕt. Tuy nhiªn ®Ó cã thÓ hiÓu ®îc
c¸c ch¬ng tr×nh ®ã ta cÇn ph¶i hiÓu c¸c kh¸i niÖm c¬ b¶n cña tin häc dïng trong
ho¸ häc nh c¸c häc thuËt to¸n, nh÷ng lÖnh rÊt c¬ b¶n cña ng«n ng÷ lËp tr×nh ®ã.
V× vËy gi¸o tr×nh nµy chñ yÕu cung cÊp nh÷ng kh¸i niÖm c¬ b¶n nhÊt cña
c¸c ng«n ng÷ lËp tr×nh ®Ó ngêi häc cã thÓ lËp tr×nh nh÷ng ch¬ng tr×nh ®¬n gi¶n
hay cã thÓ sö dông c¸c ch¬ng tr×nh nguån më ®· cã.
TS Mai Xu©n Trêng - Trêng §¹i häc S ph¹m - §¹i häc Th¸i Nguyªn
2
Ch¬ng 1 : më ®Çu
1.1. c¸c kh¸i niÖm c¬ b¶n
1.1.1. Th«ng tin
Mäi yÕu tè cã thÓ mang l¹i sù hiÓu biÕt ®Òu ®îc gäi lµ th«ng tin. Th«ng
tin ®îc thÓ hiÖn díi nhiÒu d¹ng thøc kh¸c nhau. Th«ng tin vÒ mét ®èi tîng
chÝnh lµ c¸c d÷ kiÖn vÒ ®èi tîng ®ã, cµng nhiÒu th«ng tin th× ®é bÊt ®Þnh cña ®èi
tîng cµng gi¶m xuèng.
1.1.2. §¬n vÞ ®o th«ng tin
§¬n vÞ ®o th«ng tin trong m¸y tÝnh ®îc gäi lµ bÝt. 1 bÝt mang lîng th«ng
tin t¬ng øng víi 1 trong 2 kh¶ n¨ng cã thÓ x¶y ra: 1 (t¬ng øng víi cã ®iÖn hay
bãng ®Ìn s¸ng) hoÆc 0 (t¬ng øng víi kh«ng cã ®iÖn (bãng ®iÖn t¾t) ).
1 byte = 8 bÝt 1KB = 1024 byte 1MB = 1024KB
1GB = 1024MB
1.1.3. Xö lý th«ng tin b»ng m¸y tÝnh ®iÖn tö
M¸y tÝnh sÏ kh«ng lµm g× nÕu kh«ng cã t¸c ®éng cña con ngêi. Ngêi sö
dông ph¶i nhËp sè liÖu, bÊm c¸c phÝm thùc hiÖn phÐp to¸n còng nh yªu cÇu
hiÓn thÞ kÕt qu¶ hoÆc lu tr÷ kÕt qu¶.
1.2. CÊu tróc hÖ xö lý th«ng tin tù ®éng
T
h«ng tin vµo Qu¸ tr×nh xö lý KÕt qu¶
Quy t¾c theo ®ã qu¸ tr×nh xö lý ®îc thùc hiÖn (do con ngêi ®Æt ra)
ThiÕt bÞ vµo
Bµn phÝm
Chuét
æ ®Üa
M¸y Scan
CPU
Bé nhí RAM
Bé nhí ROM
Bé xö lý trung t©m
Bé sè häc logic
Bé ®iÒu khiÓn
ThiÕt bÞ ra
Mµn h×nh
M¸y in
æ ®Üa
TS Mai Xu©n Trêng - Trêng §¹i häc S ph¹m - §¹i häc Th¸i Nguyªn
3
C¸c thiÕt vµo vµ c¸c thiÕt ra gäi lµ c¸c thiÕt bÞ ngo¹i vi, tïy theo yªu cÇu
mµ ta cã thÓ thªm, bít c¸c thiÕt bÞ ngo¹i vi cho phï hîp.
M¸y tÝnh ho¹t ®éng dùa trªn nguyªn lý c¬ b¶n Von Neumann. C¸c lÖnh vµ
d÷ liÖu cïng ®îc lu tr÷ trong bé nhí ®îc t¹o bëi c¸c tõ ®Þa chØ dùa trªn 2 yÕu
tè then chèt :
+ §iÒu khiÓn b»ng ch¬ng tr×nh: M¸y tÝnh ho¹t ®éng theo sù chØ dÉn, ®iÒu
khiÓn cña ch¬ng tr×nh ®îc lu tr÷ trong bé nhí cña nã. C¸c bíc t¸c ®éng
®îc tiÕn hµnh theo c¸c c©u lÖnh cña ch¬ng tr×nh. Ch¬ng tr×nh chØ dÉn cho
m¸y tÝnh biÕt ph¶i lµm g× vµ ph¶i lµm nh thÕ nµo.
+ Truy xuÊt theo ®Þa chØ: D÷ liÖu theo nghÜa réng (d÷ liÖu vµo, kÕt qu¶
trung gian, kÕt qu¶ cuèi cïng, ch¬ng tr×nh, d÷ liÖu ra, . . ) ®îc lu tr÷ trong
RAM t¹i mét vïng nhí ®îc ®Þnh vÞ b»ng c¸c sè thø tù ®îc gäi lµ ®Þa chØ. D÷
liÖu ®îc chØ ®Þnh vµ ®îc truy cËp (®äc hay ghi) theo ®Þa chØ « nhí chøa chóng.
1.3. phÇn mÒm
Trong tin häc, thuËt ng÷ phÇn mÒm ®îc dïng ®Ó nãi vÒ c¸c ch¬ng tr×nh
dïng ®Ó ®iÒu khiÓn ho¹t ®éng cña m¸y tÝnh, xö lý d÷ liÖu phôc vô cho mét øng
dông cô thÓ trong ho¹t ®éng kinh tÕ, s¶n xuÊt, kinh doanh, . . . VÝ dô: c¸c ch¬ng
tr×nh n¹p s½n trong ROM, c¸c ch¬ng tr×nh phÇn mÒm do ngêi lËp tr×nh viÕt.
NÕu ta ®a ra khái m¸y t×nh toµn bé c¸c ch¬ng tr×nh n¹p s½n trong nã, kÓ
c¶ c¸c ch¬ng tr×nh ghi s½n trong ROM th× nh÷ng g× cßn l¹i ®îc gäi lµ phÇn
cøng cña m¸y tÝnh. Nh vËy, thuËt ng÷ phÇn cøng ®îc dïng ®Ó chØ linh kiÖn,
chi tiÕt, thiÕt bÞ l¾p r¸p thµnh m¸y tÝnh.
C¸c chuyªn gia phÇn cøng tËp trung vµo viÖc thu nhá kÝch thíc, khèi
lîng c¸c linh kiÖn ®iÖn tö, c¬ khÝ, bé nhí nh»m lµm gi¶m n¨ng lîng tiªu hao
cho m¸y tÝnh, t¨ng kh¶ n¨ng lu tr÷ vµ vËn tèc tÝnh to¸n.
C¸c chuyªn gia phÇn mÒm tËp trung vµo viÖc x©y dùng ho¹t ®éng chÝnh
x¸c, khoa häc vµ tiÖn lîi trªn c¬ së phÇn khai th¸c tèi ®a kh¶ n¨ng cña m¸y tÝnh
phôc vô cho lîi Ých cña con ngêi. Sù phèi hîp chÆt chÏ gi÷a hai lÜnh vùc phÇn
cøng vµ phÇn mÒm lµ ®éng lùc thóc ®Èy sù ph¸t triÓn cña tin häc
TS Mai Xu©n Trêng - Trêng §¹i häc S ph¹m - §¹i häc Th¸i Nguyªn
4
Ch¬ng 2 : mét sè ng«n ng÷ lËp tr×nh
2.1. Më ®Çu
C¸c ng«n ng÷ lËp tr×nh lµ ph¬ng tiÖn giao tiÕp gi÷a ngêi vµ m¸y tÝnh.
Nh ta ®· biÕt, muèn yªu cÇu m¸y tÝnh gi¶i mét bµi to¸n nµo ®ã, vÝ dô tÝnh gi¸ trÞ
cña biÓu thøc a = (b + c).(d + e) hoÆc a = b + c.d + e chóng ta ph¶i viÕt mét
ch¬ng tr×nh quy ®Þnh thËt râ trËt tù thùc hiÖn c¸c thao t¸c ®Ó ®îc kÕt qu¶ mong
muèn. Nh vËy ch¬ng tr×nh m¸y tÝnh chÝnh lµ mét thuËt gi¶i ®îc viÕt díi
d¹ng mét quy ®Þnh b»ng mét ng«n ng÷. Ng«n ng÷ dïng ®Ó viÕt ch¬ng tr×nh
m¸y tÝnh ®îc gäi lµ ng«n ng÷ lËp tr×nh.
VÝ dô: §Ó tÝnh biÓu thøc a = (b + c).(d + e) th× qu¸ tr×nh thùc hiÖn viÖc tÝnh
to¸n b»ng ch¬ng tr×nh m¸y tÝnh nh sau:
Bíc 1. §äc gi¸ trÞ b ë b¶ng 1.
Bíc 2: §äc gi¸ trÞ c ë b¶ng 2, céng b víi c.
Bíc 3: Ghi gi¸ trÞ tæng (b + c) vµo b¶ng 5.
Bíc 4: §äc gi¸ trÞ d ë b¶ng 3.
Bíc 5: §äc gi¸ trÞ e ë b¶ng 4, céng d víi e.
Bíc 6: Ghi gi¸ trÞ tæng (d + e) ra b¶ng 6.
Bíc 7: lÊy gi¸ trÞ ë b¶ng 5 nh©n víi gi¸ trÞ ë b¶ng 6.
Bíc 8: ghi gi¸ trÞ tÝch (b + c).(d + e) ra b¶ng 7 vµ g¸n cho gi¸ trÞ a.
Bíc 9: ViÕt gi¸ trÞ a ë b¶ng 7.
Bíc 10. Dõng ch¬ng tr×nh.
C¸c b¶ng 3, 4, 6, 7 cã thÓ dïng l¹i b¶ng 1, 2 b»ng c¸ch xãa ®i (ghi ®Ì lªn)
sau khi ®· dïng xong.
ThuËt gi¶i (c¸c bíc) ë trªn chØ ®Ó con ngêi thùc hiÖn, muèn cho m¸y
tÝnh cã thÓ “hiÓu” vµ thùc hiÖn ®îc ®óng ý ®å cña chóng ta cÇn ph¶i diÔn ®¹t
thuËt gi¶i ®· cho díi mét d¹ng quy ®Þnh nµo ®ã. Mét trong sè c¸c d¹ng quy
®Þnh ®ã lµ hîp ng÷. Hîp ng÷ bao gåm tªn c¸c c©u lÖnh vµ c¸c quy t¾c viÕt c¸c
c©u lÖnh ®Ó m¸y tÝnh hiÓu ®îc. Tªn c¸c cÊu lÖnh thêng ®îc viÕt díi d¹ng
tiÕng anh nh: READ, WRITE, INPUT, ADD, PRINT, . . .