Phần 2: Các khái niệm
Cấu trúc chương trình con:
1) Procedure <tên thủ tục>[(<ds tham số>)];
[<khai báo>];
Begin
[<thân thủ tục>];
End;
2) Function <tên hàm>[(<ds tham số>)]:<kiểu dữ liệu>;
[<khai báo>];
Begin
[<thân hàm>];
<tên hàm> := <biểu thức>;
End;
Các khái niệm:
- Tham số hình thức: Dùng để đưa dữ liệu và/ra cho chương trình con, trong cấu trúc trên tham số hình thức được khai báo trong cặp dấu ngoặc sau tên của hàm/thủ tục.
- Tham số thực sự: Khi muốn chương trình con thực hiện trong chương trình chính, ta phải gọi nó theo cấu trúc tên chương trình con(danh sách tham số thực sự), lúc này danh sách các tham số hình thức được gọi là tham số thực sự.
- Biến toàn cục: Là các biến được khai báo trong chương trình chính. Biến toàn cụ có tác dụng trong phạm vi chương trình chính và chương trình con.
- Biến cục bộ: Là các biến được khai báo trong chương trình con (chú ý phân biệt với tham số hình thức). Biến cục bộ chỉ có tác dụng trong phạm vi chương trình con.
Ví dụ:
Program Vidu;
var x, y: integer;
{———————————————————}
Function Tich(a, b: integer): integer;
Var Kq: Integer;
Begin
Kq := a*b;
Tich := Kq;
End;
{———————————————————}
BEGIN
write(‘Nhap 2 so nguyen: ‘); readln(x, y);
write(‘Tich cua chung la: ‘, tich(x, y));
readln
end.
Trong ví dụ trên:
- x, y: biến toàn cục
- kq: biến cục bộ
- a, b: tham số hình thức
- khi gọi tich(x, y) thì x và y gọi là tham số thực sự (x tương ứng với a, y tương ứng với b).
*Vì Kq là biến cục bộ nên trong chương trình lớn ta không thể viết:
write(‘Tich cua chung la: ‘, Kq);
vì chương trình lớn không biết có sự tồn lại của Kq;
*Vì x, y là các biến toàn cục nên ta có thể sử dụng trong hàm tính tích, chương trình có thể viết lại như sau (trong chương trình không sử dụng biến cục bộ Kq):
Program Vidu;
var x, y: integer;
{———————————————————}
Function Tich: integer;
Begin
Tich := x*y;
End;
{———————————————————}
BEGIN
write(‘Nhap 2 so nguyen: ‘); readln(x, y);
write(‘Tich cua chung la: ‘, tich);
readln
end.