GV: Cấu trúc lặp được sử dụng để mô tả thuật toán ở bài toán 2 là cấu trúc lặp với số lần chưa biết trước.. Yêu cầu HS tìm hiểu thông tin SGK về câu lệnh While – do[r]
Trang 1Ngày soạn: 09/11/2008
Ngày giảng:
Lớp giảng:
Bài 10 CẤU TRÚC LẶP (Tiết 2)
I Mục tiêu cần đạt:
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, cấu trúc lặp với số lần định 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ể
2 Kĩ năng:
- 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 kiểm tra điều kiện trước, lặp với số lần định trước
- Viết được thuật giải một số bài toán đơn giản
3 Thái độ:
- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính
- Tiếp tục rèn luyện các phẩm chấ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 với kết quả ban đầu đạt được,…
II Chuẩn bị:
1 GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu, đồ dùng dạy học
2 HS: Sách giáo khoa, sách bài tập, vở ghi chép, đồ dùng học tập, học bài cũ và chuẩn bị bài mới
III Tiến trình:
1 Kiểm tra bài cũ (5’):
- Viết cấu trúc của câu lệnh For – do dạng tiến, dạng lùi Giải thích các thành phần
trong cấu trúc? Nêu hoạt động của từng dạng?
2 Bài mới:
HOẠT ĐỘNG CỦA GIÁO VIÊN
TG
GV: Đưa ra bài toán 2 và giới thiệu
thuật toán như SGK (Tr 45) Yêu cầu
HS vẽ sơ đồ khối mô tả thuật toán
HS: Thực hiện vẽ sơ đồ khố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 2:Tính và đưa kết quả ra màn hình tổng:
S=1
a+
1
a+1+
1
a+2+ +
1
a+N+
cho đến khi a+N1 <0,0001 (với a là
số nguyên, a>2) Thuật giải:
Bước 1: S 1/a; N 0; {khởỉ tạo S và
N}
20’
Trang 2GV: Cấu trúc lặp được sử dụng để
mô tả thuật toán ở bài toán 2 là cấu
trúc lặp với số lần chưa biết trước
Để mô tả cấu trúc như vậy ngôn ngữ
Pascal dùng câu lệnh While – do.
Yêu cầu HS tìm hiểu thông tin SGK
về câu lệnh While – do.
HS: Đọc thông tin SGK
GV: Giới thiệu câu lệnh While – do
và giải thích các thành phần Đưa ra
sơ đồ khối thể hiện câu lệnh Yêu cầu
HS dựa vào sơ đồ khối nêu hoạt động
của câu lệnh
HS: Dựa vào sơ đồ khối nêu hoạt
động của câu lệnh
GV: Một sự khác nhau trong lệnh cần
lặp của FOR và WHILE là gì?
HS: Suy nghĩ và trả lời
GV: Hướng dẫn HS xây dựng
chương trình giải bài toán 2
HS: Xây dựng chương trình
GV: Nhận xét, bổ sung, chạy chương
trình cho HS quan sát kết quả
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: SS+1/(a+N), rồi quay lại
bước 2;
Bước 5: Đưa S ra màn hình rồi kết
thúc
Câu lệnh While – do:
While <điều kiện> do <câu lệnh>;
Trong đó:
Điều kiện là biểu thức lôgic;
Câu lệnh là một câu lệnh đơn hoặc
ghép
Sơ đồ khối:
S Đ
*Chú ý: Trong câu lệnh while-do cần
có câu lệnh làm thay đổi giá trị của biểu thức điều kiện
Ví dụ 1: Chương trình giải bài toán 2.
program Tong_2;
uses crt;
var s: real;
a, N: integer;
begin
clrscr;
write(‘ Hay nhap gia tri a vao !’); readln(a);
S:=1/a; N:=0;
8’
NhËp a
1/(a+N) < 0,0001
§araS,
kÕtthóc
S ← 1/a; N:=0;
N ← N+1
S ← S+ 1/(a+N)
Sai
Điều kiện
Câu lệnh
Trang 3GV: Đưa ra bài toán ví dụ2 Yêu cầu
HS xác định Input/Output của bài
toán Nêu thuật giải
HS: Xác định Input/Output và nêu
thuật giải
Bước1: Nhập M, N;
Bước2 Nếu M=N thì ƯCLN:= M;
chuyển đến bước 5;
Bước3 Nếu M>N thì M:=M-N
ngược lại N:=N-M;
Bước4 Quay lại bước 2;
Bước5 Đưa ra kết quả ƯCLN rồi kết
thúc
GV: Đưa ra sơ đồ khối và yêu cầu
học sinh nêu hoạt động của sơ đồ
khối
HS: Theo dõi và nêu hoạt động của
sơ đồ khối
GV: Hướng dẫn HS xây dựng
chương trình giải bài toán
HS: Xây dựng chương trình giải bài
toán
GV: Nhận xét, bổ sung, chạy chương
trình cho HS quan sát kết quả
while not (1/(a+N) < 0.0001) do begin
N:=N+1;
S:= S+1.0/(a+N);
end;
writeln(‘Tong S la: ‘, s:8:4);
Readln;
end.
Ví dụ 2: Chương trình tìm ước chung
lớn nhất (ƯCLN) của hai số nguyên dương M và N
program UCLN;
uses crt;
var M,N: integer;
begin
clrscr;
write(‘M, N = ‘);
readln(M, N);
while M<>N do
if M>N then M:=M-N else
N:=N-M;
writeln(‘UCLN = ‘,M);
Readln;
end.
7’
3 Củng cố (3’):
- Hệ thống bài giảng, nhấn mạnh các kiến thức trọng tâm:
+ Nhu cầu phải sử dụng cấu trúc lặp, câu lệnh lặp
+ Cấu trúc và hoạt động của câu lệnh lặp While – do
4 Hướng dẫn về nhà (2’):
- Học theo vở ghi và SGK
- Xem lại các ví dụ, làm bài tập (SGK - Tr 50, 51)
- Xem trước nội dung bài thực hành 2 (SGK – Tr 49,50)