1. Cách viết và sử dụng thủ tục

a. Cấu trúc của thủ tục

Procedure <tên thủ tục>[<danh sách các tham số>];

[<Phần khai báo>]

Begin

[<Dãy các lệnh>]

End;

* Trong đó:

  • Phần đầu gồm tên dành riêng và tên thủ tục, 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.
  • Dãy câu lệnh được viết giữa cặp tên dành riêng Begin và End tạo thành thân thủ tục.

b. Ví dụ về thủ tục

– Ví dụ 1:

Program VD_thutuc2;
Uses crt;
Var a, b, i: integer;
Procedure Ve_HCN(chdai, chrong: integer);
Var i,j: integer;
Begin {Ve canh tren cua hinh chu nhat}
For i:=1 to chdai do write(‘*’);

Writeln;
For j:=1 to chrong-2 do write(‘ ’);
Begin
Write(‘*’);
For i:=1 to chdai-2 do write(‘ ’);
Writeln(‘*’);
End;
For i:=1 to chdai do write(‘*’);
Writeln;
End;

BEGIN {Bat dau chuong trinh chinh}
Clrscr;
Ve_HCN(25,10);
Writeln;
Writeln;
Ve_HCN(5,10);
Readln;
Clrscr;
a:=4;
b:=2;
For i:=1 to 4 do
Begin 
Ve_HCN(a,b);
Readln;
clrscr;
a:=a*2;
b:=b*2;
end;
Readln;
END.

* Tham số giá trị: có hai chức năng

  • Đưa dữ liệu vào cho chương trình con;
  • Đưa dữ liệu chương trình con tìm được ra.

* Tham số biến: trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các tham số biến.

– Ví dụ 2: 

Program VD_thambien1;
Uses crt;
Var a, b: integer;
Procedure Hoan_doi (var x, y: integer);
Var TG: integer;
Begin
TG:=x;
x:=y;
y:=TG;
End;

BEGIN
Clrscr;
a:=5;
b:=10;
Writeln(a:6, b:6);
Hoan_doi(a,b);
Writeln(a:6,b:6);
END.

2. Cách viết và sử dụng hàm

a. Cấu trúc của hàm

Function <tên hàm>[<danh sách các tham số>]: <kiểu dữ liệu>;

[<Phần khai báo>]

Begin

[<Dãy các lệnh>]

<tên hàm>:= <biểu thức>;

End;

b. Ví dụ về hàm

– Ví dụ 3:

Program Rutgon_Phanso;
Uses crt;
Var a, tuso, mauso: integer;
Function UCLN(x,y: integer):integer;
Var sodu: integer;
Begin
While y<>0 do

Begin
Sodu:= x mod y;
x:= y;
y:= sodu;
End;
UCLN:=x;
End;
BEGIN {Bat dau chuong trinh chinh}

Clrscr;
Write(‘Nhap tu so va mau so: ‘);
readln(tuso,mauso);
A:=UCLN(tuso, mauso);
If a>1 then 
Begin 
Tuso:= tuso div a; 
Mauso:= mauso div a; 
end; 
Writeln(tuso:5, ‘/’,mauso:5); 
Readln;
END.

– Ví dụ 4:

Program Minbaso;
Uses crt;
Var a, b, c: real;

Function Min(a,b: real):real;
Begin
If a<b then min:=a
Else min:=b;

End;
BEGIN {Bat dau chuong trinh chinh} 
Clrscr;
Write(‘Nhap vao ba so: ‘); 
readln(a,b,c);
Writeln(‘So nho nhat trong ba so la: ‘,min(a,b,c); 
Readln;
END.

THOÁT KHỎI BÌNH LUẬN

Please enter your comment!
Please enter your name here