
Ng«n ng÷ lËp tr×nh pascal Gv: NguyÔn ThÞ Lan
CH NG IƯƠ : CÁC THÀNH PH N C A NGÔN NG L P TRÌNHẦ Ủ Ữ Ậ
PASCAL
I. CÁC THÀNH PH N C B NẦ Ơ Ả
1. B Ch Vi tộ ữ ế
B ch vi t trong ngôn ng Pascal g m:ộ ữ ế ữ ồ
Các ch cái in hoa và in th ngữ ườ c a b ng ch cái ti ng Anh: A, B, C… Z.ủ ả ữ ế
a, b, c, … z
B ch sộ ữ ố r p: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9Ả ậ
Các ký hi u đc bi tệ ặ ệ : . , : ; [ ] ? % @ \ | ! # $ { }
Các ký hi u toán h cệ ọ : +, -, *, /, =, <, >, (, )
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 ).ằ ế ợ ớ ấ ừ
D u kho ng cách (Space).ấ ả
2. Cú pháp
Là b quy t c đ vi t ch ng trình. D a vào chúng mà ch ng trình d chộ ắ ể ế ươ ự ươ ị
nh n bi t đc tính h p l c a các t h p kí t và các câu l nh. ậ ế ượ ợ ệ ủ ổ ợ ự ệ N u câu l nh bế ệ ị
vi t sai quy t c, ch ng trình d ch s nh n bi t và thông báo l i.ế ắ ươ ị ẽ ậ ế ỗ
3. Ng nghĩaữ
Xác đnh ý nghĩa c a các t h p ký t trong ch ng trình, ị ủ ổ ợ ự ươ ch ng trình d chươ ị
không nh n bi t đc các l i v m t ng nghĩa cũng nh l i thu t toán c aậ ế ượ ỗ ề ặ ữ ư ỗ ậ ủ
ch ng trình.ươ
II. M T S KHÁI NI MỘ Ố Ệ
1. Tên (identifier)
- M i đi t ng dùng trong ch ng trình đu ph i đc đt tên theo ọ ố ượ ươ ề ả ượ ặ quy t c:ắ
Tên là m t dãy liên ti p không quá 127 kí t , bao g m: Ch cái, ch s , d u g chộ ế ự ồ ữ ữ ố ấ ạ
d i (_) và không đc b t đu b ng ch s .ướ ượ ắ ầ ằ ữ ố
*L u ý:ư
+ Không có kho ng tr ng (d u cách) gi a tên.ả ố ấ ở ữ
+ Tên không đc trùng v i t khoá.ượ ớ ừ
Tµi liÖu «n thi häc sinh giái m«n Tin häc – Trêng THCS Kim §ång 1

Ng«n ng÷ lËp tr×nh pascal Gv: NguyÔn ThÞ Lan
+ Đ dài t i đa c a tên là 127 ký t , tuy nhiên nên đt sao cho tên g n vàộ ố ủ ự ặ ọ
có ý nghĩa.
+ Pascal không b t l i vi c đt tên trùng v i tên chu n, nh ng khi đó ýắ ỗ ệ ặ ớ ẩ ư
nghĩa c a tên chu n không còn giá tr n a.ủ ẩ ị ữ
+ Pascal không phân bi t ch hoa và ch th ng ệ ữ ữ ườ (case insensitive). Ví dụ
“BEGIN” hay “begin” hay “BeGin” là nh nhau. Tuy nhiên các em nên t p thóiư ậ
quen vi t m t cách th ng nh t tên trong toàn b ch ng trình.ế ộ ố ấ ộ ươ
- Tên dùng đ đt cho tên ch ng trình, tên bi n, tên h ng, tên ki u,…vàể ặ ươ ế ằ ể
đc chia thành 3 lo i.ượ ạ
a. Tên dành riêng (T khóa): ừTên đc dùng v i ý nghĩa riêng xác đnh,ượ ớ ị
ng i l p trình không th s d ng v i ý nghĩa khác. (Chú ý: ườ ậ ể ử ụ ớ T khóa vi t trongừ ế
ch ng trình pascal có màu tr ng.)ươ ắ
Ví d : Program (T khóa trong cú pháp khai báo tên ch ng trình)ụ ừ ươ
Uses (T khóa trong khai báo th vi n)ừ ư ệ
Var (T khóa trong cú pháp khai báo bi n)ừ ế
Const (T khóa khai báo h ng)ừ ằ
Begin (T khóa b t đu ph n thân ch ng trình ho c câu l nh ghép)ừ ắ ầ ầ ươ ặ ệ
End (T khóa k t thúc ph n thân ch ng trình ho c câu l nh ghép)ừ ế ầ ươ ặ ệ
If (N u), then (thì), else (Ng c l i thì): trong câu l nh r nhánhế ượ ạ ệ ẽ
For, to, down to, do,While: trong câu l nh l p ệ ặ
And(và), or(ho c), not(ph đnh), div(phép chia l y ph n nguyên), modặ ủ ị ấ ầ
(phép chia l y ph n d ): là các phép toánấ ầ ư
…
b. Tên chu n:ẩ tên đã đc PASCAL đt tr c: ví d các hàm s Sin, Cos,…ượ ặ ướ ụ ố
h ng s Pi, ki u Integer, Real…(ng i l p trình v n có th dùng chúng v i ýằ ố ể ườ ậ ẫ ể ớ
nghĩa, m c đích khác nh ng n u dùng ph i khai báo).ụ ư ế ả
c. Tên do ng i l p trình đt ườ ậ ặ (Ví d :ụ tên ch ng trình, tên bi n, tên h ng,ươ ế ằ
tên ki u,…ể)
- Ph i khai báo tr c khi s d ng và không đc trùng v i t khóa. ả ướ ử ụ ượ ớ ừ
Ví d 1: Program ụchuvi_dientich_hcn;
Tµi liÖu «n thi häc sinh giái m«n Tin häc – Trêng THCS Kim §ång 2

