- 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 với số lần biết trước.. Chuẩn bị của giáo viên - Giáo án, sách giáo khoa, sách giáo viên, cấu trúc của câu lệnh F
Trang 1ĐK
Đ Câu lệnh
S
Điều kiện
Đ Câu lệnh 1 Câu lệnh 2 S
Tin h c: ọ
Cấu trúc lặp
I MỤC TIÊU:
- Hiểu nhu cầu cấu trúc lặp trong biểu diễn thuật toán
- Biết được ý nghĩa của cấu trúc lặp
- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định 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 lệnh lặp với số lần biết trước
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Chuẩn bị của giáo viên
- Giáo án, sách giáo khoa, sách giáo viên, cấu trúc của câu lệnh FOR DO được chuẩn bị trên khổ giấy lớn
2 Chuẩn bị của học sinh
Sách giáo khoa, vở ghi, các kiến thức đã học trong các tiết trước
III HOẠT ĐỘNG DẠY-HỌC
1 Bài cũ (10 phút): Vẽ sơ đồ hoạt động của câu lệnh If Then
2 Nội dung bài mới:
Trang 2HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1.Lặp:
Nêu bài toán đặt vấn đề như hai bài
toán (Sgk)
Xét với a>2
Bài toán 1:
Error! Objects cannot be created from
editing field codes
Bài toán 2:
Error! Objects cannot be created from
editing field codes.cho đến khi Error!
Objects cannot be created from
editing field codes
-Hỏi: Nêu sự giống và khác nhau của
hai bài toán trên?
Nhận xét ý kiến của học sinh
Trong một số bài toán có những thao
tác được thhự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
có hai dạng lặp với số lần biết trước
Chú ý quan sát bài toán đặt vấn đề
Nhận xét:
*Giống nhau:
- Xuất phát, Sđược gán giá trị 1/a
- Tiếp theo, cộng vào tổng S một lgiá trị 1/(a+n) với n= 1, 2, 3 Công việc này được lặp lại một
số lần
* Khác nhau:
- Bài toán 1: Công vệc cộng vào tổng S được lặp đi lặp lại 100 lần Bài toán 2: Công vệc cộng vào tổng S được lặp đi lặp lại 1 số chưa biết trước, cộng cho đến khi điều kiện Error! Objects cannot be created from editing field codes được thoả mãn
Lắng nghe, ghi bài
Trang 3HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
và lặp với số lần chưa biết trước
Hoạt động 2(25phút): Tìm hiểu và vận dụng câu lệnh lặp For - do của ngôn ngữ lập trình Pascal.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
2 Lặp với số lần biết trước và câu
lệnh for – do.
Xét bài toán 1:
Với a>2 Tính tổng
Error! Objects cannot be created from
editing field codes
- Hãy xác định công thức toán học để
tính tổng?
- Gợi ý phương pháp: Ta xem S như là
một cái thùng, các số hạng như là những
cái ca có dung tích khác nhau, khi đó
việc tính tổng trên tương tự việc đổ các
ca nước vào trong thùng S
- Có bao nhiêu lần đổ nước vào thùng?
- Mỗi lần đổ một lượng là bao nhiêu?
lần thứ i đổ bao nhiêu?
- Phải viết bao nhiêu lệnh?
- Trong tất cả các ngôn ngữ lập trình
đều có một cấu trúc điều khiển việc thực
Chú ý quan sát bài toán đặt vấn đề
- Rất khó xác định được công thức
- Theo dõi gợi ý
- Phải thực hiện 100 lần đổ nước
- Mỗi lần đổ a+i
1
- Phải viết 100 lệnh
- Tập trung theo dõi giáo viên
Trang 4hiện lặp lại với số lần đã định trước.
- Giáo viên gợi ý sau đó học sinh xây
dựng thuật toán
- Chuẩn hóa lại thuật toán cho học sinh
Yêu cầu học sinh nghiên cứu sách giáo
khoa về cấu trúc chung của câu lệnh
For- do
Treo tranh viết cấu trúc của câu lệnh for
– do để cả lớp quan sát
Giải thích:
+ <biến đếm>: là biến kiểu nguyên
+ <Giá trị đầu> nhỏ hơn hoặc bằng< giá
trị cuối >và cùng kiểu với biến đếm
- Hỏi: Trong bài toán tính tổng <Giá trị
đầu> <Giá trị cuối> là bao nhiêu?
- Hỏi: Trong bài toán tính tổng, lệnh nào
cần lặp lại?
Hoạt động:
Câu lệnh viết sau từ khoá Do được thực
trình bày
Suy nghĩ và viết thuật toán
Thuật toán:
Bước 1: N ← 0; S ← 1/a;
Bước 2: N ← N+1;
Bước 3: Nếu N>100 thì chuyển đến bước 5
Bước 4: S ← S+ 1/(a+N), quay lại bước 2
Bước 5: Đưa S ra màn hình rồi kết thúc
- Theo dõi và ghi nhớ
<Giá trị đầu> là 1; <Giá trị cuối> là 100
S := S + a+i
1
;
Trang 5HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
hiện tuần tự với biến đếm lần lượt nhận
các giá trị tăng liên tiếp từ giá trị đầu
đến giá trị cuối
Một số ví dụ:
Sử dụng câu lệnh for – do để giải các
bài toán sau:
VD1: Tính tổng các số tự nhiên từ 1 đến
100
VD2: Tính tổng các số chẳn từ 1 đến n
Với n được nhập từ bàn phím
VD3: Tính tổng S= 1-2+3-4+ +2n+1
Với n được nhập từ bàn phím
Lấy tinh thần xung phong mời 3 học
sinh lên viết 3 câu lệnh
Nhận xét và chuẩn hoá lại các câu lệnh
cho học sinh
Suy nghĩ, tìm hiểu đề bài để giải quyết các bài toán
Viết các câu lệnh 1
s:=0;
For i:=1 to 100 do s:=s+i;
2
S:=0;
for i:=1 to n do
if i mod 2 = 0 then s:= s+i; 3
S:=0;
for i:=1 to 2*n +1 do
if i mod 2 =0 then s:= s-i else s:= s+i;
Trang 6- Tổng kết lại các kiến thức đã học về cấu trúc của câu lệnh For – do
- Yêu cầu học sinh về nhà làn các bài tập 5a, 6 sách giáo khoa trang 51
- Xem trước nội dung của cấu trúc lặp với số lần chưa biết trước – Câu lệnh While – do
Trang 7cÊu tróc lÆp (tiÕt 2/3)
I MỤC TIÊU:
- Hiểu nhu cầu lặp với số lần chưa biết trước
- Hiểu ý nghĩa của cấu trúc lặp có số lần lặp chưa xác định
- Biết được cấu trúc chung của lệnh lặp While– do trong ngôn ngữ Pascal
- Sử dụng đúng câu lệnh While – do để giải quyết một số bài toán đơn giản
II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1 Chuẩn bị của giáo viên
- Giáo án, sách giáo khoa, sách giáo viên, cấu trúc của câu lệnh FOR DO được chuẩn bị trên khổ giấy lớn
2 Chuẩn bị của học sinh
- Sách giáo khoa, vở ghi
- Các kiến thức đã học ở tiết trước
III HOẠT ĐỘNG DẠY-HỌC
1 Bài cũ: (10 phút)
Nêu cấu trúc của câu lệnh lặp với số lần đã biết trước, vận dụng cấu trúc đó
để giải bài toán sau:
Tính tổng các số tự nhiên chia hết cho 3 hoặc 5 và không vượt quá n Với
n nhập từ bàn phím.
Cấu trúc: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
s:=0;
for i:=1 to n do
If (i mod 3 =0 or i mod 5 = 0) then s:=s+i;
2 Nội dung bài mới:
Trang 8xác định và câu lệnh While – do.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
3.Lặp có số lần chưa biết trước
và câu lệnh While – do.
Nhắc lại nội dung của bài toán 2
Bài toán 2:
Error! Objects cannot be created
from editing field codes.cho đến
khi Error! Objects cannot be
created from editing field codes
- Hỏi: Lặp bao nhiêu lần?
- Hỏi: Lặp đến khi nào?
Tiểu kết vấn đề: Qua ví dụ ta thấy
có một dạng bài toán có sự lặp lại
của một số lệnh nhưng không biết
trước được số lần lặp Cần có một
cấu trúc điều khiển lặp lại một
công việc nhất định khi thỏa mãn
một điều kiện nào đó
Yêu cầu học sinh nghiên cứu sách
giáo khoa và cho biết cấu trúc
chung của lệnh lặp While – do
- Giải thích:
+ <Điều kiện>: Là biểu thức quan
hệ hoặc biểu thức logic
+ <Câu lệnh >: Là các câu lệnh
trong Pascal
Chú ý lắng nghe giáo viên nhắc lại về nhận xét bài toán
- Chưa xác định ngay được
- Đến khi điều kiện a+N
1
<0,0001 được thỏa mãn
Theo dõi và ghi nhớ kết luận của giáo viên
Tham khảo sách giáo khoa và trả lời
- Cấu trúc chung:
While <điều kiện> Do <câu lệnh >;
Trang 9HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
- Hỏi: Trong bài toán này điều kiện
để lặp lại là gì?
Giáo viên treo tranh chứa sơ đồ
khối của câu lệnh While – do và
giải thích nguyên tắc hoạt động
của nó
N
a+
1
>0,0001
Quan sát tranh và theo dõi hoạt động của giáo viên
Hoạt động2(10p): Rèn luyện kĩ năng vận dụng lệnh lặp While.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
VÝ dô: T×m íc chung lín nhÊt 2
sè nguyªn d¬ng M, N
Phân tích để học sinh xác định
<điều kiện> và <lệnh cần lặp>
- Hỏi: Điều kiện để tiếp tục lặp là
gì?
- Hỏi: Các lệnh cần lặp lại là gì?
- Yêu cầu học sinh: Nêu thuật toán
để tìm ước số chung của hai số
đó?
- Yêu cầu học sinh tham khảo
chương trình trong sách giáo khoa,
Tập trung theo dõi để thấy được những công việc cần thực hiện
- Điều kiện: m<>n
- Lệnh cần lặp: m:=m-n; hoặc n:=n-m;
- Thuật toán:
B1: Nhập m,n;
B2: Nếu m=n thì lấy giá trị chung làm UCLN, rồi chuyển đến B5
B3: Nếu m>n thì m <- m-n ngược lại
n <- n-m;
B4 : Quay lại B2;
B5: Đưa ra kết quả UCLN rồi kết thúc
Lắng nghe, ghi bài
Trang 10sau đó giáo viên giải thích vòng
lặp While – do trong chương trình
Tiểu kết:
- Như vậy khi gặp bài toán dạng
này ta cần chú ý hai câu hỏi sau:
+ Điều kiện nào để lặp lại?
+ Những lệnh nào cần lặp lại?
IV.TỔNG KẾT(5phút):
1.Giáo viên tổng kết lại các kiến thức đã học :
- Ý nghĩa của cấu trúc lặp có số lần chưa xác định
- Cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal
- Sơ đồ thực hiện của lệnh lặp While
- Sự thực hiện của máy khi gặp lệnh lặp While
2 Câu hỏi và bài tập về nhà
Giải bài tập 4, 5b, 7,8, sách giáo khoa, trang 51