Bài 17 Chương trình con và phân loại ( GA thao giảng)

15 1.7K 20
Bài 17 Chương trình con và phân loại ( GA thao giảng)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Kiểm tra bài cũ: Viết chương trình tính tổng: T=a m +b n +c p với a,b,c là số thực, m,n,p là các số nguyên dương. Program Program tinhtong; tinhtong; Var Var T,T1,T2,T3 :Real; T,T1,T2,T3 :Real; a,b,c : real; a,b,c : real; m,n,p : Integer; m,n,p : Integer; Begin Begin Write(‘nhap du lieua,b,c,m,n,p’); Write(‘nhap du lieua,b,c,m,n,p’); Readln(a,b,c,m,n,p); Readln(a,b,c,m,n,p); T1:=1.0; T1:=1.0; For i:=1 To m Do For i:=1 To m Do T1:=T1* a; T1:=T1* a; T2:=1.0; T2:=1.0; For i:=1 To n Do For i:=1 To n Do T2:=T2* b ; T2:=T2* b ; T3:=1.0 T3:=1.0 For i:=1 To p Do For i:=1 To p Do T3:=T3* c ; T3:=T3* c ; T:=T1+T2+T3; T:=T1+T2+T3; Readln; Readln; End. End. a m b n c p Ví dụ đặt vấn đề: Ví dụ đặt vấn đề: Vd1: Vd1: Cho hàm số F(x)= 5X Cho hàm số F(x)= 5X 2 2 + 3X + 3X + 1 + 1 Tính: A= F(2) +F(F(1)) Tính: A= F(2) +F(F(1)) Vd2: D : = SQRT(sqr(b) - 4*a*c); Program Program tinhtong; tinhtong; Var Var T,a, b,c:Real; T,a, b,c:Real; m,n,p : Integer m,n,p : Integer Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; BEGIN BEGIN Write(‘nhap du lieu a,b,c,m,n,p); Write(‘nhap du lieu a,b,c,m,n,p); Readln(a,b,c,m,n,p); Readln(a,b,c,m,n,p); Luythua( a, m) Luythua( a, m) Luythua( b, n) Luythua( b, n) Luythua( c, p ) ; Luythua( c, p ) ; + + T:= T:= Nhap du lieu a,b,c,m,n,p a = 2 ; m = 2 b = 3; n = 3 c = 4 ; p = 4 Luythua( Luythua( 2 2 , , 3 3 ) ) 4 Luythua( Luythua( 3 3 , , 3 3 ) ) Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; 27 Luythua( Luythua( 4 4 , , 4 4 ) ; ) ; 64 Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; T=95 Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; END. Chương trình trên viết theo kiểu chương trình con 1.Kh 1.Kh ái niệm chương trình con: ái niệm chương trình con: Chương trình con là một dãy lệnh mô tả một Chương trình con là một dãy lệnh mô tả một số thao tác nhất định có thể được thực số thao tác nhất định có thể được thực hiện(được gọi) từ nhiều vị trí trong hiện(được gọi) từ nhiều vị trí trong chương trình. chương trình. • Tránh đượ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 chương trình lớn: • Phục vụ cho quá trình trừu tượng hoá: • 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: • Lợi ích của việc sử dụng chương trình con: Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh: Program Program tinhtong; tinhtong; Var Var T,T1,T2,T3 :Real; T,T1,T2,T3 :Real; a,b,c : real; a,b,c : real; m,n,p : Integer; m,n,p : Integer; Begin Begin Write(‘nhap du lieua,b,c,m,n,p’); Write(‘nhap du lieua,b,c,m,n,p’); Readln(a,b,c,m,n,p); Readln(a,b,c,m,n,p); T1:=1.0; T1:=1.0; For i:=1 To m Do For i:=1 To m Do T1:=T1* a; T1:=T1* a; T2:=1.0; T2:=1.0; For i:=1 To n Do For i:=1 To n Do T2:=T2* b ; T2:=T2* b ; T3:=1.0 T3:=1.0 For i:=1 To p Do For i:=1 To p Do T3:=T3* c ; T3:=T3* c ; T:=T1+T2+T3; T:=T1+T2+T3; Readln; Readln; End. End. Nhóm lệnh lặp lại nhiều lần Để 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 V i ệ c A Vi c Bệ • Hỗ trợ việc thực hiện các chương trình lớn: Ví dụ: Dây chuyền may công nghiệp: Để may một chiếc áo được nhiều người thợ may mới hoàn thành, mỗi thợ chỉ may một bộ phận như cổ áo, thân áo sau đó gộp lại thành một chiếc áo hoàn chỉnh. Hỏi: Hãy cho biết một một chiếc áo theo kiểu công nghiệp như trên so với may truyền thống có những lợi ích gì? [...]... GptB2(a,b,c); Đóng gói thủ tục giải PT bậc 2 như một câu lệnh để người sử dụng dùng một cách thuận tiện dễ dàng • Thuận tiện cho phát triển, nâng cấp chương trình: Chương trình được tạo thành từ các chương trình con nên dễ đọc, dễ hiểu, dễ kiểm tra hiệu chỉnh • Bài tập: Viết chương trình tối giản phân số Vd: 4/6= 2/3 ... BEGIN Write(‘nhap du lieu a,b,c,m,n,p); Readln(a,b,c,m,n,p); T:= Luythua( a,,m) + Luythua( 3, 3) + Luythua( 4, 4 ) ; Luythua( 2 3) b, n) c, p END • Mở rộng khả năng ngôn ngữ: Các NN lập trình thường cung cấp phương thức đóng gói các chương trình con nhằm cung cấp một câu lệnh mới Cho người lập trình sử dụng mà không cần biết mã nguồn của nó như thế nào Vd: GptB2(a,b,c); Đóng gói thủ tục giải PT bậc 2 như... cho quá trình trừu tượng hoá: Ví dụ: Sqr(4)=16 Delete(St, vt, n); Các hàm thủ tục trên đã dùng nhưng chúng ta không quan tâm trong các thủ tục hàm này việc tính toán là như thế nào? • Phục vụ cho quá trình trừu tượng hoá: Program tinhtong; Var T,T1,T2,T3 :Real; a,b,c : real; m,n,p : Integer Nhap du lieu a,b,c,m,n,p Luythua X 4 K 64 27 a= b= c= 2 ; m= 2 3; n = 3 4; p= 4 T=95 BEGIN Write(‘nhap du . End; End; END. Chương trình trên viết theo kiểu chương trình con 1.Kh 1.Kh ái niệm chương trình con: ái niệm chương trình con: Chương trình con là một dãy. chương trình: Chương trình được tạo thành từ các chương trình con nên dễ đọc, dễ hiểu, dễ kiểm tra và hiệu chỉnh. • Bài tập: Viết chương trình tối giản phân

Ngày đăng: 22/07/2013, 01:26

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan