Giáo trình lập trình pascal căn bản

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

pdf91 trang | Chia sẻ: oanh_nt | Lượt xem: 1386 | Lượt tải: 0download
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:

  • pdflap_trinh_pascal_can_ban_11_6858.pdf
Tài liệu liên quan