Tải bản đầy đủ (.pdf) (116 trang)

Giáo Trình Pascal 7.0 Phan Văn Dương

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.05 MB, 116 trang )

Giaùo trình

Ch biên: Phan V n D

Hi u đính và b sung:

Bình

nh, 6-2014

ng


Giáo trình bài t p Pascal
M CL C
M C L C ...................................................................................................................... 2
L IM
U ................................................................................................................ 5
Ch ng 1 ........................................................................................................................ 6
GI I THI U NGÔN NG L P TRÌNH PASCAL .................................................. 6
VÀ BORLAND PASCAL 7.0 ....................................................................................... 6
I.1 GI I THI U NGÔN NG PASCAL.................................................................... 6
I.1.1 Ngôn ng Pascal.............................................................................................. 6
I.1.2 Turbo Pascal .................................................................................................... 6
I.2 S D NG PASCAL 7.0........................................................................................ 7
I.2.1 Cài đ t và s d ng Borland Pascal 7.0 ............................................................ 7
I.2.2 Kh i đ ng Turbo Pascal .................................................................................. 7
I.2.3 Các thao tác th ng s d ng trên Turbo Pascal.............................................. 8
Ch ng 2 ...................................................................................................................... 10
CÁC THÀNH PH N C B N C A ........................................................................ 10
NGÔN NG L P TRÌNH PASCAL ......................................................................... 10


II.1 CÁC T P TIN C N THI T KHI L P TRÌNH V I TURBO PASCAL ......... 10
II.2 CÁC B C C B N KHI L P M T CH NG TRÌNH PASCAL ............. 10
II.3 C U TRÚC CHUNG C A M T CH
NG TRÌNH PASCAL ...................... 10
II.4 CÁC THÀNH PH N C B N C A NGÔN NG PASCAL ......................... 11
II.4.1 T khóa – B ch vi t – Tên ....................................................................... 11
II.4.2 Ki u d li u.................................................................................................. 12
II.4.3 Bi n – H ng s ............................................................................................. 15
II.4.4 Bi u th c – d u ch m ph u – L i gi i thích ................................................ 16
II.4.5 Câu l nh ....................................................................................................... 16
BÀI T P TH C HÀNH ........................................................................................... 20
LÀM QUEN V I PASCAL .................................................................................. 20
BÀI T P M U ..................................................................................................... 20
BÀI T P T GI I ................................................................................................ 22
Ch ng 3 ...................................................................................................................... 24
CÁC CÂU L NH CÓ C U TRÚC ........................................................................... 24
III.1 L NH C U TRÚC R NHÁNH ...................................................................... 24
III.1.1 D ng Không y
.................................................................................. 24
III.1.2 D ng
y
............................................................................................. 24
III.2 L NH C U TRÚC L A CH N...................................................................... 25
III.3 CÁC L NH VÒNG L P .................................................................................. 26
III.3.1 Vòng l p xác đ nh ....................................................................................... 26
III.3.2 Vòng l p không xác đ nh ............................................................................ 27
III.3.3 S khác nhau gi a vòng l p WHILE … DO và REPEATE … UNTIL và
FOR ...TO ... DO ................................................................................................... 29
BÀI T P TH C HÀNH ........................................................................................... 30
BÀI T P M U ..................................................................................................... 30

BÀI T P T GI I ................................................................................................ 36
Ch ng 4 ...................................................................................................................... 39
CH
NG TRÌNH CON: TH T C VÀ HÀM ....................................................... 39
IV.1 KHÁI NI M V CH NG TRÌNH CON ...................................................... 39

2


Giáo trình bài t p Pascal
IV.2 HÀM (FUNCTION) .......................................................................................... 39
IV.3 TH T C (PROCEDURE) .............................................................................. 42
IV.4 BI N TOÀN C C VÀ BI N A PH
NG ................................................. 43
IV.5 V N
XÂY D NG CH
NG TRÌNH CON VÀ TRUY N THAM S . 44
IV.6 TÍNH
QUY C A CH
NG TRÌNH CON ............................................... 45
IV.6.1 Khái ni m đ quy ....................................................................................... 45
IV.6.2 Ch ng trình con đ quy ............................................................................ 45
IV.6.3 C u trúc c a m t ch ng trình con đ quy ................................................ 46
IV.6.4 Ph ng pháp thi t k gi i thu t đ quy ...................................................... 46
IV.7 T O TH VI N (UNIT) ................................................................................. 46
IV.7.1 Khái ni m v Unit ...................................................................................... 46
IV.7.2 Thi t l p Unit ............................................................................................. 48
BÀI T P TH C HÀNH ........................................................................................... 51
BÀI T P M U ..................................................................................................... 51
BÀI T P T GI I ................................................................................................ 54

Ch ng 5 ...................................................................................................................... 56
D LI U KI U M NG (ARRAY) ........................................................................... 56
V.1 KHÁI NI M ....................................................................................................... 56
V.2 M NG M T CHI U ......................................................................................... 56
V.2.1 Khai báo ....................................................................................................... 56
V.2.2 Truy xu t các ph n t c a m ng .................................................................. 57
V.3 M NG NHI U CHI U ..................................................................................... 57
V.3.1 Khai báo ....................................................................................................... 57
V.3.2 Truy xu t các ph n t c a m ng .................................................................. 58
V.4 M T S GI I THU T S P X P TRÊN M NG............................................ 59
V.4.1 Gi i thu t Select Sort (l a ch n) ................................................................. 59
V.4.2 Bubble sort (n i b ) ..................................................................................... 60
V.4.3 M t s thu t toán khác................................................................................. 61
BÀI T P TH C HÀNH ........................................................................................... 62
Ch ng 6 ...................................................................................................................... 76
XÂU KÝ T (STRING).............................................................................................. 76
VI.1 KHAI BÁO KI U STRING ............................................................................. 76
VI.2 TRUY XU T D LI U KI U STRING ......................................................... 76
VI.3 CÁC PHÉP TOÁN, TH T C VÀ HÀM TRÊN XÂU KÝ T ..................... 76
VI.3.1 Các phép toán trên xây ký t ...................................................................... 76
VI.3.2 Các th t c và hàm trên xây ký t .............................................................. 76
BÀI T P TH C HÀNH ........................................................................................... 79
BÀI T P M U ..................................................................................................... 79
BÀI T P T GI I ................................................................................................ 85
Ch ng 7 ...................................................................................................................... 87
KI U B N GHI (RECORD) ...................................................................................... 87
VII.1 KHAI BÁO D LI U KI U RECORD ......................................................... 87
VII.2 XU T NH P D LI U KI U RECORD...................................................... 87
VII.2.1 Truy nh p tr c ti p: .................................................................................. 87
VII.2.2 S d ng câu l nh WITH ........................................................................... 87

