Biểu thức bao gồm các toán hạng (biến, hằng, lời gọi hàm) kết hợp với nhau bằng các toán tử.
3.1 Các toán tử.
Các toán tử trong TURBO PASCAL được chia thành 5 lớp có thứ tự ưu tiên như sau:
3.1.1 Toán tử đảo dấu.
Đây chính là phép trừ không có số bị trừ. Toán tử này cho phép đổi dấu của toán hạng thuộc kiểu integer hay real đặt ngay sau nó.
3.1.2 Toán tử NOT.
Toán tử NOT phủ định giá trị của một toán hạng kiểu boolean.
3.1.3 Các toán tử thuộc lớp nhân:
Toán tử phép toán kiểu toán hạng kiểu kết quả
* nhân real real
* nhân integer integer
* nhân real, integer real
/ chia real real
Nguyễn Gia Phúc, Nguyễn Thái Hà Giáo
trình Tin họcđạicương
/ chia real, integer real
/ chia integer real
div chia nguyên integer integer
mod lấy phần dư integer integer
and và logic boolean boolean
3.1.4. Các toán tử lớp cộng
Toán tử phép toán kiểu toán hạng kiểu kết quả
+(-) cộng(trừ) real real
+(-) cộng(trừ) integer integer
+(-) cộng(trừ) real, integer real
or hoặc logic boolean boolean
3.1.5. Các toán tử qua hệ.
Các toán tử này tác dụng lên tất cả các kiểu dữ liệu chuẩn. Một điều nên nhớ rằng chỉ có thể so sánh các toán hạng cùng kiểu, riêng các toán hạng kiểu integer và real có thể so sánh với nhau bằng toán tử quan hệ, kết quả của phép so sánh bao giờ cũng thuộc kiểu boolean. Các toán tử quan hệ bao gồm: =, >,<, >=, <=, <> (khác).
3.2 Các hàm
PASCAL thiết kế sẵn một số hàm chuẩn, ta sẽ dần dần làm quen với chúng, sau đây là một số hàm chuẩn hay dùng:
Toán học TURBO PASCAL
x2 sqr(x)
sqrt(x)
cosx cos(x)
sinx sin(x)
lnx ln(x)
ex exp(x)
| x | abs(x)
...
3.3 Cấu trúc của một chương trình PASCAL.
Bao gồm 3 phần:
1. Phần tiêu đề của chương trình
2. Phần khai báo dữ liệu
3. Phần thân chương trình.
x
Nguyễn Gia Phúc, Nguyễn Thái Hà Giáo
trình Tin họcđạicương
Program tinh_dien_tich_hinh_tron;
const
pi=3.14;
var
s , r : real;
BEGIN
r:=5;
s:=pi*r*r;
END.
Ta lần lượt đề cập tới từng phần của cấu trúc chương trình:
3.3.1 Phần tiêu đề
Phần này không nhất thiết phải có, nhưng nó chứa tên chương trình, thông thường tên được đặt sao cho có thể gợi nhớ đến nội dung của chương trình, do đó phần nào giúp ta phân biệt được các chương trình khác nhau. Phần này bắt đầu bằng từ khoá Program.
3.3.2 Phần khai báo.
PASCAL yêu cầu người lập trình phải liệt kê tất cả các “đối tượng” sẽ được sử dụng trong chương trình, điều này có nghĩa là tất cả các kiểu dữ liệu, các biến, các thủ tục phải khai báo trước. Một chương trình PASCAL có thể sử dụng các dữ liệu là hằng số, hay biến số. Hằng số là dữ liệu mà giá trị của nó do người lập trình xác định, giá trị này không thay đổi trong quá trình thực hiện chương trình.
Biến số là dữ liệu mà giá trị của nó do chính chương trình xác định, giá trị này có thể thay đổi trong quá trình thực hiện chương trình.
Phần này bao gồm nhiều mục, tuy nhiên tuỳ theo từng chương trình cụ thể phần khai báo
có thể thiếu một hay nhiều mục, thậm chí không có mục nào, nhưng phần này cũng có thể dài hơn thân chương trình. Ta lần lượt xét tất cả các mục này:
a). Phần khai báo Unit:
Đây là một nét mới tạo sức mạnh của TURBO PASCAL từ thế version 4.0 trở đi, nó thể hiện ở chỗ nó cho chúng ta chia chương trình thành nhiều modul (một modul hay còn gọi là 1 Unit được biểu hiện là các dữ liệu + các chương trình con có liên quan) và biên dịch chúng một cách riêng rẽ, làm như vậy khi sửa chữa hay thay đổi một modul, chúng ta không cần biên dịch lại toàn bộ chương trình. Mặt khác một Unit có thể được
sử dụng bởi nhiều chương trình khác nhau. Nếu một chương trình nào đó cần tới một unit cụ thể chỉ cần khai báo nó trước. Các modul này có thể do người lập trình tự xây dựng, trong ngôn ngữ PASCAL cung cấp cho chúng ta một số Unit, khi cần sử dụng Unit nào ta chỉ cần khai báo bằng từ khoá Uses tiếp theo là danh sách các Unit cần sử dụng, khai báo này được đặt tại dòng đầu tiên của chương trình ngay sau dòng tiêu đề.
Ví dụ:
Uses graph, crt, dos;
Có hai loại Unit:
Một loại do chính người lập trình tạo ra.
Nguyễn Gia Phúc, Nguyễn Thái Hà Giáo
trình Tin họcđạicương
Loại unit chuẩn.
Có tất cả 7 unit chuẩn:
- DOS : là unit chứa các thủ tục và hàm liên quan tới các thủ tục và hàm của HĐH
DOS.
- CRT : là unit cung cấp các phương tiện xử lý màn hình, bàn phím.
- PRINTER : chứa các dữ liệu và chương trình con giúp chúng ta sử dụng máy in.
- SYSTEM : là thư viện chuẩn.
- GRAPH : cung cấp các thủ tục về đồ hoạ.
- TURBO3 và GRAPH3 : cho chúng ta các phương tiện tương thích với TURBO
PASCAL 3.0.
Để sử dụng các thủ tục và dữ liệu trong các Unit ta chỉ cần khai báo, ví dụ ta muốn vẽ
đồ thị của một hàm số, ta cần tới thủ tục đồ hoạ, muốn vậy ta khai báo như sau:
uses graph;
b) Phần khai báo kiểu dữ liệu:
Đây cũng là một điểm mạnh của TURBO PASCAL, nó cho ta khả năng tự thiết kế ra kiểu dữ liệu mới thuận tiện cho công việc lập trình của mình. Lẽ dĩ nhiên bất cứ kiểu mới nào cũng được thiết kế từ các kiểu sẵn có của TURBO PASCAL. Một kiểu mới sẽ được mô tả cụ thể bắt đầu bằng từ khoá type. Ta sẽ quay lại vấn đề này vào một thời điểm thích hợp nhất.
c) Phần khai báo biến:
Biến là một đại lượng có thể thay đổi giá trị giống như khái niệm biến toán học. Biến của một chương trình thực chất là tên của một ô nhớ. Tất cả các biến của chương trình phải được khai báo ở đầu chương trình sau từ khoá Var.
Cách khai báo như sau:
Var tb1: k1;
tb2: k2;
...
tbn: kn;
Ở đây các tbi là các tên, còn các ki là các kiểu dữ liệu có sẵn hoặc là các kiểu dữ liệu vừa được định nghĩa trong mục type.
Chú ý: Nếu có nhiều biến cùng kiểu ta có thể khai báo trên cùng một dòng, chẳng hạn
Var
r , s: real;
d) Phần khai báo chương trình con:
Mục này được bắt đầu bằng từ khoá function hay procedure, đó chính là mục khai
báo các chương trình con (ctc) mà chúng ta sẽ nói kỹ ở phần sau.
3.3.3 Thân chương trình.
Nguyễn Gia Phúc, Nguyễn Thái Hà Giáo
trình Tin họcđạicương
3.4 Lệnh gán
- Đây là một lệnh cơ bản của TURBO PASCAL, dùng để truyền giá trị của một hằng, của một biến, của một biểu thức vào một biến. Phép gán được biểu diễn bằng ký hiệu “:=”.
Cách viết:
bien:=bth;
Ở đây biến là tên một biến đã được khai báo ở mục Var, còn bth là một biểu thức có cùng kiểu với biến ở vế trái. Ví dụ:
x:=x+1;
y:=x;
z:=3.4;
...