Bài 17: Chương trình con và phân loại

Nội dung lý thuyết

BÀI 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI

1. Khái niệm chương trình con

- Những bài toán phức tạp có thể phân chia thành nhiều bài nêu nhỏ, mỗi bài nêu nhỏ được phân chia thành nhiều bài nêu nhỏ, quá trình làm “mịn” dần bài toán như vậy được gọi là cách thiết kế từ trên xuống.

- Khi lập trình để giải các bài nêu có thể chia thành các khối, mỗi khối bao gồm các lệnh để giải 1 bài nêu nào đó, mỗi khối lệnh được xây dựng thành 1 chương trình con, sau đó chương trình chính được xây dựng trên các chương trình con này, cách lập trình như vậy gọi là chương trình có cấu trúc.

- Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi ) từ nhiều vị trí trong chương trình.

- Lợi ích của việc sử dụng chương trình con:

  • Tránh được việc phải viết đi viết lại nhiều lần cùng 1 dóy lệnh;
  • Hổ trợ việc thực hiện các chương trình lớn;
  • Phục vụ cho quỏ trình trừu tượng hoá ;
  • Mở rộng khả năng ngôn ngữ;
  • Thuận tiện cho phát triển, nâng cấp chương trình;

2. Phân loại và cấu trúc của chương trình con

a. Phân loại:

  • Hàm: Là chương trình con thực hiện một số thao tác nào đó. Trả lại giá trị qua tên của hàm.
  • Thủ tục: Là chương trình con thực hiện một số thao tác nào đó. Không trả lại giá trị qua tên của thủ tục.

b. Cấu trúc chương trình con

<Phần đầu>

[<Phần khai báo >]

<Phần thân >

* Phần đầu:

  • Để khai báo tên của hàm hoặc thủ tục.
  • Nếu là hàm phải khai báo kiểu dữ liệu chỉ giá trị trả về của hàm.
  • Nhất thiết phải có.

* Phần khai báo:

  • Khai báo các biến cho dữ liệu vào/ra, các hằng và biến dùng trong chương trình con.

* Phần thân:

  • Gồm dãy các lệnh thực hiện để từ những dữ iệu vào/ra ta nhận dữ liệu ra hay kết qủa mong muốn.

c. Khái niệm các biến:

  • Tham số hình thức: gồm các biến được khai báo cho dữ liệu vào/ra.
  • Biến cục bộ: Gồm các biến khái được khai báo trong chương trình con.
  • Biến toàn cục: Gồm các biến khái được khai báo trong chương trình chính.

* Phạm vi hoạt động của các biến:

  • Biến cục bộ:
    • Chỉ sử dụng trong một chương trình con cuả nú mà thụi.
    • Không thể sử dụng biến cục bộ cuả một chương trình con cho chương trình chính và các chương trình con khác.
  • Biến toàn cục: Được sử dụng trong chương trình chính cũng có thể sử dụng trong chương trình con.

d. Thực hiện chương trình con:

  • Để thực hiện gọi chương trình con ta thực hiện lệnh theo có pháp sau: 

<tên chương trình con>(<tham số thực sự>)

Trong đó: tham số thực sự là các hằng, biến chứa dữ liệu vào/ ra.

* Chú ý: Trong quá trình xây dựng CTC, 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.