Home / Lập trình / Pascal / Bài 2 – Các thành phần cơ bản trong Pascal

Bài 2 – Các thành phần cơ bản trong Pascal

Bài 2 - Các thành phần cơ bản trong Pascal

1. Bộ ký tự, từ khóa, tên

a. Bộ ký tự, ký hiệu trong ngôn ngữ Pascal

26 chữ cái la tinh lớn: A,…,Z
26 chữ cái la tinh nhỏ: a,…,z
Dấu gạch dưới: _
Bộ chữ số thập phân: 0,…,9
Các ký hiệu toán học: + – * / = < > ( )
Các ký hiệu đặc biệt: . , ‘ : ; [] ? %
@ | ! & # $ {}
Khoảng trắng- ký tự cách.
b. Từ khóa
Các từ khoá là các từ dành riêng 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:
And External Mod Shr
Array File Nil String
Begin For Not Then
Case Function Object To
Const Goto Of Type
Constructor If Or Unit
Div Implementation Packed Until
Do In Procedure Uses
Downto Inline Program Var
Else Interface Record Virtual
End Label Repeat While
Set Shl With Xor
c. Tên
Tên dùng để đặt cho tên chương trình, hằng, kiểu, biến, chương trình con… tên được chia thành 2 loại.
– Tên chuẩn đã được PASCAL đặt trước, chẳng hạn các hàm số SIN, COS, LN,… hằng số PI, kiểu INTEGER, BYTE, REAL…
– Tên do người dùng tự đặt.
+ Dùng bộ chữ cái, bộ chữ số và dấu gạch dưới để
đặt tên
+ Bắt đầu bằng chữ cái hoặc dấu gạch dưới ( _ )
sau đó là chữ cái hoặc chữ số.
+ Không có khoảng trống ở giữa tên
+ Không được trùng với từ khoá.
+ Độ dài tối đa của tên là 127 ký tự, tuy nhiên
cầ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 => ko nên đặt trùng tên chuẩn
Lưu ý: Pascal không phân biệt chữ hoa và chữ thường trong từ khóa, tên chuẩn hay tên. Ví dụ “BEGIN” hay “Begin” hay “BeGin” là như nhau. Tuy nhiên chúng ta 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.

2. Dấu chấm phẩy và lời chú thích

a. Dấu chấm phẩy
Dấu chấm phẩy ( ; )dùng để ngăn cách giữa các câu lệnh.
Sau một câu lệnh phải có dấu chấm phẩy.
Ví dụ: Write(‘Nhap so a:’); Readln(a);
b. Lời chú thích
Lời chú thích có thể đặt bất cứ vị trí nào trong chương trình, nhưng phải nằm trong cặp dấu { và } hoặc (* và *).
Ví dụ: {Day la loi chu thich}
(* Day cung la mot loi chu thich*).
3. Hằng, kiểu, biến
a. Hằng
Hằng là một đại lượng 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.
– 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 do người dùng định nghĩa thông qua việc khai báo.
Cú pháp:
CONST <ten_hang_1>=<gia_tri_hang_1>;

<ten_hang_n>=<gia_tri_hang_n>;
Ví dụ:
CONST a=5;
ch=’Q’;
b. Kiể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.
*/ Một số kiểu dữ liệu chuẩn:
– Kiểu số nguyên

Bài 2 - Các thành phần cơ bản trong Pascal

– Kiểu số thực

Bài 2 - Các thành phần cơ bản trong Pascal

– Kiểu ký tự / chuỗi ký tự
Bài 2 - Các thành phần cơ bản trong Pascal
* Kiểu do người dùng định nghĩa:
Cú pháp:
TYPE <ten_kieu> = <cac_thanh_phan_cua_kieu>;
Ví dụ:
TYPE Hoaqua=(tao,mit,dua,oi);
che=(buoi,thapcam);
c. 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. Chương trình quản lý biến thông qua tên biến và mỗi biến tương ứng với một kiểu dữ liệu nhất định.
– Cú pháp khai báo biến:
VAR <ten_bien>:<kieu_du_lieu>;
Ví dụ:
VAR a:integer;
b,c:real;
qua:Hoaqua;
(* với Hoaqua la kieu du kieu da dinh nghia *)