VII.2.3 Gán bi n Record: ...................................................................................... 87

3


Giáo trình bài t p Pascal
BÀI T P TH C HÀNH ........................................................................................... 88
BÀI T P M U ..................................................................................................... 88
BÀI T P T GI I ................................................................................................ 92
Ch ng 8 ...................................................................................................................... 94
D LI U KI U CON TR ....................................................................................... 94
VIII.1 KHAI BÁO ..................................................................................................... 94
VIII.2 LÀM VI C V I BI N
NG ...................................................................... 94
VIII.2.1 C p phát vùng nh ................................................................................... 94
VIII2.2 Gi i phóng vùng nh ................................................................................ 95
VIII.3 DANH SÁCH
NG .................................................................................... 95
VIII.3.1 Khái ni m ................................................................................................ 95
VIII.3.2 Khai báo ................................................................................................... 95
VIII.3.3 Các thao tác th ng g p trên danh sách liên k t đ n .............................. 95
BÀI T P TH C HÀNH ........................................................................................... 98
BÀI T P M U ..................................................................................................... 98
BÀI T P T GI I ..............................................................................................111
TÀI LI U THAM KH O.........................................................................................116

4


Giáo trình bài t p Pascal

L IM

U

Theo khung ch ng trình c a B Giáo D c và ào T o, Ngôn ng L p trình
Pascal là m t ph n quan tr ng trong h c ph n Tin h c
i c ng thu c các kh i
ngành Khoa h c T nhiên, đ c bi t là ngành Công ngh Thông tin.
Nh m đáp ng yêu c u h c t p c a h c sinh, sinh viên b c đ u làm quen v i công
vi c l p trình, chúng tôi đã biên so n b Giáo Trình Bài t p Pascal nh m giúp cho
H c sinh Sinh viên có m t tài li u h c t p, rèn luy n t t kh n ng l p trình, t o n n
t ng v ng ch c cho các môn h c ti p theo trong ch ng trình đào t o C nhân Công
ngh Thông tin.
Giáo trình bao g m r t nhi u bài t p t đ n gi n đ n ph c t p. Các bài t p này đ c
biên so n d a trên khung ch ng trình gi ng d y môn Ngôn ng L p trình (MH11).
Bên c ch đó, chúng tôi c ng b sung m t s bài t p d a trên c s m t s thu t toán
chu n v i các c u trúc d li u đ c m r ng nh m nâng cao k n ng, ph ng pháp l p
trình cho H c sinh Sinh viên.
N i dung c a giáo trình đ c chia thành 8 ch ng. Trong m i ch ng đ u có ph n
tóm t t lý thuy t, ph n bài t p m u và cu i cùng là ph n bài t p t gi i đ b n đ c t
mình ki m tra nh ng ki n th c và kinh nghi m đã h c. Trong ph n bài t p m u, đ i
v i nh ng bài t p khó ho c có thu t toán ph c t p, chúng tôi th ng nêu ra ý t ng và
gi i thu t tr c khi vi t ch ng trình cài đ t.
Xin chân thành c m n các đ ng nghi p T Công ngh Thông tin Tr ng Cao
ng Ngh C
i n – Xây D ng & Nông Lâm Trung B đã giúp đ , đóng góp ý ki n
đ hoàn ch nh n i dung giáo trình này.
Chúng tôi hy v ng s m nh n đ c nh ng ý ki n đóng góp, phê bình c a b n đ c v
n i dung, ch t l ng và hình th c trình bày đ giáo trình này ngày m t hoàn thi n h n.
Bình


nh, Tháng 06 N m 2014
CÁC TÁC GI

5


Giáo trình bài t p Pascal
Ch
GI I THI U NGÔN NG

ng 1
L P TRÌNH PASCAL

VÀ BORLAND PASCAL 7.0
I.1 GI I THI U NGÔN NG

PASCAL

I.1.1 Ngôn ng Pascal
Pascal là m t ngôn ng l p trình b c cao do Niklaus Wirth, giáo s đi n toán tr ng
i h c k thu t Zurich (Th y S ) đ xu t n m 1970. Ông l y tên Pascal đ k ni m
nhà toán h c và nhà tri t h c ng i Pháp n i ti ng Blaise Pascal.
Pascal là m t ngôn ng l p trình có c u trúc th hi n trên 3 ph

ng di n:

-

V m t d li u: Ngoài các ki u d li u đ n gi n còn có các ki u d li u có c u

trúc. Ta có th xây d ng các ki u d li u ph c t p t các ki u d li u đã có.

-

V m t câu l nh: T các câu l nh đ n gi n và l nh có c u trúc ta có th xây
d ng các câu l nh h p thành.

-

V m t ch

ng trình: M t ch

ng trình có th chia làm nhi u ch

ng trình con.

I.1.2 Turbo Pascal
Khi m i ra đ i, Standart Pascal là m t ngôn ng đ n gi n, dùng đ gi ng
d y và h c t p, d n d n các u đi m c a nó đ c phát huy và tr thành m t ngôn
ng m nh. T Pascal chu n ban đ u, đã đ c nhi u công ty ph n m m c i ti n
v i nhi u thêm b t khác nhau.
TURBO PASCAL là s n ph m c a hãng Borland đ c dùng r t ph bi n
trên th gi i vì nh ng u đi m c a nó nh : t c đ nhanh, các c i ti n so v i
Pascal chu n phù h p v i yêu c u ng i dùng.
TURBO PASCAL 4.0 tr đi có c i ti n r t quan tr ng là đ a khái ni m
Unit đ có th d ch s n các Module trên đ a, làm cho vi c l p trình tr nên ng n
g n, d dàng, ch ng trình vi t d hi u h n.
T phiên b n 5.5 (ra đ i n m 1989) tr đi, Turbo Pascal có m t ki u d
li u hoàn toàn m i là ki u Object cho phép đ a các mã l nh xen k v i d li u.