Ng«n ng÷ lËp tr×nh pascal Gv: NguyÔn ThÞ Lan
Uses crt;
Var dai,rong,cv,dt: real;
Begin
Clrscr;
Write(‘nhap chieu dai hcn:’); readln(dai);
Write(‘nhap chieu rong hcn:’); readln(rong);
cv:=(dai+rong)*2;
dt:=dai*rong;
Writeln(‘chu vi hcn la:’, cv:10:2);
Writeln(‘dien tich hcn la:’, dt:10:2);
Readln
End.
Phân bi t các tên trong ch ng trình trên nh sau: ệ ươ ư
T khóaừTên chu nẩTên do ng i l p trình đtườ ậ ặ
Program crt chuvi_dientich_hcn
Uses real dai
Var Write rong
Begin Readln cv
end. Writeln dt
2. H ng, Bi n, Ki u d li uằ ế ể ữ ệ
a. H ng (Constant)ằ
H ng là đi l ng có giá tr không đi trong quá trình th c hi n ch ngằ ạ ượ ị ổ ự ệ ươ
trình.
Có hai lo i h ng là: h ng chu n và h ng do ng i dùng đnh nghĩaạ ằ ằ ẩ ằ ườ ị
Cú pháp khai báo h ng do ng i dùng đnh nghĩa:ằ ườ ị
Khai báo h ng th ng s d ng cho nh ng giá tr không đi xu t hi nằ ườ ử ụ ữ ị ổ ấ ệ
nhi u l n trong ch ng trình.ề ầ ươ
Tµi liÖu «n thi häc sinh giái m«n Tin häc – Trêng THCS Kim §ång 3
Const <Tên h ng> = <Giá tr c a h ng>;ằ ị ủ ằ