4. Phép toán, Biểu thức, Câu lệnh

a. Phép toán
*/ Phép toán trên kiểu số

01
02
03
04
05
06
07
08
09
10
Phép toán   Ý nghĩa         Ví dụ
------------------------------------------------------
-           Lấy đối số      Đối số của 2 là -2
+           Cộng            10 + 9 -> 19
-           Trừ             10 - 9 -> 1
*           Nhân            10 * 9 -> 90
/           Chia            10 / 4 -> 2.5
Div         Chia lấy phần nguyên    10 div 3 -> 3
Mod         Chia lấy phần dư    10 mod 3 -> 1
(Div và Mod chỉ áp dụng cho kiểu nguyên).

*/ Một số hàm số, thủ tục

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
Hàm         Ý nghĩa             Ví dụ
------------------------------------------------------------
ABS(x)      Trị tuyệt đối x     Abs(-2) -> 2
SQR(x)      Bình phương x       Sqr(2) -> 4
SQRT(x)     Căn bậc hai x       Sqrt(9) -> 3
EXP(x)      Hàm e^x             Exp(3) -> e^3
LN(x)       Hàm ln(x)           Ln(2) ->ln2
SIN(x)      Hàm lượng giác      Sin(PI) -> 0
COS(x)      Hàm lượng giác      Cos(PI) -> 1
ARCTAN(x)   Hàm lượng giác      Arctan(0) ->0
INC(x)      Tăng x lên 1 đơn vị <=> x:=x+1;
DEC(x)      Giảm x xuống 1 đơn vị <=> x:=x-1;
SUCC(x)     Cho giá trị tiếp theo của x succ(5) cho KQ 6
PRED(x)     Cho giá trị trước đó của x PRED(5) cho KQ 4
ROUND(x)    Làm tròn lên        Round(8.6) -> 9
TRUNC(x)    Làm tròn xuống      Trunc(8.6) -> 8
ORD(x)      Lấy mã ASCII ký tự  Ord(‘a’) -> 97
CHR(x)      Cho ký tự có mã ASCII Chr(65) -> ‘A’
ODD(x)      Kiểm chẳn lẽ        Odd(5) -> True

*/ Một số phép toán logic
AND, OR, XOR, NOT.

1
2
3
4
5
6
X       Y       X OR Y      X AND Y     X XOR Y     NOT X
---------------------------------------------------------------------
FALSE   FALSE   FALSE       FALSE       FALSE       TRUE
FALSE   TRUE    TRUE        FALSE       TRUE        TRUE
TRUE    FALSE   TRUE        FALSE       TRUE        FALSE
TRUE    TRUE    TRUE        TRUE        FALSE       FALSE

Lưu ý:

– Các phép toán so sánh (<> khác, = bằng, > lớn hơn, < nhỏ hơn >= lớn hơn hoặc bằng, <= nhỏ hơn hoặc bằng) luôn trả về kiểu Booland.
– Các phép toán logic còn áp dụng trên kiểu số nguyên, trên cớ sở biểu diễn số nhị phân của các số nguyên.

b. Biểu thức
– Biểu thức là một phần của câu lệnh bao gồm hằng, biến, hàm liên kết với nhau bằng các phép toán và các dấu ngoặc đơn.
Ví dụ:
(-b+sqrt(delta))/(2*a)
– Thứ tự thực hiện các phép toán trong biểu thức:

1. Biểu thức trong ngoặc đơn
2. Phép gọi hàm
3. Not, –
4. *, /, DIV, MOD AND
5. +, -, OR, XOR
6. =, <>, <=,>=,<,>,IN

– Quy ước thứ tự ưu tiên

