Bài giảng Tin học 11 Bài 17: Chương trình con và phân loại
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:
• 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á:
Trường THPT Lưu Đình ChấtBài giảngBài 17Chương trình con Bài toán:Viết chương trình tính tổng:T=am+bn+cp với a,b,c là số thực, m,n,p là các số nguyên dương.Program tinhtong;Var T,T1,T2,T3 :Real; a,b,c : real; m,n,p : Integer; Begin Write(‘nhap du lieu a,b,c,m,n,p’); Readln(a,b,c,m,n,p); T1:=1.0;For i:=1 To m Do T1:=T1* a; T2:=1.0;For i:=1 To n Do T2:=T2* b ; T3:=1.0;For i:=1 To p Do T3:=T3* c ; T:=T1+T2+T3; Readln;End.ambncpProgram tinhtong;Var T,a, b,c:Real; m,n,p : IntegerFunction Luythua(x:Real; k:Integer): Real; Var i, :Integer; Lt:Real; Begin Lt :=1.0; For i:=1 To k Do Lt:=Lt* x ; Luythua:=Lt; End;BEGIN Write(‘nhap du lieu a,b,c,m,n,p); Readln(a,b,c,m,n,p);Luythua( a, m)Luythua( b, n) Luythua( c, p ) ;++T:=Nhap du lieu a,b,c,m,n,pa =2; m =2b =3; n =3c =4; p =4Luythua( 2, 2)4Luythua( 3, 3)Function Luythua(x:Real; k:Integer): Real; Var i, :Integer; Lt:Real; Begin Lt :=1.0; For i:=1 To k Do Lt:=Lt* x ; Luythua:=Lt; End;Function Luythua(x:Real; k:Integer): Real; Var i, :Integer; Lt:Real; Begin Lt :=1.0; For i:=1 To k Do Lt:=Lt* x ; Luythua:=Lt; End;27 Luythua( 4, 4 ) ;64Function Luythua(x:Real; k:Integer): Real; Var i, :Integer; Lt:Real; Begin Lt :=1.0; For i:=1 To k Do Lt:=Lt* x ; Luythua:=Lt; End;T=287Function Luythua(x:Real; k:Integer): Real; Var i, :Integer; Lt:Real; Begin Lt :=1.0; For i:=1 To k Do Lt:=Lt* x ; Luythua:=Lt; End;END.Chương trình trên viết theo kiểu chương trình con1.Khái niệm chương trình con: Chương trình con 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.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á: 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 tinhtong;Var T,T1,T2,T3 :Real; a,b,c : real; m,n,p : Integer; Begin Write(‘nhap du lieu a,b,c,m,n,p’); Readln(a,b,c,m,n,p); T1:=1.0;For i:=1 To m Do T1:=T1* a; T2:=1.0;For i:=1 To n Do T2:=T2* b ; T3:=1.0For i:=1 To p Do T3:=T3* c ; T:=T1+T2+T3; Readln;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ưởngViệc AViệc B Hỗ trợ việc thực hiện các chương trình lớn:Ví dụ: Sqr(4)=16Delete(St, vt, n); Phục vụ cho quá trình trừu tượng hoá:Các hàm và thủ tục trên đã dùng nhưng chúng ta không quan tâm trong các thủ tục và hàm này việc tính toán là như thế nào?Program tinhtong;Var T,T1,T2,T3 :Real; a,b,c : real; m,n,p : IntegerLuythua XKBEGIN Write(‘nhap du lieu a,b,c,m,n,p); Readln(a,b,c,m,n,p);Luythua( a, m)Luythua( b, n) Luythua( c, p ) ;++T:=Nhap du lieu a,b,c,m,n,pa =2; m =2b =3; n =3c =4; p =4Luythua( 2, 2)4Luythua( 3, 3)27 Luythua( 4, 4 ) ;256T=287END. Phục vụ cho quá trình trừu tượng hoá:2. PH¢N LO¹I Vµ CÊU TRóC CñA CH¦¥NG TR×NH CONa. Ph©n lo¹iHµ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ã.VD: Hµm sqr(x): nhËn gi¸ trÞ thùc x vµ tr¶ vÒ gi¸ trÞ b×nh ph¬ng cña x.x= 3 sqr(x) = 9VD: writeln, readln, delete.2. PH¢N LO¹I Vµ CÊU TRóC CñA CH¦¥NG TR×NH CONb. CÊu tróc cña ch¬ng tr×nh con[]Trong ®ã:PhÇn ®Çu: nhÊt thiÕt ph¶i cã, dïng ®Ó khai b¸o tªn cho ch¬ng tr×nh con. PhÇn khai b¸o: cã thÓ cã hoÆc kh«ng, dïng ®Ó khai b¸o biÕn, khai b¸o h»ngPhÇn th©n: lµ d·y c©u lÖnh ®îc viÕt gi÷a cÆp begin vµ end;Tham sè h×nh thøc: lµ c¸c biÕn ®îc khai b¸o cho d÷ liÖu vµo/ra cña ch¬ng tr×nh con. C¸c tham sè h×nh thøc cha cã gi¸ trÞ cô thÓ.Tham sè h×nh thøc: x,kvar j: integer;Tich:=1.0; for j:=1 to k do Tich:=Tich*x; j lµ biÕn côc béBiÕn côc bé (biÕn ®Þa ph¬ng): lµ biÕn ®îc khai b¸o trong ch¬ng tr×nh con vµ dïng riªng trong ch¬ng tr×nh con ®ã.BiÕn toµn côc (biÕn toµn phÇn): lµ biÕn ®îc khai b¸o trong ch¬ng tr×nh chÝnh vµ dïng cho toµn bé ch¬ng tr×nh.BiÕn toµn côc: Tong,a,b,c,i,m,n,pc. Thùc hiÖn ch¬ng tr×nh conTham sè thùc sùKhi thùc hiÖn ch¬ng tr×nh con c¸c tham sè h×nh thøc ®îc thay thÕ b»ng c¸c h»ng, biÕn cã gi¸ trÞ cô thÓ, x¸c ®Þnh. C¸c h»ng vµ biÕn nµy ®îc gäi lµ tham sè thùc sù.VD: Hµm sqr(4) 4 lµ tham sè thùc sùLÖnh gäi ch¬ng tr×nh con:Tªn ch¬ng tr×nh con (c¸c tham sè thùc sù)VD: sqrt(25)H·y nhí! Ch¬ng tr×nh con 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. CÊu tróc ch¬ng tr×nh con:Ph©n lo¹i ch¬ng tr×nh con: + Hµm + Thñ tôc []Tham sè h×nh thøc, tham sè thùc sù, lêi gäi thùc hiÖn ch¬ng tr×nh con.
File đính kèm:
- Tin 11 Bai 17 Chuong trinh con rat hay.ppt