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à
Trang 1CHƯƠNG TRÌNH CON VÀ LẬP
TRÌNH CÓ CẤU TRÚC
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
Trang 2mộ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
Trang 3Bà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 = 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 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
Trang 4- 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
Trang 5Thự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
Trang 6D 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ộ
Trang 7Bà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
Trang 8sử dụng thủ tục
Hoạt động 2 : Tìm hiểu chương trình
GV : Chiếu chương trình bằng máy chiếu Project sau
đó giới thiệu sau đó cho học sinh từng câu lệnh một
để học sinh thấy được :
+ Tên thủ tục
+ Thân của thủ tục
+ Lời gọi thủ tục
+ Hoạt động của chương trình
Câu hỏi 1 : Nếu ta muốn vẽ 4 hình chữ nhật thì ta
phải sửa chương trình trên như thế nào ?
Hoạt động 3 : Cấu trúc của thủ tục :
GV : Chiếu lên màn hình cấu trúc của thủ tục
Câu hỏi 2 : Chương trình con Ve_hcn ở trên khuyết
phần nào so với cấu trúc của thủ tục nói chung ?
GV : Tổng quát lại các phần của thủ tục, phần nào
nhất thiết phải có, phần nào có thể có hoặc không
có
Chú ý : Giáo viên cần nhấn mạnh một số điểm để
học sinh nắm được :
+ Kết thúc thủ tục sau từ khóa End là dấu “;”
+ Thủ tục phải được khai báo trong phần khai báo
của chương trình chính
Hoạt động 4 : Ví dụ 1 (Vẽ hình chữ nhật có sử
dụng tham số)
Hoạt động 4.1 : Đặt vấn đề :
GV : Đặt vấn đề như trong SGK đã trình bày để đi
đến cần phải sử dụng 2 tham số dài và rộng
Hoạt động 4.2 : Xây dựng chương trình con :
GV : Hướng dẫn học sinh chia nhỏ yêu cầu để học
sinh có thể viết các câu lệnh tương ứng :
+ Vẽ cạnh trên cùng
+ Vẽ rong-2 cạnh giữa
+ Vẽ cạnh dưới cùng
GV : Chính xác hóa thủ tục rồi chiếu toàn bộ chương
trình để học sinh theo dõi
Câu hỏi 3 : Hãy chỉ ra các lời gọi thủ tục trong
chương trình trên ?
GV : Từ các lời gọi thủ tục đó giáo viên đưa học sinh
nhận biết được tham số giá trị, đi đến khái niệm và
cách khai báo tham biến và tham trị
Hoạt động 4.2 : Ví dụ 2 (Hoán đổi)
GV : Chiếu yêu cầu của đầu bài và hướng dẫn học
sinh đi đến thuật toán hoán đổi
GV : Chiếu chương trình lên màn hình để học sinh
theo dõi
HS : Quan sát, theo dõi chương trình và
lắng nghe giáo viên giới thiệu
HS : Suy nghĩ, trả lời câu hỏi
HS : Theo dõi trên màn chiếu và ghi vào
vở
HS : Quan sát và trả lời câu hỏi
HS : Viết các câu lệnh theo sự hướng
dẫn của giáo viên
HS : Quan sát chương trình trên màn
chiếu
HS : Trả lời câu hỏi
HS : Nghe giảng và ghi khái niệm tham
trị và tham biến vào vở
HS : Theo dõi, nghiên cứu đầu bài và
tìm hiểu thuật toán hoán đổi theo sự hướng dẫn của giáo viên
Trang 9 Chạy chương trình
GV : Phải làm sao cho học sinh nhận thấy được hoạt
động của tham số biến
• Mở rộng ví dụ
GV : Yêu cầu học sinh về nhà tìm hiểu chương trình
trong SGK (trang 102) và giải thích kết quả ?
HS : Quan sát kết quả khi chạy chương
trình
IX CỦNG CỐ:
Giáo viên yêu cầu học sinh nhắc lại cấu trúc của thủ tục, tha số hình thức, tham số thực sự, biến cụa bộ, biến toàn cục, tham số giá trị, tham số biến
Trang 10Bài 18 :
VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG TRÌNH CON
(Tiết 2)
I MỤC ĐÍCH, YÊU CẦU :
Học sinh cần nắm được sự giống nhau và khác nhau giữa thủ tục và hàm
Học sinh có kỹ năng nhận biết được các thành phần trong đầu hàm Nhận biết được câu lệnh sử dụng hàm ở trong chương trình chính cùng các tham số thực sự
X 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ị bảng phụ nêu sự giống nhau và khác nhau giữa thủ tục và hàm, cách viết đầu hàm,
2 chương trình của hai ví dụ trong bài
XI NỘI DUNG :
NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO
Hoạt động 1 : Kiểm tra bài cũ :
Câu hỏi : Nêu sự khác nhau giữa tham số giá trị và
tham số biến (khi khai báo và khi thay thế bởi tham
số thực sự)
GV : Nêu câu hỏi, gọi học sinh lên bảng trả lời
GV : Gọi một học sinh khác nhận xét và bổ xung
GV : Nhận xét, cho điểm
Bài mới :
Bài 3 : Cách viết và sử dụng hàm
Hoạt động 2 : Dẫn dắt : giờ trước chúng ta đã
được học cách viết và sử dụng thủ tục, hôm nay
chúng ta cùng nghiên cứu cách viết và sử dụng hàm
Cũng như thủ tục, hàm là chương trình con Điểm
kah1c nhau giữa thủ tục và hàm là ở chỗ hàm luôn
cho một giá trị kết quả thuộc kiểu xác định và giá trị
đó được gán cho tên hàm, kiểu của hàm phải được
khai báo trong đầu của hàm Vậy cách khai báo như
thề nào chúng ta vào bài mới
Cách viết đầu hàm :
GV : Đưa ra các viết đầu hàm đã viết sẵn trên giấy
to, giải thích cho học sinh hiểu các khái niệm : tên
HS : Lên bảng trả lời
HS : Nhận xét, bổ sung
Trang 11hàm, danh sách tham số, kiểu của hàm
Function <tên hàm>([<DS tham số>]):<kiểu dữ
liệu>;
GV : Gọi một học sinh nêu sự giống nhau và khác
nhau giữa hàm và thủ tục
GV : Gọi một học sinh khác nhận xét, bổ sung rồi kết
luận (được trình bày trong bảng phụ)
=> Do hàm luôn trả về một giá trị qua tên của nó
cho nên trong thân hàm cần có lệnh gán giá trị cho
tên hàm :
<tên hàm> := <biểu thức>;
Hoạt động 3 : VD 1 : Chương trình thực hiện giản
ước một phân số trong đó có sử dụng hàm tính ước
số chung lớn nhất (USCLN) của 2 số nguyên (đã
được viết sẵn trên khổ giấy lớn)
GV : Đưa ra chương trình để học sinh theo dõi (đã
được viết sẵn trên khổ giấy lớn)
GV : Hãy kể tên các biến cục bộ, biến toàn cục, tham
số hình thức, tham số thực sự trong chương trình
trên ?
GV : Giải thích từng câu lệnh và đưa nhấn mạnh
những điểm khác với thủ tục (phần đầu hàm, câu
lệnh trả giá trị cho tên hàm, lời gọi hàm)
Hoạt động 3 : VD2 : Chương trình xác định số nhỏ
nhất trong 3 số nhập từ bàn phím, trong đó có sử
dụng hàm tìm số nhỏ nhất trong hai số
GV : Đưa ra chương trình (đã được viết sẵn trong
bảng phụ)
GV : Giải thích từng câu lệnh trong đó chú ý về
trường hợp “lời gọi hàm tham gia vào lời gọi hàm
khác và đóng vai trò là một tham số thực sự ”
HS : quan sát, nghe giảng, ghi chép
HS : Trả lời
HS : Quan sát chương trình và trả lời
câu hỏi
HS : Theo dõi vào chương trình, ghi
chép theo ý hiểu
XII CỦNG CỐ:
Giáo viên nhắc lại cấu trúc của một hàm, nhấn mạnh điểm khác biệt so với thủ tục
Cho học sinh làm một số bài tập trắc nghiệm khách quan