Ta có thể khởi động Pascal từ Windows hoặc MS-DOS, chuyển đến thư mục BP
hoặc TP và chạy tập tin BP.EXE hay TURBO.EXE. Hai cách khởi động trên thực
hiện như sau:
- Khởi độ ng từ dấu nhắc của MS-DOS: Chuyển đến thư mục BP hoặc TP nơi
chứa tập tin BP.EXE hoặc TURBO.EXE, gõ BP hoặc TURBO và ấn <Enter>.
- Khởi động từ Windows: chọ n menu Start/Program/Borland Pascal. Nếu chương
trình Pascal chưa được cài vào menu Start, bạ n có thể dù ng Windows Explorer
chuyể n đến tậ p tin BP.EXE hoặc TURBO.EXE và khởi động Pascal bằng cách
chạy tập tin này
91 trang |
Chia sẻ: oanh_nt | Lượt xem: 1593 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình lập trình pascal căn bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GIÁO TRÌNH
Lập trình Pascal căn
bản
Giạo trçnh Láûp trçnh Pascal càn baín
1
Trang 1
BAÌI 1: GIÅÏI THIÃÛU NGÄN NGỈỴ PASCAL VAÌ CẠC VÊ DỦ ÂÅN
GIAÍN
I. Xuáút xỉï ngän ngỉỵ Pascal:
Pascal laì ngän ngỉỵ láûp trçnh cáúp cao do Niklaus Wirth, giạo sỉ âiãûn toạn trỉåìng
âải hoüc kyỵ thuáût Zurich (Thuđy Sé), âãư xuáút nàm 1970 våïi tãn Pascal âãø kyí niãûm nhaì
toạn hoüc vaì triãút hoüc näøi tiãúng Blaise Pascal (ngỉåìi Phạp).
Ngän ngỉỵ láûp trçnh Pascal cọ âàûc âiãøm: ngỉỵ phạp, ngỉỵ nghéa âån giaín vaì cọ tênh
logic; cáúu trục chỉång trçnh roỵ raìng, dãù hiãøu (thãø hiãûn tỉ duy láûp trçnh cáúu trục); dãù
sỉía chỉỵa, caíi tiãún.
Trong quạ trçnh phạt triãøn, Pascal âaỵ phạt huy âỉåüc ỉu âiãøm vaì âỉåüc duìng âãø tảo
ra nhiãưu ỉïng dủng trãn nhiãưu lénh vỉûc khạc nhau. Cạc täø chỉïc vaì cäng ty chuyãn vãư
mạy tênh dỉûa trãn Pascal chuáøn âaỵ phạt triãøn thãm vaì tảo ra cạc chỉång trçnh dëch
ngän ngỉỵ Pascal våïi nhiãưu pháưn bäø sung, giaím thiãøu khạc nhau. Vê dủ: TURBO
PASCAL cuía haỵng Borland (Myỵ), QUICK PASCAL cuía haỵng Microsoft, UCSD
PASCAL (University of California at San Diego), ANSI PASCAL (American
National Standard Institute),.v.v.
So våïi nhiãưu saín pháøm Pascal cuía nhiãưu täø chỉïc vaì cäng ty khạc nhau xuáút baín,
TURBO PASCAL cuía haỵng Borland toí ra cọ nhiãưu ỉu âiãøm nháút vaì hiãûn nay âaỵ tråí
thaình 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 giaíng
dảy vaì láûp trçnh chuyãn nghiãûp. Chè trong voìng vaìi nàm Turbo Pascal âỉåüc caíi tiãún
qua nhiãưu phiãn baín : 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 cuía ngän ngỉỵ Turbo Pascal gäưm:
- Turbo.exe: chỉång trçnh soản thaío, dëch vaì 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)
chuáøn âãø chảy våïi Turbo.exe.
Muäún sỉí dủng cạc lãûnh âäư hoüa, phaíi 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.): Chỉïa cạc kiãøu chỉỵ trong chãú âäü âäư hoả.
- Cạc táûp tin cọ pháưn måí räüng BGI (EGAVGA.BGI, HERC.BGI, CGA.BGI,...):
âãø âiãưu khiãøn cạc loải maìn hçnh tỉång ỉïng khi duìng âäư hoả.
II. Khåíi âäüng:
Giạo trçnh Láûp trçnh Pascal càn baín
2
Trang 2
Ta cọ thãø khåíi âäüng Pascal tỉì Windows hồûc MS-DOS, chuyãøn âãún thỉ mủc BP
hồûc TP vaì chảy táûp tin BP.EXE hay TURBO.EXE. Hai cạch khåíi âäüng trãn thỉûc
hiãûn nhỉ sau:
- Khåíi âäüng tỉì dáúu nhàõc cuía MS-DOS: Chuyãøn âãún thỉ mủc BP hồûc TP nåi
chỉïa táûp tin BP.EXE hồûc TURBO.EXE, goỵ BP hồûc TURBO vaì áún .
- Khåíi âäüng tỉì Windows: choün menu Start/Program/Borland Pascal. Nãúu chỉång
trçnh Pascal chỉa âỉåüc caìi vaìo menu Start, bản cọ thãø duìng Windows Explorer
chuyãøn âãún táûp tin BP.EXE hồûc TURBO.EXE vaì khåíi âäüng Pascal bàịng cạch
chảy táûp tin naìy.
III. Cạc phêm chỉïc nàng cáưn biãút cuía ngän ngỉỵ Pascal:
- F2: Lỉu chỉång trçnh trong khi soản thaío.
- F3: Tảo mäüt file måïi hồûc måí mäüt file cuỵ.
- F9: Dëch thỉí chỉång trçnh âãø kiãøm tra läùi.
- Ctrl - F9: Chảy chỉång trçnh.
- Alt - F5: Xem kãút quaí chảy chỉång trçnh.
- Alt - X: Thoạt khoíi maìn hçnh soản thaío chỉång trçnh Pascal.
IV. Cáúu trục mäüt chỉång trçnh Pascal:
1. Cáúu trục cå baín:
Chỉång trçnh Pascal âån giaín nháút phaíi cọ hai tỉì khoạ Begin vaì End nhỉ sau:
Begin
End.
Chỉång trçnh trãn tuy khäng laìm gç khi chảy (áún Ctrl - F9) nhỉng laì mäüt chỉång
trçnh håüp lãû do häüi âuí âiãưu kiãûn cáưn thiãút laì cọ hai tỉì khoạ Begin vaì End.
Tỉì khoạ End cọ keìm dáúu “.” phêa sau bạo hiãûu kãút thục chỉång trçnh, âáy laì âiãưu
bàõt buäüc phaíi cọ trong mäüt chỉång trçnh. Tỉì khoạ Begin trãn âỉåüc trçnh biãn dëch
hiãøu laì bàõt âáưu thỉûc hiãûn cạc lãûnh sau nọ vaì 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 vaì End nãúu cọ dáúu cháúm theo sau coìn
goüi laì khäúi chỉång trçnh chênh. Ngoaìi ra, nãúu sau tỉì khoạ End khäng cọ dáúu hồûc
cọ dáúu “;” thç âọ cọ thãø laì khäúi chỉång trçnh con, khäúi lãûnh cuía haìm 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 vaì End.
2. Phỉång phạp khai bạo vaì 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 baín
3
Trang 3
Viãûc âàût cạc pháưn khai bạo vaì soản thaío chỉång trçnh theo thỉï tỉû nhỉ sau:
Program ProgName;
Uses UnitName1, UnitName2, UnitNameN;
Label LabelName1, LabelName2, LabelNameN;
Const Const1 = n, Const2 = m, ConstN = k;
Type Type1 = AnyType;
Var Var1, Var2, VarN : Type;
Begin
{ Cạc lãûnh cuía chỉång trçnh }
End.
Ư Giaíi thêch cáúu trục cạc khai bạo trãn:
Nãúu cọ pháưn khai bạo naìo cáưn cho chỉång trçnh thç phaíi tuán theo thỉï tỉû trãn, vê
dủ: pháưn khai bạo thỉ viãûn (USES) khäng thãø âàût sau pháưn khai bạo hàịng säú
(CONST) hồûc sau (VAR)... sau mäùi pháưn khai bạo phaíi cọ dáúu ‘;’.
- Program: Tỉì khoạ naìy duìng âãø khai bạo tãn chỉång trçnh, ProgName laì tãn
chỉång trçnh, tãn naìy khạc våïi tãn táûp tin. Tãn chỉång trçnh phaíi tuán theo quy tàõc:
+ khäng cọ kyï tỉû träúng xen giỉỵa.
+ khäng âàût säú åí kyï tỉû âáưu tiãn.
+ trong pháưn tãn khäng chỉïa cạc kyï tỉû âàût biãût nhỉ: ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’,
‘&’, ‘* ’, ‘(‘, ‘)’, ‘-‘, ‘+’, ‘/’, ‘\’, ‘.’, ’,’,.v.v.
+ kãút thục phaíi cọ dáúu ‘;’.
+ pháưn naìy 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ạ naìy duìng âãø khai bạo viãûc sỉí dủng Unit (thỉ viãûn) cho chỉång
trçnh. Thỉ viãûn laì táûp håüp cạc haìm, thuí tủc do ngän ngỉỵ Pascal cung cáúp keìm theo
hồûc cuỵng cọ thãø do ngỉåìi láûp trçnh tảo ra âãø sỉí dủng. Ta khai bạo thỉ viãûn thäng
qua tãn cuía thỉ viãûn, vaì trong chỉång trçnh âọ ta seỵ cọ thãø sỉí dủng cạc thuí tủc hồûc
Giạo trçnh Láûp trçnh Pascal càn baín
4
Trang 4
cạc haìm cọ trong thỉ viãûn âọ. Cạc thỉ viãûn chuáøn cuía ngän ngỉỵ Pascal gäưm: CRT,
DOS, GRAPH, GRAPH3, OVERLAY, PRINTER, SYSTEM vaì TURBO3. Trong
âọ, thỉ viãûn SYSTEM màûc âënh âỉåüc chuyãøn vaìo chỉång trçnh maì ta khäng cáưn
phaíi khai bạo. Vê dủ mäüt cạch khai bạo thỉ viãûn:
...
Uses CRT, GRAPH;
...
- Label: Duìng âãø khai bạo cạc nhaỵn cho chỉång trçnh. Nhaỵn laì cạc tãn duìng âãø
âạnh dáúu trong chỉång trçnh âãø lãûnh GOTO nhaíy âãún âụng vë trê âọ. Viãûc sỉí dủng
lãûnh GOTO âỉåüc âãư cáûp åí baìi 4. Vê dủ mäüt cạch khai bạo nhaỵn:
...
Label TH1, N2;
...
- Const: Tỉì khoạ naìy duìng âãø khai bạo cạc hàịng säú sỉí dủng trong chỉång trçnh,
khi bạo hàịng säú laì viãûc cäú âënh mäüt vaìi giạ trë naìo âọ trong chỉång trçnh thäng qua
tãn hàịng, vê dủ cạch khai bạo hàịng:
...
Const k = 5, Max = 500, Ten = ‘Nam’;
...
- Type: tỉì khoạ duìng âãø khai bạo cạc kiãøu hàịng dỉỵ liãûu sỉí dủng cho chỉång
trçnh. Våïi tỉì khoạ naìy, ta cọ thãø tỉû tảo riãng cho mçnh nhỉỵng kiãøu dỉỵ liãûu riãng dỉûa
trãn cạc kiãøu dỉỵ liãûu chuáøn âãø tiãûn sỉí dủng trong viãûc láûp trçnh. Cạc khại niãûm vãư
dỉỵ liãûu chuáøn vaì phỉång phạp tảo kiãøu dỉỵ liãûu tỉû tảo seỵ âỉåüc giåïi thiãûu åí cạc pháưn
sau. Vê dủ mäüt cạch âãø khai bạo mäüt kiãøu dỉỵ liãûu tỉû tảo:
...
Type Day = Array [1..7] of String[8];
...
- Var: Tỉì khoạ duìng âãø khai bạo cạc biãún säú âỉåüc sỉí dủng trong chỉång trçnh.
Biãún säú laì cạc giạ trë cọ thãø thay âäøi âỉåüc trong suäút quạ trçnh chảy cuía chỉång
trçnh. Khại niãûm vãư biãún säú ráút quan troüng trong viãûc láûp trçnh (khại niãûm naìy âỉåüc
trçnh baìy kyỵ åí baìi 3). Mäüt vê dủ vãư cạch khai bạo biãún:
...
Giạo trçnh Láûp trçnh Pascal càn baín
5
Trang 5
Var HoDem, Ten : String;
N : Integer;
...
Ư Ghi chụ:
- Thỉï tỉû cạc khai bạo trãn laì âiãưu bàõt buäüc, ta phaíi nàõm thỉï tỉû naìy cho duì mäüt säú
khại niãûm ta chỉa âỉåüc biãút.
- Trong chỉång trçnh Pascal, âãø tảo låìi chụ thêch, ta sỉí dủng càûp dáúu {...} hồûc
(*...*) läưng cạc cáu chụ thêch vaìo bãn trong nọ.
- Trãn mäüt doìng cọ thãø viãút mäüt hồûc nhiãưu cáu lãûnh.
V. Cạc vê dủ âån giaín laìm quen våïi ngän ngỉỵ Pascal:
4 Vê dủ 1:
Program GioiThieu;
Begin
Writeln ( ‘ Trung tam Trung hoc Chuyen nghiep va Day nghe ‘ );
Write ( ‘ 74 Tran Quoc Toan - Tel: 0511 872664 ‘ );
End.
F Giaíi thêch chỉång trçnh GioiThieu:
- Begin: Tỉì khoạ cho biãút bàõt âáưu chỉång trçnh.
- Writeln: laì thuí tủc xuáút näüi dung cạc thaình pháưn bãn trong càûp dáúu (...) lãn maìn
hçnh vaì chuyãøn con troí xuäúng doìng. Bãn trong càûp dáúu (...) cọ thãø cọ nhiãưu thaình
pháưn gäưm chuäùi kyï tỉû (hà ịng giạ trë chuäùi), biãún säú hồûc haìm. Giỉỵa cạc thaình pháưn
trong càûp dáúu (...) phaíi cạch nhau bàịng dáúu ‘,‘ nãúu khäng cuìng loải, tỉïc laì chuäùi kyï
tỉû phaíi âỉåüc cạch våïi biãún säú hồûc haìm âỉïng trỉåïc nọ hay sau nọ bàịng dáúu ‘,‘.
Chuäùi kyï tỉû muäún hiãøn thë nguyãn vàn phaíi âỉåüc âàût trong càûp dáúu ‘ ‘.
- Write: laì thuí tủc xuáút näüi dung cạc thaình pháưn bãn trong càûp dáúu (...) lãn maìn
hçnh, thuí tủc naìy cọ chỉïc nàng tỉång tỉû Writeln nhỉng khäng chuyãøn con troí xuäúng
doìng.
- End: laì tỉì khoạ cho biãút kãút thục chỉång trçnh.
- Cạc doìng lãûnh nàịm giỉỵa Begin vaì End laì lãûnh maì chỉång trçnh cáưn phaíi thỉûc
hiãûn.
- Âãø xem chỉång trçnh trãn, ta chảy bàịng Ctrl - F9 vaì xem lải bàịng Alt - F5.
Giạo trçnh Láûp trçnh Pascal càn baín
6
Trang 6
4 Vê dủ 2:
Program DonXinPhep;
Uses CRT;
Begin
ClrScr;
Writeln ( ‘ ********************************** ’ );
Writeln ( ‘ * Cong hoa Xa hoi Chu nghia Viet Nam * ‘ );
Writeln ( ‘ * Doc Lap - Tu Do - Hanh Phuc * ‘ );
Writeln ( ‘ * DON XIN PHEP NGHI HOC * ‘ );
Writeln ( ‘ ********************************** ’ );
Writeln ( ‘... ‘ );
Readln;
End.
F Giaíi 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 maìn hçnh (Clear Screen).
- Cạc lãûnh Writeln (...) ð xuáút ra maìn hçnh näüi dung bãn trong dáúu (...) vaì xuäúng
doìng.
- Lãûnh Readln; ð dỉìng chỉång trçnh, phỉång phạp naìy duìng âãø hiãøn thë näüi
dung sau khi thỉûc hiãûn cạc lãûnh bãn trãn vaì chåì ngỉåìi duìng áún phêm báút kyì âãø tiãúp
tủc thỉûc hiãûn cạc lãûnh kãú sau nọ. Trong trỉåìng håüp trãn, kãú tiãúp laì tỉì khoạ End nãn
chỉång trçnh âỉåüc kãút thục sau khi cọ mäüt phêm báút kyì âỉåüc áún.
4 Vê dủ 3:
Program TinhTong;
Uses CRT;
Begin
ClrScr;
Write ( ‘ 30 + 40 + 15 = ‘, 30 + 40 + 15 );
Readln;
End.
1 Kãút quaí: Mạy thỉûc hiãûn phẹp tênh vaì hiãøn thë 30 + 40 + 15 = 85
Giạo trçnh Láûp trçnh Pascal càn baín
7
Trang 7
F Trong cáu lãûnh Write åí trãn, cọ hai thaình pháưn, biãøu thỉïc thỉï nháút: ‘30 + 40 +15
= ’ âỉåüc hiãøu laì mäüt chuäùi phaíi âỉåüc hiãøn thë nguyãn vàn do cọ càûp dáúu ‘ ‘ åí hai
âáưu. Thaình pháưn thỉï hai âỉåüc cạch våïi thaình pháưn thỉï nháút bàịng dáúu ‘,’ vaì do
khäng cọ càûp dáúu ‘ ‘ hai âáưu nãn nọ âỉåüc tênh täøng vaì traí vãư giạ trë cuía biãøu thỉïc.
_________ o²o _________
Giạo trçnh Láûp trçnh Pascal càn baín
8
Trang 8
BAÌI 2 : CẠC KHẠI NIÃÛM CÅ BAÍN CUÍA NGÄN NGỈỴ PASCAL
I. Cạc tỉì khoạ (Key word) trong ngän ngỉỵ Pascal:
Cạc tỉì khoạ laì cạc tỉì duìng âãø khai bạo, âàût tãn cho âäúi tỉåüng trong Pascal, khi
ta âàût tãn cho âäúi tỉåüng naìo âọ, khäng âỉåüc âàût truìng tãn våïi cạc tỉì khoạ.
Baíng 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 kyï tỉû thỉåìng hồûc hoa. Vê dủ, cạc cạch viãút sau cọ
yï nghéa nhỉ nhau: Begin, BEGIN, begin, beGIN, bEGIN,...
II. Cạc kiãøu dỉỵ liãûu cå baín:
1. Cạc kiãøu dỉỵ liãûu dảng säú nguyãn:
a. Kiãøu Byte: Kiãøu Byte thuäüc kiãøu dỉỵ liãûu biãøu diãùn cạc giạ trë säú nguyãn tỉì 0 âãún
255. Kiãøu Byte chiãúm 1 byte trãn bäü nhåï.
b. Kiãøu Integer: Kiãøu Integer laì kiãøu dỉỵ liãûu biãøu diãùn cạc giạ trë säú nguyãn tỉì -
32768 âãún 32767. Kiãøu Integer chiãúm 2 bytes trãn bäü nhåï.
c. Kiãøu Shortint: Kiãøu Shortint laì kiãøu dỉỵ liãûu biãøu diãùn cạc giạ trë säú nguyãn tỉì -
128 âãún 127. Kiãøu Shortint chiãúm 1 byte trãn bäü nhåï.
d. Kiãøu Word: Kiãøu Word laì kiãøu dỉỵ liãûu biãøu diãùn cạc giạ trë nguyãn tỉì 0 âãún
65535. Kiãøu Word laì 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äú nguyãn 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: Laì 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 1038). Kiãøu Single chiãúm 4 bytes trãn bäü nhåï.
b. Kiãøu Real: Laì táûp håüp cạc säú theo kiãøu dáúu ‘.‘ âäüng trong giåïi hản tỉì 2.9E -39
âãún 1.7E 38 (2,9 x10 - 39 âãún 1,7 x 10 38). Kiãøu Real chiãúm 6 bytes trãn bäü nhåï.
Giạo trçnh Láûp trçnh Pascal càn baín
9
Trang 9
c. Kiãøu Double: Laì táûp håüp cạc säú theo kiãøu dáúu ‘,‘ âäüng trong giåïi hản tỉì 5.0E -324
âãún 1.7E 308 (5,0 x10 - 324 âãún 1,7 x 10 308). Kiãøu Double chiãúm 8 bytes trãn bäü
nhåï.
3. Kiãøu Char (kyï tỉû):
Kiãøu Char duìng âãø biãøu diãùn cạc giạ trë laì cạc kyï tỉû thuäüc baíng chỉỵ cại: ‘A’, ‘b’,
‘x’,... cạc con säú: 0..9 hồûc cạc kyï tỉû âàûc biãût : ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘&’, ‘*’,...
Âãø biãøu diãùn thäng tin, ta cáưn phaíi sàõp xãúp cạc kyï tỉû theo mäüt chuáøn naìo âọ vaì
mäùi cạch sàõp xãúp âọ goüi laì baíng maỵ, thäng dủng nháút laì baíng maỵ ASCII (American
Standard Code for Information Interchange). Baíng maỵ ASCII cọ 256 kyï tỉû âỉåüc
gạn maỵ säú tỉì 0..255, mäùi kyï tỉû cọ mäüt maỵ säú nháút âënh, vê dủ : kyï tỉû ‘A’ cọ maỵ säú laì
65, ‘a’ cọ maỵ säú laì 97 trong baíng maỵ ASCII,.v.v.
Âãø hiãøn thë baíng maỵ ASCII, bản chảy chỉång trçnh sau:
Program ASCI I_Table;
Uses CRT;
Var I : Integer;
Begin
ClrScr;
For I := 0 to 255 do
Write( I, ’ = ’ , CHR( I ), ’ ‘ );
Readln;
End.
4. Kiãøu Logic:
Kiãøu logic laì kiãøu biãøu diãùn hai trảng thại laì âụng (True) hồûc sai (False). Tỉì
khoạ âãø khai bạo cho kiãøu logic laì BOOLEAN.
4 Vê dủ:
Var Co : Boolean;
Co := True;
5. Kiãøu String (chuäùi kyï tỉû):
String laì kiãøu dỉỵ liãûu chỉïa cạc giạ trë laì nhọm cạc kyï tỉû hồûc chè mäüt kyï tỉû, kãø caí
chuäùi räùng. Âäü daìi täúi âa cuía mäüt biãún kiãøu String laì 255, tỉïc laì nọ cọ thãø chỉïa täúi
âa mäüt daỵy gäưm 255 kyï 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 baín
10
Trang 10
Hồûc (2) Var Biãún_1, Biãún_2, Biãún_n: String [30];
Cạch khai bạo (1) seỵ cho phẹp biãún HoTen nháûn täúi âa 255 kyï tỉû. Cạch (2) cho
phẹp biãún HoTen nháûn täúi âa 30 kyï tỉû.
Ư Ghi chụ: Cạch sỉí dủng kiãøu dỉỵ liãûu String seỵ âỉåüc trçnh baìy chi tiãút åí baìi 8.
III. Cạc haìm xỉí lyï dỉỵ liãûu cå baín cuía ngän ngỉỵ Pascal:
- SQR(x) bçnh phỉång cuía mäüt säú nguyãn hay thỉûc.
- ABS(x) trë tuyãût âäúi cuía x.
- SQRT(x) càn báûc hai cuía x.
- SIN(x) tênh giạ trë Sin(x) våïi x laì Radian.
- COS(x) tênh giạ trë Cos(x) våïi x laì Radian.
- ARCTAN(x) tênh giạ trë Arctan(x).
- LN(x) haìm logaric cå säú e = 2.718.
- EXP(x) haìm ex.
- TRUNC(x) càõt boí pháưn tháûp phán cuía x nãúu cọ. Vê dủ: Trunc(4.86) = 4,
Trunc(-3.2) = 4.
- ROUND(x) cho säú nguyãn 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ãø laì kiãøu logic, kiãøu
nguyãn hồûc kiãøu kyï 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ë naìo do giạ trë False âỉïng
trỉåïc giạ trë True âäúi våïi kiãøu Boolean.
- SUCC(x) cho giạ trë âỉïng sau x, âäúi säú x cọ thãø laì kiãøu logic, kiãøu nguyãn
hồûc kiãøu kyï tỉû. Vê dủ: Succ(‘B’); ð cho giạ trë ‘C’, Succ(2) cho
giạ trë 3, Succ(False) cho giạ trë True.
- ORD(x) cho säú thỉï tỉû cuía kyï tỉû x trong baíng maỵ ASCII. Vê dủ: Ord(‘A’)
= 65, Ord(‘a’) = 97,...
- CHR(x) traí vãư kyï tỉû thỉï x trong baíng maỵ ASCII. Vê dủ: Chr(65) = ‘A’,
Chr(50) = 2,...
Giạo trçnh Láûp trçnh Pascal càn baín
11
Trang 11
- ODD(x) Traí vãư giạ trë True nãúu x laì säú leí vaì traí vãư giạ trë False nãúu x laì
säú chà ơn.
IV. Sỉí dủng haìm Random(n) âãø láúy mäüt giạ trë nguyãn ngáùu nhiãn:
Haìm Random(n) seỵ traí vãư mäüt giạ trë nguyãn maì mạy láúy ngáùu nhiãn cọ giạ trë tỉì
0 âãún n. Trong âọ, n laì mäüt säú kiãøu Word tỉïc laì trong khoaín tỉì 0.. 65535.
Trỉåïc khi sỉí dủng haìm Random ta phaíi goüi thuí tủc Randomize âãø khåíi tảo bäü
tảo säú ngáùu nhiãn
_________ o²o _________
BAÌI 3: HÀỊNG SÄ Ú, BIÃ ÚN SÄ Ú, BIÃ ØU THỈÏC VAÌ CÁU LÃÛNH
ÂÅN GIAÍN TRONG NGÄN NGỈỴ PASCAL
I. Hàịng säú:
1. Khại niãûm:
- Hàịng säú laì cạc giạ trë khäng thay âäøi trong quạ trçnh chảy chỉång trçnh.
- Cọ hai phỉång phạp sỉí dủng hàịng :
+ Gạn trỉûc tiãúp giạ trë hàịng.Vê dủ: DT := R * R * 3.14; ChuVi := D * 3.14;
+ Âàût cho hàịng mäüt tãn goüi vaì trong quạ trçnh soản chỉång trçnh ta duìng tãn
goüi thay cho viãûc duìng trỉûc tiãúp giạ trë âọ. Vê dủ: ChuVi := D * Pi; trong âọ, Pi laì
mäüt hàịng säú chuáøn cuía Pascal (tỉïc laì ta cọ thãø duìng maì khäng cáưn khai bạo vaì gạn
giạ trë).
- Hàịng säú luän luän âỉåüc khai bạo trỉåïc pháưn khai bạo biãún nãúu sỉí dủng theo
phỉång phạp âàût tãn cho hàịng.
2. Cụ phạp khai bạo:
Const a1 = Trë_säú_1, a2 = Trë_säú_2, an = Trë_säú_n;
Trong âọ: a1... an laì tãn cạc hàịng säú, cạc trë_säú_1,2,...,n laì cạc giạ trë gạn cho cạc
tãn hàịng a1...an.
F Vê dủ mäüt cạch khai bạo hàịng säú: Const Pi = 3.1416, Max = 500;
4 Vê dủ: chỉång trçnh tênh chu vi âỉåìng troìn cọ sỉí dủng hàịng säú Pi do ta âënh
nghéa:
Program TinhCV_DT_HT;
Const Pi = 3.1416;
Var R :Real;
Begin
Giạo trçnh Láûp trçnh Pascal càn baín
12
Trang 12
Write ( ‘ Nhap ban kinh hinh tron : ‘ );
Readln (R);
Writeln ( ‘ Dien tich hinh tron = ‘ , Pi * R * R );
Writeln ( ‘ Chu vi hinh tron = ‘ , 2 * R * Pi);
Readln;
End.
Ư Ghi chụ:
- Ta trạnh viãút: z := Exp(1.23) + Sin(2.34) * Sin(2.34);
- Ta seỵ tháúy tai hải ngay vç khi muäún tênh lải z våïi giạ trë måïi cuía x, vê dủ x =
1.55, khäng leỵ lải âi thay hãút 3 vë trê våïi 2.34 (laì giạ trë củ thãø cuía x maì ta âaỵ khäng
sỉí dủng hà ịng säú) thaình 1.55 !!
- Trong chỉång trçnh trãn, bản cọ thãø täúi ỉu hoạ thãm âãø chỉång trçnh chảy
nhanh hån bàịng cạch thay hai láưn tênh Sin(x) bàịng mäüt láưn. Củ thãø, ta thỉûc hiãûn nhỉ
sau:
t := Sin(x);
z := Exp(a + t * t - x);
Tạc phong täúi ỉu hoạ naìy seỵ ráút cọ êch cho bản khi bản cọ mäüt chỉång trçnh våïi
khäúi lỉåüng tênh toạn âäư säü, cọ thãø chảy vaìi ngaìy âãm liãn tủ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 hản. Lục naìy bản måïi ‘tháúu
hiãøu’ täúi ỉu hoạ âãø laìm gç ?
II. Biãún säú:
1. Khại niãûm:
- Laì âải lỉåüng maì giạ trë cuía nọ cọ thãø thay âäøi trong quạ trçnh thỉûc hiãûn chỉång
trçnh. Biãún âỉåüc khai bạo bàịng tỉì khoạ 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 trục ghi nhåï dỉỵ liãûu vç váûy phaíi âỉåüc quy âënh theo mäüt kiãøu
dỉỵ liãûu naìo âọ, vê dủ kiãøu Integer, Byte, Char,...
2. Cụ phạp khai bạo cho cạ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;
Trong âọ: Tãn_biãún_1, Tãn_biãún_2, Tãn_biãún_n laì tãn cạc biãún cáưn khai bạo âãø
sỉí dủng trong chỉång trçnh, Kiãøu_dỉỵ_liãûu_cuía_biãún laì mäüt trong cạc kiãøu dỉỵ liãûu
Giạo trçnh Láûp trçnh Pascal càn baín
13
Trang 13
chuáøn (âaỵ âỉåüc nãu trong pháưn II cuía baìi 2) cuía Pascal hồûc do ngỉåìi duìng âë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äú nguyãn âỉåüc nháûp tỉì baìn phêm. Trong baìi
naìy, ta cáưn khai bạo hai biãún a vaì 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) vaì cạc toạn hảng duìng âãø thãø
hiãûn mäüt cäng thỉïc toạn hoüc. Toạn hảng cọ thãø laì hàịng, haìm hồûc biãún.
4 Vê dủ: Sau khi khai cọ bạo:
Const Max = 120;
Var x: Integer;
ta cọ thãø viãút biãøu thỉïc sau: 5 + Max * Exp(x);
Trong âọ: + vaì * laì hai toạn tỉí, cạc hàịng säú 5, Max vaì haìm Exp(x) laì cạc toạn
hảng.
Ư Chụ yï:
- Mäüt hàịng, mäüt biãún, mäüt haìm cuỵng âỉåüc xem laì biãøu thỉïc, âọ laì biãøu thỉïc âån
giaín.
- 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 baín
14
Trang 1 4
+ Cạc phẹp toạn mäüt ngäi âỉåüc ỉu tiãn thỉï nháút laì: dáúu dỉång (+), dáúu ám (-
), phẹp phuí âënh (not).
+ Cạc phẹp toạn nhán chia: nhán (*), chia (/), láúy pháưn nguyãn (div), láúy
pháưn dỉ (mod), phẹp vaì (and).
+ Cạc phẹp cäüng trỉì: cäüng (+), trỉì (-), phẹp hồûc (or).
+ Cạc phẹp so sạnh: , >= , = , .
- Biãøu thỉïc trong càûp dáúu ngồûc ( ) âỉåüc thỉûc hiãûn trỉåïc tiãn nãúu cọ.
- Cạc toạn tỉí cuìng thỉï tỉû ỉu tiãn thç âỉåüc thỉûc hiãûn tỉì trại qua phaíi.
4 Vê dủ viãûc sỉí dủng cạc toạn tỉí vaì toạn hảng:
3 + 5 * 3 = 18
(3 + 5) * 3 = 24
5 / 2 * 3 = 7.5
(5 + 2 > 4) and not (true or (5 - 3 = 8)) = false
( -b + sqrt(d) ) / 2 * a ( cọ nghéa: )
IV. Cáu lãûnh âån giaín:
Sau pháưn khai bạo dỉỵ liãûu laì pháưn lãûnh cuía chỉång trçnh. Pháưn naìy xạc âënh cạc
cäng viãûc maì chỉång trçnh phaíi thỉûc hiãûn xỉí lyï cạc dỉỵ liãûu âaỵ âỉåüc khai bạo. Cáu
lãûnh âỉåüc chia thaình hai loải:
- Cáu lãûnh âån giaín:
+ Lãûnh gạn (:=)
+ Lãûnh Nháûp - Xuáút (READ, READLN, WRITE, WRITELN).
+ Goüi thuí tủc.
+ Lãûnh nhaíy (GOTO).
- Cáu lãûnh cọ cáúu trục:
+ Lãûnh ghẹp (BEGIN... END)
+ Lãûnh lỉûa choün (IF... ELSE, CASE... OF)
+ Lãûnh làûp (FOR, REPEAT... UNTIL, WHILE... DO)
+ Lãûnh WITH.
Ư Ghi chụ: Näüi dung baìi naìy chè âãư cáûp âãún cạc lãûnh âån giaín. Cạc lãûnh cọ cáúu
trục âỉåüc trçnh baìy åí baìi 4.
1. Lãûnh gạn:
adb
2
+-
Giạo trçnh Láûp trçnh Pascal càn baín
15
Trang 1 5
Lãûnh gạn duìng âãø gạn giạ trë cuía mäüt biãøu thỉïc (cọ thãø laì haìm, biãún hồûc giạ trë)
cho mäüt biãún.
Cụ phạp:
Biãún := biãøu_thỉïc;
F Âáưu tiãn, mạy tênh giạ trë cuía biãøu thỉïc åí vãú phaíi, sau âọ, giạ trë tênh âỉåüc tỉì vãú
phaíi âỉåüc gạn cho vãú trại (biãún).
Ư Chụ yï:
- Vãú trại cuía lãûnh gạn chè cọ thãø laì biãún. Vê dủ: viãút x + y = 7; laì sai vç vãú trại cuía
cáu lãûnh naìy laì mäüt biãøu thỉïc chỉï khäng phaíi laì mäüt biãún.
- Kiãøu giạ trë cuía biãøu thỉïc (haìm, biãún hồûc giạ trë) åí vãú phaíi phaíi truìng våïi kiãøu
cuía biãún âaỵ âỉåüc khai bạo, trỉì mäüt säú trỉåìng håüp nhỉ biãún kiãøu thỉûc (Single, Real,
Double) cọ thãø nháûn giạ trë kiãøu nguyãn (Shorint, Byte, Integer, Word, Longint),...
do táûp håüp säú nguyãn laì táûp con cuía säú thỉûc.
4 Vê dủ: Sau khi âaỵ cọ khai bạo:
Var c1, c2 : Char;
i, j : Integer;
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 Xuáút:
Lãûnh xuáút duìng âãø in lãn maìn hçnh cạc dỉỵ liãûu, kãút quaí hay cạc thäng bạo.
Cụ phạp (1). WRITE(Biãøu_thỉïc_1, Biãø
Các file đính kèm theo tài liệu này:
- lap_trinh_pascal_can_ban_11_6858.pdf