Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

LËp tr×nh trªn maple

1. C¸c lÖnh lËp tr×nh c¬ b¶n


1.1. Vßng lÆp While
CÊu tróc có ph¸p:
While <®iÒu kiÖn> do <d·y lÖnh> od;
Chøc n¨ng:
Vßng lÆp while cho phÐp lÆp chuçi c¸c c©u lÖnh gi÷a do
vµ od khi mµ ®iÒu kiÖn condition vÉn cßn ®óng (tøc lµ biÓu
thøc ®iÒu kiÖn cho gi¸ trÞ true). §iÒu kiÖn condition ®îc kiÓm
tra ngay t¹i ®Çu mçi vßng lÆp, nÕu nã tháa m·n (gi¸ trÞ cña
nã lµ ®óng) th× c¸c c©u lÖnh bªn trong ®îc thùc hiÖn, sau
®ã l¹i tiÕp tôc kiÓm tra ®iÒu kiÖn condition cho ®Õn khi
®iÒu kiÖn kh«ng cßn tháa m·n n÷a.Vßng lÆp while thêng ®îc
sö dông khi sè lÇn lÆp mét hay mét chuçi biÓu thøc lµ kh«ng
x¸c ®Þnh râ, ®ång thêi ta muèn c¸c biÓu thøc ®ã cÇn ®îc
lÆp trong khi mét ®iÒu kiÖn nµo ®ã cßn ®îc tháa m·n.
§iÒu kiÖn condition trong vßng lÆp ph¶i lµ mét biÓu thøc
boolean, tøc lµ gi¸ trÞ cña nã chØ cã thÓ lµ ®óng hoÆc sai,
nÕu kh«ng th× sÏ sinh ra lçi.
Trong trêng hîp muèn tho¸t ra khái vßng lÆp ngay tõ trong
gi÷a vßng lÆp, ta cã thÓ thùc hiÖn b»ng c¸ch dïng c©u lÖnh
RETURN, break hoÆc quit.
Chó ý r»ng vßng lÆp while- do- od; kh«ng b¾t buéc ph¶i
n»m trªn nhiÒu dßng lÖnh nhng ngêi ta thêng viÕt trªn nhiÒu
dßng ®Ó c©u lÖnh dÔ ®äc vµ dÔ hiÓu h¬n.

1
Vßng lÆp While cho phÐp lÆp chuçi c¸c c©u lÖnh n»m gi÷a
do vµ od khi mµ ®iÒu kiÖn vÉn cßn ®óng.

1.2. Vßng lÆp for


CÊu tróc có ph¸p:
for name from start by change to finish
do
statement sequence
od;
HoÆc d¹ng ph¸t biÓu kh¸c:
for name in expression
do
statement sequence
od;
Chøc n¨ng:
Vßng lÆp for ®îc dïng ®Ó lÆp mét chuçi c¸c biÓu thøc ®îc
®Æt gi÷a do vµ od, mçi lÇn lÆp tng øng víi mét gi¸ trÞ ph©n
biÖt cña biÕn chØ sè name ®øng sau tõ kho¸ for. Ban ®Çu,
gi¸ trÞ start ®îc g¸n cho biÕn chØ sè. NÕu gi¸ trÞ cña biÕn
name nhá h¬n hay b»ng gi¸ trÞ finish th× chuçi lÖnh n»m
gi÷a do vµ od ®îc thùc hiÖn, sau ®ã biÕn name ®îc g¸n gi¸
trÞ tiÕp theo b»ng c¸ch céng thªm vµo nã gi¸ trÞ change
(name:=name+change). Sau ®ã, biÕn name ®îc so s¸nh víi
finish ®Ó quyÕt ®Þnh xem viÖc thùc hiÖn chuçi lÖnh cã ®îc
tiÕp tôc n÷a kh«ng. Qu¸ tr×nh so s¸nh biÕn chØ sè name vµ

2
thùc hiÖn chuçi lÖnh ®îc lÆp liªn tiÕp cho ®Õn khi gi¸ trÞ cña
biÕn name lín h¬n gi¸ trÞ finish. Gi¸ trÞ cuèi cïng cña biÕn
name sÏ lµ gi¸ trÞ vît qu¸ finish ®Çu tiªn.
Chó ý. NÕu c¸c tõ khãa from start hoÆc by change bÞ bá qua
th× mÆc ®Þnh from 1 vµ by 1 ®îc dïng.
Vßng lÆp for- in- do- od thùc hiÖn viÖc lÆp víi mçi gi¸ trÞ mµ
biÕn chØ sè name lÊy tõ biÓu thøc expression ®· cho. Ch¼ng
h¹n vßng lÆp nµy ®îc sö dông hiÖu qu¶ khi mµ gi¸ trÞ cña
biÕn name lµ mét phÇn tö cña mét tËp hîp hoÆc danh s¸ch.
Trong trêng hîp muèn tho¸t khái tõ gi÷a vßng lÆp, ta cã thÓ
dïng c¸c c©u lÖnh break, quit, RETURN gièng nh trong vßng
lÆp while.
1.3. LÖnh ®iÒu kiÖn if
CÊu tróc có ph¸p:
if condition then
statement sequence
| elif condition then statement sequence |
| else statement sequence |
f;
(Ghi chó: C¸c c©u lÖnh trong cÆp dÊu ngoÆc ®øng lµ c¸c
lÖnh tuú chän. ThÝ dô: biÓu thøc | statement | cho biÕt r»ng
statement lµ mét c©u lÖnh tuú chän).
Chøc n¨ng:
NÕu b¹n muèn mét d·y biÓu thøc ®îc thùc hiÖn khi ®iÒu
kiÖn nµo ®ã ®îc tho¶ m·n vµ mét d·y biÓu thøc kh¸c ®îc thùc
hiÖn nÕu tr¸i l¹i th× cã thÓ dïng c©u lÖnh if- then- else- fi.
Trong c©u lÖnh trªn, nÕu ®iÒu kiÖn condition lµ ®óng th×
chuçi biÓu thøc ®øng sau then ®îc thùc hiÖn, nÕu tr¸i l¹i th×

3
®iÒu kiÖn condition sau tõ kho¸ elif sÏ ®îc kiÓm tra, nÕu nã
®óng th× chuçi lÖnh t¬ng øng sau then ®îc thùc hiÖn, cø
tiÕp tôc cho ®Õn khi c¸c ®iÒu kiÖn condition ®Òu kh«ng
tháa m·n, th× c¸c biÓu thøc sau lÖnh else ®îc thùc hiÖn.
Lu ý r»ng cÊu tróc lÖnh (tuú chän) elif...then... ®îc lÆp l¹i víi
sè lÇn tuú ý. Tõ kho¸ elif lµ d¹ng viÕt t¾t cña else if.
C¸c biÓu thøc ®iÒu kiÖn condition ®îc sö dông trong c©u
lÖnh if ph¶i ®îc t¹o thµnh tõ c¸c bÊt ®¼ng thøc, c¸c ®¼ng
thøc (c¸c phÐp to¸n quan hÖ), c¸c biÕn sè, c¸c phÐp to¸n
logic, c¸c hµm cã gi¸ trÞ tr¶ l¹i lµ gi¸ trÞ logic. NÕu tr¸i l¹i th× sÏ
g©y ra lçi.
1.4. LÖnh break
CÊu tróc có ph¸p: break
Chøc n¨ng:
Trong lóc vßng lÆp while/for ®ang ®îc thùc hiÖn, nÕu lÖnh
break ®îc gäi th× ch¬ng tr×nh sÏ tho¸t ngay lËp tøc ra khái
vßng lÆp while/for tËn trong cïng nhÊt mµ cã chøa lÖnh break
(v× còng cã thÓ cã nhiÒu vßng lÆp while/for ®îc lång nhau).
Mét vÝ dô kh¸ ®iÓn h×nh trong viÖc sö dông lÖnh break lµ
trong qu¸ tr×nh t×m kiÕm search, râ rµng lµ b¹n sÏ muèn dõng
qu¸ tr×nh quÐt l¹i ngay khi b¹n t×m thÊy ®èi tîng cÇn t×m.
Khi ®ã, ngay t¹i thêi ®iÓm t×m thÊy, b¹n dïng lÖnh break ®Ó
nh¶y ra khái vßng lÆp t×m kiÕm. Tríc lÖnh break thêng cã
mét c©u lÖnh ®iÒu kiÖn if... then...
NÕu lÖnh break dïng ngoµi c¸c vßng lÆp while/for th× sÏ
sinh ra lçi.

