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óaTên chu nTê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í tChar 1 byte Kí t trong b ng mã Ascii
Xâu kí tString 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 cTrong 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