Ng«n ng÷ lËp tr×nh pascal Gv: NguyÔn ThÞ Lan
Ví dụ: Const n = 100;
pi = 3,14;
b. Bi nế
Bi n là đi l ng đc đt tên, dùng đ l u tr d li u, giá tr c a bi nế ạ ượ ượ ặ ể ư ữ ữ ệ ị ủ ế
có th thay đi trong quá trình th c hi n ch ng trình”ể ổ ự ệ ươ
Ch ng trình qu n lý bi n thông qua ươ ả ế tên bi nế và m i bi n mang m t ỗ ế ộ ki u dể ữ
li uệ xác đnh. M i bi n dùng trong ch ng trình đu ph i đc đt tên và khai báoị ọ ế ươ ề ả ượ ặ
cho ch ng trình d ch bi t đ l u tr và x lý, bi n s đc gi i phóng (thu h i ôươ ị ế ể ư ữ ử ế ẽ ượ ả ồ
nh ) khi ch ng trình k t thúc.ớ ươ ế
Cú pháp khai báo bi n:ế
Danh sách bi n là m t ho c nhi u tên bi n đn, các tên bi n trong danh sách vi tế ộ ặ ề ế ơ ế ế
ngăn cách nhau b i d u ph y.ở ấ ẩ
Trong ph n khai báo bi n, t khóa var ch vi t m t l n, còn <Danh sách bi n>:ầ ế ừ ỉ ế ộ ầ ế
<Ki u d li u>; có th xu t hi n nhi u l n. Các bi n có cùng ki u d li u thì vi t trongể ữ ệ ể ấ ệ ề ầ ế ể ữ ệ ế
m t danh sách bi n.ộ ế
Ví d 1:ụvar s: string;
Ví d 2:ụvar x,y: Integer;
Ví d 3:ụvar a, b, hieu: Integer;
thuong: real;
* Chú ý: Tên bi n do ng i l p trình t đt theo quy t c đt tên trong NNLT (nêu ế ườ ậ ự ặ ắ ặ ở
m c I.1) nh ng c n chú ý thêm:ụ ư ầ
- C n đt tên bi n sao cho g i nh đn ý nghĩa c a bi n đóầ ặ ế ợ ớ ế ủ ế (Đ ch ng trìnhể ươ
d đc, d hi u, d s a ch a). ễ ọ ễ ể ễ ử ữ
- Tên bi n trong m t ch ng trình không đc trùng nhau ế ộ ươ ượ (Không khai báo hai
l n)ầ
- Không nên đt tên bi n quá ng n hay quá dài.ặ ế ắ
Ví d : N u c n đt tên cho hai bi n đi m môn toán và đi m môn tin thì nênụ ế ầ ặ ế ể ể
đt là dtoan, dtin ch ko nên đt là d1, d2 (vì ng n g n nh ng không có ý nghĩa g iặ ứ ặ ắ ọ ư ợ
Tµi liÖu «n thi häc sinh giái m«n Tin häc – Trêng THCS Kim §ång 4
Var <Danh sách bi n>: <Ki u d li u>;ế ể ữ ệ

Ng«n ng÷ lËp tr×nh pascal Gv: NguyÔn ThÞ Lan
nh ) và cũng không nên đt là diemmontoan, diemmontin (vì quá dài) m c dù cácớ ặ ặ
cách đt tên trên đu không sai.ặ ề
-Khi khai báo c n chú ý đn ph m vi giá tr c a bi n.ầ ế ạ ị ủ ế
Ví d :ụVar soluong: integer;
Dongia, thanhtien: real;
Khi ch y ch ng trình n u nh p giá tr 35000 cho bi n soluong thì ch ng trình sạ ươ ế ậ ị ế ươ ẽ
ch y và cho k t qu sai, do giá tr nh p vào v t quá ph m vi giá tr c a bi n đc khaiạ ế ả ị ậ ượ ạ ị ủ ế ượ
báo. (Ki u integer có mi n giá tr t -32768 đn 32768)ể ề ị ừ ế
c. Ki u d li uể ữ ệ
Ki u d li u quy đnh rõ ph m vi giá tr c a bi n và các phép toán có th ápể ữ ệ ị ạ ị ủ ế ể
d ng trên ki u d li u đóụ ể ữ ệ
M t s ki u d li u chu n ộ ố ể ữ ệ ẩ
D li uữ ệ Tên
ki uể
B nh l uộ ớ ư
tr m t giáữ ộ
trị
Ph m vi giá trạ ị
Số
nguyên
Byte 1 byte S nguyên t 0 đn 255ố ừ ế
Integer 2 byte S nguyên t -32768 đn 32768ố ừ ế
Longint 4 byte S nguyên t - 2147483648 đn 2147483648ố ừ ế
S th cố ự Real 6 byte
S th c có gt tuy t đi t 2,9x10ố ự ệ ố ừ -39 đnế
1,7x1038 và s 0ố
Kí tựChar 1 byte Kí t trong b ng mã Asciiự ả
Xâu kí tựString Dãy liên ti p g m t i đa 255 kí tế ồ ố ự
III. PHÉP TOÁN, CÁC HÀM S H C CHU N, BI U TH CỐ Ọ Ẩ Ể Ứ
1. Phép toán
Phép toán Trong toán h cọTrong pascal
Phép toán
s h cố ọ
C ngộ+ +
Trừ- -
Nhânx*
Chia l y ph n nguyênấ ầ :div
Chia l y ph n dấ ầ ư mod
Phép toán
so sánh
L n h nớ ơ > >
L n h n ho c b ngớ ơ ặ ằ
>=
Nh h nỏ ơ < <
Tµi liÖu «n thi häc sinh giái m«n Tin häc – Trêng THCS Kim §ång 5