Ngoài ra nó còn th vi n đ ho r t phong phú v i nhi u tính n ng m nh, ngôn
ng l p trình c p cao Delphi c ng s d ng cú pháp t ng t nh Turbo Pascal.
Turbo Pascal 7.0 là phiên b n cu i cùng c a Borland. Sau phiên b n này
hãng Borland chuy n sang Pascal For Windows trong m t th i gian ng n r i s n
xu t DELPHI. Turbo Pascal 7.0 h tr m nh m l p trình h ng đ i t ng nh ng
có nh c đi m là b l i “Devide by zero” trên t t c các máy có xung nh p l n
h n 300 MHz. Gi i quy t v n đ này có hai ph ng án:
1. C p nh t file TURBO.TPL trong th m c \BP\BIN.
2. S d ng Free Pascal.
Ngoài ra c ng nên l u ý là Turbo Pascal ch y ch đ th c (real mode) nên khi
ch y trên n n Windows XP nó hay kh i đ ng l i máy. Nên ch y Borland Pascal.

6


Giáo trình bài t p Pascal
Khi đó Windows s t o m t môi tr
ti n l i h n.
I.2 S

ng DOS gi l p và ch y

ch đ đa nhi m

D NG PASCAL 7.0

I.2.1 Cài đ t và s d ng Borland Pascal 7.0
Gói cài đ t Borland Pascal th ng đ c đ t trong th m c BP70. M
th m c này và ch y file cài đ t INSTALL.EXE. Làm theo các h ng
d n trong quá trình cài đ t. Thông th ng sau khi cài đ t xong, ch ng

trình s đ c đ t trong C:\BP. Hãy vào C:\BP\BIN đ c p nh t l i file
Turbo.tpl (Chép đè file cùng tên trong th m c \BP70\Huongdan\ lên file này). Thay
vì ch y TURBO PASCAL (File th c thi: BP\BIN\Turbo.exe) hãy t o Shorcut và ch y
BORLAND PASCAL (File th c thi: BP\BIN\BP.exe). Các thao tác s d ng trên
Borland Pascal hoàn toàn gi ng v i các thao tác trên Turbo Pascal nói d i đây.
I.2.2 Kh i đ ng Turbo Pascal
N u máy tính chúng ta đã cài đ t Turbo Pascal trên đ a, ta có th kh i đ ng chúng
nh sau (N u máy tính ch a có, chúng ta ph i cài đ t Turbo Pascal sau đó m i th c thi
đ c)
+ T MS-DOS:
m b o r ng th m c hi n hành đúng v trí cài đ t (ho c dùng
l nh PATH) Turbo Pascal. Ta đánh vào TURBO r i Enter.
+ T Windows: Ta nên gi l p MS-DOS Mode cho t p tin TURBO.EXE ho c
Shortcut c a nó, n u không m i khi ta th c thi TURBO PASCAL ch ng trình
s thoát kh i Windows, tr v MS-DOS. Sau khi thoát Turbo Pascal ta ph i đánh
l nh EXIT đ kh i đ ng l i Windows. Cách gi l p nh sau:
 Nh p chu t ph i lên t p tin TURBO.EXE ho c Shortcut c a nó, ch n
Properties.
 Ch n th Program và đánh check nh hình sau.

Click vào đây và
ch n nh hình d i

7


Giáo trình bài t p Pascal
Ch n OK trên các h p tho i, sau đó kh i đ ng Turbo Pascal, màn hình so n th o
sau khi kh i đ ng TURBO PASCAL nh d i đây xu t hi n.


I.2.3 Các thao tác th
Bi u
t ng

ng s d ng trên Turbo Pascal
Tên phím

Di n gi i

Các phím thông d ng khi so n th o v n b n


Enter

a con tr xu ng dòng.



Up

a con tr lên 1 dòng.



Down

a con tr xu ng 1 dòng.




Left

a con tr qua trái m t ký t .



Right

a con tr qua ph i m t ký t .

Home

Home

a con tr v đ u dòng.

End

a con tr v cu i dòng.

End

Page Up

Lên m t trang màn hình.

Page Down

Xu ng m t trang màn hình.


Delete

Xoá ký t t i v trí con tr .

Back

BackSpace

Xoá ký t tr

Insert

Insert

Thay đ i ch đ vi t xen hay vi t ch ng.

Pg Up
Pg Down
Del

c con tr .

Các thao tác trên kh i v n b n
Ctrl + PgUp

a con tr v đ u v n b n

Ctrl + PgDn

a con tr v cu i v n b n


Ctrl + Y

Xóa dòng t i v trí con tr

Ctrl + N

Thêm 1 dòng tr

Ctrl + Y

Xoá m t dòng t i con tr .

c con tr .

Ctrl + K + B

ánh d u đ u kh i.

Ctrl + K + K

ánh d u cu i kh i.

8


Giáo trình bài t p Pascal
Ctrl + K + C

Sao chép kh i.


Ctrl + K + V

Di chuy n kh i.

Ctrl + K + Y

Xoá kh i v n b n đang ch n

Trong Borland Pascal các thao tác kh i đ n gi n và d h n nh sau:
+ ánh d u kh i: Shift + <Các phím ←↑→↓>
+ Copy kh i vào clipboard: CTRL+ Ins (phím Insert)
+ Dán kh i (đã copy vào clipboard) vào v trí m i: SHIFT+ Ins
Các phím ch c n ng th

ng dùng

F1

F1

G i ch

F2

F2

L u t p tin l i.

F3


F3

T o m i ho c m t p tin.

F4

F4

Th c thi ch
con tr .

F5

F5

Phóng l n c a s .

F6

F6

Chuy n đ i các c a s .

F7

F7

Ch y t ng dòng l nh (hàm xem nh m t
l nh).


F8

F8

Ch y t ng dòng l nh đ n.

F9

F9

Ki m tra l i ch

F10

F10

Vào h th ng Menu c a Pascal

Alt + F3

ng trình giúp đ .

ng trình đ n dòng ch a

ng trình.

óng file đang so n th o

Alt + F5


Xem k t qu ch y ch

ng trình

Alt + F9

Biên d ch ch

Alt + <S th t file đang m >

D ch chuy n qua l i gi a các file đang
m

Ctrl + F9

Ch y ch

Ctrl + K + W

Ghi kh i lên đ a thành m t t p tin (n i
dung c a t p tin là kh i đã ch n).

Ctrl + K + R

Xen n i dung m t t p tin (t đ a) vào
sau v trí con tr .

Ctrl + K + H


T t/M đánh d u kh i.

Ctrl + F4

Ki m tra giá tr bi n khi ch y ch
trình.

Alt + X

Thoát kh i ch

ng trình.

ng trình.

ng

ng trình.

9


Giáo trình bài t p Pascal
Ch

ng 2

CÁC THÀNH PH N C
NGÔN NG


B NC A

L P TRÌNH PASCAL

