Tải bản đầy đủ (.docx) (18 trang)

CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC

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 (201.63 KB, 18 trang )

CHƯƠNG TRÌNH CON VÀ LẬP
TRÌNH CÓ CẤU TRÚC
Bài 17 : CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
I. MỤC ĐÍCH, YÊU CẦU :
1 Kiến thức :
 Nắm được khái niệm chương trình con
 Sự khác biệt cơ bản giữa hàm và thủ tục .
 Phân biệt điểm giống và khác nhau về cấu trúc của chương trình và chương trình con .
 Biết được mối quan hệ giữa tham số hình thức và tham số thực sự .
 Biến cục bộ : Cách khai báo và phạm vi sử dụng .
2 Kỹ năng :
 Chưa đòi hỏi phải có kỹ năng cụ thể .
3 Thái độ :
 Tiếp tục rèn luyện phẩm chất của người lập trình như tinh thần hợp tác, sẵn sàng làm việc
theo nhóm .
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN :
 Phương pháp gợi mở nêu vấn đề, phương pháp hỏi – đáp, phương pháp thuyết trình .
 Máy chiếu Over head, giấy trong .
III.NỘI DUNG :
NỘI DUNG – HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Hoạt động 1 : Khái niệm chương trình con :
Hoạt động 1.1 : Đặt vấn đề :
GV : Đưa ra bài toán tính tổng 4 lũy thừa trong SGK.
GV : Chiếu bằng máy chiếu Over head chương trình
của bài toán trên (chưa sử dụng chương trình con) .
Câu hỏi 1 : Trong chương trình trên có những khối
lệnh nào được viết tương tự nhau .
GV : Dẫn dắt để học sinh hình thành tư duy về lập
trình có cấu trúc và đi đến khái niệm chương trình
con :
Khái niệm : Chương trình con là một dãy lệnh mô tả


HS : Nêu thuật toán của bài toán đó .
HS : Quan sát chương trình và trả lời
câu hỏi .
Giáo án Lý Thuyết TIN HỌC 11
một số thao tác nhất định và có thể được thực hiện
từ nhiều vị trí trong chương trình .
Hoạt động 2 : Phân loại và cấu trúc của chương
trình con :
Hoạt động 2.1 : Phân loại :
GV : Đưa ra một số hàm và một số thủ tục chuẩn đã
học rồi giúp học sinh nhận thấy được sự khác biệt lớn
nhất giữa hàm và thủ tục => phân loại chương trình
con .
 Hà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 đó nhưng không trả
về một giá trị nào qua tên của nó .
Hoạt động 2.2 : Cấu trúc chương trình con:
Câu hỏi 2 : Trình bày cấu trúc của một chương trình.
GV : Dùng máy Over head để chiếu cấu trúc của
chương trình con lên màn chiếu .
Câu hỏi 3 : Cấu trúc của chương trình con có gì
giống và khác cấu trúc của một chương trình ?
GV : Chính xác hóa kiến thức .
Hoạt động 2.3 : Tham số hình thức, biến cục bộ
và biến toàn cục :
GV : Chỉ đưa ra cho học sinh biết được tham số hình
thức là gì ? Nó đóng vai trò gì ? Biến cục bộ và biến

toàn cục là gì, được khai báo ở đâu, phạm vi hoạt
động của nó chứ không đi sâu để giải thích cặn kẽ
cho học sinh .
Hoạt động 2.4 : Thực hiện chương trình con
GV : Giải thích để học sinh thấy được chương trình
con chỉ có thể thực hiện khi có lời gọi nó, đồng thời
cũng chỉ ra tham số thực sự là gì ? Có thể lấy VD về
lời gọi hàm chuẩn hoặc thủ tục chuẩn để minh họa .
HS : Ghi khái niệm vào vở .
HS : Dựa vào gợi ý của thầy giáo, tư
duy để nhận thấy được hàm chuẩn thì
trả về một giá trị nào đó, còn thủ tục
chuẩn thì không trả về một giá trị nào
cả qua tên của nó .
HS : Ghi khái niệm hàm và thủ tục vào
vở .
HS : Trả lời câu hỏi .
HS : Suy nghĩ và trả lời câu hỏi .
HS : Chú ý nghe giảng .
IV.CỦNG CỐ:
 Giáo viên khái quát lại khái niệm chương trình con và nhấn mạnh cho học sinh về ý thức xây
dựng chương trình có cấu trúc .
Giáo án Lý Thuyết TIN HỌC 11
Bà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 .
V. PHƯƠNG PHÁP, PHƯƠNG TIỆN :
 Máy chiếu Projestor .
 Một số bài về chương trình con : Tinh_tong, Tinh_tong2 (có sử dụng chương trình con ) .
VI. 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 vấ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 = a
n
+ b
m
+ c
p
+ d

q
- 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 toá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 .
Giáo án Lý Thuyết TIN HỌC 11
- 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 .
- 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)
+ 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) .

Hà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
Giáo án Lý Thuyết TIN HỌC 11
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
chươ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 .
- 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 .
+ 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 đó .
- Một số HS nhận xét về câu trả lời của bạn .
- Nghe giảng .
Giáo án Lý Thuyết TIN HỌC 11
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ộ .
Giáo án Lý Thuyết TIN HỌC 11
Bài 18 :
VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG TRÌNH CON
I. MỤC ĐÍCH, YÊU CẦU :
1 Kiến thức :
 Học sinh biết được cấu trúc của một thủ tục .
 Hiểu được mối liên hệ giữa chương trình và thủ tục .
 Phân biệt được tham trị và tham biến .
 Phân biệt được tham số hình thức và tham số thực sự .
 Phân biệt được biến cục bộ và biến toàn cục .
3 Kỹ năng :
 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ố trong phần đầu của thủ tục .
 Nhận biết được lời gọi của thủ tục ở chương trình chính cùng với tham số thực sự .
4 Thái độ :
 Tiếp tục rèn luyện phẩm chất của người lập trình như tinh thần hợp tác, sẵn sàng làm việc
theo nhóm .
VII. PHƯƠNG PHÁP, PHƯƠNG TIỆN :
 Giáo viên thuyết trình, đặt câu hỏi cho Học sinh, Học sinh nghe giảng, trả lời câu hỏi của giáo
viên, làm các bài tập .
 Chuẩn bị máy chiếu Project và đánh sẵn các chương trình của VD1 và VD2 .
VIII. TiẾN TRÌNH LỚP HỌC
1. Ổn định lớp :
2. Kiểm tra bài cũ :
+ Câu hỏi 1 : Chương trình con có những loại nào ? Cấu trúc của một chương
trình con ?
+ Câu hỏi 2 : Viết chương trình vẽ lên màn hình Hình chữ nhật có dạng :
********

* *
********
3 . Bài mới :
NỘI DUNG – HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Hoạt động 1 : Đặt vấn đề :
GV : Ta thấy chương trình trên bảng mới vẽ được 1
hình chữ nhật, nếu muốn vẽ 3 hình chữ nhật thì 3
câu lệnh Writeln ở trên phải lặp đi lặp lại 3 lần
 chương trình sẽ trở nên rất dài
 Để khắc phục nhược điểm này ta nên
HS : Chú ý nghe giảng .
Giáo án Lý Thuyết TIN HỌC 11

×