4
Chó ý: break kh«ng ph¶i lµ tõ kho¸ (tõ dµnh riªng cho Maple),
v× vËy ta cã thÓ g¸n gi¸ trÞ cho biÕn cã tªn lµ break mµ
kh«ng hÒ sinh ra lçi (mÆc dï ®iÒu nµy lµ kh«ng nªn).
1.5. LÖnh next
CÊu tróc có ph¸p: next
Chøc n¨ng:
Còng gièng nh c©u lÖnh break, lÖnh next ®îc thùc hiÖn
trong vßng lÆp while/for víi môc ®Ých bá qua mét sè lÖnh
bªn trong vßng lÆp ®Ó nh¶y qua lÇn lÆp tiÕp theo. Khi gÆp
lÖnh next trong vßng lÆp, ch¬ng tr×nh bá qua c¸c lÖnh tiÕp
theo cña vßng lÆp tËn cïng nhÊt chøa next cho ®Õn khi gÆp
tõ kho¸ x¸c ®Þnh kÕt thóc vßng lÆp (ë ®©y lµ lÖnh od). §Õn
®©y vßng lÆp tiÕp tôc nh¶y qua lÇn lÆp tiÕp theo (nÕu cã
thÓ) b»ng c¸ch t¨ng chØ sè hoÆc kiÓm tra ®iÒu kiÖn ®Ó
quyÕt ®Þnh xem cã nªn thùc hiÖn vßng lÆp tiÕp theo.
LÖnh next sinh ra lçi nÕu nã ®îc gäi ngoµi vßng lÆp
while/for. T¬ng tù nh break, next còng kh«ng ph¶i lµ tõ khãa,
do ®ã ta hoµn toµn cã thÓ g¸n cho next mét gi¸ trÞ (xem nh
next lµ mét biÕn). Ngay tríc lÖnh next còng thêng lµ mét c©u
lÖnh ®iÒu kiÖn if... then...

1.6. Sö dông c¸c hµm RETURN, ERROR


Hµm RETURN ®îc sö dông ®Ó cho gi¸ trÞ hµm tríc khi tho¸t
khái chu tr×nh. NÕu kh«ng cã lÖnh RETURN, chu tr×nh tù
®éng cho kÕt qu¶ cña phÐp tÝnh cuèi cïng trong chu tr×nh.
Hµm ERROR ®îc sö dông ®Ó ®a th«ng ®iÖp lçi ra mµn
h×nh tõ bªn trong chu tr×nh.

5
C¸ch ThiÕt lËp mét chu tr×nh

2.1. Giíi thiÖu

6
Maple lµ mét ng«n ng÷ lËp tr×nh híng chu tr×nh
(procedure). Chóng ta cã thÓ lµm viÖc víi Maple b»ng hai chÕ
®é kh¸c nhau: ChÕ ®é t¬ng t¸c trùc tiÕp th«ng qua viÖc
nhËp tõng lÖnh ®¬n lÎ ngay t¹i dÊu nh¾c lÖnh cña Maple vµ
nhËn ®îc ngay kÕt qu¶ cña lÖnh ®ã. ChÕ ®é chu tr×nh ®îc
thùc hiÖn b»ng c¸ch ®ãng gãi mét d·y c¸c lÖnh xö lÝ cïng mét
c«ng viÖc vµo trong mét chu tr×nh (procedure) duy nhÊt, sau
®ã ta chØ cÇn gäi chu tr×nh nµy vµ Maple tù ®éng thùc hiÖn
c¸c lÖnh cã trong chu tr×nh ®ã mét c¸ch tuÇn tù vµ sau ®ã
tr¶ l¹i kÕt qu¶ cuèi cïng.
Maple chøa mét lîng rÊt lín c¸c hµm t¹o s½n ®¸p øng cho
nh÷ng yªu cÇu tÝnh to¸n kh¸c nhau trong nhiÒu lÜnh vùc. C¸c
hµm nµy ®îc lu tr÷ trong c¸c gãi chu tr×nh (package) vµ ngêi
sö dông cã thÓ dÔ dµng gäi ®Õn mçi khi cÇn thiÕt. Tuy nhiªn,
ngêi dïng Maple cã thÓ tù t¹o cho riªng m×nh nh÷ng gãi chu
tr×nh còng nh cã thÓ trao ®æi dïng chung nh÷ng gãi chu
tr×nh nµo ®Êy, phôc vô cho c«ng viÖc mang tÝnh ®Æc thï
riªng cña m×nh.
C¸c kh¸i niÖm c¬ b¶n cÇn ph¶i n¾m v÷ng ®Ó t¹o ra mét
chu tr×nh (procedure) lµ:
CÊu tróc proc()..end; cïng víi c¸c khai b¸o trong cÊu tróc nµy
(global, local, option,...).
C¸c cÊu tróc d÷ liÖu vµ c¸c hµm cã liªn quan (d·y-sequence,
tËp hîp-set, danh s¸ch-list, m¶ng-array, b¶ng-table).
C¸c hµm lËp tr×nh c¬ b¶n (®· nªu ë trªn) vµ c¸c hµm liªn
quan ®Õn viÖc xö lÝ d÷ liÖu (eval, evalf, subs, map,
convert,...).
2.2. Khai b¸o chu tr×nh