II.1 CÁC T P TIN C N THI T KHI L P TRÌNH V I TURBO PASCAL
l p trình đ c v i Turbo Pascal, t i thi u c n 2 file sau:
• TURBO.EXE: Dùng đ so n th o và d ch ch ng trình.
• TURBO.TPL: Th vi n ch a các đ n v chu n đ ch y v i TURBO.EXE.
Ngoài ra, mu n l p trình đ ho thì ph i c n thêm các t p tin:
• GRAPH.TPU: Th vi n đ ho .
• *.BGI: Các file đi u khi n các lo i màn hình t ng ng khi dùng đ ho .
• *.CHR: Các file ch a các font ch đ h a.
II.2 CÁC B
C C B N KHI L P M T CH
NG TRÌNH PASCAL
B c 1: So n th o ch ng trình.
B c 2: D ch ch ng trình (nh n phím F9), n u có l i thì ph i s a l i.
B c 3: Ch y ch ng trình (nh n phím Ctrl-F9).
II.3 C U TRÚC CHUNG C A M T CH
{ Ph n tiêu đ }
PROGRAM Tên_ch ng_trình;
{ Ph n khai báo }
USES ......;
CONST .....;
TYPE .......;
VAR
........;
PROCEDURE ............;
FUNCTION ..............;
...............

{ Ph n thân ch ng trình }
BEGIN
...........
END.

NG TRÌNH PASCAL

Ví d 1: Ch ng trình Pascal đ n gi n nh t
BEGIN
Write(‘Hello World!’);
END.
Ví d 2:
Program Vidu2;
Const PI=3.14;

10


Giáo trình bài t p Pascal
Var R,S:Real;
Begin
R:=10;
{Bán kính đ ng tròn}
S:=R*R*PI; {Di n tích hình tròn}
Writeln(‘Dien tich hinh tron = ‘, S:0:2); { In ra màn hình }
Readln;
End.
II.4 CÁC THÀNH PH N C

B N C A NGÔN NG


PASCAL

II.4.1 T khóa – B ch vi t – Tên
II.4.1.1 T khóa
Các t khoá là các t dành riêng (reserved words) c a Pascal mà ng i l p
trình có th s d ng chúng trong ch ng trình đ thi t k ch ng trình. Không
đ c dùng t khoá đ đ t cho các tên riêng nh tên bi n, tên ki u, tên hàm…
M t s t khoá c a Pascal g m:
Absolute

External

Mod

Shr

And

File

Nil

String

Array

For

Not


Then

Begin

Forward

Object

To

Case

Function

Of

Type

Const

Goto

Or

Unit

Constructor

If


Packed

Until

Desstructot

Implementation

Procedure

Uses

Div

In

Program

Var

Do

Inline

Record

Virtual

Downto


Interface

Repeat

While

Else

Interrupt

Set

With

End

Label

Shl

Xor

Chú ý: V i Turbo Pascal 7.0 tr lên, các t khoá trong ch
th khác màu v i các t khác.

ng trình s đ

c hi n


II.4.1.2 B ch vi t
B ch trong ngôn ng Pascal g m:
- 26 ch cái la tinh l n: A, B, C… Z
- 26 ch cái la tinh nh : a, b, c, … z
- D u g ch d i _ (đánh vào b ng cách k t h p phím Shift v i d u tr ).
- B ch s th p phân: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

11


Giáo trình bài t p Pascal
- Các ký hi u toán h c: +, -, *, /, =, <, >, (, )
- Các ký hi u đ c bi t: . , : ; [ ] ? % @ \ | ! # $ { }
- D u kho ng cách (kho ng tr ng – Space).
II.4.1.3 Tên (đ nh danh)
nh danh là m t dãy ký t dùng đ đ t tên cho các h ng, bi n, ki u, tên ch ng
trình con... Khi đ t tên, ta ph i chú ý m t s đi m sau:
• Không đ c đ t trùng tên v i t khoá
• Ký t đ u tiên c a tên không đ c b t đ u b i các ký t đ c bi t ho c ch s .
• Không đ c đ t tên v i ký t space, các phép toán.
Ví d : Các tên vi t nh sau là sai
1XYZ
Sai vì b t đ u b ng ch s .
#LONG
Sai vì b t đ u b ng ký t đ c bi t.
FOR
Sai vì trùng v i t khoá.
KY TU
Sai vì có kho ng tr ng (space).
LAP-TRINH Sai vì d u tr (-) là phép toán.

II.4.2 Ki u d li u
II.4.2.1 Các ki u d li u
M t ki u d li u là m t t p h p các giá tr mà m t bi n thu c ki u đó có th nh n
đ c và m t t p h p các phép toán có th áp d ng trên các giá tr đó. Có hai lo i ki u
là ki u chu n và ki u do ng i dùng đ nh ngh a.
-

Ki u chu n là ki u Pascal đ nh ngh a s n. D i đây là danh sách các ki u d
li u chu n cùng v i mi n giá tr và kích th c mà m i ki u chi m trong b nh .

Stt
1.

Ki u

Kích th

c

Mi n xác đ nh

Boolean

1 byte

FALSE..TRUE

2.

Char


1 byte

256 ký t c a b ng mã ASCII.

3.

Shortint

1 byte

-128..127

4.

Byte

1 byte

0..255

5.

Integer

2 byte

-32768..32767

6.


Word

2 byte

0..65535

7.

Longint

4 byte

-2147483648..2147483647

8.

Real

6 byte

2.9E-39..1.7E+38

9.

Single

4 byte

1.5E-45..3.4E+38


10.

Double

8 byte

5.0E-324..1.7E+308

11.

Extended

10 byte

3.4E-4932..1.1E+4932

12.

Comp

8 byte

-9.2E-18..9.2E+18

12


Giáo trình bài t p Pascal
Trong đó 7 ki u đ u g i là ki u đ m đ

đ m đ c.
-

Ki u do ng

i l p trình đ nh ngh a thông qua vi c khai báo ki u. Cú pháp:

TYPE
Ví d :

c (ordinal type), còn các ki u sau là không

TYPE

<Tên ki u> = <Ki u>;

[<Tên ki u> = <Ki u>;]

NguyenDuong = 1..MaxInt;
MaTran

= [1..10,1..10] of Integer;

II.4.2.2 M t s phép toán trên các ki u
a) Các phép toán trên ki u s
Các phép toán này r t g n g i v i chúng ta, do chúng ta s d ng chúng h ng ngày
trong đ i s ng.
Phép
toán


+

*
/
Div
Mod

Ý ngh a

Ki u đ i s

