chương trình con - Pdf 41

Chương VI: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC
ξ 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
1. Khái niệm chương trình con (SGK)
Khi lập trình, chúng ta thường có những đoạn chương trình hay phép tính giống nhau và lặp lại
nhiều lần.Nếu mỗi lần lặp lại, ta phải viết những đoạn lệnh như nhau thì chương trình ta trở nên dài dòng,
rối rắm và mất thời gian vô ích. Để giải quyết vấn đề trên, các NNLT cho phép chúng ta tạo các khối nhỏ,
mỗi khối là một đoạn chương trình nhỏ đgl chương trình con. chương trình con dùng để giải quyết một công
việc nào đó. Mỗi chương trình con sẽ có tên khác nhau để làm việc. Sau cùng thì chương trình chính sẽ
được xây dựng từ các chương trình con này.
-Cách lập trình như vậy gọi là lập trình có cấu trúc.
VD: xét bài toán tính tổng của bốn luỹ thừa sau:
S = a
m
+ b
n
+ c
p
+ d
q
Xem: S = S1 + S2 +S3 +S4
-Thông thường để tính được tổng S thì ta phải tính: S1, S2, S3, S4
-Trong đó cách tính S1, S2, S3, S4 tương tự nhau.
-Chẳng hạn ta tính S1 = a
n
như sau:
Ta thấy: S1 = a
m
= axaxax……….xa
m lần số a
Giả sử: S1 = 2
4

S:= S1 +S2 + S3 +S4 ;
Writeln( ‘ tong luy thua S:=’ , S : 4 :2 );
Readln
END.
………………………………………………………………………..
-Trong chương trình trên có 4 đoạn lệnh tương tự nhau, việc lặp lại những đoạn lệnh như
nhau làm cho chương trình dài, khó theo dõi. Ta sẽ xây dựng một chương trình con tổng
quát có tên là: LuyThua. Chương trình con này dùng để tính X
k
Trong đó hệ số X là biến số thực, luỹ thừa K là biến số nguyên
Nội dung của chương trình con này như sau:
--------------------------------------------------------------------------------
Function LuyThua( x : real ; k : integer ): real;
Var tich : real;
J : byte;
Begin
Tich:=1;
For j:=1 to k do Tich:=tich * x ;
LuyThua := tich;
End;
------------------------------------------------------------------------------
-Sau này khi nào cần tính: a
m
thì ta chỉ việc viết: LuyThua( a, m );
-Tương tự cho các luỹ thừa: b
n
, c
p
, d
q

-Phần đầu của chương trình con chứa: tên chương trình con, các biến số cung cấp dữ liệu
vào để chương trình con thực hiện.
-Phần khai báo chương trình con: khai báo các biến, hằng mà chương trình con cần dùng.
-Phần thân chương trình con: là một loạt các câu lệnh được đặt trong cặp từ khoá:
BEGIN
……các lệnh………..;
END;
VD: chẳng hạn ta xét hàm dùng để tính luỹ thừa :
Trang: 3
Function LuyThua( x : real ; k : integer ): real; Phần đầu
Var tich : real;
J : byte;
Phần khai báo
Begin
Tich:=1;
For j:=1 to k do Tich:=tich * x ;
Luythua := tich;
End;
Phần thân
*Chú ý:
-Các biến nào được viết trong phần đầu của ctc đgl tham số hình thức (x và k).
-Các biến được viết trong phần khai báo của ctc đgl biến cục bộ (tich, j).
-Chương trình chính không thể sử dụng các biến cục bộ của ctc, nhưng ctc thì được quyền
sử dụng các biến cuả chương trình chính !
-Các biến được khai báo trong chương trình chính đgl biến toàn cục.
-Một ctc có thể có hoặc không có tham số hình thức, biến cục bộ, (còn tuỳ thuộc vào từng
chương trình cụ thể).
c) Thực hiện chương trình con
-Để thực hiện ctc, ta cần phải có lệnh gọi nó (tương tự như lệnh gọi các hàm hay thủ tục
chuẩn mà ta vẫn hay dùng trước đây).

tham số hình thức. Còn tham số hình thức sẽ nhận lấy giá trị mới này và gửi ngược
trở ra cho các tham số thực. Cuối cùng các tham số thực sẽ bỏ đi giá trị củ và đón
nhận giá trị mới này. Để làm được đều đó thì các tham số hình thức đgl các tham số
biến (Tham biến). Khi đó trong phần đầu của ctc cần phải có từ khoá VAR trước các
tham số biến trên.
Trang: 5
Phần
đầu
PROCEDURE Tên thủ tục (Danh sách các tham số hình thức : kiểu dữ liệu của chúng) ;
Phần
khai
báo
VAR Các khai báo hằng, biến cục bộ
Phần
thân
BEGIN
……………các câu lệnh của thủ tục ;
END ;
1
Phần khai báo của chương trình chính;
2
Phần dành cho chương trình con;
3
Phần thân chương trình chính;


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status