7
Lêi gäi khai b¸o mét chu tr×nh:
procedure_name:=proc(parameter_sequence)
[local local_sequence]
[global global_sequence]
[options options_sequence]
statements_sequence;
end;
Gi¶i thÝch c¸c khai b¸o:
parameter_name: Lµ mét d·y c¸c kÝ hiÖu, ng¨n c¸ch nhau
bëi c¸c dÊu phÈy, chøa tªn c¸c tham biÕn truyÒn cho chu
tr×nh.
local_sequence: Lµ mét d·y c¸c tªn ®îc khai b¸o lµ biÕn côc
bé trong chu tr×nh, nã chØ cã gi¸ trÞ sö dông trong ph¹m vi
chu tr×nh ®ang xÐt (local ®îc sö dông ®Ó khai b¸o cho c¸c
biÕn chØ sö dông bªn trong mét chu tr×nh).
global_sequen: D·y c¸c tªn biÕn toµn côc cã gi¸ trÞ sö dông
ngay c¶ bªn ngoµi chu tr×nh.
options_sequence: D·y c¸c tuú chän cho mét chu tr×nh.
statements_sequence: D·y c¸c c©u lÖnh do ngêi lËp tr×nh
®a vµo.
2.3. Tham biÕn
Tham biÕn (parameter) lµ c¸c biÕn ®îc ®Æt gi÷a hai dÊu
ngoÆc trong biÓu thøc proc(...). Tham biÕn ®îc dïng ®Ó
nhËn d÷ liÖu truyÒn cho chu tr×nh khi gäi chu tr×nh ®ã. VÝ
dô ta cã thÓ khai b¸o chu tr×nh tÝnh tæng cña 2 sè
[tong:=proc(x,y) x+y; end.] th× khi gäi chu tr×nh nµy ®Ó
tÝnh tæng cña hai sè 10 vµ 5 ta ph¶i truyÒn c¸c d÷ liÖu nµy
cho c¸c tham biÕn (cho x nhËn gi¸ trÞ lµ 10, y nhËn gi¸ trÞ lµ

8
5), tøc lµ t¹i dÊu nh¾c lÖnh ta ph¶i viÕt tong(10, 5); vµ sau
khi thùc hiÖn chu tr×nh tr¶ l¹i kÕt qu¶ lµ 15.
Tham biÕn cã tÝnh côc bé: chóng chØ ®îc sö dông bªn trong
chu tr×nh ®· ®îc khai b¸o, bªn ngoµi chu tr×nh nµy chóng
kh«ng mang ý nghÜa g×.
KiÓu cña tham biÕn cã thÓ ®îc khai b¸o trùc tiÕp.

2.4. Ph¹m vi c¸c biÕn (biÕn toµn côc, biÕn côc bé vµ tham
biÕn)
BiÕn toµn côc:
BiÕn toµn côc ®îc khai b¸o sau tõ kho¸ global trong khai b¸o
chu tr×nh.
BiÕn toµn côc ®îc khai b¸o bªn trong mét chu tr×nh, nhng
cã ph¹m vi gi¸ trÞ trong toµn bé ch¬ng tr×nh, tøc lµ bªn ngoµi
ph¹m vi cña chu tr×nh mµ nã ®îc khai b¸o trong ®ã.
BiÕn côc bé:
BiÕn côc bé ®îc khai b¸o sau tõ kho¸ local trong khai b¸o
chu tr×nh.
BiÕn côc bé chØ cã gi¸ trÞ bªn trong chu tr×nh mµ nã ®îc
khai b¸o. Ngoµi chu tr×nh nµy nã kh«ng mang ý nghÜa g×.
Tham biÕn:
Còng gièng nh biÕn côc bé, c¸c tham biÕn chØ cã gi¸ trÞ bªn
trong ph¹m vi cña chu tr×nh mµ nã ®îc khai b¸o. Sau khi chu
tr×nh kÕt thóc, chóng kh«ng cßn gi¸ trÞ.
Tham biÕn cßn ®îc sö dông ®Ó tr¶ l¹i kÕt qu¶, nh c¸c ng«n
ng÷ lËp tr×nh truyÒn thèng. Ngoµi ra, do Maple cã nh÷ng