L yđ is
C ng
Tr
Nhân
Chia
Chia l y ph n nguyên
Chia l y ph n d

S
S
S
S
S
S
S

nguyên, s
nguyên, s
nguyên, s

nguyên, s
nguyên, s
nguyên
nguyên

Ki u tr v
th
th
th
th
th

c
c
c
c
c

Gi
Gi
Gi
Gi
S
S
S

ng đ i s
ng đ i s
ng đ i s
ng đ i s

th c
nguyên
nguyên

Ví d
i s c a 2 là -2
10 + 9  19
10 - 9  1
10*9  90
10 / 4  2.5
10 div 3  3
10 mod 3  1

b) M t S Hàm s h c s d ng cho ki u s nguyên và s th c
D i đây là m t s hàm đ c Pascal thi t k s n. Ng i s d ng có th g i và s
d ng chúng mà không c n ph i khai báo unit qua câu khai báo USES.
Hàm
ABS(x)
SQR(x)
SQRT(x)
EXP(x)
LN(x)
SIN(x)
COS(x)

Ý ngh a
Tr tuy t đ i x
Bình ph ng x
C n b c hai x
Hàm ex

Hàm log ex
Hàm l ng giác
Hàm l ng giác

S
S
S
S
S
S
S

ARCTAN(x)

Hàm l

SUCC(x)
PRED(x)
ROUND(x)
TRUNC(x)
INC(x)
DEC(x)
ODD(x)

Succ(x)  x + 1
Pred(x)  x −1
Làm tròn
Làm tròn
T ng 1 đ n v
Gi m 1 đ n v

TRUE n u x s l

ng giác

Ki u đ i s
nguyên, s th
nguyên, s th
nguyên, s th
nguyên, s th
nguyên, s th
nguyên, s th
nguyên, s th

Ki u tr v
Gi ng đ i s
Gi ng đ i s
S th c
S th c
S th c
S th c
S th c

Ví d
Abs(-2)  2
Sqr(2)  4
Sqrt(9)  3
Exp(3)  e3
Ln(2)  log e2
Sin(PI)  0
Cos(PI)  1


S nguyên, s th c

S th c

Arctan(1) 

S
S
S
S
S
S
S

S nguyên
S nguyên
S nguyên
S nguyên
S nguyên
S nguyên
Logic

Round(8.6)  9
Trunc(8.6)  8
Inc(5)  6
Dec(5)  4
Odd(5)  True

nguyên

nguyên
th c
th c
nguyên
nguyên
nguyên

c
c
c
c
c
c
c

π
4

13


Giáo trình bài t p Pascal
c) M t s hàm trên ki u ký t
Hàm
UPCASE(ch)
SUCC(cg)
PRED(ch)
ORD(x)
CHR(x)


Ý ngh a
In hoa
Succ(x)  x + 1
Pred(x)  x −1
L y mã ASCII
ký t  mã ASCII

Ki u đ i s
Ký t (char)
Ký t (char)
Ký t (char)
Ký t
S nguyên

Ki u tr v
Gi ng đ i s
Gi ng đ i s
Gi ng đ i s
S nguyên
Ký t

Ví d
UPCASE(‘a’)  A
Succ(‘B’)  C
PRED(‘B’)  A
Ord(‘a’)  97
Chr(65)  ‘A’

d) Các phép toán logic
Các phép toán logic, toán h ng c a nó ph i là m t ki u Boolean. Toán h ng c ng

nh các k t qu c a phép toán ch nh n 1 trong 2 giá tr : ho c là TRUE ho c là FALSE
(không có giá tr khác).
Các toán t logic tác đ ng lên ki u Boolean, cho k t qu là ki u Boolean AND (và),
OR (ho c), XOR, NOT (ph đ nh). Sau đây là b ng chân tr c a các toán t này.
Toán h ng
X
FALSE
FALSE
TRUE
TRUE

Toán h ng
Y
FALSE
TRUE
FALSE
TRUE

X OR Y

X AND Y

X XOR Y

FALSE
FALSE
FALSE
TRUE

FALSE

TRUE
TRUE
FALSE

FALSE
TRUE
TRUE
TRUE

NOT X
TRUE
TRUE
FALSE
FALSE

M r ng:
Các phép toán lôgic còn áp d ng đ c cho ki u s nguyên, trên c s bi u di n nh
phân c a s nguyên đó. Ví d xét hai s nguyên X và Y l n l t b ng 10 và 22, thu c
ki u byte. Bi u di n nh phân c a X là 0000 1010 và c a Y là 0001 0110. Khi đó phép
toán đ c th c hi n theo th t t ng bit nh sau:
X

0 0 0 0 1 0 1 0

Y

0 0 0 1 0 1 1 0

X AND Y


0 0 0 0 0 0 1 0
V y (10 AND 22) cho k t qu là 2

X

0 0 0 0 1 0 1 0

Y

0 0 0 1 0 1 1 0

X OR Y

0 0 0 1 1 1 1 0
V y (10 OR 22) cho k t qu là 30

X

0 0 0 0 1 0 1 0

Y

0 0 0 1 0 1 1 0

X XOR Y

0 0 0 1 1 1 0 0
V y (10 XOR 22) cho k t qu là 28

14



Giáo trình bài t p Pascal
Còn có hai phép toán bit n a là SHIFT LEFT và SHIFT RIGHT, l n l t đ c kí
hi u là SHL và SHR. Phép toán SHL làm đ y các bit lên m t s v trí v bên trái và
thêm các giá tr 0 vào các bit t n cùng bên ph i. Cú pháp:
<Bi u th c nguyên> SHL <s bit>
Ví d :
X

0 0 0 0 1 0 1 0

X SHL 1

0 0 0 1 0 1 0 0

{

y v bên trái 1 bit}

X SHL 2

0 0 1 0 1 0 0 0

{

y v bên trái 2 bit}
V y (10 SHL 1) cho k t qu 20
(10 SHL 2) cho k t qu 40


Th c hi n t

ng t đ i v i phép toán SHR

II.4.3 Bi n – H ng s
II.4.3.1 Bi n
Bi n là m t ô nh trong b nh c a máy tính, giá tr c a bi n có th thay đ i trong
quá trình th c hi n ch ng trình, bi n s đ c gi i phóng (thu h i ô nh ) khi ch ng
trình k t thúc.
Ch ng trình qu n lý bi n thông qua tên bi n và m i bi n t
d li u nh t đ nh.
Bi n tr

c khi s d ng ph i đ
VAR

Ví d :

VAR

ng ng v i m t ki u

c khai báo. Cú pháp:

