Tải bản đầy đủ (.doc) (5 trang)

Giáo án tin học - Lặp với số lần chưa biết trước pptx

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 (133.86 KB, 5 trang )

 Giáo án Dự 
Trường THCS Thống Nhất
Ngy soạn:18-02-2009
Ngày dạy:
Lớp dạy:
Tiết dạy:
GVHD:
GSTT: Nguyễn Thanh Tùng
Bài dạy:
Bài 8: Lặp với số lần chưa biết trước
I/ Mục đích-Yêu cầu
 Giúp HS biết được nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong
ngôn ngữ lập trình.
 Giúp HS biết ngôn ngữ lập trình dùng cấy trúc lặp với số lần chưa biết trước
để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại một công việc cho đề khi điều
hiện nào đó được thỏa mãn.
 Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước While… do
trong Pascal.
 Biết cách vận dụng While do hoặc For do để giải bài tập một cách linh hoạt.
 On lại một số kiến thức như khai báo biến, rèn luyện khả năng đọc-hiểu
chương trình.
II/ Chuẩn bị:
Giáo viên: Giáo án, lưu đồ thuật giải, bài giải hoàn chỉnh.
Học sinh: Xem bài trước. Sách giáo khoa.
Phương pháp: Đàm thoại kết hợp trực quan sinh động.
Dụng cụ, thiết bị: Đèn chiếu, máy tính, lưu đồ, giáo án. Máy có cài sẵn Turbo
Pascal.
III/ Nội dung lên lớp:
Hoạt động 1: On định lớp.
Hoạt động 2: Kiểm tra bài cũ.
 1/ Hãy cho biết tác dụng của lệnh lặp với số lần biết trước?


 2/ Nêu cú pháp và ý nghĩa của lệnh lặp For…do?
Hoạt động 3: Vào nội dung bài mới

Hoạt động GV Hoạt động HS Nội dung
* Giới thiệu cho Hs
biết ngoài cấu trúc
lặp với số lần lặp
biết trước, các ngôn
ngữ lặp trình còn có
các lệnh lặp với số
lần lặp chưa biết
trước. Ghi tên bài
dạy lên bảng.
* Yêu cầu học sinh
đọc ví dụ 1.
-Phân tích, đặt câu
hỏi về ví dụ 1 để
cho Hs thấy được
* Chú ý lắng nghe
bài giảng, ghi
chep.
* Đọc ví dụ 1 và
suy nghĩ.
-Chú ý lắng nghe,
ghi chép.
-Trả lời các câu
Bài 8: Lặp Với Số Lần Chưa Biết
Trước.
1. Các hoạt động lặp với số lần chưa biết
trước:

Ví dụ: SGK.Trang 67
Điều kiện dừng: Có người nhấc máy.
1
 Giáo án Dự 
điều kiện để kết
thúc hoạt động gọi
điện thoại của Long
cho Trang.
-Đưa thêm một số
ví dụ trong cuôc
sống tương tự ví dụ
1. Yêu cầu HS xác
định điều kiện
dừng.
* Yêu cầu HS đọc
ví dụ 2.
-Đặt câu hỏi cho
HS: "Trong trường
hợp này để quyết
định thực hiện phép
cộng với số tiếp
theo hay dừng ta
phải làm gì?". Kiểm
tra đáp án của HS.
-Yêu cầu HS xây
dựng thuật toán của
ví dụ này một cách
cụ thể bằng ngôn
ngữ tự nhiên. Kiểm
tra và chỉnh sửa lại

đáp án của HS.
-Giải thích cho HS
hiểu rõ về thuật
toán vừa rồi.
-Đưa ra lưu đồ về
lặp với số lần chưa
biết trước và giải
thích cho HS hiểu ý
nghĩa của lệnh lặp
này.
hỏi của giáo viên.
-Chú ý, suy nghĩ
trả lời các câu hỏi
của giáo viên.
* Đọc ví dụ 2.
-Chú ý lắng nghe,
ghi chép. Trả yêu
cầu của GV.
-Chú ý lắng nghe,
ghi chép. Trả lời
câu hỏi của giáo
viên. Xây dựng
thuật toán
-Chú ý lắng nghe,
ghi chép.
-Chú ý lắng nghe,
ghi chép.
Ví dụ 2: Nếu cộng lần lượt n số đầu tiên
(n=1,2,3,….), ta sẽ được kết quả T
1

=1,
T2=1+2, T3=1+2+3,… tăng dần. Cần
cộng bao nhiêu số tự nhiên đầu tiên để ta
nhận được tổng Tn nhỏ nhất lớn hơn
1000?
-Câu hỏi: Trong trường hợp này để quyết
định thực hiện phép cộng với số tiếp theo
hay dừng ta phải làm gì?
-Đáp án: Từng bước kiểm tra tổng đã lớn
hơn 1000 hay chưa.
Thuật toán: Kí hiệu S là tổng cần tìm
Bước 1: S0, n0.
Bước 2: nếu S<=1000, nn+1; Ngược
lại, chuyển tới bước 4.
Bước 3: SS+n và quay lại bước 2.
Bước 4: In kết quả: S và n là số tự nhiên
nhỏ nhất sao cho S>1000. Kết thúc thuật
toán.
Để giải bài toán trên ta thực hiện lặp đi
lặp lại với số lần chưa biết trước, phụ
thuộc vào điều kiện (S<=1000) và chỉ
dừng lại khi điều kiện đó sai.
2
Điều kiện
Câu lệnh
Sai
Đúng
 Giáo án Dự 
