a) Bảng chữ cái là tập các kí tự được dùng để viết chương trình. Không được phép dùng bất kì kí tự nào ngoài các kí tự quy định trong bảng chữ cái.
Trong Pascal, bảng chữ cái bao gồm các kí tự:
Bảng chữ cái của ngôn ngữ lập trình không khác nhau nhiều.
b) Cú pháp là hộ qui tắc để viết chương trình, mà dựa vào chúng, người lập trình và chương trình dịch biết được tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ. Nhờ đó, có thể mô tả chính xác thuật toán để máy tính thực hiện.
c) Ngữ nghĩa xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.
Tóm lại, cú pháp cho biết cách viết chương trình hợp lệ. Còn ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình.
2. Một số khái niệm
a) Tên
- Mọi đối tượng trong chương trình đều phải dược đặt tên theo quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể.
- Tên trong Turbo Pascal là một dãy liên tiếp không quá 127 kí tự bao gồm chữ số, chữ cái hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới.
- Nhiều ngôn ngữ lập trình (Pascal, chẳng hạn), phân biệt ba loại tên, đó là:
• Tên dành riêng;
• Tên chuẩn;
• Tên do người lập trình đặt.
- Tên dành riêng: Tên được dùng với ý nghĩa xác định, người lập trình không được sử dụng với ý nghĩa khác và chúng còn được gọi là từ khóa.
Ví dụ, một số tên dành riêng:
Trong Pascal: program, uses, const, type, var, begin, end.
Trong C++: main, include, if, while, void.
- Tên chuẩn: Tên dùng với ý nghĩa nào đó, nhưng người lập trình có thể khai báo và dùng chúng với ý nghĩa và mục đích khác. Ý nghĩa của chúng được qui định tnong các thư viện của ngôn ngữ lập trình.
Ví dụ, tên chuẩn:
Trong Pascal: abs, sqr, sqrt, integer, longint, byte, real, extended, break.
Trong C++: cin, cout, getchar.
- Tên do người lập trình đặt: Tên được dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng và chúng không được trùng với tên dành riêng.
Ví dụ: tên do người lập trình đặt: Al, baitap1, bai thi,...
b) Hằng và biến
- Hằng là các đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình.
- Hằng số học là các số nguyên hay số thực (dấu phẩy tĩnh hoặc dấu phẩy động) có dấu hoặc không dấu.
Ví dụ, 2, 0, -5, +18, 1.5, 1.0E-6,...
- Hằng logic là giá trị đúng hoặc sai tương ứng với true hoặc false.
Ví dụ: hằng lôgic trong Pascal: TRUE, FALSE.
- Hằng xâu là chuỗi kí tự trong bảng chữ cái. Khi viết, chuỗi kí tự này được đặt trong dấu nháy (Pascal dùng dấu nháy đơn, còn C++ dùng dấu nháy kép).
Ví dụ, hằng xâu trong Pascal: ‘hoctottinhoc1!’, ‘ha noi’,..Trong C++: “TINHOC”, ‘“HA NOI”,...
- Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình. Các biến dùng trong chương trình đều phải khai báo.
c) Chú thích
Chúng ta có thể đặt các đoạn chú thích trong chương trình nguồn. Chúng giúp cho người đọc chương trình nhận biết ngữ nghĩa cùa chương trình đó dễ hơn. Nó không ảnh hưởng đến nội dung chương trình nguồn và được chương trình dịch bỏ qua.
Trong Pascal các đoạn chú thích đặt giữa cặp dấu { và } hoặc (* và *), còn trong C++ là đặt các đoạn chú thích giừa cặp dấu /* và */.
Từ khoá là các từ mà Pascal dành riêng để phục vụ cho mục đích của nó. (Chẳng hạn như: BEGIN, END, IF, WHILE,…)
Chú ý: Với Turbo Pascal 7.0 trở lên, các từ khoá trong chương trình sẽ được hiển thị khác màu với các từ khác.
6.2. 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.
6.3. Dấu chấm phẩy (;)
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.
6.4. 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à *).