<< Chapter < Page Chapter >> Page >
chung trinh con

CHƯƠNG TRÌNH CON- THỦ TỤC VÀ HÀM

  • Khái niệm về chương trình con:

Chương trình con là một chương trình nằm bên trong một chương trình khác. Chương trình con có 2 loại: Thủ tục (Procedure) và hàm (Function):

  • Thủ tục (PROCEDURE): Dùng để thực hiện một hay nhiều nhiệm vụ nào đó.
  • Hàm (FUNCTION): Trả về một giá trị nào đó (có kiểu vô hướng, kiểu string hoặc kiểu con trỏ). Hàm có thể sử dụng trong các biểu thức.

Chương trình con được dùng rộng rãi khi xây dựng các chương trình lớn nhằm làm cho chương trình dễ theo dõi, dễ sửa chữa, có thể phân mảnh chương trình cho nhiều người làm. Một đặc điểm nổi bật của chương trình con là nó có tính đệ quy nhờ thế mà nhiều bài toán được giải quyết dễ dàng.

CẤU TRÚC CHUNG CỦA MỘT CHƯƠNG TRÌNH CÓ SỬ DỤNG CHƯƠNG TRÌNH CON:

 PROGRAM  Tên_chương_trình;

USES CRT;

CONST  ............;

TYPE     ............;

VAR       ............;

 

PROCEDURE  THUTUC[(Các tham số)];

[Khai báo Const, Type, Var]

BEGIN

     ..............

END;

 FUNCTION  HAM[(Các tham số)]:<Kiểu dữ liệu>;

[Khai báo Const, Type, Var]

BEGIN

     ..............

     HAM:=<Giá trị>;

END;

 

BEGIN {Chương trình chính}

     ...................

     THUTUC[(...)];

     ...................

     A:= HAM[(...)];

     ...................

END.

 

Chú ý: Trong quá trình xây dựng CHƯƠNG TRÌNH CON, khi nào thì nên dùng thủ tục/hàm?

Dùng hàm Dùng thủ tục
- Kết quả của bài toán trả về 1 giá trị duy nhất (kiểu vô hướng, kiểu string hoặc kiểu con trỏ).- Lời gọi CHƯƠNG TRÌNH CON cần nằm trong các biểu thức tính toán. - Kết quả của bài toán không trả về giá trị nào hoặc trả về nhiều giá trị hoặc trả về  kiểu dữ liệu có cấu trúc (Array, Record, File).- Lời gọi CHƯƠNG TRÌNH CON không nằm trong các biểu thức tính toán.

( ví dụ n!, tìm điểm đối xứng)

Ví dụ 1.1: Viết CHƯƠNG TRÌNH CON để tính n! = 1.2...n.

Function GiaiThua(n:integer):integer;

Var P, i:integer;

Begin

    P:=1;

    For i:=1 To n Do P:=P*i;

    GiaiThua:=P;

End;

Ví dụ 1.2: Viết chương trình con để tìm điểm đối xứng của điểm (x,y) qua gốc tọa độ.

Procedure DoiXung(x,y:Integer; Var xx,yy:Integer);

Begin

    xx:=-x;

    yy:=-y;

End;

CHÚ Ý: Trong 2 ví dụ trên:

        n, x, y được gọi là tham trị (không có từ khóa var đứng trước) vì sau khi ra khỏi chương trình con giá trị của nó không bị thay đổi.

        xx, yy được gọi là tham biến (có từ khóa var đứng trước) vì sau khi ra khỏi chương trình con giá trị của nó bị thay đổi.

  • Tham số trong chương trình con:

Các chương trình con có thể không cần tham số mà chỉ có các biến riêng (biến cục bộ). Trong trường hợp cần nhận các giá trị mà chương trình mẹ truyền cho thì chương trình con cần phải có các tham số.

Tham số thực là những giá trị lưu trữ trong các biến toàn cục của chương trình mẹ, được truyền cho các thủ tục hoặc hàm thông qua lời gọi tên của chúng.

Tham số được khai báo ngay sau tên chương trình con được gọi là tham số hình thức. Tham số hình thức gồm:

  • Tham biến:

Tham biến là những giá trị mà chương trình con nhận từ chương trình mẹ, các giá trị này có thể biến đổi trong chương trình con và khi chương trình con kết thúc các giá trị này được trả về cho tham số thực.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Lập trình nâng cao. OpenStax CNX. Sep 19, 2008 Download for free at http://cnx.org/content/col10576/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Lập trình nâng cao' conversation and receive update notifications?

Ask