<Tên bi n> ,[< Tên bi n>]: <Ki u>;
[<Tên bi n>,[< Tên bi n>]: <Ki u>;]
a, b, c: Integer;
X, Y: Real;
I, J: NguyenDuong; { ã đ nh ngh a tr


c}

II.4.3.2 H ng s
H ng là m t đ i l ng không đ i trong quá trình th c hi n ch
h ng là h ng chu n và h ng do ng i dùng đ nh ngh a.
-

-

ng trình. Có hai lo i

H ng chu n là h ng do Pascal đ nh s n, ví d h ng s PI, h ng s ch màu
RED=4… Ng i s d ng không c n đ nh ngh a l i n u th y không c n thi t.
Các h ng này đ c Pascal đ nh ngh a s n trong các Unit. C n tham kh o h ng
d n (help) đ i v i m i Unit đ bi t trong Unit có các h ng nào đã đ c đ nh
ngh a.
H ng s do ng i dùng đ nh ngh a thông qua vi c khai báo. Cú pháp:

15


Giáo trình bài t p Pascal
CONST <Tên h ng> = <Giá tr h ng>;
[<Tên h ng> = <Giá tr h ng>;]

Ví d :

Const

A = 50;

Ch = ‘K’;
D = true;

II.4.4 Bi u th c – d u ch m ph u – L i gi i thích
II.4.4.1 Bi u th c
Bi u th c (expression) là công th c tính toán mà trong đó bao g m các phép toán,
các h ng, các bi n, các hàm và các d u ngo c đ n.
Ví d : (x +sin(y))/(5-2*x) bi u th c s h c
(x+4)*2 = (8+y)
bi u th c logic
Trong m t bi u th c, th t u tiên c a các phép toán đ c li t kê theo th t sau:
• L i g i hàm.
• D u ngo c ()
• Phép toán m t ngôi (NOT, -).
• Phép toán *, /, DIV, MOD, AND.
• Phép toán +, -, OR, XOR
• Phép toán so sánh =, <, >, <=, >=, <>, IN
II.4.4.2 D u ch m ph u (;)
D u ch m ph y đ c dùng đ ng n cách gi a các câu l nh. Không nên hi u d u
ch m ph y là d u k t thúc câu l nh.
Ví d :
FOR i:=1 TO 10 DO Write(i);
Trong câu l nh trên, l nh Write(i) đ c th c hi n 10 l n. N u hi u d u ch m ph y
là k t thúc câu l nh thì l nh Write(i) ch th c hi n 1 l n.
II.4.4.3 L i gi i thích
Các l i bàn lu n, l i chú thích có th đ a vào b t k ch nào trong ch ng trình đ
cho ng i đ c d hi u mà không làm nh h ng đ n các ph n khác trong ch ng
trình. L i gi i thích đ c đ t gi a hai d u ngo c { và } ho c gi a c m d u (* và *).
Ví d :
Var a,b,c:Rea; {Khai báo bi n}

Delta := b*b – 4*a*c; (* Tính delta đ gi i ph ng trình b c 2 *)
II.4.5 Câu l nh
II.4.5.1 Khái ni m v m t câu l nh
- M t câu l nh đ n xác đ nh m t công vi c mà ch ng trình ph i th c hi n đ x
lý các d li u đã đ c mô t và khai báo. Các câu l nh đ c phân cách b i d u (;).
D u (;) có tác d ng ng n cách gi a các câu l nh, nó không thu c vào câu l nh.

16


Giáo trình bài t p Pascal
Ví d :
CLRSCR;

{Xóa màn hình}

Writeln(‘Nhap vao day mot so nguyen:’); {Thông báo nh p li u}
Readln(SoNguyen);

{Ch nh p li u}

Writeln(‘Binh phuong cua no la: ’,SoNguyen*SoNguyen); {K t xu t}
- Câu l nh h p thành: N u trong ch ng trình có nhi u câu l nh liên ti p c n đ c
x lí và xem nh m t câu l nh đ n chúng ta c n bao nó gi a hai t khóa BEGIN
và END;
- Câu l nh có c u trúc: Bao g m c u trúc r nhánh, c u trúc đi u ki n ch n l a,
c u trúc l p. M i câu l nh có c u trúc (IF.., CASE..., FOR..., REPEAT...,
WHILE...) xác đ nh m t câu l nh t ng đ ng m t câu l nh đ n. Trong câu
l nh có c u trúc có th ch a nhi u câu l nh h p thành.
Ví d :


Câu l nh có c u
trúc, xem nh m t
câu l nh đ n.

Câu l nh đ n.
Câu l nh đ n

Câu l nh
h p thành
t hai câu
l nh đ n

….
Writeln(‘Cho biet so tuoi:’);
Readln(Tuoi);
IF (Tuoi<4) THEN
Writeln(‘Ban con be qua. Chua phuc vu duoc’)
ELSE
Begin
Write(‘ Ban chon mon an nao:’);
Readln(MonAn);
End;
Writeln(‘Xin cho doi it phut!’);
…..

Câu l nh đ n.

II.4.5.2 M t s l nh đ n
a) L nh gán

L nh gán dùng đ gán giá tr c a m t bi u th c vào m t bi n. Giá tr bi u th c
khi tính xong s đ c gán vào bi n. Phép gán đ c th c hi n theo th t t ph i
qua trái. D i đây là cú pháp và ví d v l nh gán.
Cú pháp: <Tên bi n> := <Bi u th c>

Program LenhGan;
Var x, y, z: Integer;
Begin
x := 1;
y := 2;
y:=y+x;
z := x + y;
End.

T i v trí này bi n x có giá tr là 1. Bi n y có giá
tr là 2 tr c khi th c hi n phép gán, và có giá
tr 3 sau khi th c hi n phép gán.

Z có giá tr là 4 sau khi th c hi n phép gán

17


Giáo trình bài t p Pascal
Chú ý
- Khi m t giá tr gán cho bi n, nó s thay th giá tr c mà bi n đã l u gi tr c
đó (bi n s nh n giá tr m i).
- Trong l nh gán, bi u th c bên ph i và bi u th c bên trái phép gán ph i cùng
ki u d li u. N u không s có thông báo l i “Type Mismatch” khi biên d ch
ch ng trình.

