Chương trình con - Pdf 65

Ngôn ngữ lập trình Chương VI: Chương trình con 63
CHƯƠNG 6: CHƯƠNG TRÌNH CON
6.1 TỔNG QUAN
6.1.1 Mục tiêu
Sau khi học xong chương này, sinh viên cần phải nắm:
- Khái niệm về chương trình con.
- Cơ chế hoạt động khi chương trình con được gọi.
- Các cách truyền tham số cho chương trình con.
6.1.2 Nội dung cốt lõi
- Cơ chế hoạt động của chương trình con.
- Các loại tham số của chương trình con.
- Các cách truyền tham số cho chương trình con.
6.1.3 Kiến thức cơ
bản cần thiết
Kiến thức và kĩ năng lập trình căn bản
6.2 ÐỊNH NGHĨA CHƯƠNG TRÌNH CON
Chương trình con là một phép toán trừu tượng được định nghĩa bởi người lập trình.
Chương trình con có các đặc tính như sau:
- Mỗi chương trình con có một điểm vào duy nhất.
Chương trình gọi tạm ngừng việc thực hiện trong quá trình thực hiện chương trình con.
- Ðiều khiển luôn được trả về chương trình gọi khi sự thực hiện chương trình con kết
thúc.
Khi nói đến chương trình con, chúng ta quan tâm đến hai khía cạ
nh: sự định nghĩa
chương trình con và lời gọi thực hiện chương trình con.
Ðịnh nghĩa chương trình con là một đoạn chương trình nguồn được viết ra bởi người
lập trình.
6.2.1 Ðặc tả chương trình con

không thể
bị thay đổi bởi cương trình con, IN OUT chỉ định một tham số có thể bị thay
đổi và OUT chỉ định một kết quả.
Mặc dù chương trình con biểu diễn một hàm toán học nhưng nó cũng có các vấn đề
tương tự như đối với các phép toán nguyên thuỷ:
- Chương trình con có thể có các tham số ẩn trong dạng biến không địa phương mà nó
tham chiếu.
- Chương trình con có thể có kết quả ẩn (hiệu ứ
ng lề) được trả về thông qua sự thay
đổi các biến không địa phương hoặc thông qua việc thay đổi các tham số IN-OUT của
nó.
- Chương trình con có thể nhạy cảm với tiền sử (tự sửa đổi), vì vậy kết qủa của nó
không chỉ phụ thuộc vào tham số được cho tại lần gọi đó mà còn phụ thuộc vào toàn
bộ lịch sử các lần gọi trước đó. Nhạy cảm v
ới tiền sử có thể do dữ liệu địa phương vẫn
còn giữ lại giữa các lần gọi của chương trình con hoặc thông qua sự thay đổi mã riêng
của nó (ít phổ biến hơn).
6.2.2 Cài đặt chương trình con
Các phép toán nguyên thuỷ được cài đặt bằng cách dùng cấu trúc dữ liệu và các phép
toán được cung cấp bởi máy tính ảo bên dưới ngôn ngữ lập trình. Chương trình con
biểu diễn một phép toán được xây dựng bởi ngườ
i lập trình và do đó chương trình con
được cài đặt bằng cách dùng cấu trúc dữ liệu và các phép toán được cung cấp bởi
chính bản thân ngôn ngữ lập trình đó. Sự cài đặt được xác định bởi thân chương trình
con, bao gồm cả việc khai báo dữ liệu cục bộ xác định cấu trúc dữ liệu được dùng cho
chương trình con và các lệnh xác định hành động sẽ làm khi chương trình con thực
hiện.
Sự khai báo và các lệnh thường được bao gói, người sử
dụng chương trình con không
thể truy xuất được tới dữ liệu cục bộ và các lệnh bên trong chương trình con. Người sử

cách tự động bởi sự cài đặt ngôn ngữ.
6.3 CƠ CHẾ GỌI CHƯƠNG TRÌNH CON
6.3.1 Ðịnh nghĩa và kích hoạt chương trình con
Người lập trình viết một định nghĩa chương trình con trong chương trình. Thông qua
việc thực hiện chương trình, nếu chương trình con được gọi thì một kích hoạt chương
trình con (subprogram activation) được tạo ra. Khi sự thực hiện chương trình con kết
thúc thì kích hoạt bị phá huỷ. Nếu có một lần gọi khác thì một kích hoạt mới sẽ được
tạo ra. Như vậy từ mộ
t định nghĩa chương trình con, có nhiều kích hoạt có thể được
tạo trong quá trình thực hiện chương trình. Sự định nghĩa dùng làm khuôn mẫu
(template) cho việc tạo kích hoạt trong quá trình thực hiện.
Chú ý rằng sự định nghĩa là một sự diễn tả trong chương trình như nó đã được viết ra
và do đó nó được biết đến trong quá trình dịch. Kích hoạt chương trình con chỉ có thể
có trong quá trình thực hiện. Trong quá trình thực hiện, sự đị
nh nghĩa chỉ tồn tại trong
dạng khuôn mẫu mà từ đó các kích hoạt có thể được tạo ra.
6.3.2 Cài đặt định nghĩa và kích hoạt chương trình con
Xét lại định nghĩa chương trình con trong Pascal:
FUNCTION FN(x : REAL; y : INTEGER) : REAL;
CONST
max = 20;
Ngôn ngữ lập trình Chương VI: Chương trình con 66
VAR
m : ARRAY[1..max] OF REAL;
n : INTEGER;
BEGIN
n := MAX;

chương trình con của hàm FN nói trên
Ngôn ngữ lập trình Chương VI: Chương trình con 67

Mở đầu

Mã lệnh có thể thực hiện Khối mã có thể thực hiện
Kết thúc
Đoạn mã của FN 20
2 Các hằng
5
1
Ðiểm trở về
FN Kết quả của hàm
x Các tham số
Mẩu tin kích họat của FN y
m
:
:
:

Các biến cục bộ
n
Ðối với mỗi chương trình con, một đoạn mã tồn tại thông qua sự thực hiện chương
trình. Các mẩu tin kích hoạt được tạo ra và huỷ bỏ một cách động thông qua thực hiện

Mẩu tin kích
họat của FN
...


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status