CHƯƠNG TRÌNHCON (subprogram ):

Một phần của tài liệu Tìm hiểu ngôn ngữ DHVL.doc (Trang 87 - 88)

- TOP là một generic.

8.1CHƯƠNG TRÌNHCON (subprogram ):

VÀ QUÁ TRÌNH TRÀN

8.1CHƯƠNG TRÌNHCON (subprogram ):

Một subprogram định nghĩa 1 thuật tốn tuần tự , thực thi chính xác 1 bài tốn . Cĩ 2 dạng subprogram :

1. Function : thơng thường sử dụng việc tính tốn giá trị đơn giản , function được thực hiện trong thời gian mơ phỏng là zero .

2. Procedure : sử dụng cho việc phân mảnh mơ tả hành vi lớn . Procedure cĩ thể trả ề zero hoặc nhiều giá trị . Một procedure cĩ thể cĩ hoặc khơng thực hiện thời gian mơ phỏng zero , phụ thuộc vào nĩ cĩ phát biểu wait hay khơng .

Một subprogram được định nghĩa là subprogram body . Dạng 1 subprogram body là : subprogram_specification is

subprogram_item_declarations

begin

subprogram_statements -- Same as sequetial_statements. end [ function | procedure ] [ subprogram_name ];

Subprogram_specification : xác định tên của 1 chương trình con và định nghĩa giao diện của nĩ , đĩ là định nghĩa tên các tham số hình thức ( formal parameter ) , lớp của chúng ( signal ,variable , file hoặc constant ), loại và kiểu của chúng (in , out ,inout). Các tham số của dạng in là chỉ đọc các tham số , chúng khơng được cập nhật trong thân chương trình con . Các tham số của dạng out chỉ được viết các tham số , giá trị của chúng khơng được sử dụng nhưng cĩ thể được cập nhật trong thân chương trình con . Các tham số inout cĩ thể đọc được cũng như cập nhật được . Các file khơng cĩ kiểu , chúng cĩ thể được đọc hoặc viết tuỳ thuộc vào file cĩ đang mở hay khơng .

Các tham số thực (actual) trong chương trìnhcon gọi ( subprogram call ) là sử dụng các giá trị đã cĩ đến và từ 1 chương trình con. Chỉ cĩ tín hiệu số thực cĩ thể liên kết với tham số hình thức của lớp tín hiệu. Chỉ biến số thực cĩ thể liên kết với tham số của lớp biến . Chỉ cĩ file mới là số thực cho tham số của file . một biểu thức cĩ thể sử dụng giá trị đã cĩ cho tham số của lớp constant.

Khi các tham số là của lớp biến hoặc hằng số thì đều qua chương trình con bằng giá trị . Các dãy cĩ thể hoặc khơng thể qua sự tham khảo . Các file phải qua sự tham khảo . Đối với các tín hiệu , sự tham khảo đến tín hiệu , sự điều khiển hoặc cả hai đều qua chương trình con . Điều đĩ ý nĩi rằng 1 phép gán từ tín

hiệu trong procedure ( các tín hiệu khơng thể gán các giá trị trong function , bởi vì các tham số bị giới hạn của mode in ) , ảnh hưởng sự điều khiển tín hiệu số thực 1 cách tức thời và độc lập hoặc khơng độc lập với điểm cuối của procedure . Đối với các tín hiệu của 1 mode , khơng cĩ dạng thuộc tính giá trị tín hiệu ‘ STABLE’ , ‘QUIET’ , ‘DELAYED’ hoặc ‘TRANSACTION ‘ ( thuộc tính được bàn luận trong chương 10 ) , cĩ thể sử dụng trong thân chương trình con .

Kiểu của số thực trong chương trình con gọi phải tương ứng với tham số hình thức . Nếu tham số hình thức thuộc về kiểu khơng ràng buộc , kích thước của các tham số này được giới hạn từ số thực được đưa vào .

Subprogram_item_declarations : bao gồm 1 tập hợp các khai báo ( khai báo kiểu và đối tượng ) cĩ thể thu được trong chương trình con . Các khai báo được đưa vào ảnh hưởng đến tồn bộ thời gian chương trình con được gọi . Biến được khởi tạo và tồn tại trong suốt thời gian chương trình con được gọi , nĩ giống như biến trong phát biểu process , chỉ được đưa vào 1 lần khi bắt đầu mơ phỏng và tồn tại cho tới khi quá trình mơ phỏng được hồn thành .

Subprogram_statements : bao gồm các phát biểu tuần tự thực hiện tính tốn bằng chương trình con . Phát biểu trả về ( return )là phát biểu đặc biệt được cho phép chỉ trong chương trình con . Dạng của nĩ là : Return [ expression ]

Phát biểu return được tạo ra ở cuối chương trình con và trả giá trị về cho chương trình gọi . Tất cả các function đều cĩ phát biểu return cùng với 1 biểu thức , giá trị của biểu thức trong khai báo return là trả về cho chương trình gọi . Đối với các procedure , đối tượng của mode out và inout , các giá trị của chúng được trả về cho chương trình gọi .

Subprogram_name xuất hiện ở cuối thân chương trình con , nếu tồn tại thì phải trùng với tên của function hoặc procedure mà nĩ xác định .

Một phần của tài liệu Tìm hiểu ngôn ngữ DHVL.doc (Trang 87 - 88)