9
hµm cã kh¶ n¨ng tr¶ l¹i nhiÒu h¬n mét gi¸ trÞ. Ta cã thÓ gép
c¸c gi¸ trÞ nµy vµo mét danh s¸ch ®Ó tr¶ l¹i nh mét phÇn tö.
2.5. §Þnh gi¸ trªn c¸c biÕn
§Þnh gi¸ tªn hµm vµ tham biÕn:
Nh ®· ®Ò cËp tríc ®©y, c¸c tªn biÕn trong mét biÓu thøc
®îc Maple ®Þnh gi¸ tríc khi thùc hiÖn c¸c phÐp tÝnh trªn
chóng. §èi víi viÖc thùc hiÖn c¸c hµm còng t¬ng tù nh vËy. Tríc
tiªn lµ tªn chu tr×nh ®îc ®Þnh gi¸. Sau ®ã lÇn lît ®Õn c¸c ®èi
sè trong danh s¸ch c¸c ®èi sè truyÒn cho chu tr×nh (®îc
®Þnh gi¸ tõ tr¸i sang ph¶i). NÕu tªn chu tr×nh ®îc ®Þnh gi¸
trá ®Õn mét chu tr×nh, th× chu tr×nh Êy ®îc thùc thi trªn c¸c
®èi sè ®· ®îc ®Þnh gi¸. Tuy nhiªn vÉn cã mét sè chu tr×nh
ngo¹i lÖ: ®ã lµ c¸c hµm eval, assigned, seq.

§Þnh gi¸ biÕn côc bé vµ biÕn toµn côc:


C¸c biÕn côc bé vµ tham biÕn truyÒn cho chu tr×nh ®îc
®Þnh gi¸ mét cÊp (®Þnh gi¸ mét lÇn), cßn c¸c biÕn toµn côc
th× ®îc ®Þnh gi¸ hoµn toµn (full evaluation). Hµm eval(...) ®-
îc dïng ®Ó Ðp ®Þnh gi¸ hoµn toµn cho biÕn côc bé vµ tham
biÕn, vµ ®Þnh gi¸ mét møc cho c¸c biÕn toµn côc.
2.6. C¸c chøc n¨ng kh¸c
Muèn in ra mµn h×nh c¸c "vßng lÖnh Èn" ta sö dông biÕn
printlevel. §©y lµ c¸ch ®¬n gi¶n nhÊt ®Ó xem xÐt c¸c qu¸
tr×nh thùc hiÖn lÖnh. Khi printlevel ®îc g¸n gi¸ trÞ ©m th×
kh«ng hiÖn g× c¶, nÕu ®îc g¸n gi¸ trÞ 0 th× chØ cã kÕt qu¶
cña c¸c c©u lÖnh ®îc hiÖn ra.
Dß tõng lÖnh trong chu tr×nh:

