Giáo trình
Lập trình Pascal căn bản
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
1
—
ANSI PASCAL
(American
National Standard Institute),.v.v.
So våïi nhiãưu sn pháøm Pascal ca nhiãưu täø chỉïc v cäng ty khạc nhau xút bn,
TURBO PASCAL
ca hng Borland t ra cọ nhiãưu ỉu âiãøm nháút v hiãûn nay â tråí
thnh ngän ngỉỵ láûp trçnh phäø biãún nháút trãn thãú giåïi sỉí dủng trong lénh vỉûc ging
dảy v láûp trçnh chun nghiãûp. Chè trong vng vi nàm Turbo Pascal âỉåüc ci tiãún
qua nhiãưu phiãn bn :
1.0, 2.0, 3.0, 4.0, 5.0, 5.5 (1989), 6.0 (1990), 7.0 (1972).
Cạc táûp tin chênh ca ngän ngỉỵ Turbo Pascal gäưm:
-
Turbo.exe:
chỉång trçnh soản tho, dëch v liãn kãút chỉång trçnh.
-
Turbo.tpl (.tpl - Turbo Pascal Library):
táûp tin thỉ viãûn lỉu cạc âån vë
(Unit)
chøn âãø chảy våïi Turbo.exe.
Mún sỉí dủng cạc lãûnh âäư ha, phi cọ cạc táûp tin sau:
-
Graph.tpu:
Âån vë
(Unit)
chỉïa cạc lãûnh âäư hoả.
-
Cạc táûp tin cọ pháưn måí räüng CHR (SANS.CHR, TRIP.CHR,
GOTH.CHR,.v.v.):
nåi
chỉïa táûp tin
BP.EXE
hồûc
TURBO.EXE,
g
BP
hồûc
TURBO
v áún <Enter>.
-
Khåíi âäüng tỉì Windows:
chn menu
Start/Program/Borland Pascal
. Nãúu chỉång
trçnh Pascal chỉa âỉåüc ci vo menu
Start
, bản cọ thãø dng
Windows Explorer
chuøn âãún táûp tin
BP.EXE
hồûc
TURBO.EXE
v khåíi âäüng Pascal bàòng cạch
chảy táûp tin ny.
III. Cạc phêm chỉïc nàng cáưn biãút ca ngän ngỉỵ Pascal:
-
F2:
Lỉu chỉång trçnh trong khi soản tho.
-
End.
Tỉì khoạ
End
cọ km dáúu “.” phêa sau bạo hiãûu kãút thục chỉång trçnh, âáy l âiãưu
bàõt büc phi cọ trong mäüt chỉång trçnh. Tỉì khoạ
Begin
trãn âỉåüc trçnh biãn dëch
hiãøu l bàõt âáưu thỉûc hiãûn cạc lãûnh sau nọ v kãút thục tải tỉì khoạ
End
cọ dáúu cháúm
“.”. Khäúi lãûnh nàòm trong càûp tỉì khoạ
Begin
v
End
nãúu cọ dáúu cháúm theo sau cn
gi l khäúi chỉång trçnh chênh. Ngoi ra, nãúu sau tỉì khoạ
End
khäng cọ dáúu hồûc
cọ dáúu “;” thç âọ cọ thãø l khäúi chỉång trçnh con, khäúi lãûnh ca hm hồûc khäúi lãûnh
trong chỉång trçnh. Trong chỉång trçnh cọ thãø cọ nhiãưu khäúi lãûnh, tỉïc cọ thãø cọ
nhiãưu càûp tỉì khoạ
Begin
v
End.
2. Phỉång phạp khai bạo v täø chỉïc cáúu trục mäüt chỉång trçnh Pascal:
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
(VAR)...
sau mäùi pháưn khai bạo phi cọ dáúu ‘;’.
-
Program:
Tỉì khoạ ny dng âãø khai bạo tãn chỉång trçnh,
ProgName
l tãn
chỉång trçnh, tãn ny khạc våïi tãn táûp tin. Tãn chỉång trçnh phi tn theo quy tàõc:
+ khäng cọ k tỉû träúng xen giỉỵa.
+ khäng âàût säú åí k tỉû âáưu tiãn.
+ trong pháưn tãn khäng chỉïa cạc k tỉû âàût biãût nhỉ:
‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’,
‘&’, ‘* ’, ‘(‘, ‘)’, ‘-‘, ‘+’, ‘/’, ‘\’, ‘.’, ’,’,.v.v.
+ kãút thục phi cọ dáúu ‘;’.
+ pháưn ny cọ thãø khäng cọ.
4 Vê dủ: mäüt cạch khai bạo tãn chỉång trçnh:
Program TimUSCLN;
Begin
...
End.
-
Uses:
Tỉì khoạ ny dng âãø khai bạo viãûc sỉí dủng
Unit (thỉ viãûn)
cho chỉång
trçnh. Thỉ viãûn l táûp håüp cạc hm, th tủc
do ngän ngỉỵ Pascal cung cáúp km theo
hồûc cng cọ thãø do ngỉåìi láûp trçnh tảo ra âãø sỉí dủng.
Ta khai bạo thỉ viãûn thäng
...
Label TH1, N2;
...
-
Const:
Tổỡ khoaù naỡy duỡng õóứ khai baùo caùc hũng sọỳ sổớ duỷng trong chổồng trỗnh,
khi baùo hũng sọỳ laỡ vióỷc cọỳ õởnh mọỹt vaỡi giaù trở naỡo õoù trong chổồng trỗnh thọng qua
tón hũng, vờ duỷ caùch khai baùo hũng:
...
Const k = 5, Max = 500, Ten = Nam;
...
-
Type:
tổỡ khoaù duỡng õóứ khai baùo caùc kióứu hũng dổợ lióỷu sổớ duỷng cho chổồng
trỗnh. Vồùi tổỡ khoaù naỡy, ta coù thóứ tổỷ taỷo rióng cho mỗnh nhổợng kióứu dổợ lióỷu rióng dổỷa
trón caùc kióứu dổợ lióỷu chuỏứn õóứ tióỷn sổớ duỷng trong vióỷc lỏỷp trỗnh. Caùc khaùi nióỷm vóử
dổợ lióỷu chuỏứn vaỡ phổồng phaùp taỷo kióứu dổợ lióỷu tổỷ taỷo seợ õổồỹc giồùi thióỷu ồớ caùc phỏửn
sau. Vờ duỷ mọỹt caùch õóứ khai baùo mọỹt kióứu dổợ lióỷu tổỷ taỷo:
...
Type Day = Array [1..7] of String[8];
...
-
Var:
Tổỡ khoaù duỡng õóứ khai baùo caùc bióỳn sọỳ õổồỹc sổớ duỷng trong chổồng trỗnh.
Bióỳn sọỳ laỡ caùc
giaù trở coù thóứ thay õọứi õổồỹc
trong suọỳt quaù trỗnh chaỷy cuớa chổồng
trỗnh. Khaùi nióỷm vóử bióỳn sọỳ rỏỳt quan troỹng trong vióỷc lỏỷp trỗnh
(khaùi nióỷm naỡy õổồỹc
trỗnh baỡy kyợ ồớ baỡi 3).
Begin:
Tỉì khoạ cho biãút bàõt âáưu chỉång trçnh.
-
Writeln:
l th tủc xút näüi dung cạc thnh pháưn bãn trong càûp dáúu
(...)
lãn mn
hçnh v chuøn con tr xúng dng. Bãn trong càûp dáúu
(...)
cọ thãø cọ nhiãưu thnh
pháưn gäưm
chùi k tỉû (hàòng giạ trë chùi), biãún säú
hồûc
hm
. Giỉỵa cạc thnh pháưn
trong càûp dáúu
(...)
phi cạch nhau bàòng dáúu ‘,‘ nãúu khäng cng loải, tỉïc l chùi k
tỉû phi âỉåüc cạch våïi biãún säú hồûc hm âỉïng trỉåïc nọ hay sau nọ bàòng dáúu ‘,‘.
Chùi k tỉû mún hiãøn thë ngun vàn phi âỉåüc âàût trong càûp dáúu ‘ ‘.
-
Write:
l th tủc xút näüi dung cạc thnh pháưn bãn trong càûp dáúu
(...)
lãn mn
hçnh, th tủc ny cọ chỉïc nàng tỉång tỉû
Writeln
nhỉng khäng chuøn con tr xúng
dng.
-
Writeln ( ‘ ********************************** ’ );
Writeln ( ‘... ‘ );
Readln;
End.
F
Gii thêch chỉång trçnh trãn:
- Khai bạo:
Uses CRT;
ð
khai bạo thỉ viãûn
CRT
, do cọ sỉí dủng lãûnh
ClrScr.
- Lãûnh
ClrScr;
ð
lau sảch mn hçnh
(Clear Screen).
- Cạc lãûnh
Writeln (...)
ð
xút ra mn hçnh näüi dung bãn trong dáúu
(...)
v xúng
dng.
- Lãûnh
Readln;
ð
=
õổồỹc hióứu laỡ mọỹt chuọựi phaới õổồỹc hióứn thở nguyón vn do coù cỷp dỏỳu ồớ hai
õỏửu. Thaỡnh phỏửn thổù hai õổồỹc caùch vồùi thaỡnh phỏửn thổù nhỏỳt bũng dỏỳu , vaỡ do
khọng coù cỷp dỏỳu hai õỏửu nón noù õổồỹc tờnh tọứng vaỡ traớ vóử giaù trở cuớa bióứu thổùc.
_________ oo _________
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
8
—
Trang 8
BI 2 : CẠC KHẠI NIÃÛM CÅ BN CA NGÄN NGỈỴ PASCAL
I. Cạc tỉì khoạ
(Key word)
trong ngän ngỉỵ Pascal:
Cạc tỉì khoạ l cạc tỉì dng âãø khai bạo, âàût tãn cho âäúi tỉåüng trong Pascal, khi
ta âàût tãn cho âäúi tỉåüng no âọ, khäng âỉåüc âàût trng tãn våïi cạc tỉì khoạ.
Bng tỉì khoạ trong ngän ngỉỵ Pascal gäưm:
and, array, asm, begin, case, const, constructor, destructor, div, do, downto, else,
end, file, for, function, goto, if, implementation, in, inline, interface, label, mod, nil,
not, object, of, or, packed, procedure, program, record, repeat, set, shl, shr, string,
then, to, type, unit, until, uses, var, while, with, xor.
Turbo Pascal khäng phán biãût k tỉû thỉåìng hồûc hoa. Vê dủ, cạc cạch viãút sau cọ
nghéa nhỉ nhau:
Begin, BEGIN, begin, beGIN, bEGIN,...
II. Cạc kiãøu dỉỵ liãûu cå bn:
1. Cạc kiãøu dỉỵ liãûu dảng säú ngun:
Word:
Kiãøu Word l kiãøu dỉỵ liãûu biãøu diãùn cạc giạ trë ngun tỉì
0
âãún
65535
. Kiãøu
Word
l kiãøu säú
khäng biãøu diãùn âỉåüc giạ trë ám
. Kiãøu Word chiãúm 2
bytes trãn bäü nhåï.
e. Kiãøu
Longint:
Kiãøu
Longint
biãøu diãùn cạc giạ trë säú ngun tỉì
-2.147.483.648
âãún
2.147.483.647
. Kiãøu Longint chiãúm 4 bytes trãn bäü nhåï.
2. Cạc kiãøu dỉỵ liãûu dảng säú cọ pháưn biãøu diãùn tháûp phán:
a. Kiãøu
Single:
L táûp håüp cạc säú theo kiãøu dáúu ‘.‘ âäüng trong giåïi hản tỉì
1.5E -45
âãún
3.4 E38 (1,5 x 10
-45
âãún 3,4 x 10
38
. Kiãøu Double chiãúm 8 bytes trãn bäü
nhåï.
3. Kiãøu Char
(k tỉû)
:
Kiãøu
Char
dng âãø biãøu diãùn cạc giạ trë l cạc k tỉû thüc bng chỉỵ cại:
‘A’, ‘b’,
‘x’,.
.. cạc con säú:
0..9
hồûc cạc k tỉû âàûc biãût :
‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘&’, ‘*’,...
Âãø biãøu diãùn thäng tin, ta cáưn phi sàõp xãúp cạc k tỉû theo mäüt chøn no âọ v
mäùi cạch sàõp xãúp âọ gi l bng m, thäng dủng nháút l bng m
ASCII (American
Standard Code for Information Interchange).
Bng m
ASCII
cọ
256
k tỉû âỉåüc
gạn m säú tỉ
ì 0..255,
mäùi k tỉû cọ mäüt m säú nháút âënh, vê dủ : k tỉû
‘A’
cọ m säú l
65
,
:
String
l kiãøu dỉỵ liãûu chỉïa cạc giạ trë l nhọm cạc k tỉû hồûc chè mäüt k tỉû, kãø c
chùi räùng. Âäü di täúi âa ca mäüt biãún kiãøu String l 255, tỉïc l nọ cọ thãø chỉïa täúi
âa mäüt dy gäưm 255 k tỉû.
Cụ phạp khai bạo:
(1) Var Biãún_1, Biãún_2, Biãún_n: String;
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
10
—
Trang 10
Hồûc
(2) Var Biãún_1, Biãún_2, Biãún_n: String [30];
Cạch khai bạo
(1)
s cho phẹp biãún
HoTen
nháûn täúi âa 255 k tỉû. Cạch
(2)
cho
phẹp biãún
HoTen
nháûn täúi âa
30 k tỉû.
Ư
Ghi chụ:
Cạch sỉí dủng kiãøu dỉỵ liãûu String s âỉåüc trçnh by chi tiãút åí bi 8.
Trunc(4.86) = 4,
Trunc(-3.2) = 4.
-
ROUND(x)
cho säú ngun gáưn x nháút. Vê dủ:
Round(1.6) = 2, Round(-
23.68) = -24, Round(1.5) = 2.
-
PRED(x)
cho giạ trë âỉïng trỉåïc x, âäúi säú x cọ thãø l kiãøu logic, kiãøu
ngun hồûc kiãøu k tỉû. Vê dủ:
Pred(‘B’);
ð
cho giạ trë
‘A’
,
Pred(2)
cho giạ trë
1
,
Pred(True)
cho giạ trë
False
. Tuy nhiãn,
Pred(False)
lải khäng cho âỉåüc giạ trë no do
giạ trë False âỉïng
trỉåïc giạ trë True âäúi våïi kiãøu Boolean.
Chr(50) = 2,...
Giaùo trỗnh Lỏỷp trỗnh Pascal cn baớn
11
Trang 11
-
ODD(x)
Traớ vóử giaù trở
True
nóỳu x laỡ sọỳ leớ vaỡ traớ vóử giaù trở
False
nóỳu x laỡ
sọỳ chụn.
IV. Sổớ duỷng haỡm Random(n) õóứ lỏỳy mọỹt giaù trở nguyón ngỏựu nhión:
Haỡm
Random(n)
seợ traớ vóử mọỹt giaù trở nguyón maỡ maùy lỏỳy ngỏựu nhión coù giaù trở tổỡ
0 õóỳn n. Trong õoù,
n laỡ mọỹt sọỳ kióứu Word
tổùc laỡ trong khoaớn tổỡ
0.. 65535.
Trổồùc khi sổớ duỷng haỡm Random ta phaới goỹi thuớ tuỷc
Randomize
õóứ khồới taỷo bọỹ
taỷo sọỳ ngỏựu nhión
_________ oo _________
BAèI 3: HềNG S, BIN S, BIỉU THặẽC VAè CU LNH
n
laỡ tón caùc hũng sọỳ, caùc
trở
_
sọỳ
_
1,2,...,n
laỡ caùc giaù trở gaùn cho caùc
tón hũng
a
1
...a
n
.
F
Vờ duỷ mọỹt caùch khai baùo hũng sọỳ:
Const Pi = 3.1416, Max = 500;
4
Vờ duỷ: chổồng trỗnh tờnh chu vi õổồỡng troỡn coù sổớ duỷng hũng sọỳ
Pi
do ta õởnh
nghộa:
Program TinhCV_DT_HT;
Const Pi = 3.1416;
Var R :Real;
Begin
Giaùo trỗnh Lỏỷp trỗnh Pascal cn baớn
thóm õóứ chổồng trỗnh chaỷy
nhanh hồn bũng caùch thay hai lỏửn tờnh
Sin(x)
bũng mọỹt lỏửn. Cuỷ thóứ, ta thổỷc hióỷn nhổ
sau:
t := Sin(x);
z := Exp(a + t * t - x);
Taùc phong
tọỳi ổu hoaù
naỡy seợ rỏỳt coù ờch cho baỷn khi baỷn coù mọỹt chổồng trỗnh vồùi
khọỳi lổồỹng tờnh toaùn õọử sọỹ, coù thóứ chaỷy vaỡi ngaỡy õóm lión tuỷc nhổng nóỳu bióỳt tọỳi ổu
ngay tổỡ õỏửu thỗ seợ giaớm bồùt xuọỳng coỡn mọỹt ngaỡy chúng haỷn. Luùc naỡy baỷn mồùi thỏỳu
hióứu
tọỳi ổu hoaù
õóứ laỡm gỗ ?
II. Bióỳn sọỳ:
1. Khaùi nióỷm:
- Laỡ õaỷi lổồỹng maỡ
giaù trở cuớa noù coù thóứ thay õọứi trong quaù trỗnh thổỷc hióỷn chổồng
trỗnh
. Bióỳn õổồỹc khai baùo bũng tổỡ khoaù
VAR.
- Bióỳn laỡ tón cuớa mọỹt vuỡng bọỹ nhồù lổu trổợ dổợ lióỷu.
- Bióỳn õổồỹc truy xuỏỳt trong chổồng trỗnh thọng qua tón bióỳn.
- Bióỳn laỡ mọỹt cỏỳu truùc ghi nhồù dổợ lióỷu vỗ vỏỷy phaới õổồỹc quy õởnh theo mọỹt kióứu
dổợ lióỷu naỡo õoù, vờ duỷ kióứu
Integer, Byte, Char,...
2. Cuù phaùp khai baùo cho caùc bióỳn:
VAR Tón_bióỳn_1, Tón_bióỳn_2, Tón_bióỳn_n : Kióứu_dổợ_lióỷu_cuớa_bióỳn;
(â âỉåüc nãu trong pháưn II ca bi 2)
ca Pascal hồûc do ngỉåìi dng âënh
nghéa.
F
Vê dủ mäüt cạch khai bạo biãún:
Var a,b : Integer;
c : Real;
Ten : String [10];
4 Vê dủ: chỉång trçnh tênh täøng hai säú ngun âỉåüc nháûp tỉì bn phêm. Trong bi
ny, ta cáưn khai bạo hai biãún
a
v
b
âãø tênh toạn.
Uses CRT;
Var a, b : Integer;
Begin
ClrScr;
Write( ‘ Nhap so thu nhat : ‘ );
Readln(a);
Write( ‘ Nhap so thu hai : ‘ );
Readln(b);
Write( ‘ Ket qua : ‘, a ,’ + ‘, b ,’ = ‘, a + b);
Readln;
End.
III. Biãøu thỉïc:
Mäüt biãøu thỉïc âỉåüc tảo båíi cạc
toạn tỉí (phẹp toạn)
v cạc
toạn hảng
.
- Cạc phẹp toạn trong mäüt biãøu thỉïc âỉåüc sàõp xãúp theo thỉï tỉû ỉu tiãn nhỉ sau:
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
14
—
Trang 1 4
+ Cạc phẹp toạn mäüt ngäi âỉåüc ỉu tiãn thỉï nháút l: dáúu dỉång
(+),
dáúu ám
(-
),
phẹp ph âënh
(not).
+ Cạc phẹp toạn nhán chia:
nhán (*), chia (/)
,
láúy pháưn ngun (div), láúy
pháưn dỉ (mod), phẹp v (and).
+ Cạc phẹp cäüng trỉì: cäüng
(+),
trỉì
(-),
phẹp hồûc
(or).
+ Lãûnh lỉûa chn
(IF... ELSE, CASE... OF)
+ Lãûnh làûp
(FOR, REPEAT... UNTIL, WHILE... DO)
+ Lãûnh
WITH.
Ư Ghi chụ: Näüi dung bi ny chè âãư cáûp âãún cạc lãûnh âån gin.
Cạc lãûnh cọ cáúu
trục âỉåüc trçnh by åí bi 4.
1. Lãûnh gạn:
a
db
2
+−
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
15
—
Trang 1 5
Lãûnh gạn dng âãø gạn giạ trë ca mäüt biãøu thỉïc
(cọ thãø l hm, biãún hồûc giạ trë)
cho mäüt biãún.
Cụ phạp:
Biãún := biãøu_thỉïc;
F
x, y : Real;
thç ta cọ thãø thỉûc hiãûn cạc phẹp gạn sau:
c1 := ‘A’;
c2 := Chr(97);
i := (23 + 6) * 2 mod 3;
j := Round(20 / 3);
x := i;
y := j;
2. Lãûnh Xút:
Lãûnh xút dng âãø in lãn mn hçnh cạc dỉỵ liãûu, kãút qu hay cạc thäng bạo.
Cụ phạp
(1). WRITE(Biãøu_thỉïc_1, Biãøu_thỉïc_2,..., Biãøu_thỉïc_n);
(2)
.
WRITELN(Biãøu_thỉïc_1, Biãøu_thỉïc_2,..., Biãøu_thỉïc_n);
(3). WRITELN;
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
16
—
Trang 1 6
Dảng
(1)
: In lãn mn hçnh giạ trë cạc biãøu thỉïc tải vë trê hiãûn hnh ca con tr
theo thỉï tỉû viãút trong lãûnh. Sau khi thỉûc hiãûn xong lãûnh
WRITE(... );
con tr âënh vë
tải sau giạ trë
--------------------------------------------
Ư
Chụ : Cọ hai dảng viãút trong th tủc
Write
v
Writeln
l
viãút khäng quy cạch
v viãút cọ quy cạch.
Âiãưu ny ta xẹt qua tỉìng kiãøu dỉỵ liãûu.
(1). Vê dủ vãư cạc dảng viãút khäng cọ quy cạch:
Uses CRT;
Var
I : Integer; R : Real;
Ch : Char;
B : Boolean;
Begin
I := 123; R := 123.456; Ch := ‘A’; B := 2<5;
Writeln( I ); {1}
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
17
—
Trang 17
Writeln( R); {2}
Writeln( 3.14 ); {3}
Writeln( 20 * 2.5); {4}
Writeln;
- Kiãøu k tỉû in bçnh thỉåìng, mäüt k tỉû chiãúm mäüt chäù. Lãûnh {5}in ra:
A
- Kiãøu
Boolean
in ra mäüt trong hai tỉì
True
hồûc
False
. Lãûnh {6}in ra:
True
- Lãûnh {7}:
phạt ra mäüt tiãúng Beep åí loa.
(2). Vê dủ vãư cạc dảng viãút cọ quy cạch:
Var
I : Integer;
R , Z : Real;
Ch : Char;
B : Boolean;
Begin
I := 123; R := 123.456; Ch := ‘A’; B := 2<5; Z := 543621.342;
Writeln( I :8 ); {1}
Writeln( -23564:8 ); {2}
Writeln( R:12:6); {3}
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
18
- Lãûnh {8} dnh 7 k tỉû âãø in giạ trë
True.
- Lãûnh {9} in säú thỉûc
Z
nhỉ sau:
Writeln( Z : m : n ).
Nãúu
m < n
thç säú thỉûc
Z
âỉåüc in våïi
n
säú l, cn säú chäù trãn mn hçnh thç tu vo âäü di ca säú
Z
. Trong
trỉåìng håüp
m > n
v âäü di ca säú låïn hån
m
thç säú âỉåüc tỉû âäüng canh phi. Trỉåìng
håüp
m > n
v âäü di ca säú nh hån
m
thç säú âỉåüc canh phi dỉ bao nhiãu k tỉû
mạy âãø träúng bãn trại.
Ư
Trỉåìng håüp trong cáu cáưn hiãøn thë dáúu ‘ thç ta phi viãút hai dáúu ‘ liãưn nhau (“).
4 Vê dủ:
1
Kãút qu: Khi chảy mạy in ra giáúy cáu
Welcome to Turbo Pascal Language !
3. Lãûnh Nháûp:
Lãûnh nháûp dng âãø âỉa dỉỵ liãûu tỉì bn phêm vo cạc biãún.
Cụ phạp:
(1) Readln(Biãún_1, biãún_2, biãún_n);
(2) Read(Biãún_1, biãún_2, biãún_n);
Khi thỉûc hiãûn lãûnh ny, mạy dỉìng lải chåì ngỉåìi dng nháûp vo â
n
láưn nháûp dỉỵ
liãûu tỉång ỉïng våïi
n
biãún.
Ngoi ra, ta cọ thãø sỉí dủng th tủc
Readln
âãø dỉìng chỉång trçnh v chåì ngỉåìi
dng áún mäüt phêm báút k âãø tiãúp tủc, k tỉû âỉåüc áún khäng hiãøn thë lãn mn hçnh.
Ư
Chụ :
- Cạc biãún trong th tủc
Readln
phi thüc kiãøu
ngun, thỉûc, k tỉû
hồûc
xáu k
tỉû
. Do âọ, ta khäng thãø nảp tỉì bn phêm giạ trë
Readln(x)
âãø chåì nháûp säú liãûu cho biãún
x.
4 Vê dủ 2: Gi sỉí ta â khai bạo:
Var s1, s2, s3 : String[5];
Xẹt cáu lãûnh:
Readln(s1, s2, s3);
Nãúu ta khäng nháûp k tỉû m chè áún
< Enter >
thç c 3 biãún
s1, s2, s3
âãưu l xáu
räùng.
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
20
—
Trang 20
Nãúu ta g
ABCDE1234567
v áún phêm
< Enter >
thç:
s1 = ‘ABCDE’, s2 =
‘12345’, s3 = ‘67’.
cáưn nháûp cho mäùi biãún phi cạch våïi cạc giạ trë khạc êt nháút mäüt k tỉû tràõng. Ta cọ
thãø nháûp
a, b, c
bàòng 3 lãûnh
Readln(a); Readln(b); Readln(c);
_________ o
²
o _________
BI 4: CẠC LÃÛNH CỌ CÁÚU TRỤC TRONG NGÄN NGỈỴ PASCAL
I. Lãûnh ghẹp:
Lãûnh ghẹp l mäüt nhọm cạc cáu lãûnh âỉåüc âàût giỉỵa hai tỉì khoạ
BEGIN
v
END
.
Lãûnh ghẹp âỉåüc thỉûc hiãûn bàòng cạch thỉûc hiãûn tưn tỉû cạc cáu lãûnh nàòm giỉỵa
BEGIN
v
END.
Cụ phạp:
Begin
<cáu lãûnh 1>;
<cáu lãûnh 2>;
– Giạo trçnh Láûp trçnh Pascal càn bn —
–
21
—
ELSE <lãûnh 2>.
F
Gii thêch lãûnh:
Khi gàûp lãûnh ny mạy kiãøm tra
<biãøu thỉïc logic>,
nãúu biãøu
thỉïc ny cọ giạ trë
TRUE (tỉïc l âụng nhỉ âiãưu kiãûn âàût ra)
thç mạy thỉûc hiãûn
<lãûnh
1>
nãúu ngỉåüc lải, tỉïc
<biãøu thỉïc logic>
cọ giạ trë
FALSE
thç
<lãûnh 2>
âỉåüc thỉûc
hiãûn. Trỉåìng håüp trong cáu lãûnh khäng cọ pháưn
ELSE
v
<biãøu thỉïc logic>
cọ giạ
trë
FALSE
thç
<lãûnh 1>
khäng âỉåüc thỉûc hiãûn v mạy chuøn âãún cáu lãûnh kãú sau
lãûnh
Readln(b);
If a > b then
Write( So lon hon la , a) { taỷi vở trờ naỡy khọng õổồỹc õỷt dỏỳu; }
Else
Write( So lon hon la , b);
Readln; { coù thóứ khọng coù dỏỳu; taỷi cỏu lóỷnh cuọỳi naỡy }
End.
4
Vờ duỷ 2: Vióỳt chổồng trỗnh kióứm tra trong ba sọỳ
a, b, c
õổồỹc nhỏỷp tổỡ baỡn phờm, sọỳ
naỡo laỡ lồùn nhỏỳt.
Var a, b, c, max : Integer;
Begin
Write( Nhap so a: );
Readln(a);
Write( Nhap so b: );
Readln(b);
Write( Nhap so c: );
Readln(c);
Max := a;
If max < b then
Max := b;
If max < c then
Max := c;
Write( So lon hon la , max);
Readln;
End.
4
Vờ duỷ 3: Vióỳt chổồng trỗnh kióứm tra ba sọỳ õổồỹc nhỏỷp tổỡ baỡn phờm coù thóứ laỡ õọỹ daỡi
End.
2. Lóỷnh CASE:
Cỏu lóỷnh
IF
ồớ trón chố reợ vaỡo mọỹt trong hai nhaùnh tổồng ổùng vồùi giaù trở cuớa bióứu
thổùc logic. Coỡn lóỷnh
CASE (reợ nhaùnh theo giaù trở)
cho pheùp lổỷa choỹn õóứ thổỷc hióỷn
mọỹt trong nhióửu cọng vióỷc tuỡy theo giaù trở cuớa bióứu thổùc.
Cuù phaùp:
CASE <bióứu thổùc> OF
Tỏỷp
_
hũng
_
1: <lóỷnh
_
1>;
Tỏỷp
_
hũng
_
2: <lóỷnh
_
2>;
.......
Tỏỷp
_
hũng
, vờ duỷ:
3 : <lóỷnh 1>;
5, 10.. 15 : <lóỷnh 2>;
A, Chr(152) : <lóỷnh 3>;
0.. 9 : <lóỷnh 4>;
2. Giaù trở cuớa
<bióứu thổùc>
vaỡ giaù trở trong caùc
Tỏỷp
_
hũng
_
i
phaới coù cuỡng kióứu vaỡ phaới
laỡ
kióứu vọ hổồùng õóỳm õổồỹc (nhổ nguyón, logic, kyù tổỷ, lióỷt kó).
3. Tỏỷp hũng naỡo coù chổùa giaù trở tổồng õổồng vồùi giaù trở cuớa
<bióứu thổùc>
thỗ lóỷnh sau
dỏỳu : cuớa tỏỷp hũng õoù õổồỹc thổỷc hióỷn, sau õoù maùy thoaùt khoới lóỷnh
CASE.
4. Trong trổồỡng hồỹp tỏỳt caớ caùc tỏỷp hũng khọng coù chổùa giaù trở tổồng õổồng vồùi giaù
trở cuớa
<bióứu thổùc>
thỗ lóỷnh sau tổỡ khoùa
ELSE
õổồỹc thổỷc hióỷn. Trổồỡng hồỹp naỡy nóỳu
khọng coù caớ phỏửn
ELSE <lóỷnh n+1>;
Vờ duỷ 2: Vióỳt chổồng trỗnh cho bióỳt sọỳ ngaỡy cuớa mọỹt thaùng. Thuỏỷt toaùn nhổ sau: