Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (70.22 KB, 5 trang )
<span class='text_page_counter'>(1)</span>Đơ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: 1. Kiến thức: Bieát caáu truùc moät thuû tuïc haøm Biết mối liên quan giữa chương trình và thủ tục, hàm Bieát goïi thuû tuïc, haøm 2. Kó naêng: Nhận biết được các thành phần trong phần đầu của thủ tục, hàm Viềt được thủ tục và hàm đơn giản. B. Chuaån bò giaùo vieân vaø hoc sinh: 1. Giaùo vieân: Giaùo aùn 2. Học sinh: Chuẩn bị bài trước C. Phaân tieát: D. Tieán trình baøi daïy: 1. Ñieåm danh: 2. Kieåm tra baøi cuõ: GV: Trình baøy caáu truùc vaø taïi sao phaûi duøng chöông trình con. HS: Trả lời câu hỏi GV: Nhận xét, đánh giá và cho điểm. 3. Bài mới: Noäi dung Hoạt đông của giáo viên và học sinh 1. 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 ra 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 từng 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;. 1 Lop11.com.
<span class='text_page_counter'>(2)</span> 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 do write(‘*’); writeln; for j:=1 to chrong-2 do write(‘ ‘); writeln(‘*’); End; for i:=1 to chdai do write(‘*’); writeln; Begin clrscr; Ve_Hcn(25,10); writeln; writeln; Ve_Hcn(5,10); Readln; clrscr; a:=4; b:=2; for i:=1 to 4 do 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 những phần nào? HS: Trả lời. GV: Nhaän xeùt.. GV: Caùc em sang thuû tuïc 2 Xeù thuû tuïc coù tham soá. GV: Em nhận xét giữa thủ tục 1 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 từng 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 của từng loại biến.. GV: Caàn noùi roõ veà tham soá trong thuû tuïc 2 laø tham soá trò vaø giaûi thich. Ngoài ra 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 về tham số biến.. 2 Lop11.com.
<span class='text_page_counter'>(3)</span> 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. 2. Cách viết và sử dụng hàm: Hàm có cấu trúc tương tự như thủ tục. Tuy nhiên có khác nhau 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 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à giải thích từng câu leänh. Cho keát quûa: 5 10 5 5. GV: Từ các ví dụ trên ta thấy được sự khác biệt khi sử dụng tham biến vaø tham trò.. GV: Khi viết chương trình con 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 2. 3. Lop11.com.
<span class='text_page_counter'>(4)</span> Khác với thủ tục trong 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 < > 0 do 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 3 so’); Readln(a,b,c); writeln(‘So nho nhat trong 3 so la:’,Min(Min(a,b),c);. GV: Chạy tay và giải thich từng câu leânh.. GV: Chạy tay và giải thích từng câu leänh.. 4 Lop11.com.
<span class='text_page_counter'>(5)</span> readln End.. 4. Cuûng coá: Cách dùng thủ tục và hàm và sự khác nhau giữa thủ tục và hàm Sự khác nhau giữa tham biến và tham trị. Cách dùng hai tham số này Phạm vi tác động của biến toàn cục và biến cục bộ. 5. Daën doø: Chuẩn bị bài tập và thực hành 6 trang 103-104 Chuẩn bị bài tập và thực hành 7 từ trang 105 đến 108.. 5 Lop11.com.
<span class='text_page_counter'>(6)</span>