KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON
Chương trình con (subprogram) là một đoạn chương trình có chức năng
giải quyết một vấn đề chuyên biệt mà cơng trình chính cn phải thực hiện
một số lần ứng với các gía trị khác nhau của tham số.
Chẳng hạn, nếu phải tính một loạt các gía trị e1, e2, e3, ..., e10 thì ta nên
viết một chương trình con có nhim vụ tính ex với x la đối số bất kỳ & đặt
tên là EXP(x). Mỗi khi cần tính một trong các gía trị e1, e2, ..., e10 , ta ch cần
gọi tên chương trình con đó nhưng thay x bng một giá trị cụ thể 1, 2, ...,10.
Tương tnhư thế, khi cần nhập dữ liệu cho hai ma trận A và B, thay phải
viết hai đoạn chương trình nhập riêng cho A và cho B thì ta chỉ cần viết một
chương trình con có nhiệm vụ nhập dữ liệu cho một ma trận X bất kỳ. Sau
đó trong chương trình chính, để nhập dliệu cho A, ta gọi chương trình con
đó nhưng thay X bằng A, và để nhập dữ liệu cho B, ta gọi chương trình con
đó nhưng thay X bằng B. Như vậy mỗi chương trình con thay thế được cho
một hay nhiều đoạn chương trình có bn chất giống nhau.
Việc sử dụng chương trình con kng chỉ có tác dụng làm cho chương
trình chính bớt rườm rà, bt dài dòng mà còn đặc biệt có ý nghĩa trong việc
tổ chức chương trình.
Khi phải giải quyết một bài toán lớn, người ta tìm cách chia nó ra thành
nhiều bài toán nhỏ. Mỗi bài toán nhỏ được gii quyết riêng rẽ bằng một
chương trình con sdễ dàng hơn khi phải kiểm tra lỗi và kim tra thuật toán.
Việc còn li là ghép các chương trình con này để tạo thành một chương trình
ln, đó là chương trình chính. Slệnh trong thân của chương trình chính s
không nhiu, chủ yếu là các li gọi chương trình con, vì thế người thảo
chương dễ có được một cái nhìn tng quan toàn bộ chương trình trước khi
xem xét từng chương trình con một cách chi tiết. Ðiều này tương tự như
trong dây chuyền sản xuất công nhiệp, người ta lắp ráp các sản phẩm ( như
xe máy, ô tô, ti vi, ...) từ các phụ tùng và các bán sản phẩm được chế tạo sẵn
tnơi khác chuyển đến mà không cn phải tìm hiu xem họ đã chế tạo như
thế nào.
Có hai loại chương trình con là hàm và thủ tục. Sự khác nhau cơ bản của
hàm và thủ tục là chỗ: hàm luôn luôn trvề một gía tr duy nhất thông qua
tên hàm và do đó thể sử dụng hàm như sử dụng một biểu thức, còn th
tục thì không trvề giá trị nào qua tên thủ tục và nó được sử dụng như một
lnh đơn giản.