b) L nh xu t d li u
xu t d li u ra màn hình, ta s d ng ba d ng sau:
(1) WRITE(<tham s 1> [, <tham s 2>,...]);
(2) WRITELN(<tham s 1> [, <tham s 2>,...]);
(3) WRITELN;
Các th t c trên có ch c n ng nh sau:
(1) Sau khi xu t giá tr c a các tham s ra màn hình thì con tr không xu ng
dòng.
(2) Sau khi xu t giá tr c a các tham s ra màn hình thì con tr xu ng đ u dòng
ti p theo.
(3) Xu t ra màn hình m t dòng tr ng.
Các tham s có th là các h ng, bi n, bi u th c. N u có nhi u tham s trong câu
l nh thì các tham s ph i đ c phân cách nhau b i d u ph y. Khi s d ng l nh
WRITE/WRITELN, ta có hai cách vi t: không qui cách và có qui cách
- Vi t không qui cách: d li u xu t ra s đ c canh l
phía bên trái. N u d
li u là s th c thì s đ c in ra d i d ng bi u di n khoa h c.
Ví d :
WRITELN(x); WRITE(sin(3*x));
- Vi t có qui cách: d li u xu t ra s đ c canh l phía bên ph i.
Ví d :
WRITELN(x:5); WRITE(sin(13*x):5:2);
Câu l nh
K t qu trên màn hình
Writeln('Hello');
Hello
Writeln('Hello':10);
Hello
Writeln(500);
500

Writeln(500:5);
500
Writeln(123.457)
1.2345700000E+02
Writeln(123.45:8:2)
123.46
c)L nh nh p d li u t bàn phím
nh p d li u t bàn phím vào các bi n có ki u d li u chu n (tr các bi n ki u
BOOLEAN), ta s d ng cú pháp sau đây:
READLN(<bi n 1> [,<bi n 2>,...,<bi n n>]);
Chú ý: Khi g p câu l nh READLN; (không có tham s ), ch ng trình s d ng l i ch
ng i s d ng nh n phím ENTER m i ch y ti p.

18


Giáo trình bài t p Pascal
d) Các hàm và th t c th ng dùng trong nh p xu t d li u
- Hàm KEYPRESSED: Hàm tr v giá tr TRUE n u nh có m t phím b t k
đ c nh n, n u không hàm cho giá tr là FALSE.
- Hàm READKEY: Hàm có ch c n ng đ c m t ký t t b đ m bàn phím.
- Th t c GOTOXY(X,Y:Integer): Di chuy n con tr đ n c t X dòng Y.
- Th t c CLRSCR: Xoá màn hình và đ a con tr v góc trên bên trái màn hình.
- Th t c CLREOL: Xóa các ký t t v trí con tr đ n h t dòng.
- Th t c DELLINE: Xoá dòng t i v trí con tr và d n các dòng phía d i lên.
- Th t c TEXTCOLOR(color:Byte): Thi t l p màu cho các ký t . Trong đó
color ∈ [0,15].
- Th t c TEXTBACKGROUND(color:Byte): Thi t l p màu n n cho màn
hình.


19


Giáo trình bài t p Pascal
BÀI T P TH C HÀNH

LÀM QUEN V I PASCAL
Bài t p 2.0: Làm quen v i Pascal
1. Kh i đ ng Turbo Pascal.
2. Nh p vào đo n ch ng trình sau:
Uses Crt;
Begin
Writeln(‘***********************************************************’);
Writeln(‘* CHUONG TRINH PASCAL DAU TIEN CUA TOI *’);
Writeln(‘*
Oi! Tuyet voi!..
*);
Writeln(‘***********************************************************’);
Readln;
End.
3. D ch và ch y ch ng trình trên.
4. L u ch ng trình vào đ a v i tên BAI1.PAS.
5. Thoát kh i Pascal.
6. Kh i đ ng l i Turbo Pascal.
7. M file BAI1.PAS.
8. Chèn thêm vào dòng: CLRSCR; vào sau dòng BEGIN
9. D ch và ch y th ch ng trình.
10. L u ch ng trình vào đ a.
11. Thoát kh i Pascal.
12. Vi t ch ng trình in ra màn hình các hình sau:

*
********
*******
***
**
**
**
**
** **
**
**
**
**
**
********
**
*********
**
**
**
**
**
**
**
**
**
**
**
********
********


BÀI T P M U
Bài t p 2.1: Vi t ch ng trình nh p vào đ dài hai c nh c a tam giác và góc gi a hai
c nh đó, sau đó tính và in ra màn hình di n tích c a tam giác.
Ý t ng:
Công th c tính di n tích tam giác: S =

1
a.b. sin(θ ) v i a,b là đ dài 2 c nh và θ là góc
2

k p gi a 2 c nh a và b.

20


Giáo trình bài t p Pascal
Program Tinh_dien_tich_tam_giac;
Var a,b,goc,dientich: Real;
Begin
Write('Nhap vao do dai canh thu nhat: '); Readln(a);
Write('Nhap vao do dai canh thu hai: '); Readln(b);
Write('Nhap vao goc giua hai canh: '); Readln(goc);
Dientich:=a*b*sin(goc)/2;
Writeln('Dien tich cua tam giac la: ',Dientich:0:2);
Readln;
End.
Bài t p 2.2: Vi t ch
Ý t ng:
Ta có:


n

1
n

ng trình tính

x = x = e

n

x , x>0.

1
ln x
n

Program Tinh_can_bac_n_cua_x;
Var x,S: Real;
n: Word;
Begin
Write('Nhap vao n= '); Readln(n);
Write('Nhap vao x= '); Readln(x);
S:=EXP(1/n*LN(x));
Writeln('S = ',S:0:2);
Readln;
End.

Bài t p 2.3: Vi t ch ng trình nh p vào 2 s a, b. Sau đó hoán đ i giá tr c a 2 s đó:

a/ Cho phép dùng bi n trung gian.
Program Swap;
Var a,b,tam: Integer;
Begin
Write('Nhap vao a= '); Readln(a);
Write('Nhap vao b= '); Readln(b);
tam:=a; {tam l y giá tr c a a}
a:=b;
{a l y giá tr c a b}
b:=tam; {b l y l i giá tr c a tam}
Writeln('a = ',a,’ b = ‘,b);
Readln;
End.

21


Giáo trình bài t p Pascal
b/ Không đ c phép dùng bi n trung gian.
Program Swap;
Var a,b: Integer;
Begin
Write('Nhap vao a= '); Readln(a);
Write('Nhap vao b= '); Readln(b);
a:=a+b; {a l y t ng giá tr c a a+b}
b:=a-b; {b l y giá tr c a a}
a:=a-b; {a l y l i giá tr c a b}
Writeln('a = ',a,’ b = ‘,b);
Readln;
End.

