Bài giảng Tiết 45 - Bài 18: Ví dụ về cách viết và sử dụng chương trình con

MỤC TIÊU

1. Kiến thức:

Qua bài học, học sinh:

- Trình bày lại được cấu trúc của thủ tục.

- Phân biệt được tham số giá trị (tham trị) và tham số biến (tham biến).

- Thực hiện được lời gọi đến thủ tục trong chương trình chính.

2. Kĩ năng:

 

doc8 trang | Chia sẻ: vivian | Lượt xem: 1686 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng Tiết 45 - Bài 18: Ví dụ về cách viết và sử dụng chương trình con, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn: 21/3/2014 Ngày dạy: 26/3/2014 Tiết 45 Bài 18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON I. MỤC TIÊU 1. Kiến thức: Qua bài học, học sinh: - Trình bày lại được cấu trúc của thủ tục. - Phân biệt được tham số giá trị (tham trị) và tham số biến (tham biến). - Thực hiện được lời gọi đến thủ tục trong chương trình chính. 2. Kĩ năng: Qua bài học, học sinh: - Nhận biết được các thành phần trong phần đầu của thủ tục. - Nhận biết được hai loại tham số hình thức trong phần đầu của thủ tục. - Nhận biết được lời gọi thủ tục ở chương trình chính cùng các tham số thực sự. II. PHƯƠNG TIỆN: 1. Giáo viên: Sách giáo khoa, giáo án, máy vi tính, đèn chiếu. 2. Học sinh: Vở, sách giáo khoa. III. PHƯƠNG PHÁP: Thuyết trình, trực quan, phát vấn. IV. CÁC BƯỚC LÊN LỚP: 1. Ổn định lớp: (1’) 2. Kiểm tra bài cũ: (2’) Giáo viên treo bảng phụ có chứa nội dung yêu cầu và nội dung của chương trình lên bảng, giải thích các công việc được thực hiện trong chương trình rồi nêu các câu hỏi kiểm tra bài cũ như sau: - Chương trình trên có viết và sử dụng chương trình con. Em hãy cho biết chương trình con đó là thủ tục hay hàm? - Lệnh nào là lời gọi chương trình con? 3. Bài mới. (39’) Hoạt động 1: Tìm hiểu về cấu trúc của thủ tục. (12’) Hoạt động của Thầy và Trò Nội dung bài học Đặt vấn đề: Ở tiết trước, các em đã được học bài 17 – CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI, ta được biết chương trình con được phân làm 2 loại đó là thủ tục và hàm. Tiết học hôm nay chúng ta sẽ tìm hiểu kĩ hơn về cách viết và sử dụng thủ tục thông qua mục 1 bài 18 – VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON. GV: Ghi bảng. HS: Theo dõi, ghi bài GV: Em hãy cho biết chương trình con có cấu trúc như thế nào? HS: Nghe câu hỏi, suy nghĩ, trả lời. GV: Nhận xét, bổ sung (nếu cần). GV: Từ cấu trúc của chương trình con, GV diễn giảng để đưa ra cấu trúc của thủ tục. GV: Ghi bảng cấu trúc của thủ tục HS: Theo dõi, ghi bài GV: Dùng đèn chiếu giải thích các thành phần có trong cấu trúc của thủ tục. HS: Theo dõi. - Phần đầu của thủ tục gồm: + Procedure: là lên dành riêng (từ khóa). + : là tên do người lập trình đặt. + [()]: có thể có hoặc không (dùng để chứa dữ liệu vào/ra cho thủ tục) và được phân làm 2 loại: § Tham số biến (gọi tắt là tham biến): được khai báo sau từ khóa var. § Tham số giá trị (gọi tắt là tham trị): được khai báo mà không có từ khóa var. - []: có thể có hoặc không dùng để xác định các hằng, kiểu, biến hoặc các chương trình con khác được sử dụng trong thủ tục. - []: là các câu lệnh thực hiện các công việc của chương trình con, chúng được đặt giữa cặp tên dành riêng begin và end tạo thành thân của thủ tục. GV: Đưa ra một số câu hỏi phát vấn nhằm giải thích cho HS rõ hơn về các thành phần có trong cấu trúc của thủ tục. ? Ở thủ tục Ve_HCN của chương trình VD_ThuTuc có tham số hình thức không? Giả sử ta có phần đầu của thủ tục như sau: Procedure Nhan_Doi(var x:integer; y:integer); ? Em hãy cho biết các tham số hình thức có trong phần đầu của thủ tục trên và phân loại chúng? ? Ở thủ tục Ve_HCN của chương trình VD_ThuTuc có phần khai báo không? ? Thủ tục Ve_HCN được kết thúc bởi dấu gì? ? Thủ tục Ve_HCN được khai báo và mô tả ở đâu trong chương trình chính? ? Ở chương trình VD_ThuTuc, nếu muốn vẽ thêm một hình chữ nhật nữa (có kích thước 7 x 3), ta phải thực hiện như thế nào? Bài 18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON 1. Cách viết và sử dụng thủ tục: a. Cấu trúc của thủ tục: Thủ tục có cấu trúc như sau: Procedure [()]; [] Begin [] End; Hoạt động 2: Tìm hiểu các ví dụ về thủ tục. (27’) Hoạt động của Thầy và Trò Nội dung bài học Chuyển ý: Để vận dụng những kiến thức vừa học về cấu trúc của thủ tục, ta chuyển sang mục b - Ví dụ về thủ tục GV: Ghi bảng HS: Theo dõi, ghi bài. GV: Ở chương trình VD_ThuTuc, thủ tục Ve_HCN vẽ được hình chữ nhật có kích thước 7x3. Giả sử ta muốn thủ tục Ve_HCN vẽ được hình chữ nhật có kích thước 7x15, khi đó thủ tục Ve_HCN được sửa lại như thế nào? GV: Ghi yêu cầu của ví dụ lên bảng. HS: Theo dõi, ghi bài. GV: Để xuất ra màn hình 15 dòng, mỗi dòng 7 dấu sao, ta thực hiện như thế nào? HS: Nghe câu hỏi, suy nghĩ, trả lời. GV: Nhận xét và chốt lại: Để xuất ra màn hình 15 dòng, mỗi dòng 7 dấu sao ta cho lặp lại 15 lần, mỗi lần xuất ra màn hình 1 dòng gồm 7 dấu sao. GV: Cho HS đứng tại chỗ đọc đoạn lệnh giải quyết công việc trên. HS: Đọc đoạn lệnh giải quyết công việc trên. GV: Nhận xét, chốt lại, ghi bảng thủ tục Ve_HCN theo yêu cầu. GV: Có thể đổi công việc xuất ra màn hình 1 dòng gồm 7 dấu sao thành lặp 7 lần, mỗi lần xuất ra màn hình 1 dấu sao được không? HS: Nghe câu hỏi, suy nghĩ, trả lời. GV: Nhận xét. GV: Cho HS đứng tại chỗ đọc đoạn lệnh giải quyết công việc trên. HS: Đọc đoạn lệnh giải quyết công việc trên. GV: Nhận xét, và sửa lại thủ tục Ve_HCN theo yêu cầu. GV: Tương tự như trên, ta sửa lại thủ tục Ve_HCN để vẽ được hình chữ nhật có kích thước bất kỳ (a x b). Từ đó yêu cầu chương trình chính vẽ một số hình chữ nhật có kích thước khác nhau. GV: Ghi yêu cầu của ví dụ lên bảng. HS: Theo dõi ghi bảng. GV: Để sửa được thủ tục Ve_HCN theo yêu cầu mới ta thực hiện như thế nào? HS: Nghe câu hỏi, suy nghĩ, trả lời. GV: Dự kiến HS trả lời: Thay a vào số 7 của vòng lặp thứ hai và b vào số 15 ở vòng lặp thứ nhất. GV: Diễn giảng Vì 2 biến a và b là 2 biến chứa dữ liệu vào (kích thước hình chữ nhật cần vẽ), mà ta được biết danh sách tham số hình thức ở phần đầu của thủ tục dùng để chứa dữ liệu vào/ra cho thủ tục. Vì vậy ta có thể chuyển 2 biến a và b vào danh sách tham số hình thức ở phần đầu của thủ tục Ve_HCN. Khi đó phần đầu của thủ tục Ve_HCN được viết lại như sau: Procedure Ve_HCN(a,b: byte); GV: Ghi thủ tục vẽ hình chữ nhật mới lên bảng, sau đó hướng dẫn HS hoàn thiện chương trình theo một số yêu cầu mới. HS: Theo dõ, ghi bài GV: Em hãy cho biết: Ở chương trình trên, những biến nào là biến toàn bộ, những biến nào là biến cục bộ? HS: Nghe câu hỏi, suy nghĩ, trả lời. GV: Nhận xét, bổ sung (nếu cần) GV: Ở phần đầu của thủ tục Ve_HCN, 2 tham số hình thức a , b là tham trị hay tham biến? HS: Nghe câu hỏi, suy nghĩ, trả lời. GV: Nhận xét, bổ sung (nếu cần) GV: Giải thích - Ở lệnh gọi Ve_HCN(10,5); tham số a được thay bởi số nguyên 10, tham số b được thay bởi số nguyên 5. - Tương tự GV giải thích các truyền dữ liệu trong 2 lệnh gọi thủ tục Ve_HCN Ve_HCN(x,y); Ve_HCN(x*2,y*2); Chuyển ý: Ta đã biết tham số hình thức được phân làm 2 loại đó là tham trị và tham biến. Và ta cũng đã biết cách khai báo cũng như cách làm việc của tham trị. Vậy cách khai báo và làm việc của tham biến là như thế nào? Chúng ta xét ví dụ sau: GV: Giáo viên treo bảng phụ có chứa nội dung chương trình của Ví dụ 3. HS: Chú ý, ghi bảng GV: Giải thích công dụng của các câu lệnh trong chương trình. HS: Theo dõi. GV: Cho chương trình chạy từng bước 1, vừa chạy vừa giải thích và phát vấn học sinh. HS: Theo dõi hoạt động của chương trình và trả lời các câu hỏi của giáo viên. GV: Có thể thay đổi lấy biến y làm tham biến, biến x làm tham trị hoặc cả 2 đều làm tham biến để học sinh thấy rõ cách làm việc giống và khác nhau của tham biến và tham trị. - HS: Tập trung theo dõi. b. Ví dụ về thủ tục: Ví dụ 1: Sửa lại thủ tục Ve_HCN ở chương trình VD_ThuTuc để vẽ được hình chữ nhật có kích trước 7x15. Procedure Ve_HCN; Var i: byte; Begin For i:=1 to 15 do Writeln(‘*******’); End; Procedure Ve_HCN; Var i,j: byte; Begin For i:=1 to 15 do Begin For j:=1 to 7 do Write('*'); Writeln; End; End; Ví dụ 2: Sửa lại chương trình VD_ThuTuc để vẽ được một số hình chữ nhật có kích thước khác nhau. Program VD_ThuTuc; uses crt; var x,y: byte; procedure Ve_HCN(a, b: byte); var i,j: byte; begin for i:=1 to b do begin for j:=1 to a do write('*'); writeln end; end; Begin clrscr; Ve_HCN(10,5); writeln; writeln; x:=15; y:=8; Ve_HCN(x,y); Readln; Ve_HCN(x*2,y*2); readln; End. Ví dụ 3: Cho chương trình như sau: Program Tham_Bien; Uses crt; Var a,b: integer; Procedure Nhan_Doi(var x:integer; y:integer); Begin writeln('So thu nhat: ',x,' So thu hai: ',y); readln; X:=x*2; Y:=y*2; Writeln('So thu nhat: ', x, ' So thu hai: ', y); Readln; End; Begin clrscr; A:=2; b:=4; Nhan_Doi(a,b); Writeln('So thu nhat: ',a, ' So thu hai: ', b); Readln; End. V. CỦNG CỐ VÀ DẶN DÒ: 1. Củng cố: (2’) Giáo viên hệ thống hóa lại nội dung bài học. 2. Dặn dò: (1’) Học sinh về nhà học bài cũ và xem trước mục 2. Cách viết và sử dụng hàm. VI. BỔ SUNG, RÚT KINH NGHIỆM: . . .

File đính kèm:

  • docTHI GVDG BAI 18 BAI TAP VA THUC HANH TONG HOP.doc