- Khai báo trực tiếp trong khai báo biến
b- Cấu trúc của thủ tục (Procedure) và lời gọi thủ tục
Ớ Thủ tục có cấu trúc ựầy ựủ như sau:
Procedure Tên_thủ_tục(Tham_số1 : kiểu; Tham_số2: kiểu; Var tham_số3: kiểu;. . .); Label {Khai báo các nhãn }
Const { Khai báo các hằng }
Type { định nghĩa các kiểu dữ liệu của người sử dụng } Var { Khai báo các biến cục bộ}
Begin
. . . { thân chương trình con } End;
Các phần nếu có thì theo ựúng thứ tự ựã nêu.
Kiểu của tham số là các kiểu cơbản, kiểu có cấu trúc như kiểu xâu kắ tự và kiểu mang, nếu là kiểu mảng thì phải khai báo bằng ựịnh nghĩa kiểu ở phần ựịnh nghĩa khiểu ở ựầu chương trình chắnh, không ựược khai báo trực tiếp.
Trong chương trình chắnh thủ tục ựứng trước thân chương trình chắnh, sau khai báo biến.
Các tham số khai báo trong hàm ựược gọi là tham số hình thức. Ớ Lời gọi thủ tục
Trong thân chương trình chắnh sử dụng thủ tục phải có lời gọi thủ tục Lời gọi thủ tục ựược viết như sau:
Các tham số thực sự tương ứng cả về kiểu và số lượng với các tham số hình thức khai báo trong thủ tục.
Lời gọi thủ tục như 1 câu lệnh ựứng ựộc lập.
Vắ dụ 2: chương trình có xây dựng Procedure
Bài toán: Tắnh tổng và trung bình cộng của dãy số a1, a2, . . ., an . Chương trình
Program Tinh_tong_tb; uses crt;
type mang= array[ 1 .. 50 ] of real ; var i,n: integer; a: mang; tg,tb: real;
Procedure tong(m: integer; x: mang; var s, p : real); Var j: integer ; t: real;
begin t:=0; For j:=1 to m do t:=t + x[j] ; s:= t; p:=t/m; end;
begin { than chuong trinh chinh } clrscr;
write(' nhap so phan tu cua day n '); readln(n); for i:= 1 to n do begin write(a[', i, ']=' ); readln(a[i]); end; tong(n,a,tg,tb);
writeln(' tong= ', tg: 8: 2, 'trung binh = ', tb: 8: 2 ); readln;
end.
1.2 - Sự khác nhau giữa hàm và thủ tục
- Hàm cho 1 giá trị thông qua tên hàm. Tên hàm trong lời gọi hàm ựược coi như một biến
có thể tham gia vào biểu thức, các thủ tục vào ra. Cuối thân hàm phải có lệnh gán giá trị cho tên hàm.
- Tên thủ tục không cho 1 giá trị nào cả.
- Các tham số viết sau tên hàm, sau tên thủ tục ựược gọi là tham số hình thức. Tham số hình thức có 2 loại: + Tham số không có từ khoá Var ựi kèm trước gọi là tham trị.
+ Tham số có từ khóa Var ựi kèm trước gọi là tham biến.
- Trong hàm thường chứa các tham trị, ắt khi chứa các tham biến. Trong thủ tục thường có các tham biến.
- Các tham số trong lời gọi hàm, lời gọi thủ tục gọi là tham số thực sự. Các tham số thực sự phải tương ứng về số lượng và kiểu với các tham số hình thức. Các tham số thực sự tương
ứng vơắ các tham trị ựể chứa các dữ liệu vào. Các tham số thực sự tương ứng vơắ các tham biến ựể chứa kết quả của thủ tục.
- Hàm lấy kết quả ở tên hàm, thủ tục lấy kết quả ở các tham số thực sự tương ứng với các tham biến.
- Như vậy nếu ựể lấy 1 kết quả ta có thể tổ chức hàm hoặc thủ tục. Nếu muốn lấy nhiều hơn 1 kết quả thì phải tổ chức chương trình con dạng thủ tục.