10
trace(f)
trace(f, g, h, . . .)
Tham sè: C¸c hµm f, g, h,... lµ c¸c hµm cÇn ch¹y tõng bíc.
LÖnh trace cho in c¸ch thøc hiÖn tõng lÖnh cña mét chu
tr×nh ra mµn h×nh.
LÖnh dß trace() ho¹t ®éng t¬ng tù nh khi ta g¸n cho biÕn
printlevel mét sè ®ñ lín ®Ó cã thÓ hiÖn ra mµn h×nh tÊt c¶
c¸c c©u lÖnh còng nh ®iÓm vµo vµ ®iÓm ra cña hµm mµ ta
®ang thùc hiÖn.
Trong suèt qu¸ tr×nh thùc hiÖn, c¸c ®iÓm vµo, c¸c kÕt qu¶
cña c¸c c©u lÖnh, c¸c ®iÓm ra cña hµm cÇn dß ®îc hiÖn ra
mµn h×nh. C¸c tham biÕn ®îc hiÖn ra ë ®iÓm vµo chu tr×nh,
gi¸ trÞ tr¶ l¹i cña hµm ®îc hiÖn ra ë ®iÓm cuèi chu tr×nh.
Chó ý: Kh«ng thÓ dß tõng bíc mét sè hµm cã quy t¾c ®Þnh
gi¸ ®Æc biÖt, bao gåm: assigned, eval, evalhf, evalf, evaln,
traperror, seq, userinfo.
Xem m· nguån mét chu tr×nh:
showstat(procName)
showstat(procName, statRange)
Tham sè: procName: Tªn cña chu tr×nh cÇn hiÓn thÞ m·
nguån.
StatRange: Ph¹m vi c¸c dßng lÖnh cÇn ®îc hiÓn thÞ
(tõ dßng nµo ®Õn dßng nµo).
PhÇn lín c¸c lÖnh trong Maple ®Òu ®îc viÕt b»ng ng«n ng÷
Maple, do ®ã chóng ta cã thÓ ®äc ®îc m· nguån cña nh÷ng
lÖnh nµy. Maple cung cÊp hµm showstat() ®Ó hiÖn ®o¹n ch-
¬ng tr×nh lµ m· nguån cña c¸c lÖnh trªn. Nhê cã hµm nµy mµ
ngêi häc lËp tr×nh trªn Maple cã thÓ dÔ dµng häc ®îc c¸ch

11
thøc còng nh ®Æc trng ng«n ng÷ b»ng c¸ch nghiªn cøu ph-
¬ng thøc mµ c¸c lÖnh cña Maple thùc hiÖn (th«ng qua viÖc
xem m· nguån cña chóng). Ta cã thÓ hiÓn thÞ mét phÇn m·
nguån cña c¸c chu tr×nh b»ng c¸ch ®Þnh râ ph¹m vi cña c¸c
dßng cÇn thÓ hiÖn.
Chóng ta còng cã thÓ sö dông c¸c hµm print() vµ
interface() ®Ó ®äc m· nguån cña c¸c hµm trong Maple.
Th«ng thêng th× Maple kh«ng hiÓn thÞ phÇn th©n cña c¸c
chu tr×nh ®ã nÕu ta cho hiÓn thÞ chóng. Muèn lµm ®iÒu
nµy, ta ph¶i gäi lÖnh interface() víi tham sè verbosepro =2
tríc, sau ®ã dïng lÖnh print th× ta cã thÓ xem ®îc th©n cña
chu tr×nh.
ChÆn b¾t lçi:
traperror(expr1, expr2,...)
Tham sè: expr1, expr2,... lµ c¸c biÓu thøc.
Maple sö dông biÕn lasterror ®Ó lu th«ng b¸o lçi cña lçi
x¶y ra míi nhÊt trong qu¸ tr×nh tÝnh to¸n. Ta cã thÓ sö dông
biÕn nµy gièng nh bÊt cø biÕn nµo kh¸c trong Maple, cô thÓ lµ
ta cã thÓ g¸n gi¸ trÞ bÊt k× nµo ®ã cho nã, tÝnh to¸n trªn
biÕn nµy vµ ghi gi¸ trÞ nã ®ang lu tr÷ ra mµn h×nh. Tuy nhiªn
khi x¶y ra lçi, Maple tù ®éng g¸n cho biÕn nµy x©u kÝ tù
th«ng b¸o lçi mµ hµm ERROR() sÏ hiÓn thÞ ra mµn h×nh.
Cïng víi biÕn lasterror, hµm traperror() ®îc sö dông ®Ó
chÆn b¾t mét lçi nµo ®ã trong mét biÓu thøc tríc khi lçi ®ã
®îc th«ng b¸o ra mµn h×nh. NÕu cã lçi nµo ®ã x¶y ra trong
lóc ®Þnh gi¸ trÞ hoÆc ®¬n gi¶n biÓu thøc, hµm traperror()
sÏ tr¶ l¹i x©u kÝ tù th«ng b¸o lçi cña lçi ®Çu tiªn gÆp ph¶i khi
tÝnh to¸n biÓu thøc ®ã. NÕu kh«ng cã lçi, hµm traperror()

12
tr¶ l¹i kÕt qu¶ tÝnh to¸n biÓu thøc. Mçi lÇn gäi ®Õn hµm
traperror(), Maple tù ®éng xo¸ ®i gi¸ trÞ cò cã trong bèn lÇn
tÝnh to¸n tríc.

13

You might also like