PASCAL/Thủ tục

From Wikiversity

Thủ tục là một tập hợp của nhiều dòng lệnh từ các lệnh mặc định để thực thi một việc.

Cú pháp[edit]

Procedure <tên th tc>(<danh sách tham s>);
<phn khai báo>
Begin
   <công vic>
End;

Trong đó:

  • <danh sách tham số> có thể có hoặc không.
  • <phần khai báo> dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục. Lưu ý : các kiểu, biến, hằng này chỉ có thể sử dụng trong thủ tục này.
  • <công việc> là dãy câu lệnh đựoc thực hiện khi chạy thủ tục.

Loại thủ tục[edit]

  • Thủ tục trống dùng để thực thi một việc mà không cần đến thông số.
  • Thủ tục cần thông số là Thủ tục cần phải biết giá trị của các thông số trước khi nó thực thi chức năng của mình và trả về một kết quả

Thí dụ thủ tục trống[edit]

Uses crt;
Procedure OK; 
  Begin
    {Đổi màu màn hình cho đến khi có một phím được nhấn}
    randomize;
    repeat
       textbackground(10);
       clrscr;
       delay(500);
    until keypressed;
End;
Begin
  ok;
  readln
End.

Thí dụ thủ tục cần thông số[edit]

Chương trình Giải
var a, b: integer;
Procedure Doi(inx, iny : byte); 
  Begin
    a:= iny;
    b:= inx;
  End;
Begin
  write('Nhập a, b: '); readln(a,b);
  Doi(a,b);
  writeln('Sau khi hoán đổi: a=',a,' và b=',b);
  readln
End.




Nhập a, b: 1 2

Ban đầu:a =1 b=2

Doi(a,b):

a:= iny; {a = 2}

b:= inx: {b = 1}

Kết quả:

a=2 b=1