Để viết ch ơng trình giải các bài toán lớn, phức tạp ng ời lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định gọi là ctc.. Sau đ
Trang 1Bµi 17
Trang 2Để viết ch ơng trình giải các bài toán lớn, phức tạp ng ời lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định (gọi là ctc) Sau
đó ghép nối các ch ơng trình con thành ch ơng trình chính
Nhóm
tr ởng
Việc A
Việc B
1 Ch ơng trình con (ctc)
Trang 32 Phân loại ch ơng trình
con
Ch ơng trình con
Hàm (Function)
Là ch ơng trình
con thực hiện một
số thao tác nào
đó, và trả về một
giá trị qua tên
của nó.
Thủ tục (Procedure)
Là ch ơng trình con thực hiện một số thao tác nào đó, và không trả về giá trị nào qua tên của nó.
Tính tổng luỹ thừa
S = an + bm + cp +
dq
Vẽ và đ a ra màn hình 5 hình chữ nhật có kích th ớc
Trang 43 CÊu tróc cña ch ¬ng tr×nh con
<PhÇn khai
b¸o>
< PhÇn th©n>
Function <Tªnhµm> [(<ds tham
sè>)] :kiÓu cña hµm;
[< PhÇn khai b¸o >]
Begin
[<D·y c¸c lÖnh>]
tªnhµm := gi¸trÞ ;
End;
Procedure <tªn thñ tôc> [(<ds tham sè>)];
[< PhÇn khai b¸o >]
Begin
[<D·y c¸c lÖnh>]
End;
(Procedure)
Trang 54 Một số ví dụ
Bài toán 1: Lập ch ơng trình tối giản
phân số
Ví dụ: nhập 6/10 => ra 3/5
* INPUT : Nhập phân số a/b;
* OUTPUT : Phân số c/d - Trong đó: c = a/ƯCLN(a,b);
d = b/ƯCLN(a,b);
Viết ch ơng trình con thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong ch ơng trình chính
Trang 6Program tgps;
Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer;
Begin While a<> b do
if a>b then a := a-b else b:=b-a;
UCLN := a;
end;
BEGIN
Write(‘ Nhap vao tu so vµ mau so:’); readln(tu,mau);
C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);
Writeln(‘ Phan so toi gian = ’, c, ‘ / ’, d);
Readln;
END.
Write(‘Nhap vao tu so va mau so:’);
C := 6 div UCLN(6,10) d := 10 div UCLN(6,10);
Writeln(‘ Phan so toi gian = ’, 3, ‘ / ’, 5);
Readln;
END.
BEGIN
Readln(tu,mau);
USCLN=2;
USCLN=2;
Nhap vao tu so va mau so: 6 10 Phan so toi gian= 3/5
Trang 7• Các CTC th ờng đ ợc đặt sau phần khai báo của
ch ơng trình chính
• CTC chỉ đ ợc thực hiện khi có lời gọi nó.
• Lợi ích của việc sử dụng ch ơng trình con:
Hỗ trợ việc thực hiện
các ch ơng trình lớn.
Tránh đ ợc việc phải
viết lặp đi lặp lại cùng một dãy lệnh nào
đó.
Thuận tiện cho việc
phát triển và nâng
Trang 8H·y nhí!
Ch ¬ng tr×nh con lµ mét
d·y lÖnh gi¶i quyÕt mét bµi to¸n con cô thÓ.
CÊu tróc ch ¬ng tr×nh
gåm:
Ph©n lo¹i ch ¬ng tr×nh con:
+ Hµm + Thñ tôc
<PhÇn khai
b¸o>
< PhÇn th©n>