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ươngtrì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ươngtrình con Lợi ích của việc sử dụng chươngtrì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ươngtrì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ươngtrình 2. Phân loại chương trình con Chươngtrình con Chươngtrình con Hàm (Function) Là chươngtrì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ươngtrì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ươngtrì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ươngtrì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ươngtrì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ươngtrình tối giản phân số Ví dụ: Lập chươngtrì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ươngtrình con thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong chươngtrì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ươngtrình con. Khi ra khỏi chươngtrì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ươngtrì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ươngtrì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ươngtrình gồm: Phân loại chươngtrì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> . 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Ú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