Để 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
GIÁO VIÊN: NGUYỄN TRUNG KIÊN
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 Khái niệm ch ơng trình con
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ó.
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ó.
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ó
Trang 43 CÊu tróc cña ch ¬ng tr×nh con
<PhÇn khai b¸o>
< PhÇn th©n>
<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;
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ố
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;
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
Trang 8H·y nhí!
lÖnh gi¶i quyÕt mét bµi to¸n con cô thÓ.
+ Hµm + Thñ tôc
<PhÇn khai b¸o>
< PhÇn th©n>
<PhÇn khai b¸o>