4.2.1. Giới thiệu sơ lƣợc
Ngôn ngữ xây dựng đƣợc đặt tên là Minipas có một số đặc điểm:
- Có năm kiểu dữ liệu đơn giản: nguyên (integer), thực (double), logic (bool), kí tự (char), chuỗi ký tự (string). Hỗ trợ các phép toán số học - logic cơ bản trên ba kiểu đầu tiên. Kiểu char chỉ hỗ trợ phép gán và so sánh.
- Có kiểu cấu trúc là kiểu mảng một chiều với chỉ số nguyên, kiểu phần tử là kiểu đơn giản.
- Có ba cấu trúc điều khiển: tuần tự, rẽ nhánh (if… then… else) và vòng lặp (for…to…do, while.... do).
- Có kiểu chƣơng trình con là hàm. Chƣơng trình con có thể có tối đa là ba tham số.
- Có hai lệnh nhập dữ liệu từ bàn phím và xuất dữ liệu ra màn hình. - Cho phép hai dạng chú thích: chú thích khối và chú thích trên dịng. - Ngơn ngữ Minipas có phân biệt chữ hoa và chữ thƣờng.
Ngôn ngữ Minipas nhƣ vậy là tƣơng đối đủ cho ngƣời mới bắt đầu làm quen với việc học lập trình. Một số chi tiết phức tạp của ngơn ngữ Pascal (con
trỏ, kiểu dữ liệu cấu trúc, unit, đồ hoạ, tham biến...) đã đƣợc lƣợc bỏ giúp
Minipas đơn giản hơn.
4.2.2. Hƣớng dẫn sử dụng ngôn ngữ Minipas 4.2.2.1. Bảng chữ cái
Bảng chữ cái của Minipas là bảng kí tự ASCII.
4.2.2.2. Từ khố
Từ khóa là các từ dành riêng của ngơn ngữ Minipas, mỗi từ khóa có một cơng dụng riêng biệt. Minipas không cho phép đặt tên biến, tên hằng, tên chƣơng trình con… trùng với tên của từ khóa. Minipas có các từ khố sau:
var const function endfunction begin
if then else endif for
do endfor to return end
while endwhile write read wait
Bảng 4.1. Bảng các token của ngôn ngữ Minipas 4.2.2.3. Tên 4.2.2.3. Tên
Tên trong Minipas đƣợc đặt theo quy tắc sau: tên bắt đầu bằng một chữ cái hoặc dấu gạch dƣới, sau đó có thể là chữ cái, chữ số và dấu gạch dƣới. Tên phân
biệt chữ hoa, chữ thƣờng. Độ dài tối đa cho tên là mƣời kí tự (nếu dài hơn sẽ bị cắt bỏ phần cuối).
4.2.2.4. Giá trị
Giá trị trong Minipas có năm loại:
- Giá trị nguyên: đƣợc viết dƣới dạng thập phân, cho phép có dấu hoặc khơng dấu, tối đa chín chữ số.
- Giá trị thực: đƣợc viết dƣới dạng thập phân, cho phép có dấu hoặc khơng dấu, tối đa chín chữ số.
- Giá trị logic: có hai giá trị là true (đúng) và false (sai).
- Giá trị kí tự: một ký tự đƣợc viết giống nhƣ trong Pascal, bắt dầu và kết thúc bằng cặp dấu „‟, ở bên trong là một kí tự.
- Giá trị xâu: xâu đƣợc viết giống nhƣ trong Pascal, một xâu đƣợc viết bên trong cặp dấu “ “, độ dài xâu có hơn một kí tự.
4.2.2.5. Hằng
Hằng là đại lƣợng có giá trị khơng đổi. Trong Minipas có hỗ trợ năm kiểu hằng ứng với năm kiểu giá trị ở trên.
Khai báo hằng trong Minipas nhƣ sau:
const
kiểu dữ liệu tên hằng := giá trị;
4.2.2.6. Khai báo biến
Biến là đại lƣợng có giá trị thay đổi. Trong Minipas, có bao nhiêu kiểu dữ liệu thì có bấy nhiêu kiểu biến, biến đƣợc khai báo nhƣ sau:
var
Khai báo biến kiểu mảng nhƣ sau:
var
array kiểu dữ liệu tên mảng[số phần tử];
4.2.2.7. Biểu thức
Biểu thức trong Minipas dùng để thể hiện một công thức toán học. Biểu thức gồm tốn hạng và các phép tốn. Tốn hạng có thể là biến, hằng, hàm. Các phép toán gồm:
- Các phép toán số học: +, - , *, /, % (chia lấy kết quả là phần dư) - Các phép toán quan hệ: <, > , =, != (khác), >=, <=
- Các phép toán logic: & (và), | (hoặc), ! (phủ định).
4.2.2.8. Cấu trúc chƣơng trình
<các khai báo> begin
<các câu lệnh>
end.
Trong phần <các khai báo> thì thứ tự của các khai báo nhƣ sau: 1. Khai báo biến
2. Khai báo hằng số
3. Khai báo chƣơng trình con
4.2.2.9. Các câu lệnh
Câu lệnh trong Minipas bắt buộc kết thúc bằng dấu „ ; „, kể cả câu lệnh đứng trƣớc từ khóa end kết thúc chƣơng trình. Khơng cho phép câu lệnh rỗng. Có các loại câu lệnh sau trong Minipas:
Câu lệnh gán
<biến> := <biểu thức>;
<biến mảng> [<chỉ số>] := <biểu thức>;
Câu lệnh nhập giá trị cho biến
read <biến 1>,…,<biến n>;
Câu lệnh in ra giá trị của biểu thức
write <biểu thức>; Câu lệnh rẽ nhánh Dạng 1: if <biểu thức> then <câu lệnh> endif; Dạng 2:
if <biểu thức> then <câu lệnh 1>
else <câu lệnh 2>
endif;
Câu lệnh lặp với số bƣớc lặp xác định
for <biến>:=<giá trị đầu> to <giá trị cuối> do
<câu lệnh>
Câu lệnh lặp với số bƣớc lặp không xác định
while <biểu thức> do
<câu lệnh>
endwhile;
4.2.2.10. Chƣơng trình con
Chƣơng trình con trong Minipas chỉ bao gồm hàm. Hàm có thể có tối đa ba tham số hình thức.
Khai báo hàm nhƣ sau:
function Tên_hàm(danh sách tham số hình thức);
<các khai báo cục bộ>
begin
<các câu lệnh>
endfunction;
Khi gọi hàm, phải viết Tên_hàm kèm theo danh sách tham số thực sự. Các tham số thực sự phải giống về số lƣợng và tƣơng ứng về kiểu dữ liệu với các tham số hình thức.
4.2.2.11. Chú thích
Minipas cho phép chú thích gồm hai cách:
Đoạn văn bản chú thích đƣợc đặt sau dấu //, chú thích trên một dịng.
Đoạn văn bản chú thích đƣợc đặt giữa cặp /* và */, đặt trên số dòng tuỳ ý.