+ Qui tắc 1 : Các phép toán nào có ưu tiên cao hơn
sẽ được tính trước.
+ Qui tắc 2 : Trong các phép toán có cùng thứ tự ưu
tiên thì sự tính toán sẽ được thực hiện từ trái
sang phải.
+ Qui tắc 3 : Phần trong ngoặc từ trong ra ngoài
được tính toán để trở thành một giá trị.

c. Câu lệnh

– Câu lệnh 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ó 2 loại câu lệnh:
+Câu lệnh đơn: Là câu lệnh không chứa các câu lệnh khác.
+Câu lệnh có cấu trúc: gồm các câu lệnh ghép, câu lệnh rẽ nhánh câu lệnh điều khiển lựa chọn, câu lệnh lặp,…
Lưu ý: Câu lệnh ghép là một nhóm các câu lệnh đơn cần thực hiện liên tiếp và được đặt trong cặp từ khóa BEGIN và END; (END kèm theo dấu chấm phẩy).

*/ Một số câu lệnh đơn:
– Lệnh gán:

Cú pháp: <ten_bien>:=<bieu_thuc>;
Ví dụ: a:=5+4/3;
b:=c+d/e;

Lưu ý:
+ Khi một giá trị được gán cho biến, nó sẽ thay thế giá trị trước đó của biến đã lưu.
+ Biểu thức ở bên phải và bên trái lệnh gán phải có cùng kiểu dữ liệu.

– Lệnh đọc dữ liệu

Lệnh đọc dữ liệu là lệnh gán giá trị cho biến khi ta nhập từ bàn phím. Có 3 mẫu viết
• Read(Biến1, Biến2,…, BiếnN);
{có thể dùng dấu cách hoặc phím enter để lần
lượt nhập dữ liệu cho các biến}
• Readln(Biến1, Biến2,…, BiếnN);
{phải dùng phím enter để lần lượt nhập
dữ liệ cho các biến}
• Readln;
{Bắt máy dừng lại chờ nhấp phím enter
thường để làm dừng màn hình cho ta xem kết quả}
Lưu ý: Chúng ta không nên dùng lệnh read để nhập dữ liệu cho các biên mà nên nhập bằng lệnh readln vì khi nhập dữ liệu cho các biến bằng lệnh read có thể sẽ dẫn đến tình trạng trôi lệnh (tức là một số lệnh không được thực hiện).

– Lệnh viết dữ liệu ra màn hình:
Có 3 mẫu viết:

• Write(Value1,Value2,…,ValueN);
{ viết các mục ra, con trỏ nằm ở cuối dòng}
• Writeln(Value1,Value2,…,ValueN);
{ viết các mục ra, con trỏ nằm ở đầu dòng tiếp theo}
• Writeln;
{ chỉ đưa con trỏ xuống dòng tiếp theo}
trong đó: các value là các biến, hằng, giá trị hay chuỗi
ký tự (phải đặt trong cặp nháy đơn).
{riêng dấu ‘ ta xuất bằng cách ghi 2 dấu ”}

Viết có quy cách:
– Đối với kiểu số thực:
:<độ rộng>:<số chữ số thập phân>;
Ví dụ: write(a:4:5);
– Đối với các kiểu dữ liệu khác:
:<độ rộng>;
Ví dụ: write(b:4);{với b là số nguyên}
Lưu ý: Khi số chữ số của biến nhiều hơn với độ rộng thì
số đó sẽ được xuất ra toàn bộ.
Ví dụ: b có giá trị là 12345.
Khi ta viết lệnh write(b:4);
12345

– Một số lệnh khác
• Clrscr; Lệnh xóa màn hình và đưa con trỏ về góc trên bên trái
• Gotoxy(x,y); đặt con trỏ tới tọa độ (x,y)
x: cột từ 1->80; y: hàng từ 1->25

Sưu tầm : vietsource.net

 

Check Also

Bài 10 - Tệp trong pascal – Kiểu file

Bài 10 – Tệp trong pascal – Kiểu file

Số người xem bài viết 17