5. 1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta
chia thành các bài toán nhỏ, gọi lad module ha chương trình con.
Chương trình chính sẽ được xây dựng từ các chương trình con
Nhóm
trưởng
Việc A
Việc B
6. 1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Cách lập trình như vậy dựa trên lập trình có cấu trúc và chương
trình được xây dựng 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.
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta
chia thành các bài toán nhỏ, gọi lad module ha chương trình con.
Chương trình chính sẽ được xây dựng từ các chương trình con
7. 1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
VÝ dô: ViÕt ch ng tr×nh tÝnh tængươ am
+bn
+cp
+dq
.
Program Tong_Luy_thua;
Var Tong, lta, ltb, ltc, ltd: Real;
a, b, c, d: Real;
i, m, n, p, q: Integer;
Begin
Write(‘ Nhap a,b,c,d,m,n,p,q: ’);
Readln(a,b,c,d,m,n,p,q);
lta:=1;
For i:=1 to m do lta:=lta*a;
ltb:=1;
For i:=1 to n do ltb:=ltb*b;
ltc:=1;
For i:=1 to p do ltc:=ltc*c;
ltd:=1;
For i:=1 to q do ltd:=ltd*d;
Tong:=lta+ltb+ltc+ltd;
Write(‘Tong LT = ’,Tong:8:2);
Readln;
End.
10. Haõy
nhôù
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 lặp đi lặp lại
cùng một dãy lệnh nào đó.
- Hỗ trợ việc thực hiện các
chương trình lớn.
- Phục vụ 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.
12. 1. Haõy chæ ra caâu noùi sai:
A. Chöông trình con thöïc chaát laø moät
khoái leänh nhaèm giaûi quyeát moät baøi
toaùn con.
B. Chöông trình con laø moät daõy leänh moâ
taû moät soá thao taùc nhaát ñònh vaø coù
theå ñöôïc thöïc hieän töø nhieàu vò trí trong
chöông trình.
C. Chöông trình con laø khoâng caàn thieát vì
ta coù theå giaûi moïi baøi toaùn maø khoâng
caàn duøng noù.
D. Chöông trình con laø raát caàn thieát ñeå
giaûi quyeát caùc baøi toaùn lôùn vaø laøm
vieäc theo nhoùm.
KIEÅM TRA BAØI CUÕ
2. Lôïi ích cuûa vieäc söû duïng chöông trình con:
A. Traùnh vieäc laëp ñi, laëp laïi cuøng moät
daõy leänh naøo ñoù.
B. Hoã trôï vieäc thöïc hieän caùc chöông
trình lôùn.
C. Thuaän tieän cho vieäc phaùt trieån, naâng
caáp chöông trình.
D. Taát caû caùc caâu treân ñeàu ñuùng.
13. 3. Phaân loaïi vaø caáu truùc cuûa chöông trình
con
a. Phaân loaïi
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Chöông trình con goàm coù 2 loaïi:
Haøm
(Function)
Laø chöông trình con
Thöïc hieän moät soá thao taùc naøo ñoù
Traû veà moät giaù trò qua teân haøm
Thuû tuïc
(Procedure)
Laø chöông trình con
Thöïc hieän moät soá thao taùc naøo ñoù
Sqrt(x): Traû veà caên baäc 2 cuûa soá x
Length(S): Traû veà chieàu daøi xaâu S
EOF(<bieán teäp>): Traû veà giaù trò True
neáu con troû ñang chæ tôùi cuoái teäp
Writeln(<danh saùch keát quaû>): Xuaát danh
saùch keát quaû ra maøn hình
Delete(S,vt,N): Xoùa N kyù töï trong xaâu S,
tính töø vò trí thöù vt
Assign(<bieán teäp>,<teân teäp>): Gaén teân
teäp cho bieán teäp.
14. 3. Phaân loaïi vaø caáu truùc cuûa chöông trình
con
b. Caáu truùc chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Haõy trình baøy caáu truùc cuûa moät
chöông trình?
Caáu truùc chöông trình
[<Phaàn khai baùo>]
<Phaàn thaân>
Caáu truùc chöông trình con
<Phaàn ñaàu>
[<Phaàn khai baùo>]
<Phaàn thaân>
Function Luythua(x: Real; k: Integer): Real;
Var i: Integer; ltx: Real;
Begin
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
Luythua:=ltx;
End;
Ñöôïc duøng ñeå khai
baùo teân chöông trình
con, neáu laø haøm thì
caàn khai baùo kieåu döõ
lieäu cho giaù trò traû veà.
Coù theå khai baùo
bieán cho döõ lieäu vaøo
vaø ra, caùc haèng vaø
bieán söû duïng trong
chöông trình con.
Laø moät daõy leänh
15. 3. Phaân loaïi vaø caáu truùc cuûa chöông trình
con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Program Tong_Luy_thua;
Var a, b, c, d, Tong: Real;
m, n, p, q: Integer;
Function Luythua(x: Real; k: Integer): Real;
Var i: Integer; ltx: Real;
Begin
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
Luythua:=ltx;
End;
Begin
Write(' Nhap a, b, c, d, m, n, p, q: ');
Readln(a, b, c, d, m, n, p, q);
Tong:=Luythua(a,m)+Luythua(b,n)+Luythua(c,p)+Luythua(d,q);
Write(' Tong luy thua = ',Tong:8:2);
Readln
End.
x: Real; k: Integer
Var i: Integer; ltx: Real;
Var a, b, c, d, Tong: Real;
m, n, p, q: Integer;
Ñöôïc khai baùo cho
döõ lieäu vaøo/ra vaø
goïi laø tham soá
hình thöùc
Ñöôïc khai baùo, söû
duïng trong chöông trình
con vaø goïi laø bieán cuïc
boä
Ñöôïc khai baùo trong
chöông trình chính vaø söû
duïng trong toaøn boä
chöông trình vaø goïi laø
bieán toaøn cuïc
16. 3. Phân loại và cấu trúc chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
* Moät soá thuaät ngöõ
- Tham soá hình thöùc cuûa chöông trình con: Laø caùc
bieán ñöôïc khai baùo cho döõ lieäu vaøo/ra.
- Bieán cuïc boä: Laø caùc bieán ñöôïc khai baùo, söû
duïng trong chöông trình con.
- Bieán toaøn cuïc: Laø caùc bieán ñöôïc khai baùo trong
chöông trình chính vaø söû duïng trong toaøn boä
chöông trình.* Löu yù: Moät chöông trình con coù theå coù hoaëc
khoâng coù tham soá hình thöùc, cuõng nhö bieán cuïc
boä.
18. 4. Thöïc hieän chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Ñeå thöïc hieän chöông trình con, ta caàn phaûi coù
leänh goïi noù töông töï leänh goïi haøm hay thuû tuïc
chuaån, bao goàm teân chöông trình con vaø caùc tham
soá (neáu coù). Caùc tham soá naøy ñöôïc goïi laø tham
soá thöïc söï.
19. 4. Thöïc hieän chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Program Tong_Luy_thua;
Var a, b, c, d, Tong: Real;
m, n, p, q: Integer;
Function Luythua(x: Real; k: Integer): Real;
Var i: Integer; ltx: Real;
Begin
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
Luythua:=ltx;
End;
Begin
Write(' Nhap a, b, c, d, m, n, p, q: ');
Readln(a, b, c, d, m, n, p, q);
Tong:=Luythua(a,m)+Luythua(b,n)+Luythua(c,p)+Luythua(d,q);
Write(' Tong luy thua = ',Tong:8:2);
Readln
End.
Luythua(a,m)
Lôøi goïi chöông trình
con
Teân chöông trình
con
Tham soá thöïc
söï
20. 4. Thöïc hieän chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Ñeå thöïc hieän chöông trình con, ta caàn phaûi coù
leänh goïi noù töông töï leänh goïi haøm hay thuû tuïc
chuaån, bao goàm teân chöông trình con vaø caùc tham
soá (neáu coù). Caùc tham soá naøy ñöôïc goïi laø tham
soá thöïc söï.
* Chuù yù: Caùc tham soá thöïc söï vaø tham soá
hình thöùc phaûi coù söï töông öùng veà thöù töï vaø
kieåu döõ lieäu.
21. Coù 2 loaïi chöông trình con laø
Haøm vaø Thuû tuïc.
Caáu truùc chöông trình con
goàm 3 phaàn: Phaàn ñaàu,
phaàn khai baùo vaø phaàn
thaân.
Caùc thuaät ngöõ: Tham soá hình
thöùc, tham soá thöïc söï, bieán
cuïc boä, bieán toaøn cuïc.
Ñeå thöïc hieän moät chöông
trình con, caàn phaûi coù leänh
goïi chöông trình con, bao goàm
teân chöông trình con vaø caùc
tham soá thöïc söï (neáu coù).