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

docx 4 trang giaoanhay 26/01/2025 380
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tiết 46, 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 8 - Tiết 46, Bài 8: Lặp với số lần chưa biết trước

Giáo án Tin học 8 - Tiết 46, Bài 8: Lặp với số lần chưa biết trước
 BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
I. TÓM LƯỢT LÝ THUYẾT
1. Lệnh lặp với số lần chưa biết trước.
* Ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa xác định để viết chương trình chỉ 
dẫn máy tính thực hiện các hoạt động lặp mà chưa xác định trước số lần lặp.
* Cú pháp câu lệnh lặp với số lần chưa biết trước: 
 WHILE DO ;
Trong đó:
+ WHILE, DO: là từ khóa. 
+ Điều kiện: thường là phép so sánh.
+ Câu lệnh: có thể là câu lệnh đơn hay câu lệnh ghép.
* Câu lệnh này được thực hiện như sau:
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và kết thúc vòng lặp. Nếu điều kiện đúng, 
câu lệnh được thực hiện và tiếp tục quay lại bước 1.
* Ta có sơ đồ khối thể hiện hai bước thực hiện của câu lệnh While ... do như sau:
2. Lặp vô hạn lần – Lỗi lặp trình cần tránh.
(Các em tự học, tự tìm hiểu vì được tinh giản)
II. CÁC VÍ DỤ
1) Ví dụ 1: Với n là số tự nhiên bằng bao nhiêu để ta nhận được tổng của n số tự nhiên đầu 
tiên T nhỏ nhất lớn hơn 1000?
* Hướng dẫn: 
 Với bài toán này ta không thể biết trước được ta sẽ cộng bao nhiêu số tự nhiên để 
tổng T nhỏ nhất lớn hơn 1000 nên không biết trước được n bằng bao nhiêu. Vậy để giải bài 
toán này ta phải kiểm tra điều kiện giá trị tổng T của các số tự nhiên, nếu tổng T này nhỏ 
hơn 1000 thì ta mới tăng số tự nhiên n này lên 1 đơn vị và tiếp tục thực hiện phép tính cộng 
số tự nhiên n vào tổng T. Quá trình thực hiện cho đến khi giá trị tổng T đầu tiên > 1000 thì 
dừng lại. Lúc này ta mới biết được n bằng bao nhiêu. Vì thế chúng ta không thể xác định 
được số lần thực hiện phép tính tổng các số tự nhiên cho đến khi thực hiện xong bài toán. readln
end.
 * Chú ý: 
 Với câu lệnh: 
 while (Thuong >= 0.005) or (Thuong >= 0.003) do
 begin 
 n:=n+1; 
 Thuong:=1/n;
 end;
Chương trình sẽ thực hiện các bước như trên thuật toán: 
Đầu tiên kiểm tra đk: Thuong >= 0.005 hoặc Thuong >= 0.003 
Nếu đk thỏa mãn thì thực hiện câu lệnh ghép (2 lệnh trong begin và end;) sau:
 begin 
 n:=n+1; { tăng n lên 1 đơn vị}
 Thuong:=1/n; { Tính 1/n và lưu vào biến Thuong}
 end;
Ngược lại kết thúc vòng lặp. 
Như vậy câu lệnh n:=n+1; và Thuong:=1/n; được thực hiện trong khi đk Thuong >= 0.005 
hoặc Thuong >= 0.003 được thỏa mãn. 
Sau khi kết thúc vòng lặp (Thuong < 0.005 hoặc Thuong < 0.003) thì ta mới xác định được 
giá trị của n (n được tăng lên bao nhiêu).
3) Ví dụ 3: Sử dụng câu lệnh While  do để viết chương trình tìm số n trong ví dụ 1
var T, n: integer; { khai báo biến T và n }
begin
 T:=0; n:=1; {gán giá trị ban đầu cho biến}
 while T<1000 do
 begin 
 n:=n+1; 
 T:= T+n; 
 end;
 writeln('So n nho nhat de tong > 1000 la ', n);
 writeln('Tong dau tien > 1000 la ', T);
 Readln
end.
* Nếu chạy chương trình này ta sẽ nhận được n = 45 và tổng T đầu tiên lớn hơn 1000 là 
1035.
 * Chú ý: Hãy mô tả cách thực hiện câu lệnh: 
 while T<1000 do
 begin 

File đính kèm:

  • docxgiao_an_tin_hoc_lop_8_tiet_46_bai_8_lap_voi_so_lan_chua_biet.docx