Xem mẫu

Ch−¬ng 4

LËp tr×nh trªn Maple

4.1. C¸c lÖnh lËp tr×nh c¬ b¶n..................................................................127
4.1.1. Vßng lÆp while ................................................................................ 129
4.1.2. Vßng lÆp for ..................................................................................... 130
4.1.3. LÖnh ®iÒu kiÖn if................................................................................. 132
4.1.4. LÖnh break........................................................................................ 136
4.1.5. LÖnh next ........................................................................................... 137
4.2. ThiÕt lËp mét chu tr×nh (Procedure).................................................138
4.2.1. Giíi thiÖu ............................................................................................ 138
4.2.2. Khai b¸o chu tr×nh ............................................................................. 138
4.2.3. Tham biÕn .......................................................................................... 139
4.2.4. Ph¹m vi c¸c biÕn (biÕn toµn côc, biÕn côc bé vµ tham biÕn) .... 140
BiÕn toµn côc............................................................................................................. 140
BiÕn côc bé................................................................................................................ 140
Tham biÕn ................................................................................................................. 141

4.2.5. §Þnh gi¸ trªn c¸c biÕn ...................................................................... 141
§Þnh gi¸ tªn hµm vµ tham biÕn................................................................................. 141
§Þnh gi¸ biÕn côc bé vµ biÕn toµn côc...................................................................... 142
Minh ho¹ ................................................................................................................... 142

4.2.6. Xö lý c¸c chu tr×nh ®Ö qui (tuú chän remember)............................ 143
Ch¹y tõng b−íc chu tr×nh.......................................................................................... 144
VÝ dô.......................................................................................................................... 146

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

127

4.2.8. Mét sè vÝ dô vÒ chu tr×nh................................................................... 149
1. Chu tr×nh t×m c¸c thµnh phÇn tèi ®¹i trong mét m¶ng ......................................... 149
2. Chu tr×nh tÝnh khai triÓn Fourier cña hµm sè ....................................................... 151

4.3. T×m lçi trong chu tr×nh .....................................................................154
4.3.1. Printlevel (LÇn theo c¸c b−íc cña chu tr×nh) ................................ 154
4.3.2. Trace (dß tõng lÖnh trong chu tr×nh) .......................................... 157
4.3.3. Xem m· nguån mét chu tr×nh .......................................................... 158
4.3.4. Xem mét chu tr×nh b»ng lÖnh print.................................................. 161
4.3.5. ChÆn b¾t lçi ....................................................................................... 161
4.4. Lµm viÖc trªn c¸c tÖp trong Maple ...................................................164
4.4.1. C¸c thao t¸c c¬ b¶n ........................................................................ 164
Më mét tÖp ................................................................................................................ 164
§ãng mét tÖp ®· ®−îc më......................................................................................... 166
X¸c ®Þnh vÞ trÝ cuèi tÖp.............................................................................................. 166
LÊy vµ ®Æt l¹i vÞ trÝ hiÖn thêi trong tÖp ..................................................................... 168
Xo¸ mét tÖp............................................................................................................... 169
§Èy d÷ liÖu tõ vïng ®Öm vµo ®Üa .............................................................................. 170
Më mét tÖp ®Ó ®äc/ghi mµ kh«ng dïng vïng ®Öm................................................... 171
§ãng tÖp ®−îc më kh«ng dïng vïng nhí ®Öm ........................................................ 173
LÖnh ghi d÷ liÖu ........................................................................................................ 174
LÖnh ®äc d÷ liÖu read............................................................................................. 175

4.4.2. §äc d÷ liÖu tõ tÖp vµo ...................................................................... 176
§äc mét dßng tõ tÖp.................................................................................................. 176
§äc mét sè bytes tõ tÖp ............................................................................................ 177
§äc lÖnh tõ bµn phÝm................................................................................................ 178
§äc d÷ liÖu cã sè cét vµ kiÓu cè ®Þnh....................................................................... 179
§äc d÷ liÖu ®Þnh râ kiÓu ........................................................................................... 180

4.4.3. Ghi d÷ liÖu vµo tÖp............................................................................ 181
Giao diÖn cña c«ng viÖc ghi...................................................................................... 181
Ghi b»ng lÖnh in (print) ............................................................................................ 182
LÖnh lprint() ............................................................................................................. 183

4.4.4. VÝ dô vÒ thao t¸c trªn tÖp................................................................. 184

128

4.1. C¸c lÖnh lËp tr×nh c¬ b¶n
4.1.1. Vßng lÆp while
CÊu tróc có ph¸p:
while
condition
do
sequence expressions
od;

Chøc n¨ng:

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 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 nh−ng 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.
Minh ho¹

T×m −íc sè chung lín nhÊt cña 2 sè nguyªn theo thuËt to¸n Eulid
T− t−ëng cña thuËt to¸n:
- Khai b¸o 2 sè a,b
- T×m phÇn d− trong phÐp chia cña a cho b , gäi ®ã lµ d
- Sau ®ã ®Æt a:=b (cho a mang gi¸ trÞ cña b), vµ t−¬ng tù b:=d
- Vßng lÆp cø tiÕp tôc cho ®Õn khi b=0 (Tøc lóc ®ã phÇn d− b»ng
0)
V× kh«ng x¸c ®Þnh tr−íc sè vßng ph¶i lÆp, ta dïng vßng lÆp kh«ng x¸c ®Þnh
(While)
[>a:=20;b:=15;
129

a := 20
b := 15
while b0 do
d:=irem(a,b);
a:=b;
b:=d;
od:
print(`Uoc so chung lon nhat cua hai so la:`);
value(a);

Uoc so chung lon nhat cua hai so la:
5
Chó ý:
- od: cã nghÜa lµ chØ in ra kÕt qu¶ cuèi cïng
In ra 11 sè liªn tiÕp trong d·y sè Fibonacci , tõ sè thø 5 ®Õn sè thø 15
D·y sè nµy cã tÝnh chÊt sè sau b»ng tæng 2 sè ngay tr−íc nã (kÓ tõ sè thø 3 trë
®i). Cô thÓ lµ nã ®−îc x¸c ®Þnh nh− sau :
F( 0 ) = 1 ; F( 1 ) = 1 ; F( n ) = F( n − 1 ) + F( n − 2 ) (víi 2 ≤ n )

[>F(0):=1:

F(1):=1:
n:=2:
while na:=array(1..4,1..4):
for i to 4 do
for j to 4 do
a[i,j]:=1/(i+j);
od;
od;
print(a);

131