Giáo án Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước

docx 6 Trang tailieuthcs 96
Bạn đang xem tài liệu "Giáo án Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Giáo án Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước

Giáo án Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước
 Tuần 22: Từ ngày 30/03 đến ngày 05/04 - Tiết 2
 Tuần 23: Từ ngày 06/04 đến ngày 12/04 - Tiết 1
 Bài 8: Lặp với số lần chưa biết trước
 Trong Bài 7: Câu lệnh lặp chúng ta đã làm quen với các hoạt động lặp và cách chỉ thị cho 
 máy tính thực hiện các hoạt động lặp với số lần đã được xác định trước. Trong thực tế có 
 nhiều hoạt động được thực hiện lặp đi lặp lại với số lần lần chưa được biết trước. Vậy để 
 hiểu rõ hơn về vấn đề này, mời các em cùng theo dõi Bài 8: Lặp với số lần chưa biết 
 trước để tìm hiểu nội dung chi tiết.
 Nội dung:
 1. Tóm tắt lý thuyết
 1.1. Các hoạt động lặp với số lần chưa biết trước
 1.2. Ví dụ về lệnh lặp với số lần chưa biết trước
 1.3. Lặp vô hạn - Lỗi lập trình cần tránh - Phần giảm tải - Khuyến kích HS tự tìm hiểu
 1. Tóm tắt lý thuyết
 1.1. Các hoạt động lặp với số lần chưa biết trước
 Ví dụ 1: Một ngày chủ nhật Long gọi điện cho Trang. Không có ai nhấc máy. Long quyết 
 định gọi lại thêm 1 lần nữa. Như vậy Long đã biết trước là mình sẽ lặp lại gọi điện thêm 2 
 lần. Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi 
 có người bắt máy.
 Điều kiện: Có người nhấc máy thì kết thúc hoạt động lặp.
 Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), 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?
 Điều kiện: Khi tổng Tn nhỏ nhất lớn hơn 1000 thì kết thúc hoạt động lặp
 Mô tả thuật toán bằng liệt kê:
• 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
 Mô tả thuật toán bằng sơ đồ khối:
 Hình 1. Mô tả thuật toán bằng sơ đồ khối write('a>b');
 a:=a-1;
 End;
• While, do là các từ khóa
• Điều kiện là a>b (chứa phép so sánh)
• Câu lệnh là Write('a>b') và a:=a-1 (câu lệnh ghép)
 Ví dụ 5: Viết câu lệnh in ra 5 số tự nhiên liên tiếp bắt đầu bằng số 1.
 Gợi ý giải:
 Sử dụng lệnh lặp với số lần lặp chưa biết trước whiledo
 Đoạn chương trình mẫu:
 n:=1
 while n<=5 do
 begin 
 writeln(n);
 n:=n+1;
 end;
 1.3. Lặp vô hạn - Lỗi lập trình cần tránh - Phần giảm tải - Khuyến kích HS tự tìm 
 hiểu
 Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ 
 kết thúc. 
 Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
 var a:integer;
 begin
 a:=5;
 while a<6 do
 writeln('A');
 end.
• Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn đúng 
 nên lệnh writeln('A'); luôn được thực hiện.
• Do vậy, khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay 
 muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới 
 không "rơi" vào những "vòng lặp vô tận".
 2. Luyện tập Bài 8 Tin học 8
 Sau khi học xong Bài 8: Lặp với số lần chưa biết trước, các em cần ghi nhớ:
• 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 câu lệnh lặp 
 với số lần chưa biết trước
• While...do là câu lệnh lặp với số lần chưa biết trước trong Pascal
 2.1. Trắc nghiệm
• Câu 1: Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì?
o A. Thực hiện sau từ khóa Do
o B. Kiểm tra giá trị của a) Thuật toán 1
Bước 1. S 10, x 0.5
Bước 2. Nếu S 5.2, chuyển tới bước 4.
Bước 3. S S - x và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
b) Thuật toán 2
Bước 1. S 10, n -> 0.
Bước 2. Nếu S ≥ 10, chuyển tới bước 4.
Bước 3. n n + 3, S S - n quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
Hướng dẫn giải chi tiết bài 3
a) Thuật toán 1:
10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal 
tương ứng:
S:=10; x:=0.5;
while S>5.2 do S:=S-x;
writeln(S);
b) Thuật toán 2:
Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên 
các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương 
ứng:
S:=10; n:=0;
while S<10 do
 begin n:=n+3; S:=S-n end;
writeln(S);
Nhận xét: Trong các thuật toán và chương trình trên, điều kiện được kiểm tra trước khi các 
bước lặp được thực hiện. Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước 
lặp sẽ bị bỏ qua. Điều này đặc biệt đúng đối với câu lệnh lặp while..do.
Bài tập 4 trang 71 SGK Tin học 8
Hãy tìm hiểu các cụm câu lệnh sau đây và cho biết với các câu lệnh đó chương trình thực 
hiện bao nhiêu vòng lặp? Hãy rút ra nhận xét của em.
a)
S:=0; n:=0;
while S<=10 do
 begin n:=n+1; S:=S+n end;
b) Phần giảm tải - Khuyến kích HS tự tìm hiểu
S:=0; n:=0;
while S<=10 do
 n:=n+1; S:=S+n;

File đính kèm:

  • docxgiao_an_tin_hoc_lop_8_bai_8_lap_voi_so_lan_chua_biet_truoc.docx