Bµi 17 Giáo viên thực hiện: Nguyễn Tấn Phát Tuần: . 30-31. . . . . Tiết: . .40-41 . . . Ngày dạy: . . . . ./. . . ./ 2009 Tuần: . 30-31. . . . . Tiết: . .40-41 . . . Ngày dạy: . . . . ./. . . ./ 2009 CHƯƠNG VI:CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC CHƯƠNG VI:CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC Nhãm trëng V i Ö c A ViÖc B 1. Kh¸i niÖm ch¬ng tr×nh con Chương trình con là 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. 1. Khái niệm chương trình con Lợi ích của việc sử dụng chương trình con - Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh - Hỗ trợ việc thực hiện các chương trình lớn - Phục vụ cho quá trình trừu tượng hóa - 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 2. Phân loại chương trình con 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 = a n + b m + c p + d q Vẽ và đưa ra màn hình 5 hình chữ nhật có kích thư ớc khác nhau. 3. 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; Hàm (Function) Thủ tục (Procedure) Ví dụ: Lập chương trình tối giản phân số Ví dụ: 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. Program 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 d := 10 div UCLN(6,10) 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 Program 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. BiÕn a, b ®îc gäi lµ tham sè h×nh thøc BiÕn tu, mau ®îc gäi lµ tham sè thùc - Biến toàn cục là biến được khai báo ở đầu chư ơng trình chính. được sử dụng trong toàn bộ chư ơng trình - Biến cục bộ là biến được khai báo ở trong chư ơng trình con chỉ được sử dụng trong chương trình con. Khi ra khỏi chương trình con biến này không toàn tại. - Tham số hình thức là biến cục bộ được khai báo sau tên chương trình con, nhận giá trị truyền vào của tham số thực. - Tham số thực là biến toàn cục dùng để truyền giá trị cho tham số hình thức. Hã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> <Phần khai báo> < Phần thân> . Phát Tuần: . 30-31. . . . . Tiết: . .40-41 . . . Ngày dạy: . . . . ./. . . ./ 2009 Tuần: . 30-31. . . . . Tiết: . .40-41 . . . Ngày dạy: . . . . ./. . .