Ví dụ về cách viết và sử dụng chương trình con | Doanhnhan.edu.vn

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

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

Procedure [ < danh sách tham số > ];

[ < phần khai báo > ]

Begin

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

End;

Trong đó:

  • Phần đầu thủ tục: gồm tên Procedure tên thủ tục, danh sách tham số (nếu có).
  • Phần khai báo: xác định các hằng, kiểu, biến và 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: viết giữa cặp tên dành riêng Begin End.

Một số lưu ý:

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

Ví dụ 1: Lập chương trình cho phép vẽ nhiều hình chữ nhật với kích thước khác nhau.

Gợi ý làm bài:

  • Để vẽ được hình chữ nhật với kích thước khác nhau, cần có hai tham số cho dữ liệu vào là chiều dài và chiều rộng.
  • Phần đầu thủ tục được viết như sau: Procedure Ve_Hcn (chdai, chrong: integer);
  • Thủ tục Ve_Hcn vẽ hình chữ nhật với kích thước tùy ý theo giá trị của tham số chdai và chrong. Với chdai và chrong là nguyên dương.

Chương trình mẫu:

Program VD_hcn;

Uses crt;

Var a,b,i:integer;  {bien toan cuc}

Procedure Ve_Hcn(chdai,chrong:integer);  {Bat dau CTC}

Var i, j: integer; {bien cuc bo}

Begin

{ve canh tren hinh chu nhat}

For i:=1 to chdai do write(‘*’);

Writeln;

For j:=1 to chrong -2 do {ve 2 canh ben}

Begin

Write(‘*’);

For i:=1 to chdai – 2 do write(‘ ’);{ve khoang trang}

Writeln(‘*’);            

End;
{ve canh duoi}

For i:=1 to chdai do write(‘*’);

Writeln;

End; {Ket thuc CTC}

Begin

Clrscr;

Ve_Hcn(25,10);    {ve hinh chu nhat 25×10}

Writeln; {cach 1 dong}

Ve_Hcn(5,10);        {ve hinh chu nhat 5×10}

Readln;

Clrscr;

{ve 4 hinh chu nhat hinh dau tien 4×2. Moi hinh sau co kich thuoc gap doi hinh truoc}

a:=4; b:=2;

for i:=1 to 4 do

begin

Ve_Hcn(a,b);

readln;

a:=a*2; b:=b*2;

end;

End.

c. Một số khái niệm

  • Tham số giá trị (tham trị): tham số hình thức được thay bằng tham số thực sự tương ứng là các giá trị cụ thể và không được khai báo sau từ khóa var
    • Các tham số chdaichrong của thủ tục Ve_Hcn là tham trị. Trong lệnh gọi Ve_Hcn(25,10) tham số chdai được thay bởi số nguyên 25, tham số chrong được thay bởi số nguyên 10.
  • Tham số biến (tham biến): tham số hình thức được thay bằng tham số thực sự tương ứng là tên các biến và được khai báo sau từ khóa var.
    • Trong lời gọi thủ tục Ve_Hcn(a,b), tham số chdai được thay bởi giá trị hiện thời của biến a, tham số chrong được thay bởi giá trị hiện thời của biến b.
  • Để phân biệt tham biến và tham trị Pascal sử dụng từ khóa Var để khai báo những tham số biến.
READ:  Lắp đặt dây dẫn của mạng điện trong nhà | Doanhnhan.edu.vn

1.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 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;

Trong đó:

  • Kiểu dữ liệu chỉ có thể là kiểu dữ liệu chuẩn: integer, real, char, boolean, string.
  • Khác với thủ tục, trong thân hàm cần có lệnh gán giá trị cho tên hàm< tên hàm >:= < biểu thức >;

b. Sử dụng hàm

Ví dụ 2: Xét chương trình rút gọn một phân số, trong đó sử dụng hàm tính ước chung lớn nhất (ƯCLN) của hai số nguyên.

Chương trình mẫu:

Program Rutgon_Phanso;

Uses crt;

Var Tuso, Mauso, a: Integer;  {Bien toan cuc}

Function UCLN(x, y: Integer): Integer; {Bat dau ham UCLN}

Var sodu: Integer;         {Bien cuc bo}

Begin

while y <> 0 do

begin

sodu:= x mod y;

x:= y;

y:= sodu;

end;

UCLN:= x;               {Gan gia tri cho ten ham}

End;                       {Ket thuc ham}

Begin

Clrscr;

write(‘Nhap vao 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,’/’, Mauso);

End.

Một số lưu ý:

  • Việc sử dụng hàm hoàn toàn giống như sử dụng các hàm chuẩn.
  • Lệnh gọi hàm bao gồm tên hàm và tham số thực sự tương ứng với tham số hình thức.
  • Lệnh gọi hàm có thể tham gia vào một biểu thức như một toán hạng và thậm chí là tham số của lời gọi hàm, thủ tục khác, ví dụ: A:= 6*UCLN(Tuso,Mauso);
READ:  Đa dạng và đặc điểm chung của lớp Sâu bọ | Doanhnhan.edu.vn

Xem thêm bài viết thuộc chuyên mục: Học tập