Để xử lý vấn đề này các ngôn ngữ lập trình bậc cao cung cấp khả năng xây dựng các chương trình con dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự nhau.. Ví dụ: tính luỹ thừa [r]
(1)(2)(3)BÀI TOÁN MỞ ĐẦU
BÀI TOÁN MỞ ĐẦU
Hãy viết chương trình nhập dữ liệu từ bàn phím, tính
(4)(5)(6)Để xử lý vấn đề ngơn ngữ lập trình bậc cao cung cấp khả xây dựng chương trình dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự nhau
Ví dụ: tính luỹ thừa Luythua = xk
Trong Luythua x giá trị kiểu thực k thuộc kiểu nguyên
Đây chương trình đặt tên
Luythua(x,k)
(7)Luythua(a,n) Luythua(b,m)
Luythua(c,p)
(8)Quan sát chương trình sau cài đặt chương trình con
(9)Để viết ch ơng trình giải tốn lớn, phức tạp ng ời lập trình chia thành nhiều tốn nhỏ, tốn dãy lệnh mơ tả số thao tác định (gọi ctc) Sau ghép nối ch ơng trình thành ch ơng trình
Nhãm tr ëng ViƯc A
ViƯc B
(10)2 Ph©n loại ch ơng trình con
Ch ơng trình
Ch ơng trình
Hàm (Function)
Là ch ơng trình thực số thao tác đó, trả giá trị qua tên nó.
Hµm (Function)
Là ch ơng trình thực số thao tác đó, trả giá trị qua tên nó.
Thủ tục (Procedure) Là ch ơng trình thực số thao tác đó, khơng trả giá trị qua tên nó.
Thủ tục (Procedure) Là ch ơng trình thực số thao tác đó, không trả giá trị qua tên nó.
TÝnh tỉng l thõa
S = an + bm + cp + dq
(11)<Phần đầu> <Phần khai báo>
< Phần thân>
<Phần đầu> <Phần khai báo>
< Phần thân>
Phn u: khai bỏo tờn chương trình con;
Phần khai báo: có thể khai báo biến cho liệu vào và ra,các biến dùng chương trình con.
Phần thân: là dãy câu lệnh thực để từ dữ liệu vào ta nhận liệu hay kết
mong muốn;
(12)3 Cấu trúc ch ơng trình con
Function <Tênhàm>[<ds tham số>) : kiểu hàm; [< Phần khai báo >]
Begin
[<DÃy 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 lệnh>] End;
Hàm (Function) Thủ tục (Procedure)
<Phần đầu> <Phần khai báo>
< Phần thân>
<Phần đầu> <Phần khai báo>
(13)4 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 => 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);
(14)Program tgps; Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer; Begin
While a<> b
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 := div UCLN(6,10) d := 10 div UCLN(6,10); Writeln( Phan so toi gian = , 3, / , 5);‘ ’ ‘ ’
Readln; BEGIN
Readln(tu,mau); USCLN=2;
USCLN=2;
(15)• Các CTC th ờng đ ợc đặt sau
phần khai báo ch ơng trình
ã CTC đ ợc thực
có lời gọi nó.
ã Lợi ích việc sử dụng
ch ơng trình con:
Hỗ trợ việc thực các ch ơng trình lớn.
Trỏnh c vic phải viết lặp lặp lại dãy lệnh đó.
(16)H·y nhí!
Ch ơng trình dÃy lệnh giả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>