Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
733 KB
Nội dung
Bµi 17 Để viết chươngtrì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ỏ. Nhóm trưởng V i ệ c A Việc B 1. Khái niệm Chươngtrìnhcon (ctc) luythua= a n + b m + c p + d q Ta chia công việc cho người A: luythua1= a n luythua1:=1; For i:=1 to n do luythua1:=luythua1*a; Ta chia công việc cho người B: luythua2= b m luythua2:=1; For i:=1 to m do luythua2:=luythua2*b; Ta chia công việc cho người C: luythua3= c p luythua3:=1; For i:=1 to p do luythua3:=luythua3*c; Ta chia công việc cho người D: luythua4= d q luythua4:=1; For i:=1 to q do luythua4:=luythua4*d; Làm thế nào để tính giá trị cho từng lũy thừa và tổng lũy thừa? Các chươngtrình trên có gì đặc biệt? Ví dụ: Để làm bài toán quản lý học sinh gồm các công việc sau: Nhập thông tin cho từng học sinh (1) Xử lý số liệu về kết quả học tập: xếp loại, sắp xếp học sinh theo chiều giảm của điểm TB (2) In kết quả ra màn hình. (3) Các công việc này sẽ được chia ra như sau: Giao công việc (1) cho nhóm A Giao công việc (2) cho nhóm B Giao công việc (3) cho nhóm C Nhóm trưởng thu lại các chươngtrình nhỏ từ các nhóm và tổng hợp lại thành chươngtrình quản lý học sinh hoàn chỉnh. Các chươngtrình được viết bởi các nhóm nhỏ A, B, C được gọi là các chươngtrìnhcon (CTC). Chươngtrình mà nhóm trưởng viết để gọi ra các chươngtrìnhcon của các nhóm A, B, C gọi là chư ơng trình chình. Vậy: Chươngtrìnhcon là môt 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. 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 lai cùng một dãy lệnh nào đó. Hỗ trợ việc thực hiện các chươngtrình lớn. Phục vụ cho quy 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ânloạivà cấu trúc của chương trìnhconChươngtrìnhconChươngtrìnhcon Hàm (Function) Là chươngtrìnhcon 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ìnhcon 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ìnhcon 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ìnhcon 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. a) Phânloại 2. Phânloạivà Cấu trúc của chươngtrìnhcon <Phần đầu> [<Phần khai báo>] < Phần thân> <Phần đầu> [<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 Begin [<Dãy các lệnh>] End; 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) b) Cấu trúc của CTC Trả về giá trị qua tên hàm VD1: Lập chươngtrình tính tổng luỹ thừa luythua = a n +b m +c p +d q VD1: Lập chươngtrình tính tổng luỹ thừa luythua = a n +b m +c p +d q Viết chươngtrìnhcon dạng tổng quát Luythua = x k Trong đó : Luythua, x kiểu thực, k kiểu nguyên. Khi tính luỹ thừa của các số hạng trong tổng trên ta chỉ cần gọi tên chư ơng trìnhcon Luythua và thay thế (x,k) bằng các giá trị tương ứng. Ví dụ như: Luythua(a,n). luythua(b,m), luythua(c,p),luythua(d,q). * INPUT : Các cơ số a,b,c,d và các số mũ lần lượt n,m,p,q * OUTPUT : luythua [...]... dụng chươngtrình con: Hỗ trợ việc thực hiện các chươngtrì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 cấp chư ơng trình Biế toà n cụ n c Th số am h thứ ình c Mọi CTC đều có thể sử dụng biến của chươngtrình chính Th am số thứ c sự Hãy nhớ! Chươngtrìnhcon là một dãy lệnh giải quyết một bài toán con cụ thể Phân loạichương trình. .. liệu vào/ra dữ hình liệu thức Function luythua(a:real;b:integer):real; var i:integer; tich:real; b Biến cục Begin tich:=1.0; For i:=1 to b do tich:=tich*a; luythua:=tich; End; ộ Các CTC khác không thể sử dụng các biến cục bộ của một CTC, nhưng mọi CTC đều sử dụng được các biến của chươngtrình chính 4 Một số ví dụ Bài toán 1: Lập chươngtrình tối giản phân số Bài toán 1: Lập chươngtrình tối giản phân. .. chươngtrình tối giản phân số Bài toán 1: 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ương trìnhcon 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; Nhap vao tu so va mau so: Phan so toi gian= 3/5 Var tu,mau,c,d : integer; Function... ình c Mọi CTC đều có thể sử dụng biến của chươngtrình chính Th am số thứ c sự Hãy nhớ! Chương trìnhcon là một dãy lệnh giải quyết một bài toán con cụ thể Phân loạichươngtrình con: + Hàm + Thủ tục Cấu trúc chươngtrình gồm: [] [] < Phần thân> < Phần thân> ... Write( Nhap vao tu so so và mau Readln(tu,mau); Write( Nhap vao tu va mau so:); so: ); readln(tu,mau); C := 6 div UCLN(6,10); d := 10 div UCLN(6,10); C := tu div UCLN(tu,mau) ; d := mau div Writeln( Phan so toi gian = , 3, / , 5); UCLN(tu,mau); Readln; Phan so toi gian = , c, / , d); Writeln( END Readln; 6 10 Các CTC thường được đặt sau phần khai báo của chư ơng trình chính CTC chỉ được . triển, nâng cấp chương trình. 2. Phân loại và cấu trúc của 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. chương trình con (CTC). Chương trình mà nhóm trưởng viết để gọi ra các chương trình con của các nhóm A, B, C gọi là chư ơng trình chình. Vậy: Chương trình