MỤC ĐÍCH, YÊU CẦU CHUNG: Yêu cầu đối với học sinh sau khi học song bài này: - Hiểu được nhu cầu của cấu trúc lặp trong biểu diễn thuật toán; - Hiểu được cấu trúc lặp với số lần cho
Trang 1Giáo án Tin Học 11
Giáo án số 2
BÀI 10 CẤU TRÚC LẶP (3 tiết)
I MỤC ĐÍCH, YÊU CẦU CHUNG:
Yêu cầu đối với học sinh sau khi học song bài này:
- Hiểu được nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
- Hiểu được cấu trúc lặp với số lần cho trước, cấu trúc lặp kiểm tra điều kiện trước;
- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể;
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp;
- Viết đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước;
- Viết được thuật toán của bài toán đơn giản
II PHƯƠNG PHÁP, PHƯƠNG TIỆN:
1 Phương pháp:
- Kết hợp kiến thức trongsgk và các kiến thức trong các sách tham khảo và các tư liệu khác (nếu có) Nếu nhà trường có máy chiếu, có thể chuẩn bị các slide để trình chiếu hoặc chạy thử đoạn chương trình để cả lớp cùng theo dõi
- Hình thức giảng dậy: thuyết trình, vấn đáp và giải thích (nếu cần)
- Bài này sẽ dậy trong 3 tiết:
+ Tiết 1: gồm mục 1 và mục 2 (phần lý thuyết)
+ Tiết 2: gồm mục 2 (phần ví dụ và luyện tập)
+ Tiết 3: gồm có mục 3
2 Phương tiện:
- Sách giáo khoa tin học lớp 11
- Vở ghi lý thuyết
- Giáo án
- Sách tham khảo và các trang thiết bị tin học như máy tính, máy chiếu (nếu có)
-
Trang 2Giáo án Tin Học 11
Cấu trúc lặp (Tiết 1)
I Mục đích và yêu cầu
- Hiểu về nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
- Hiểu được cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước;
- Biết cách vận dụng đúng đắn cấu trúc lặp trước vào tình huống phù hợp;
- Viết đúng lệnh với số lần lặp biết trước;
- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng câu lệnh lặp với số lần biết trước
II Phương pháp, phương tiện
1 Phương pháp:
- Kết hợp kiến thức trongsgk và các kiến thức trong các sách tham khảo
và các tư liệu khác (nếu có) Nếu nhà trường có máy chiếu, có thể chuẩn bị các slide để trình chiếu hoặc chạy thử đoạn chương trình để cả lớp cùng theo dõi
- Hình thức giảng dậy: Kết hợp các hình thức giảng dạy thuyết trình, vấn đáp và giải thích (nếu cần)
2 Phương tiện:
- Sách giáo khoa tin học lớp 11
- Vở ghi lý thuyết
- Giáo án
- Sách tham khảo và các trang thiết bị tin học như máy tính, máy chiếu (nếu có)
III Tiến trình lên lớp và nội dung bài học
1 Ổn định lớp:(1 phút)
Yêu cầu lớp trưởng ổn định lớp và báo cáo sĩ số
2 Kiểm tra bài cũ: (5 phút)
- Nêu lại tiêu đề bài học cũ, dẫn dắt sơ qua để học sinh ổn định lại và nhớ lại kiến thức của bài học trước là : cấu trúc rẽ nhánh
Hỏi :
1 Câu lệnh rẽ nhanh nhất thiết phải có biểu thức loại gì ? (biểu thức logic)
2 Sự giống và khác nhau giữa hai câu lệnh if-then
3 Một câu lệnh rẽ nhanh chứa m lệnh if dạng đủ và lồng vào nhau Câu lệnh đó tạo ra bao nhiêu nhánh ? (m+1)
3.Gợi động cơ: (4 phút)
Thuyết trình:
Trong một số thuật toán có những thao tác phải lặp đi lặp lại nhiều lần Nếu ta phải viết đi viết lại các thao tác đó thì rõ ràng không thuân tiện rất mất thời gian và lại dễ dẫn tới nhàm chán
Trang 3Giáo án Tin Học 11
Ví dụ: Chương trình tính điểm cho một lớp học sinh thì ta phải lặp lại
nhiều lần một số thao tác: Nhập họ tên học sinh, nhập điểm các môn, tính tổng điểm cho từng môn hoặc trung bình chung
Nếu lớp có 40 hs thì ta phải viết lại 40 lần, nếu lớp có 50 hs thì ta phải viết lại 50 lần, như vậy một trường có hàng ngàn học sinh thì ta phải viết lại các tháo tác đó đến hàng nghìn lần Làm như vậy chương trình của chúng ta
sẽ rất công kênh và rất mất thời gian Vì thế ngôn ngữ lập trình đã đưa ra cấu trúc lặp, chỉ cần viết các câu lệnh thực hiện các thao tác trên một lần, sau đó sử dụng câu lệnh lặp cho chương trình tự thực hiện lặp lại các thao tác đó Bài hôm nay chúng ta tìm hiểu vể cấu trúc lặp
4 Nội dung bài giảng:
Số
thứ
tư
Nội dung Hoạt động của thầy và trò Thời
gian
1 Câu lệnh lặp với số lần
biết trước và câu lệnh
lặp với số lần chưa biết
trước:
Xét hai bài toán sau:
Với a là số nguyên và
a >= 2
Bài toán 1: Tính tổng
và đưa kết quả ra màn
hình:
Bài toán 2: tính tổng và
đưa kết quả ra màn hình
tổng:
cho đến khi :
Để tìm hiểu về cấu trúc lặp
đưa ra hai ví dụ tính tổng, phân tích ví dụ và từ đó đưa ra các dạng của cấu trúc lặp
Hỏi:
Học sinh có nhận xét gì về hai ví dụ này ?
Thuyết trình:
Nhận thấy hai ví dụ này tính tổng S với giá trị gán ban đầu là 1/a; tiếp theo cộng thêm vào tổng S một giá trị 1/a+N (N = 1, 2, 3, 4, 5 ), việc cộng này được lặp đi lặp lại một số lần
Ở VD1, số lần lặp là 100 và việc cộng vào tổng sẽ kết thúc khi đã thực hiện việc cộng 100 lần Đây là lặp với số lần biết trước
Ở VD2, số lần lặp chưa biết trước nhưng cộng vào tổng S
sẽ kết thúc khi điều kiện 1/a+N < 0.0001 được thoả mãn Đây là lặp với số lần chưa biết trước nhưng có điều kiện nào đó cho trước để dừng lặp
Hỏi:
10 phút
Trang 4Giáo án Tin Học 11
Vậy theo các em có trường
hợp lặp không thể dừng không
và trường hợp đó xảy ra khi
nào?
Trả lời:
Quá trình lặp không thể dừng gọi là quá trình lặp vô hạn Điều này xảy ra khi điều kiện dừng vòng lặp không còn
bị biến đổi giá trị sau mỗi lần lặp Khi đó để thoát vòng lặp
vô hạn cần có câu lệnh cho phép thoát ra khỏi vòng lặp như break, exit
2 Câu lệnh lặp với số lần
biết trước và câu lệnh
for-do:
Xem xét ví dụ 1, có hai
thuật toán như sau:
Thuật toán Tong_1a
Bước 1 S 1/a; N 0;
{khởi tạo s và N}
Bước 2 N N + 1;
Bước 3 Nếu N > 100 thì
chuyển đến B5;
Bước 4
S S + 1/(1 + N)
rồi quay lại B2;
Bước 5 Đưa S ra màn
hình, rồi kết thúc
Thuật toán tong_1b:
Bước 1 S 1/a; N
101;
{khởi tạo S và N}
Bước 2 N N – 1;
Bước 3 Nếu N < 1 thì
chuyển đến B5;
Bước 4
S S + 1/(a + N)
rồi quay lại B2;
Bước 5 Đưa S ra màn
Thuyết trình:
Tiết học này ta tìm hiểu vể
câu lệnh lặp với số lần cho trước Muốn vậy ta đi xây dựng thuật toán cho bài toán 1
Yêu cầu:
Giáo viên viết thuật toán tong_1a
Từ thuật toán tong_1a, gợi ý
và yêu cầu học sinh viết thuật toán tong_1b: thuật toán này tính tổng s qua 100 lần lặp với giá trị bắt đầu tham gia lặp là 1.Vậy liệu ta có thể xây dựng thuật toán lặp ngược lại có nghĩa là giá trị bắt đầu tham gia vòng lặp là 100 không ?
Nhận xét về thuật toán :
Cả hai thuật toán trên đều
là biết trước số lần lặp là 100 lần
Thuật toán tong _1a, giá trị bắt đầu tham gia vòng lặp là 1
và sau mỗi lần lặp giá trị của N tăng lên 1 cho đến khi N > 100 (N=101) thì kết thúc lặp
15 phút
Trang 5Giáo án Tin Học 11
hình rồi kết thúc
Dạng lặp tiến:
For <biến đếm>:=
<giá trị đầu > to
< giá trị cuối > do
< câu lệnh >;
Dạng lặp lùi:
For < biến đếm >:=
<giá trị cuối > downto
< giá trị đầu > do
< câu lệnh >;
Thuật toán tong_1b, giá trị ban đầu của N là 100 và sau mỗi lần lặp N giảm đi cho đến khi N < 1 (N=0) thì kết thúc lặp Ta nói cách khác là lặp trong thuật toán tong_1a là dạng tiến, trong thuật toán tong_1b là dạng lùi
Như vậy dạng lặp với số lần biết trước được dùng để thực hiện câu lệnh một số lần xác định Dạng này dùng biến điều khiền để điều khiển vòng lặp Trong NNLT Pascal mỗi lần thực hiện câu lệnh thì biến điều khiển được tự động tăng (dạng tiến) hoặc giảm (dạng lùi) Đến khi biến điều khiển đạt giá trị xác định thì dừng vòng lặp và lặp với số lần biết trước thể hiện qua câu lệnh for-do,có hai dạng:
- Dạng lặp tiến
- Dạng lặp lùi
Ta có một số chú ý sau:
Biến đếm là biến đơn, thường có kiểu nguyên
- Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm và giá trị đầu phải nhỏ hơn và bằng giá trị cuối
- Trong vòng lặp không được chứa lệnh làm thay đổi giá trị của biến điều khiển, giá trị của biến đếm sẽ tự động được điều chỉnh
- Sau khi ra khỏi vòng for giá trị của biến điều khiển là không xác định Vì vậy không thể sử dụng giá trị này vào câu lệnh tiếp theo
Hoạt động của lệnh for-do:
- Ở dạng tiến, câu lệnh viết sau từ khoá do được thực hiện
Trang 6Giáo án Tin Học 11
tuần tự, với biến đếm lần lượt nhận giá trị liên tiếp tăng từ giá trị đâu đến giá trị cuối
- Ở dạng lùi, câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm lượt lần nhận các giá trị liên tiếp giảm
từ giá tri cuối đến giá trị đầu
IV Củng cố bài học (5 phút)
Giáo viên củng cố kiến thức của bài học:
- Nhấn mạnh ý nghĩa của cấu trúc lặp
- Nhắc lại cú pháp của hai dạng lặp với số lần biết trước và một số lưu ý
về biến điếm
V Bài tập về nhà (1 phút)
- Xem lại các ví dụ trên lớp;
- Các bài tập trong sách bài tập;
- Chuẩn bị hôm sau đó là chương trình cài đặt thuật toán tong_1a và tong_1b
VI Nhận xét của giáo viên về tiết học (4 phút)
- Ý thức học tập của lớp
- Hiệu quả học tập
- Rút kinh nghiệm sau tiết học