Bài 8. Lặp với số lần chưa biết trước

Chia sẻ bởi Lương Thị Bích Ngọc | Ngày 24/10/2018 | 27

Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8

Nội dung tài liệu:

Chào mừng quý thầy cô và các bạn
đến với tiết học hôm nay.
KIỂM TRA BÀI CŨ
1. Nêu cấu trúc của vòng lặp for ?
Vòng lặp for có cấu trúc như sau:
For := to do ;
2.Viết chương trình tính tổng S là tổng các số tự nhiên từ 1 đến 10
program baitap;
var S,i:byte;
begin
S:=0;
for i:=1 to 10 do S:=S+i;
writeln(`S=`,S);
readln
end.
Bài toán: Tìm số nguyên n sao cho tổng các số từ 1 tới n là số nhỏ nhất lớn hơn 1000



Các em có thể giải bài toán này bằng những câu lệnh mình đã học không?
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ụ 1:SGK/67
Xảy ra 2 tình huống:
Tình huống 1: Bạn Long gọi cho Trang nhưng không có người nhấc máy và bạn Long quyết định gọi thêm 2 lần nữa, nếu không có người nhấc máy sẽ kết thúc cuộc gọi không gọi nữa. Tức là, bạn Long đã xác định (hay biết trước) số lần mình phải gọi điện là 2 lần.
1. Các hoạt động lặp với số lần chưa biết trước
Ví Dụ 1:SGK/67
Tình huống 2: Lần khác bạn Long quyết định sẽ gọi đến khi nào có người bắt máy mới thôi
?bạn Long sẽ lặp đi lặp lại công việc: nhấc máy, quay số, gọi cho Trang, Long không biết trước số lần Long sẽ phải gọi.
? lặp với số lần không xác định. Điều kiện ngưng việc lặp: có người bắt máy
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 2:
Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,.), ta sẽ được các kết quả T1=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?
1. Các hoạt động lặp với số lần chưa biết trước
THUẬT TOÁN:
Kí hiệu S là tổng cần tìm, ta có thuật toán sau:
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.
1. Các hoạt động lặp với số lần chưa biết trước
Nhận xét: Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa biết trước (While.do)
2. Ví dụ về lệnh lặp với số lần chưa biết trước:

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
Trong đó:
- Điều kiện thường là một phép so sánh.
- Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
2. Ví dụ về lệnh lặp với số lần chưa biết trước:


* Câu lệnh này được thực hiện như sau:
B.1: Kiểm tra điều kiện
B.2: Nếu điều kiện Sai, câu lệnh sẽ bị 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 bước 1.
2. Ví dụ về lệnh lặp với số lần chưa biết trước:

*Một số ví dụ:
VD2: Tìm số nguyên n sao cho tổng từ 1 tới n là số nhỏ nhất lớn hơn 1000

Các em hãy dựa vào thuật toán đã xây dựng cho ví dụ 2 ở trên để viết chương trình
2. Ví dụ về lệnh lặp với số lần chưa biết trước:

BÀI TẬP
Hãy xác định những trường hợp sau có phải là trường hợp lặp với số lần chưa biết trước hay không:
Sửa lỗi một đoạn văn bản sau khi đánh máy
Đếm số bước đi từ nhà tới trường
Đếm số giây một học sinh giải một bài toán
Tìm số n sao cho n là số nguyên dương lớn nhất nhỏ hơn 100
Đếm số xe máy chạy ngang qua một đoạn đường trong một ngày
Tính tổng n số nguyên dương với n nhập từ bàn phím
Đếm số lá có trên một cây
Đ
Đ
Đ
S
Đ
S
Đ


Kết Thúc
CHÚC CÁC EM HỌC TỐT
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lương Thị Bích Ngọc
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)