BÀI T P T GI I
Bài t p 2.4: Vi t ch ng trình nh p vào các s nguyên: a, b, x, y, ... sau đó in ra màn
hình k t qu c a các bi u th c sau:
a/

x+y
x
2+
y

b/

Bài t p 2.5: Vi t ch
S=

( a + 4)( b − 2c + 3)
r
− 9( a − 1)
2h

c/ xy , x>0

2
d/ e | a + sin ( x ) − x|

ng trình tính si n tích tam giác theo công th c sau:

p ( p − a )( p − b )( p − c ) v i p =

1

(a+b+c)
2

Bài t p 2.6: Vi t ch ng trình tính kho ng cách t m t đi m I(xi,yi) đ n đ
có ph ng trình D: Ax + By + C = 0.
G i ý:
Công th c tính kho ng cách: h =

ng th ng

A.xi + B. y i + C
A2 + B 2

Bài t p 2.7: Vi t ch ng trình tách m t s n thành 2 s a, b sao cho tích P=a*b2 đ t
c c đ i v i n đ c nh p vào t bàn phím.
G i ý:
G i x là s th hai thì s th nh t là: (n-x). Theo đ ta có: P(x) = x2.(n-x).
Hàm P đ t c c đ i khi P’(x) = -3x2 + 2nx = 0  x = 2n/3.
Bài t p 2.8: Màn hình đ h a c a m t máy tính có đ phân gi i: 640x480. Bi t r ng,
m i đi m trên màn hình chi m 1 byte. H i c n bao nhiêu byte đ l u tr toàn b màn
hình đ h a đó?
Có 2 sinh viên vi t ch ng trình tính s byte l u tr màn hình đ h a:

22


Giáo trình bài t p Pascal
Program Sinhvien1;
Var a,b:integer;
s:Word;

Begin
a:=640; b:=480;
s:=a*b;
writeln(s); readln;
End.
Program Sinhvien2;
Var a,b:Word;
s: LongInt;
Begin
a:=640; b:=480;
s:=a*b;
writeln(s); readln;
End.
Hãy cho bi t 2 ch ng trình trên cho k t qu đúng hay sai? T i sao?
Bài t p 2.9: Màn hình đ h a c a m t máy tính có đ phân gi i: 640x480. Bi t r ng,
m i đi m trên màn hình chi m 1 byte. H i c n bao nhiêu byte đ l u tr m t vùng có
kích th c b ng 1/10 màn hình đ h a đó?
Có 2 sinh viên vi t ch ng trình gi i bài toán này nh sau:
Program Sinhvien1;
Var a,b:Word;
s: LongInt;
Begin
a:=640; b:=480;
s:=a;
s:=s*b;
s:=s DIV 10;
writeln(s); readln;
End.
Program Sinhvien2;
Var a,b:Word;

s: LongInt;
Begin
a:=640; b:=480;
s:=a*b DIV 10;
writeln(s); readln;
End.
Hãy cho bi t 2 ch ng trình trên cho k t qu đúng hay sai? T i sao?

23


Giáo trình bài t p Pascal
Ch

ng 3

CÁC CÂU L NH CÓ C U TRÚC
III.1 L NH C U TRÚC R NHÁNH
III.1.1 D ng Không

y

Cú pháp: IF < i u ki n> THEN <Công vi c>;

N u đi u ki n là đúng thì th c hi n công vi c (ng
th c thi công vi c). L u đ kh i (hình bên)

c l i là đi u ki n sai thì không

Ví d :

Var a,b: Integer;
Begin
Write( ‘Nh p a: ’); Readln(a);
Write( ‘Nh p b: ‘); Readln(b);
If b <> 0 then
Write( ‘Th ng hai s v a nh p: ’,a/b:5:2);
Readln;
End.
III.1.2 D ng

K

Sai
úng

CV

y
Cú pháp: IF < i u ki n> THEN <Công vi c 1>

ELSE <Công vi c 2>;

N u đi u ki n là đúng thì th c hi n công vi c 1, ng
thi công vi c 2. L u đ kh i (hình bên)
Ví d :
Var a,b: Integer;
Begin
Write( ‘Nh p a: ’); Readln(a);
Write( ‘Nh p b: ‘); Readln(b);
If b<>0 then

Write( ‘Th ng hai s v a nh p: ’,a/b:5:2);
Else
Write( ‘Không th chia cho 0’ );
Readln;
End.
Chú ý: Khi s d ng câu l nh IF thì đ ng tr
ch m ph y (;).

c l i là đi u ki n sai thì th c

K

Sai
úng

CV1

c t khoá ELSE không đ

CV2

c có d u

24


Giáo trình bài t p Pascal
III.2 L NH C U TRÚC L A CH N
Cú pháp:
D ng không đ y đ

D ng đ y đ
CASE B OF
CASE B OF
Const 1: S1;
Const 1: S1;
Const 2: S2;
Const 2: S2;
...
...
Const n: Sn;
Const n: Sn;
END;
ELSE Sn+1;
END;
Trong đó:
 B: Bi u th c ki u vô h ng đ m đ c nh ki u nguyên, ki u logic, ki u ký t ,
ki u li t kê.
 Const i: H ng th i, có th là m t giá tr h ng, các giá tr h ng (phân cách nhau
b i d u ph y) ho c các đo n h ng (dùng hai d u ch m đ phân cách gi a giá tr
đ u và giá tr cu i).
 Giá tr c a bi u th c và giá tr c a t p h ng i (i=1¸n) ph i có cùng ki u.
Khi g p l nh CASE, ch ng trình s ki m tra:
- N u giá tr c a bi u th c B n m trong t p h ng const i thì máy s th c hi n l nh
Si t ng ng.
- Ng c l i:
+ i v i d ng 1: Không làm gì c .
+ i v i d ng 2: th c hi n l nh Sn+1.
Ví d : Vi t ch
nhiêu ngày.


ng trình nh p vào m t tháng, sau đó in lên màn hình tháng đó có bao

Var T: Integer;
Begin
Write( ‘Nh p vào m t tháng: ’); Readln(T);
CASE T OF
1, 3, 5, 7, 8, 10, 12: Write( ‘Tháng có 31 ngày.’ );
4, 6, 9, 11: Write( ‘Tháng có 30 ngày.’ );
2: Write( ‘Tháng có 28 (n m nhu n 29) ngày.’ );
ELSE
Write( ‘Tháng sai. Ph i nh p s t 1 đ n 12.’ );
End;
Readln;
End.
Chú ý: Bi n sau t khoá CASE ph i là bi n đ m đ

c.

25


×