Ch¬ng 3
C¸c kh¸i niÖm c¸c hµm
b¶n trong lËp tr×nh trªn Maple
3.1. C¸c kh¸i niÖm c¬ b¶n........................................................................... 85
3.1.1. Tªn (name) x©u tù...................................................................... 86
3.1.2. BiÕn trong Maple................................................................................. 87
3.1.3. ®Þnh gi¸ ........................................................................................... 87
3.1.4. Ng¨n c¶n ®Þnh gi¸.............................................................................. 90
3.1.5. ®éng ®¬n gi¶n biÓu thøc........................................................... 91
3.1.6. C¸c tÝnh to¸n trong Maple............................................................ 92
3.2. C¸c hµm thêng dïng trong Maple ................................................. 92
3.2.1. ¦íc lîng gi¸ trÞ.................................................................................. 92
3.2.2. §¬n gi¶n biÓu thøc: lÖnh simplify.................................................. 94
3.2.3. T×m gi¸ trÞ lín nhÊt nhÊt............................................................ 96
3.2.4. Thay thÕ trong biÓu thøc: lÖnh subs................................................... 97
3.2.5. chøc biÓu thøc theo mét biÕn chÝnh....................................... 99
3.2.6. S¾p xÕp c¸c h¹ng........................................................................ 100
3.2.7. ChuyÓn ®æi d¹ng cÊu tróc liÖu (lÖnh convert)......................... 102
3.2.8. Thùc hiÖn mét phÐp to¸n trªn nhiÒu thµnh phÇn........................... 104
3.2.9. Xem cÊu tróc thµnh phÇn cña mét biÓu thøc .......................... 105
3.2.10. KiÓm tra mét phÇn thuéc mét liÖu cÊu tróc nµo ®ã 108
85
3.2.11. KiÓm tra mét tªn ®· ®îc g¸n hay cha..................................... 109
3.3. C¸ch t¹o lËp hµm trong Maple.........................................................111
3.3.1.ThiÕt lËp c¸c hµm kÐp (hµm hîp, hµm lång nhau) ....................... 111
3.3.2. §Þnh nghÜa hµm b»ng to¸n mòi tªn (->)..................................... 112
3.3.3. §Þnh nghÜa hµm b»ng to¸n hîp thµnh @.................................... 113
3.3.4. Dïng chu tr×nh proc()...end ®Ó t¹o hµm.................................... 114
3.4. C¸c cÊu tróc d÷ liÖu c¬ b¶n..............................................................117
3.4.1. CÊu tróc liÖu d·y......................................................................... 117
3.4.2. CÊu tróc tËp hîp danh s¸ch....................................................... 119
TËp hîp......................................................................................................................119
Danh s¸ch..................................................................................................................119
LÖnh t¹o danh s¸ch vµ tËp hîp..................................................................................120
3.4.3. CÊu tróc liÖu b¶ng....................................................................... 122
LÖnh t¹o b¶ng............................................................................................................122
3.4.4. CÊu tróc liÖu m¶ng...................................................................... 124
3.4.5. Sparse, symmetric, nh÷ng gi¶n ®å chØ ®Þnh ®Æc biÖt cho m¶ng
b¶ng............................................................................................................. 126
3.1. C¸c kh¸i niÖm c¬ b¶n
3.1.1. Tªn (name) x©u
Tªn lµ mét x©u h×nh (string of letters) ®îc dïng nhmét chØ môc hay mét
nh·n ®Ó ®¹i diÖn cho c¸c ®èi tîng trong Maple cã thÓ thay ®æi ®îc (nhbiÕn, kÝ
hiÖu to¸n häc, c¸c biÓu thøc nãi chung,...) mµ ta cã thÓ g¸n cho nã. Tªn lµ mét
trong c¸c thµnh phÇn kh«ng thÓ thiÕu ®îc cña Maple trong viÖc t¹o ra c¸c biÓu
thøc. ChiÒu dµi tèi ®a cña tªn phô thuéc vµo hÖ m¸y tÝnh mµ Maple ch¹y trªn ®ã
(víi m¸y 32-bit th× chiÒu dµi tèi ®a cña tªn lµ 524275).
BÊt cø biÓu thøc nµo ®Òu cã thÓ ®îc g¸n cho mét c¸i tªn. NÕu kh«ng cã gi¸ trÞ
nµo ®îc g¸n cho mét tªn th× nã sÏ nhËn chÝnh tªn nã lµm gi¸ trÞ mÆc ®Þnh.
Ch¬ng tr×nh Maple sö dông tªn b¾t ®Çu víi mét dÊu g¹ch díi ( _ ) lµm c¸c
biÕn toµn côc, vµ v× thÕ chóng ta nªn tr¸nh sö dông chóng.
Mét x©u bÊt kú (string of characters) cã thÓ kh«ng ph¶i lµ x©u h×nh tù (v×
cã thÓ chøa c¸c ký tù ®Æc biÖt nh: kho¶ng trèng, dÊu chÊm than,...) vµ do ®ã kh«ng
86
thÓ lµ mét tªn hîp lÖ. Tuy nhiªn, Maple cho phÐp t¹o mét tªn tõ mét x©u bÊt
kú b»ng c¸ch cho nã vµo trong cÆp dÊu nh¸y ®¬n ( ` ) (backquote), thÝ dô nhx©u
kÝ tù `a variable!` lµ mét tªn biÕn hîp lÖ, vµ ngêi ta cã thÓ g¸n cho nã gi¸ trÞ 10
b»ng lÖnh `a variable!`:=10.
Mét x©u h×nh tù thêng lµ mét tªn hîp lÖ vµ ®îc xem lµ trïng víi tªn ®îc t¹o
b»ng c¸ch bao chung quanh x©u nµy b»ng cÆp dÊu nh¸y (v× thÕ mµ x vµ `x` ®Òu chØ
®Õn mét tªn). Tuy nhiªn, nÕu x©u h×nh mµ trïng víi tõ khãa cña Maple th×
kh«ng ph¶i lµ mét tªn hîp lÖ, vµ muèn cho nã trë thµnh mét tªn ta l¹i ph¶i cho nã
vµo trong cÆp dÊu nh¸y.
Hai dÊu nh¸y liªn tiÕp trong mét x©u kÝ tù sÏ ®îc hiÓu nhlµ mét dÊu. VÝ dô
nhkhi ta viÕt: print(` I``m a student`); th× kÕt qu¶ sÏ cho ta x©u: I`m a student.
3.1.2. BiÕn trong Maple
BiÕn trong Maple lµ nh÷ng tªn ®îc dïng ®Ó thay thÕ cho mét ®èi tîng nµo
®ã, th«ng thêng lµ c¸c gi¸ trÞ cÇn thay ®æi, hoÆc c¸c biÓu thøc tÝnh to¸n cÇn cho
gi¸ trÞ,... Cã hai lo¹i biÕn trong Maple: BiÕn lËp tr×nh biÕn to¸n häc.
BiÕn lËp tr×nh lµ nh÷ng biÕn cã thÓ g¸n bëi mét gi¸ trÞ nµo ®ã vµ gi¸ trÞ ®ã ®îc
lu tr÷ cho ®Õn tËn lóc nã thùc sù bÞ thay ®æi.
Mét biÕn to¸n häc thÓ hiÖn cho Èn sè trong to¸n häc, kh«ng thÓ ®îc g¸n gi¸
trÞ vµ tÊt nhiªn ta kh«ng thÓ dïng nã nhlµ mét biÕn lËp tr×nh. NÕu b¹n kh«ng
muèn ph©n biÖt biÕn ®îc g¸n (biÕn lËp tr×nh) vµ biÕn kh«ng ®îc g¸n (biÕn to¸n
häc) trong Maple th× b¹n cã thÓ nghÜ r»ng biÕn to¸n häc trong Maple lµ biÕn ®îc
g¸n mµ gi¸ trÞ lu«n b»ng chÝnh tªn biÕn.
BiÕn còng gièng nhmét n, b¾t ®Çu bëi mét h×nh , theo sau lµ c¸c ch÷ c¸i
kh¸c, c¸c ch÷ sè, vµ dÊu g¹ch díi.
3.1.3. ®Þnh gi¸
Mét tªn mµ ®îc g¸n mét gi¸ trÞ (kh¸c tªn nã) th× sÏ trë thµnh biÕn ch¬ng
tr×nh, cßn nÕu cha tõng ®îc g¸n mét gi¸ trÞ nµo th× nã nhËn chÝnh tªn nã lµm gi¸
trÞ vµ ®îc xem nhlµ mét kÝ hiÖu biÓu thÞ cho Èn sè trong to¸n häc (ch¼ng h¹n
trong ph¬ng tr×nh, biÕn trong ®a thøc,...). NhvËy, viÖc ph©n biÖt mét tªn lµ mét
biÕn ch¬ng tr×nh hay lµ mét biÕn to¸n häc (mang ý nghÜa lµ Èn sè) lµ rÊt quan
träng ®èi víi Maple trong lóc thùc hiÖn c¸c lÖnh cã chøa tham sè. Ta xem xÐt chi
tiÕt b»ng c¸ch ph©n tÝch mét vÝ dô cô thÓ.
XÐt d·y c¸c phÐp g¸n:
[>restart;
[>z:=y;
y:=t;
t:=x^2+5*x-12;
87