Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp
Tuần: 12 Tiết: 12
---------------------------------------------------------------------------------------------------------------------------
Ngày soạn: 18/11/2007
Ngày dạy:..................................................................................................................................
Lớp: ..........................................................................................................................................
Chương III: Cấu trúc rẽ nhánh và lặp
§10. Cấu trúc lặp
I. Mục đích, yêu cầu:
1. Kiến thức:
Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
Hiểu cấu trúc lặp với số lần biết trước;
Viết được thuật toán của một số bài toán đơn giản.
2. Kỹ năng
Biết diễn đạt đúng câu lệnh lặp với số lần lặp biết trước;
Bước đầu có khả năng phân tích bài toán đơn giản để áp dụng cấu trúc lặp;
Biết tạo câu lệnh ghép khi cần thiết.
3. Thái độ:
Tiếp tục tạo sự ham muốn giải các bài tập bằng lập trình trên máy tính;
Rèn luyện phẩm chất cần thiết của người lập trình như: xem xét giải quyết vấn đề
một cách cẩn thận, chu đáo, có sáng tạo, không thỏa mãn kết quả ban đầu đạt được.
II. Phương pháp - phương tiện dạy học:
Thuyết trình, nêu câu hỏi, gợi mở, tóm tắt và ghi ý chính;
Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal;
Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi.
III. NộI dung dạy – học:
Nội dung bài giảng Hoạt động của thầy Hoạt động của trò
Ổn định lớp;
Ghi sổ đầu bài.
Chào thầy.
Cán bộ lớp báo sĩ số.
1. Lặp
Trong một số thuật toán, có
những thao tác phải thực hiện lặp
đi lặp lại một số lần.
Cấu trúc lặp mô tả thao tác lặp
và phân biệt 2 loại: lặp với số lần
biết trước và lặp với số lần chưa
biết trước.
Mọi ngôn ngữ lập trình đều có
các câu lệnh để mô tả cấu trúc
lặp.
Ghi tên bài.
Yêu cầu HS đọc sách và nêu sự
khác biệt giữa 2 bài toán.
Nhận xét câu trả lời của HS, chốt
lại ý chính.
Mở sách giáo khoa,
vở ghi, ghi bài.
Lắng nghe, đọc sách,
trả lời.
Lắng nghe, quan sát,
ghi bài.
2. Lặp với số lần biết trước và
câu lệnh for - do
Bài toán: Tính tổng
100
1
...
3
1
2
1
1
++++=
S
Để mô tả cấu trúc lặp với số
lần biết trước, Pascal dùng câu
lệnh lặp for – do với 2 dạng:
Nêu bài toán đặt vấn đề.
Phân tích bài toán:
Khởi tạo giá trị cho S = 1; sau đó
với i nhận giá trị lần lượt tăng từ 2
đến 100 thì giá trị của S lần lượt
được tăng thêm 1/i
Lắng nghe, quan sát,
ghi bài.
Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp
Nội dung bài giảng Hoạt động của thầy Hoạt động của trò
a) Dạng tiến
for <biến đếm>:=<giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
Ví dụ:
S:= 1;
for i:=2 to 100 do S := S + 1/i;
b) Dạng lùi
for <biến đếm>:=<giá trị cuối>
downto <giá trị đầu> do <câu
lệnh>;
Ví dụ:
S:= 1;
for i:=100 downto 2 do S:=S+1/i;
Trong đó:
- biến đếm: là biến đơn có kiểu
nguyên hoặc kiểu kí tự;
- giá trị đầu, giá trị cuối: là biểu
thức cùng kiểu với biến đếm và
giá trị đầu phải nhỏ hơn hoặc
bằng giá trị cuối;
- Dạng tiến:Với biến đếm lần lượt
nhận các giá trị liên tiếp tăng từ
giá trị đầu đến giá trị cuối, thì câu
lệnh được thực hiện tuần tự.
- Dạng lùi: Với biến đếm lần lượt
nhận các giá trị liên tiếp giảm từ
giá trị cuối đến giá trị đầu, thì câu
lệnh được thực hiện tuần tự.
Chú ý: Giá trị của biến đếm được
điều chỉnh tự động, vì vậy câu
lệnh sau do không được thay đổi
giá trị của biến đếm.
Thuyết trình cấu trúc lặp, kết hợp
nêu ví dụ minh họa.
Cấu trúc lặp với số lần biết trước
dạng lùi?
Nhận xét, chốt lại ý chính.
Viết câu lệnh lặp với số lần biết
trước dạng lùi để tính tổng của
bài toán trên?
Nhận xét, chốt lại câu trả lời.
Thuyết trình, đặt câu hỏi gợi mở,
vấn đáp.
Nêu hoạt động của lệnh for – do
dạng tiến?
Nhận xét, chốt lại ý chính.
Nêu hoạt động của lệnh for – do
dạng lùi?
Nhận xét, chốt lại ý chính.
Lắng nghe, quan sát,
ghi bài.
Lắng nghe, đọc sách,
trả lời.
Lắng nghe, quan sát,
ghi bài.
Xung phong trả lời.
Lắng nghe, quan sát,
ghi bài.
Lắng nghe, quan sát,
trả lời câu hỏi; ghi bài.
Đọc sách, trả lời.
Lắng nghe, quan sát,
ghi bài.
Đọc sách, trả lời.
Lắng nghe, quan sát,
ghi bài.
IV. Củng cố:
Cấu trúc câu lệnh for – do dạng tiến? Hoạt động của nó như thế nào?
Cấu trúc câu lệnh for – do dạng lùi? Hoạt động của nó như thế nào?
V. Dặn dò:
Học kỹ nội dung bài hôm nay; xem nội dung các ví dụ áp dụng trong sgk trang 44-45;
Làm bài tập:5.a trang 51 sách giáo khoa.
VI. Rút kinh nghiệm:
.............................................................................................................................................
.............................................................................................................................................
Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp
Tuần: 13 Tiết: 13
---------------------------------------------------------------------------------------------------------------------------
Ngày soạn: 21/11/2007
Ngày dạy:..................................................................................................................................
Lớp: ..........................................................................................................................................
Chương III: Cấu trúc rẽ nhánh và lặp
§10. Cấu trúc lặp
I. Mục đích, yêu cầu:
1. Kiến thức:
Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
Hiểu cấu trúc lặp với số lần biết trước;
Viết được thuật toán của một số bài toán đơn giản.
2. Kỹ năng
Biết diễn đạt đúng câu lệnh lặp với số lần lặp biết trước;
Bước đầu có khả năng phân tích bài toán đơn giản để áp dụng cấu trúc lặp;
Biết tạo câu lệnh ghép khi cần thiết.
3. Thái độ:
Tiếp tục tạo sự ham muốn giải các bài tập bằng lập trình trên máy tính;
Rèn luyện phẩm chất cần thiết của người lập trình như: xem xét giải quyết vấn đề
một cách cẩn thận, chu đáo, có sáng tạo, không thỏa mãn kết quả ban đầu đạt được.
II. Phương pháp - phương tiện dạy học:
Thuyết trình, nêu câu hỏi, gợi mở, hoạt động nhóm, tóm tắt và ghi ý chính;
Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal;
Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi.
III. NộI dung dạy – học:
Nội dung bài giảng Hoạt động của thầy Hoạt động của trò
Ổn định lớp;
Ghi sổ đầu bài.
Chào thầy.
Cán bộ lớp báo sĩ số.
Bài cũ:
Viết cú pháp lệnh for – do dạng
tiến và dạng lùi và nêu hoạt động
của lệnh?
Nêu câu hỏi.
Gọi HS lên viết bảng trả lời.
Gọi HS nhận xét.
Nhận xét, sửa bài, cho điểm.
Lắng nghe.
Lên bảng trả lời.
Nhận xét.
2. Lặp với số lần biết trước và
câu lệnh for - do
Ví dụ 1: Chương trình tính tổng:
100
1
...
2
1
1
11
+
++
+
+
+
+=
aaaa
S
a. Áp dụng dạng For tiến:
Program Tong_1;
Uses crt;
Var S: real;
a, N: integer;
Begin
Clrscr;
Write(‘Nhap gia tri cua a: ‘);
Readln(a);
S := 1.0/a;
For N := 1 to 100 do
S := S + 1.0 / (a+N);
Nêu ví dụ 1, phân tích bài toán
dựa vào thuật toán Tong_1a trong
sách giáo khoa trang 43.
Áp dụng lệnh For tiến để viết câu
lệnh thực hiện tính tổng trên như
thế nào?
Trình bày chương trình áp dụng
dạng For tiến, kết hợp giảng và
nêu câu hỏi gợi mở để trả lời.
Cần khai báo những biến nào?
Kiểu dữ liệu của biến là gì? Vì
sao?
Lệnh thông báo nhập giá trị cho
biến a và lệnh nhập giá trị cho
biến a như thế nào?
Lắng nghe, đọc sách,
ghi bài.
Lắng nghe, quan sát,
trả lời.
Chú ý lắng nghe,
quan sát, trả lời và ghi
bài.
Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp
Nội dung bài giảng Hoạt động của thầy Hoạt động của trò
Writeln(‘Tong la: S = ‘,S:8:4);
Readln
End.
b. Áp dụng dạng For lùi:
Program Tong_2;
Uses crt;
Var S: real;
a, N: integer;
Begin
Clrscr;
Write(‘Nhap gia tri cua a: ‘);
Readln(a);
S := 1.0/a;
For N := 100 downto 1 do
S := S + 1.0 / (a+N);
Writeln(‘Tong la: S = ‘,S:8:4);
Readln
End.
Lệnh xuất kết quả ra màn hình?
Các em gấp sách vở lại, lấy giấy
nháp ra thực hiện viết chương
trình áp dụng dạng For lùi tính
tổng này.
Quan sát và hướng dẫn HS thực
hiện.
Gọi 1 HS lên viết chương trình
trên bảng.
Gọi HS nhận xét, bổ sung.
Nhận xét, sửa bài, cho điểm.
Viết chương trình tính
tổng áp dụng dạng for
lùi.
Đặt câu hỏi để được
hướng dẫn.
Viết chương trình,
quan sát.
Nhận xét, bổ sung.
Lắng nghe, quan sát,
ghi bài.
Ví dụ 2: Chương trình thực hiện
nhập từ bàn phím hai số nguyên
dương M và N (M<N), tính và đưa
ra màn hình tổng các số chia hết
cho 3 hoặc 5 trong phạm vi từ M
đến N.
Program Vi_du_2;
Uses crt;
Var M, N, i: integer;
T: longint;
Begin
Clrscr;
Writeln(‘Nhap so M < N’);
Write(‘M = ‘); Readln(M);
Write(‘N = ‘); Readln(N);
T := 0;
For i := M To N Do
If (i mod 3=0)or(i mod 5=0)
then T := T + i;
Writeln(‘Ket qua: ‘,T);
Readln
End.
Nêu ví dụ 2. Phân tích bài toán,
dẫn dắt đi đến áp dụng câu lệnh
tương ứng để viết chương trình.
Cần có một biến đếm chạy từ M
đến N, kiểm tra nếu biến đếm chia
hết cho 3 hoặc 5 thì cộng giá trị
của biến đếm vào biến tổng.
Như vậy, ta cần áp dụng những
lệnh nào để giải quyết việc này?
Gọi HS lên viết đoạn chương trình
thực hiện việc trên.
Nhận xét, sửa lại cho đúng.
Từ đó, các em hãy hoạt động
theo nhóm, suy nghĩ để viết
chương trình thực hiện bài toán
này.
Gọi đại diện mỗi nhóm 1 em lên
trình bày bài làm.
Nhận xét, chốt lại chương trình
đúng.
Lắng nghe, ghi bài.
Chú ý lắng nghe.
Trả lời câu hỏi:
Lệnh for – do và lệnh
if – then.
Xung phong lên viết
đoạn chương trình
theo yêu cầu.
Quan sát, lắng nghe.
Hoạt động nhóm, viết
chương trình sau đó
lên trình bày.
Lắng nghe, quan sát,
ghi bài.
IV. Củng cố:
Cách diễn đạt và vận dụng câu lệnh lặp for – do vào bài toán cụ thể.
V. Dặn dò:
Xem trước nội dung phần 3. của bài 10 trang 45 – 48;
Làm các bài tập 1 – 6 trang 50 – 51 sách giáo khoa.
VI. Rút kinh nghiệm:
.............................................................................................................................................
.............................................................................................................................................
Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp
Tuần: 14 Tiết: 14
---------------------------------------------------------------------------------------------------------------------------
Ngày soạn: 30/11/2007
Ngày dạy:..................................................................................................................................
Lớp: ..........................................................................................................................................
Chương III: Cấu trúc rẽ nhánh và lặp
§10. Cấu trúc lặp
I. Mục đích, yêu cầu:
1. Kiến thức:
Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
Hiểu cấu trúc lặp kiểm tra điều kiện trước;
Biết cách vận dụng đúng từng loại cấu trúc lặp vào tình huống cụ thể.
2. Kỹ năng
Biết diễn đạt đúng câu lệnh lặp kiểm tra điều kiện trước;
Bước đầu có khả năng phân tích bài toán đơn giản để áp dụng cấu trúc lặp;
Biết tạo câu lệnh ghép khi cần thiết.
3. Thái độ:
Tiếp tục tạo sự ham muốn giải các bài tập bằng lập trình trên máy tính;
Rèn luyện phẩm chất cần thiết của người lập trình như: xem xét giải quyết vấn đề
một cách cẩn thận, chu đáo, có sáng tạo, không thỏa mãn kết quả ban đầu đạt được.
II. Phương pháp – phương tiện dạy học:
Thuyết trình, nêu câu hỏi, gợi mở, tóm tắt và ghi ý chính;
Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal;
Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi.
III. NộI dung dạy – học:
Nội dung bài giảng Hoạt động của thầy Hoạt động của trò
Ổn định lớp;
Ghi sổ đầu bài.
Chào thầy.
Cán bộ lớp báo sĩ số.
Bài cũ:
Viết chương trình tính tổng:
100
1
...
2
1
1
11
+
++
+
+
+
+=
aaaa
S
Nêu câu hỏi. Gọi HS lên bảng viết
chương trình.
Nhận xét, sửa bài, cho điểm.
Lắng nghe, quan sát,
lên bảng trả lời.
3. Lặp với số lần chưa biết
trước và câu lệnh while - do
Bài toán: Tính tổng
...
1
...
2
1
1
11
+
+
++
+
+
+
+=
Naaaa
S
cho đến khi
.0001,0
1
<
+
Na
Thuật toán:
Bước 1: S←1/a; N←0;
Bước 2: Nếu 1/(a+N)<0,0001 thì
chuyển đền bước 5;
Bước 3: N←N+1;
Bước 4: S←S+1/(a+N); rồi quay
lại bước 2;
Bước 5: Xuất S ra MH rồi kết thúc.
Nêu bài toán đặt vấn đề.
Nêu thuật toán giải bài toán trên.
Như vậy, việc lặp với số lần chưa
biết trước chỉ kết thúc khi một
điều kiện cho trước nhận giá trị là
gì?
Cấu trúc lặp với số lần chưa biết
Lắng nghe, quan sát,
ghi bài.
Lắng nghe, quan sát,
ghi bài.
Trả lời: Nhận giá trị
đúng.
Lắng nghe, đọc sách,