Kiến thức - Nắm được câu lệnh lặp không biết trước số lần lặp với câu lệnh While – Do.. - Nắm được hoạt động, cấu trúc của câu lệnh While – Do.. * Hoạt động: Câu lệnh sau từ khóa Do được
Trang 1Bài 10 Cấu Trúc Lặp (Tiết 2)
Người soạn: Vũ Thị Thanh Ngày soạn 03/10/2008 Giáo viên hướng dẫn: cô Lê Thị Bích Liên
I Mục Đích, Yêu Cầu
1 Kiến thức
- Nắm được câu lệnh lặp không biết trước số lần lặp với câu lệnh While – Do
- Nắm được hoạt động, cấu trúc của câu lệnh While – Do
- Nắm được thuật toán giải bài tập 2 trong SGK vận dụng lệnh While – Do
2 Kĩ năng
- Biết vận dụng câu lênh While – Do giải một số bài toán đơn giản
- Biết phân biệt khi nào sử dụng câu lệnh While – Do
II Chuẩn bị của giáo viên và học sinh
- GV: SGK, SBT, giáo án, bảng phụ,…
- HS: SGK, SBT, chuẩn bị bài mới ở nhà
III Tiến trình dạy học
1 Ổn định lớp
2 Kiểm tra bài cũ
Câu hỏi: Nêu cấu trúc và hoạt động của câu lệnh For – Do dạng tiến? Trả lời:
* Cấu trúc câu lệnh For – Do:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ For, to, downto, do là các từ khóa.
+ biến đếm là biến đơn, kiểu số nguyên.
+ giá trị đầu và giá trị cuối là các biểu thức cùng kiểu với biến đếm, giá
trị đầu < giá trị cuối.
* Hoạt động:
Câu lệnh sau từ khóa Do được thực hiện tuần tự với giá trị biến đếm tăng lần lượt từ giá trị đầu đến giá trị cuối.
3 Bài mới
Đặt vấn đề:
Bài trước các em đã được biết cấu trúc lặp với số lần biết trước và lệnh For – Do, bài hôm nay chúng ta tiếp tục làm quen với khái niệm lặp với
số lần không biết trước và câu lệnh While – Do, ta vào bài hôm nay:
Trang 2Bài 10 Cấu trúc lặp (tiết 2)
Hoạt động của giáo viên Hoạt động của học sinh
3 Lặp với số lần chưa biết trước
và câu lệnh While – Do
Xét bài toán 2 ở mục 1, tính tổng S:
N a a
a
1
1
1
cho đến khi 1 0 , 0001
N
Với a > 2
Ý tưởng: Để giải bài toán trên, đầu
tiên ta gán giá trị S a1 sau đó lần
lượt cộng vào S một giá trị a 1N với
N = 1, 2, … cho đến khi
0001
,
0
1
N
Ta có thuật toán giải bài toán trên
như SGK
Cho HS quan sát SGK.và giải
thích hoạt động của thuật toán
So sánh 2 bài toán 1 và bài toán 2
có gì giống nhau và khác nhau?
Nhận xét: Như vậy cả bài toán 1
và bài toán 2 đều mô tả cấu trúc
lặp tuy nhiên bài toán 1 mô tả cấu
trúc lặp với số lần biết trước bài
toán dừng khi đã lặp đủ số lần,
Ghi lại đầu bài
Nghe giảng
Nghe giảng
Giống: cả hai bài toán đều lặp lại nhiều lần bước cộng giá trị a 1N vào tổng S
Khác: bài toán 1: ta cộng vào S giá trị a 1N với N= 1…100 lần thì dừng Bài toán 2 ta cộng vào
S giá trị N=1, 2, 3, cho tới lúc 1 0 , 0001
N
Nghe giảng
Trang 3bài tập 2 mô tả cấu trúc lặp với số
lần không biết trước bài toán
dừng khi thỏa mãn một điều kiện
+ Để mô tả cấu trúc lặp với số lần
không biết trước, Pascal có câu lệnh
While – Do.
Cấu trúc lệnh
Giải thích
Hoạt động
- Ta có thể biểu diễn câu lệnh While
– Do bằng sơ đồ khối như sau:
- Gọi HS nhìn sơ đồ khối và mô tả
lại hoạt động của câu lệnh
- Câu hỏi: + Nếu biến <điều kiện>
nhận giá trị sai ngay từ đầu thì <câu
lệnh> thực hiện bao nhiêu lần?
Ghi bài
+ Để mô tả cấu trúc lặp với số lần không biết trước, Pascal có câu lệnh như sau:
While <điều kiện> do <câu lệnh>;
Trong đó:
+ While, do là các từ khóa.
+ Điều kiện là biểu thức logic.
+ Câu lệnh là một câu lệnh đơn hoặc
ghép
Đầu tiên biểu thức <điều kiện> được kiểm tra Thực hiện <câu lệnh> sau
từ khóa Do trong khi điều kiện còn
đúng nếu sai thì thoát khỏi câu lệnh
While và thực hiện câu lệnh sau câu
lệnh While.
Biểu diễn câu lệnh While – do bằng
sơ đồ khối:
Quan sát sơ đồ khối và mô tả hoạt động câu lệnh qua sơ đồ khối
0 lần
Câu lệnh
Điều kiện
sai
Đúng
Trang 4+ Nếu biến <điều kiện> luôn nhận
giá trị đúng thì <câu lệnh> thực hiện
bao nhiêu lần?
- GV tổng kết đưa ra kết luận:
Xét bài toán 2 ở mục 1 ta có thuật
toán mô tả dưới dạng sơ đồ khối như
sau:
- Bảng phụ
+ Mô tả thuật toán bằng ngôn ngữ tự
nhiên cho học sinh nắm bắt được
việc giải bài toán
Đầu tiên ta khởi tạo S a1, N =
0
Kiểm tra điều kiện đúng của bài
toán Nếu 1 0 , 0001
N
dừng và đưa ra kết quả S Nếu
sai thì tăng giá trị của N và cộng
vào S một giá trị a 1N
- Cho HS xác định:
Đâu là biến điều khiển?
Đâu là biểu thức điều kiện ?
- Cho HS quan sát chương trình cài
đặt thuật toán tính Tong_2 giải thích
chương trình
- Đối chiếu chương trình với sơ đồ
khối, xét:
+ Các bước nào được lặp lại?
+ Điều kiện trong lệnh While là gì?
Không xác định được
Chú ý:
Nếu biến <điều kiện> nhận giá trị
False ngay từ đầu thì câu lệnh không
thực hiện lần nào
Nếu <điều kiện> luôn nhận giá trị
True thì <câu lệnh> được thực hiện
mãi, ta gọi là vòng lặp vô hạn
Nghe giảng và quan sát
- Quan sát bảng phụ
Nghe giảng
- Xác định:
Biến điều khiển là N
Điều kiện kiểm tra là 1 0 , 0001
N a
Bước 3, 4
Not ( 1 0 , 0001
N
Trang 5+ Câu lệnh sau Do là lệnh đơn hay
lệnh ghép?
4 Ví dụ minh họa
- Xét bài toán tìm ƯCLN của hai số
nguyên dương M và N
- Gọi HS xác định bài toán
- Bài toán ƯCLN của hai số ta có
nhiều thuật toán khác nhau Ta xét
thuật giải đã học ở lớp 10 như sau:
- Ta có thuật toán để giải bài toán
trên dưới dạng liết kê và sơ đồ khối
như sau:
- GV: Mô tả lại hoạt động của thuật
toán bằng ngôn ngữ tự nhiên cho hoc
sinh nhớ lại?
+ Trước tiên ta kiểm tra
- B1: Nếu M=N thì đưa ra kết
quả và dừng thuật toán
- B2: Trong khi M<> N thì
kiểm tra nếu M>N thì
M->M-N
Ngược lại N->N-M
Câu hỏi:
Quan sát thuật toán cho biết,
trong thuật toán trên bước nào
được lặp lại ?
Lặp với số lần biết trước hay
không biết trước?
Lệnh ghép
Begin
N:=N+1;
S:=S+
N
a
1
End;
Xác định:
- Input: hai số nguyên dương M và N
- Output: ƯCLN của hai số nguyên dương M, N
Nghe giảng -Quan sát SGK ?
- nghe giảng
Trả lời:
Bước 2
Lặp với số lần không biết trước
Trang 6vậy ta có thể dùng lệnh While – Do
để giải bài toán tìm UCLN như sau:
Cho HS quan
sát thuật giải SGK Ta thấy:
+ Biểu thức điều kiện vòng lặp là?
+ Lệnh sau Do?
+ Vòng lặp dừng khi?
- Chú ý
+ M <> N + if M>N then M->M – N else N=N-M
+ Dừng khi M=N
Chú ý:
Những lệnh trong vòng lặp thường lặp lại nhiều lần nên những thao tác không cần lặp nên đặt ngoài vòng lặp
IV Củng Cố Và Dặn Dò
1 Củng cố:
Các em nắm được cấu trúc lặp với số lần không biết trước
Nắm được cấu trúc hoạt động của lệnh lặp While- do
Nắm được cách sử dụng lệnh While- do giải một số bài toán đơn giản
2 Dặn Dò
Về nhà xem lại bài học hôm nay
Làm bài tập va chuấn bị bài mới
V Nhận xét của GVHD
GVHD