Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (136.11 KB, 3 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Ngày soạn: 09/11/2008
Ngày giảng:
Lớp giảng:
<i><b>1. Kiến thức:</b></i>
- 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ể.
<i><b>2. Kĩ năng:</b></i>
- 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.
<i><b>3. Thái độ:</b></i>
- Tiếp tục khơi gợi lòng ham thích giải tố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,…
<b>II. Chuẩn bị:</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.
<b>III. Tiến trình:</b>
<i><b>1. Kiểm tra bài cũ (5’):</b></i>
- 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?
<i><b>2. Bài mới:</b></i>
HOẠT ĐỘNG CỦA GIÁO VIÊN
VÀ HỌC SINH NỘI DUNG GHI BẢNG
<b>TG</b>
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 tốn
HS: Thực hiện vẽ sơ đồ khối.
<b>3. Lặp với số lần chưa biết trước và</b>
<b>câu lệnh While – do</b>
Bài tốn 2:Tính và đưa kết quả ra màn
hình tổng:
<i>S</i>=1
<i>a</i>+
1
<i>a</i>+1+
1
<i>a</i>+2+. ..+
1
<i>a</i>+<i>N</i>+. ..
cho đến khi <i><sub>a</sub></i>1
+<i>N</i> <0,0001 (với a là
số nguyên, a>2)
Thuật giải:
<i>Bước 1</i>: S 1/a; N 0; {khởỉ tạo S và
N}
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.
Để mô tả cấu trúc như vậy ngôn ngữ
HS: Đọc thông tin SGK.
GV: Giới thiệu câu lệnh <i><b>While – do</b></i>
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 tố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ả.
<i>Bước 2</i>: Nếu 1/(a+N)<0,0001 thì
<i>Bước 3</i>: N N +1;
<i>Bước 4</i>: SS+1/(a+N), rồi quay lại
bước 2;
<i>Bước 5</i>: Đưa S ra màn hình rồi kết
thúc.
Câu lệnh While – do:
<b>While <</b><i>điều kiện</i>> do <<i>câu lệnh</i>>;
Trong đó:
<i>Điều kiện</i> là biểu thức lôgic;
<i>Câu lệnh</i> là một câu lệnh đơn hoặc
ghép.
Sơ đồ khối:
S
Đ
*<i>Chú ý:</i> 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.
<i><b>Ví dụ 1</b></i>: Chương trình giải bài tốn 2.
<b>program Tong_2;</b>
<b>uses crt;</b>
<b>var s: real;</b>
a, N: integer;
<b>begin</b>
clrscr;
write(‘ Hay nhap gia tri a vao !’);
readln(a);
S:=1/a; N:=0;
<b>8’</b>
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
GV: Đưa ra bài tốn ví dụ2. 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
GV: Hướng dẫn HS xây dựng
chương trình giải bài tốn.
HS: Xây dựng chương trình giải bài
tốn.
GV: Nhận xét, bổ sung, chạy chương
trình cho HS quan sát kết quả.
<b>while not (1/(a+N) < 0.0001) do</b>
<b>begin</b>
N:=N+1;
S:= S+1.0/(a+N);
<b>end;</b>
writeln(‘Tong S la: ‘, s:8:4);
Readln;
<b>end.</b>
<i><b>Ví dụ 2</b></i>: Chương trình tìm ước chung
lớn nhất (ƯCLN) của hai số nguyên
dương M và N.
<b>program UCLN;</b>
<b>uses crt;</b>
<b>var M,N: integer;</b>
<b>begin</b>
clrscr;
write(‘M, N = ‘);
readln(M, N);
<b>while M<>N do</b>
<b>if M>N then M:=M-N else </b>
N:=N-M;
writeln(‘UCLN = ‘,M);
Readln;
<b>end.</b>
<b>7’</b>
<i><b>3. Củng cố (3’):</b></i>
- 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.
<i><b>4. Hướng dẫn về nhà (2’):</b></i>
- Học theo vở ghi và SGK.