MỤC ĐÍCH, YÊU CẦU : Học sinh cần biết : Chương trình con CTC thực chất là một khối lệnh tập hợp các lệnh nhằm giải quyết một bài toán con để góp phần giải quyết một bài toán lớn hơn
Trang 1Bài 17 : CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Giáo án thứ 2, sử dụng máy chiếu Projestor)
I MỤC ĐÍCH, YÊU CẦU :
Học sinh cần biết :
Chương trình con (CTC) thực chất là một khối lệnh (tập hợp các lệnh)
nhằm giải quyết một bài toán con để góp phần giải quyết một bài toán lớn hơn bằng một chương trình
Khi viết những chương trình dài, phức tạp, việc sử dụng chương trình con
là hết sức cần thiết
Sự khác nhau cơ bản giữa hai loại chương trình con thường gặp trong các
ngôn ngữ lập trình
Sự giống và khác nhau về cấu trúc giữa chương trình và chương trình con
Mối quan hệ giữa tham số hình thức và tham số thực sự với chương trình
con và lời gọi chương trình con
Ý nghĩa của biến cục bộ được khai báo trong một chương trình con
II PHƯƠNG PHÁP, PHƯƠNG TIỆN :
Máy chiếu Projestor
Trang 2 Một số bài về chương trình con : Tinh_tong, Tinh_tong2 (có sử dụng
chương trình con )
III NỘI DUNG TIẾT DẠY :
A Tổ chức lớp : Ổn định và kiểm tra sĩ số
B Kiểm tra bài cũ : không kiểm tra
C Tiến trình tiết dạy :
NỘI DUNG – HOẠT ĐỘNG CỦA GIÁO
VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
ĐVĐ : Các chương trình giải các bài toán phức
tạp thường rất dài, có thể gồm rất nhiều lệnh
Khi đọc những chương trình dài, rất khó nhận
biết được chương trình thực hiện các công việc
gì và hiệu chỉnh chương trình cũng khó khăn
Vậy phải cấu tạo chương trình như thế nào để
cho chương trình dễ đọc, dễ hiệu chỉnh nâng
cấp Trong chương này ta sẽ nghiên cứu một
- Nghe giảng
Trang 3vấn đề mới đó là CTC Vậy CTC là gì ? Cách
viết, cách sử dụng chúng như thế nào ?
- Ghi đầu bài và phấn 1
1 Khái niệm chương trình con
Xét bài toán tính tổng 4 lũy thừa: trình chiếu
slide 1
Tluythua = an + bm + cp + dq
- Chốt lại : có thể giao cho 4 người, mỗi người
thực hiện một bài
- Trình chiếu slide 2 : Phân tích với mỗi bài
toán phức tạp ta có thể chia thành các bài
- Thảo luận theo nhóm (4 HS / 1nhóm – 2 bàn liền nhau) trong thời gian 3 phút và 1 em trình bày cách làm của nhóm mình
- Các nhóm khác nhận xét
- Nghe giảng
Trang 4toán con Mỗi bài toán con có thể chia thành
các bài toán con nhỏ hơn Đây là cách thiết
kế từ trên xuống
- Trình chiếu slide 3 : Phân tích, để giải các
bài toán trên máy tính có thể phân chia
chương trình thành các khối (Module), mỗi
khối bao gồm các lệnh giải một bài toán con
nào đó Chương trình chính sẽ được xây
dựng từ các CTC này
+ Chương trình con là gì ?
- Nhấn mạnh khái niệm CTC và ghi bảng ?
Ví dụ : (Trình chiếu slide 4)
- Hãy nêu nhận xét về đoạn chương trình bôi
đen
+ Một HS đọc trước lớp
+ Một HS khác phát biểu lại, các học sinh tự ghi vào vở
- Đọc cá nhân đoạn chương trình (đặc biệt phần đổi màu) trong 5 phút và nêu nhận xét về đoạn chương trình đó
Trang 5- Nhấn mạnh trong đoạn này có 4 đoạn lệnh
tương tự nhau dẫn đến chương trình dài và
khó theo dõi
- Để xử lý vấn đề này các ngôn ngữ lập trình
bậc cao cung cấp khả năng xây dựng các
CTC dạng tổng quát “ đại diện ” cho nhiều
đoạn lệnh tương tự nhau
- Trình chiếu slide 5 : Phân tích thay vì phải
đánh nhiều đoạn lệnh ta chỉ cần đánh 1 đoạn
và gọi CTC nhiều lần (sử dụng slide 6)
Lợi ích của việc sử dụng CTC : ghi bảng
từng lợi ích rồi lấy ví dụ phân tích (trình
chiếu slide 7)
- Một số HS nhận xét về câu trả lời của bạn
- Nghe giảng
- Nghe và tự ghi bài
Trang 6+ Tránh được việc phải viết lặp đi lặp lại một
dãy lệnh nào đó Ví dụ bài lũy thừa
+ Hỗ trợ việc thực hiện các chương trình lớn
Ví dụ quản lý điểm học sinh
+ Phục vụ cho quá trình trừu tượng hóa Ví dụ
: Khi sử dụng các hàm toán học ta không cần
xem nó được xây dựng như thế nào
+ Mở rộng khả năng ngôn ngữ Ví dụ : Trong
bài toán lũy thừa ta xây dựng thêm CTC lũy
thừa
+ Thuận tiện cho phát triển, nâng cấp chương
trình
2 Phân loại và cấu trúc của chương trình
con
a> Phân loại
- Nhận xét và ghi bảng về hàm và thủ tục
(không ghi sự khác nhau cơ bản)
- Đọc cá nhân phần này trong 5 phút và trả lời các câu hỏi : Hàm
là gì ? Thủ tục là gì ? Sự khác nhau cơ bản giữa hàm và thủ tục
là gì ?
Trang 7Hàm
Là CTC
Thực hiện một số thao tác nào đó Trả về giá trị qua tên hàm
Thủ
tục
Là CTC
Thực hiện một số thao tác nào đó
b> Cấu trúc CTC
CTC có cấu trúc tương tự như chương trình
chính Hãy nêu cấu trúc của chương trình chính
- Ghi bảng cấu trúc chương trình chính Ghi
bản cấu trúc CTC bên cạnh
- Giảng phần khai báo, phần thân
* Tham số hình thức :
- Ghi bảng : Tham số hình thức của CTC là
các biến được khai báo cho dữ liệu vào ra
của CTC
- Biến cục bộ là các biến được khai báo trong
- Các học sinh khác nhận xét và
bổ sung câu trả lời
- Tự ghi
- Phát biểu, nhận xét
- Tự ghi
Trang 8chương trình con
- Biến toàn cục là biến được khai báo trong
chương trình chính
Ví dụ : (sử dụng slide 8) Trong chương trình
con luythua(x,k) thì x, k là tham số hình thức
và j là biến cục bộ
Chú ý : Một chương trình con thường có thể có
hoặc không có tham số hình thức, cũng như
biến cục bộ
c> Thực hiện chương trình con
* Tham số thực sự
- Nghe giảng và tự ghi bài
- Đọc cá nhân phần này trong thời gian 4 phút và trả lời các câu hỏi : Cách gọi chương trình con ? Tham số thực sự là gì ?
Trang 9- Trả lời câu hỏi và nhận xét
- Tự ghi bài
D Củng cố :
Thảo luận theo nhóm
BT1 – Thời gian 2 phút :
+ Trả lời trước lớp Các nhóm khác nhận xét, góp ý + Cho điểm
BT2 – Thời gian 6 phút :
+ Trả lời trước lớp Các nhóm khác nhận xét, góp ý + Cho điểm
E Khái quát : Trình chiếu các nội dung đã học
1 Khái niệm chương trình con và lợi ích của chương trình con
2 Phân loại : Hàm và thủ tục
3 Cấu trúc của chương trình con
4 Tham số hình thức, tham số thực sự và cách gọi CTC
5 Biến toàn cục, biến cục bộ