GV: Chạy tay và giải thích từng câu leänh cho keát quaû 5 10 10 5 GV: Để thấy được rõ hơn về sự khác biệt giữa tham biến và tham trị ta xet theâm ví duï tham bieán 2... GV: Chạy tay và g[r]
(1)Đơn vị: Trường THPT NGUYỄN TRÃI Teân giaùo vieân: Nguyeãn Huyønh Nhaät Vieät Giaùo aùn: Baøi 18 – Moân tin 11 Ngày soạn: 25/7/2007 Teân baøi daïy: Baøi 18 VÍ DỤ VỀ CÁCH VIẾT VAØ SỬ DỤNG CHÖÔNG TRÌNH CON BAØI 18: VÍ DỤ VỀ CÁCH VIẾT VAØ SỬ DỤNG CHƯƠNG TRÌNH CON A Muïc tieâu baøi daïy: Kiến thức: Bieát caáu truùc moät thuû tuïc haøm Biết mối liên quan chương trình và thủ tục, hàm Bieát goïi thuû tuïc, haøm Kó naêng: Nhận biết các thành phần phần đầu thủ tục, hàm Viềt thủ tục và hàm đơn giản B Chuaån bò giaùo vieân vaø hoc sinh: Giaùo vieân: Giaùo aùn Học sinh: Chuẩn bị bài trước C Phaân tieát: D Tieán trình baøi daïy: Ñieåm danh: Kieåm tra baøi cuõ: GV: Trình baøy caáu truùc vaø taïi phaûi duøng chöông trình HS: Trả lời câu hỏi GV: Nhận xét, đánh giá và cho điểm Bài mới: Noäi dung Hoạt đông giáo viên và học sinh Cách viết và sử dụng thủ tục: GV: Caùc em nhìn vaøo chöông trình Xeùt chöông trình beân cho bieât xuaât keát quaû gì? Procedure Ve_Hcn; HS: Trả lời câu hỏi Begin GV: Nhaän xeùt Writeln(‘**********’); Writeln(‘* *’); Writeln(‘**********’); GV: Chaïy chöông trình baèng tay vaø giải thích câu lệnh và nói học End; sinh chú ý đến khai báo thủ tục và Begin goïi thuû tuïc Ve_Hcn; Writeln; Writeln; Lop11.com (2) Writeln; Writeln; Ve_Hcn; End a) Caáu truùc thuû tuïc: Procedure <teân thuû tuïc>[(<danh saùch tham soá>)]; [<phaàn khai baùo>] Begin [<daõy caùc leänh>] End; b) Thuû tuïc coù tham soá: Xeùt chöông trình Program VD_thutuc2; uses crt; var a,b,i:integer; Procedure Ve_Hcn(chdai,chrong:integer); var i,j:integer; Begin for i:=1 to chdai write(‘*’); writeln; for j:=1 to chrong-2 write(‘ ‘); writeln(‘*’); End; for i:=1 to chdai write(‘*’); writeln; Begin clrscr; Ve_Hcn(25,10); writeln; writeln; Ve_Hcn(5,10); Readln; clrscr; a:=4; b:=2; for i:=1 to begin Ve_Hcn(a,b); Readln; clrscr; a:=a*2; b:=b*2; End; Readln; End GV: Goïi moät hoïc sinh haõy nhìn vaøo chương trình và chú ý đến thủ tục và cho bieát caáu truùc cuûa thuû tuïc goàm phần nào? HS: Trả lời GV: Nhaän xeùt GV: Caùc em sang thuû tuïc Xeù thuû tuïc coù tham soá GV: Em nhận xét thủ tục và thuû tuïc 2? HS: Trả lời GV: Nhaän xeùt GV: Chaïy chöông trình baèng tay vaø giải thích câu lệnh GV: Chỉ cho học sinh biết biến toàn cuïc vaø bieán ñòa phöông vaø phaïm vi hoạt động loại biến GV: Caàn noùi roõ veà tham soá thuû tuïc laø tham soá trò vaø giaûi thich Ngoài còn có tham số biến GV: Tham số biến Pascal sử dụng từ khoá Var để khai báo Ta xét ví dụ mục c để hiểu tham số biến Lop11.com (3) c) Tham bieán: Xeùt chöông trình Program VD_thambien1; uses crt; var a,b:integer; Procedure Hoan_doi(var x,y:integer); var TG:integer; Begin TG:=x; x:=y; y:=TG; End; Begin clrscr; a:=5;b:=10; writeln(a:6,b:6); Hoan_doi(a,b); writeln(a:6,b:6); End Program VD_thambien2; uses crt; var a,b:integer; Procedure Hoan_doi(x:integer; var y:integer); var TG:integer; Begin TG:=x; x:=y; y:=TG; End; Begin clrscr; a:=5; b:=10; writeln(a:6,b:6); Hoan_doi(a,b); writeln(a:6,b:6); End Cách viết và sử dụng hàm: Hàm có cấu trúc tương tự thủ tục Tuy nhiên có khác phần đầu: Khai báo phần đầu: function <teân haøm>[(<danh saùch tham soá>)]:<kieåu dl>; GV: Chạy tay và giải thích câu leänh cho keát quaû 10 10 GV: Để thấy rõ khác biệt tham biến và tham trị ta xet theâm ví duï tham bieán GV: Chạy tay và giải thích câu leänh Cho keát quûa: 10 5 GV: Từ các ví dụ trên ta thấy khác biệt sử dụng tham biến vaø tham trò GV: Khi viết chương trình ngoài thủ tục còn có thể sử dụng hàm Để noùi roõ veà haøm vaø caùch duøng haøm caùc em sang muïc Lop11.com (4) Khác với thủ tục thân hàm cần có lệnh gán giá trị cho teân haøm: <tên hàm>:= <biểu thức>; Ví duï 1: Xeùt chöông trình: Program Rutgon_phanso; uses crt; var Tuso, Mauso,a:integer; function UCLN(x,y:integer):integer; var Sodu:integer; Begin while y < > Begin Sodu:= x mod y; x:=y; y:=Sodu; End; UCLN:=x; End; Begin clrscr; write(‘Nhap Tuso, Mauso:’); readln(Tuso,Mauso); a:=UCLN(Tuso,Mauso); if a>1 then Begin Tuso:= Tuso div a; Mauso:= Mauso div a; End; Writeln(Tuso:5, Mauso:5); End Ví duï 2: Xeùt chöông trình Program Minbaso; var a,b,c: real; function Min(a,b:real):real; Begin if a < b then Min:=a else Min:=b; End; Begin Write(‘Nhap vao so’); Readln(a,b,c); writeln(‘So nho nhat so la:’,Min(Min(a,b),c); GV: Chạy tay và giải thich câu leânh GV: Chạy tay và giải thích câu leänh Lop11.com (5) readln End Cuûng coá: Cách dùng thủ tục và hàm và khác thủ tục và hàm Sự khác tham biến và tham trị Cách dùng hai tham số này Phạm vi tác động biến toàn cục và biến cục Daën doø: Chuẩn bị bài tập và thực hành trang 103-104 Chuẩn bị bài tập và thực hành từ trang 105 đến 108 Lop11.com (6)