* Chuyển sang nội
dung thứ 2 của bài.

Trình bày cho Hs
biết được cấu trúc
của lệnh lặp với số
lần chưa biết trước
trong Pascal.
-Hướng dẫn Hs Viết
chương trình hoàn
chỉnh của ví dụ 2.
-Giải thích lại từng
câu lệnh của
chương trình. Chạy
* Chú ý lắng
nghe, ghi bài.
-Theo dõi bài
giảng, thực hiện
theo theo yêu cầu
của GV, ghi chép.
-Chú ý lắng nghe,

Việc lặp lại một nhóm các hoạt động
với số lần chưa biết trước phụ thuộc vào
một điều kiện cụ thể có được thỏa mãn
hay không. Để viết chương trình cho máy
tính thực hiện các hoạt động như ví dụ
trên ta có thể sử dụng lệnh lặp với số lần
chưa biết trước. Các ngôn ngữ lặp trình
đều có hỗ trợ câu lệnh này, Pascal cũng
không ngoại lệ.
2. Ví dụ về lệnh lặp với số lần chưa biết.
Trong Pascal câu lệnh lặp với số lần

chưa biết trước có dạng:
While <điều kiện> do <câu lệnh>;
Trong đó:
Điều kiện: thường là một phép so sánh.
Câu lệnh có thể là một câu lệnh đơn hay
câu lệnh ghép.
Cách thực hiện:
 Kiểm tra điều kiện.
 Nếu điều kiện sai, câu lệnh sẽ
được bỏ qua và việc thực hiện
lệnh lặp kết thúc. Nếu điều kiện
đúng, thực hiện câu lệnh và quay
lại buớc 1.
Chương trình Ví dụ 2:
Program Vidu2;
Uses crt;
Var S,n:Integer;
Begin
Clrscr;
S:=0;
N:=0;
While S<=1000 do
Begin
S:=S+n;
N:=n+1;
End;
Writeln('So n nho nhat de tong>1000 la
',n,': ');
Writeln(' Tong dau tien la: ',S);
Readln;

End.
3
 Giáo án Dự 
chương trình, sau
đó thay đổi điều
kiện cho HS nhận
thấy sự khác biệt.
* Yêu cầu Hs đọc ví
dụ 5 Trang 69 SGK
-Yêu cầu Hs thực
hiện giải bài toán
với lệnh For…do.
Theo dõi HS.
-Yêu cầu HS chỉnh
sửa lại Ví dụ này
với lệnh lặp While
do
-Giải thích cho học
sinh hiểu ý nghĩa
các câu lệnh trong
chương trình. Làm
cho Hs thấy được
lệnh lặp for…do có
thể được thay thế
bởi lệnh while…
do .
* Chuyển sang nội
dung tiếp theo.
-Đưa ra chương
theo dõi chương

trình.
* Đọc ví dụ 5, suy
nghĩ.
-Thực hiện theo
yêu cầu của GV.
-Thực hiện chuyển
đổi.
-Chú ý lắng nghe,
ghi chép.
Ví dụ 5.Trang 69(SGK)
Để viết chương trình tính tổng
T=1+1/2+1/3+…+1/100 với lệnh lặp
for…do
Với For:
Program Vidu5;
Uses crt;
Var T,i:Integer;
Begin
T:=0;
For i:=1 to 100 do
T:=T+1/I;
Writeln(T);
Readln;
End.
Với while:
Program Vidu5;
Uses crt;
Var T,i:Integer;
Begin
T:=0;

i:=0;
while i<=100 do
begin
T:=T+1/I;
I:=i+1;
End;
Writeln(T);
Readln;
End.
-Như vậy chúng ta có thể sử dụng lệnh lặp
while…do thay cho For…do.
3. Lặp vô hạn lần-Lỗi lập trình cần
tránh.
Ví dụ:
Var a:integer;
4
 Giáo án Dự 
trình trong SGK.
Yêu cầu HS giải
thích từng câu lệnh.
-Qua ví dụ cho HS
thấy đuợc lỗi lặp
trình với lặp vô hạn
lần. Chú ý cho Hs
cần tránh trong quá
trình viết chương
trình.
* Chú ý theo dõi,
ghi chép.
-Chú ý theo dõi,

trả lời các yêu cầu
của giáo viên.
-Chú ý theo dõi,
ghi chép bài.
Begin
A:=5;
While a<6 do
Writeln('A');
End;
Giá trị biến a luôn luôn bằng 5 điều
kiện a<6 luôn luôn đúng cho nên chương
trình luôn được thực hiện. Đây là lỗi lặp
vô hạn lần.
Khắc phục: điểu kiện trong câu lệnh
phải được thay đổi từ đúng sang sai. Chí
có thế chương trình mới không rơi vào
những vòng lặp vô tận.
Hoạt động 4: Củng cố:
 Yêu cầu Hs trình bày ý nghĩa lệnh lặp với số lần chưa biết được.
 Yêu cầu HS trình bày lệnh lặp While…do.
Hoạt động 5: Hướng dẫn về nhà
 Huớng dẫn trả lời câu1, câu2 trang 71.
 Hướng dẫn bài 3,4,5 SGK.
IV/ Rút kinh nghiệm tiết dạy:
Ưu điểm:

Khuyết điểm:
GVHD
5

×