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

Chia sẻ bởi Thcs Lê Quang Sung | Ngày 24/10/2018 | 41

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:

TIN HỌC
Chào mừng phòng GD&ĐT Duy Xuyên về thăm lớp
Lớp 8
Trường: THCS Lê Quang Sung
GV: Nguyễn Thị Mỹ Hạnh
Vd1: Viết chương trình tính tổng các số tự nhiên từ 1 đến 100
S = 1 + 2 + 3 + . . .+100
Lặp 100 lần
Hãy quan sát
Vd2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại. Tính tổng các số vừa nhập.
Chưa biết lặp mấy lần
Lặp với số lần biết trước, sử dụng câu lệnh lặp For…Do để viết chương trình
Lặp với số lần chưa biết trước, sử dụng câu lệnh gì để viết chương trình?
 Nam làm bài tập cho đến khi làm xong.
 Cô ấy phải đi bộ như vậy cho đến khi về tới nhà.
Em hãy cho những ví dụ về hoạt động lặp với số lần chưa biết trước?
I. Các hoạt động lặp với số lần chưa biết trước:
 Tôi phải nhập dữ liệu vào máy tính cho đến khi nhập xong.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
Vd1(Sgk):
Long sẽ lặp lại hoạt động gọi điện mấy lần?
I. Các hoạt động lặp với số lần chưa biết trước:
Điều kiện để kết thúc hoạt động lặp là gì?
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 nào có người nhấc máy.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
- Chưa thể biết trước được số lần lặp.
- Khi có người nhấc máy.
T1 = 1
T2 = 1 + 2
T3 = 1 + 2 + 3
....
Vd2(Sgk):
I. Các hoạt động lặp với số lần chưa biết trước:
Điều kiện như thế nào thì kết thúc hoạt động lặp?
tăng dần
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…), ta sẽ được kết quả:
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
I. Các hoạt động lặp với số lần chưa biết trước:
1
T1 = 1
Đúng
2
T2 = 1 + 2
Đúng
Đúng



?
Tn = 1 + 2 + 3 + … +? (Sao cho Tn nhỏ nhất lớn hơn 1000)
Sai, kết thúc việc tính tổng
3
T3 = 1 + 2 + 3
Phân tích bài toán:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
Thảo luận nhóm 2 phút và tìm ra thuật toán cho bài toán trên?
Bước 1:
Bước 2:
Bước 3:
Bước 4:
S  0, n  0.
Nếu S≤1000, n  n+1; Ngược lại, chuyển tới bước 4.
S  S + n và quay lại bước 2.
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.
I. Các hoạt động lặp với số lần chưa biết trước:
Kí hiệu S là tổng cần tìm và ta có thuật toán như sau:
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào cái gì và chỉ dừng lại khi nào?
* Có thể diễn tả bài toán trên bằng sơ đồ như sau:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
Phụ thuộc vào điều kiện (S≤1000 ) và chỉ dừng lại khi S>1000

I. Các hoạt động lặp với số lần chưa biết trước:
Quan sát sơ đồ khối sau:
- Để chỉ dẫn máy tính thực hiện các hoạt động lặp 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
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:

II. Ví dụ về lệnh lặp với số lần chưa biết trước:
Vd1: While a<=b do a:=a+1;
Vd2: While S<=10 do
Begin
n:=n-1;
S:=S+n;
End;
Trong đó : a<=b là điều kiện. a:=a+1là câu lệnh(câu lệnh đơn).
Trong đó : S<=10 là điều kiện.
Begin N:=n-1; S:=S+n; end; là câu lệnh (câu lệnh ghép thì phải có begin….end;).
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
I. Các hoạt động lặp với số lần chưa biết trước:

Hãy nêu cú pháp của câu lệnh while do?
II. Ví dụ về lệnh lặp với số lần chưa biết trước:
Điều kiện: thường là một phép so sánh.
Câu lệnh: là môt câu lệnh trong Pascal (có thể là câu lệnh đơn hay câu lệnh ghép)
While <điều kiện> do ;
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
I. Các hoạt động lặp với số lần chưa biết trước:

Vd3: While i<=100 do
Begin
T:=T+1/i;
i:=i+1;
End;
While, do: là các từ khóa
Vd4: Dùng câu lệnh lặp While … Do để viết chương trình thể hiện thuật toán trong Ví dụ 2 (Sgk)
Begin
end;
End.
Tiết 49:
Program vd4:
Var S,n:Integer;
Begin
S:=0; n:=1;
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 lon hon n la ‘,S);
Readln;
End.
II. Ví dụ về lệnh lặp với số lần chưa biết trước:
I. Các hoạt động lặp với số lần chưa biết trước:
Sử dụng câu lệnh ghép
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Vd5: Để viết chương trình tính tổng:
Begin
begin
end;
End.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
II. Ví dụ về lệnh lặp với số lần chưa biết trước:
I. Các hoạt động lặp với số lần chưa biết trước:
sử dụng for…do:
sử dụng while…do
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
T:=0;
i:=1;
while i<=100 do
begin T:=T+1/i; i:=i+1 end;
writeln(T);
Nhận xét : Qua ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…to…do.
Học sinh thảo luận
BÀI TẬP
Câu 1
Câu 2
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Câu 1: Hoạt động nào sau đây lặp với số lần chưa biết trước?
a) X:= 10; while X:= 10 do X:= X + 5;
b) X:= 10; while X = 10 do X = X + 5;
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;

Câu 2: Hãy chỉ ra lỗi sai trong các câu sau:
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
- Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể và chỉ dừng lại khi điều kiện đó sai.
GHI NHỚ
- 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 ;
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
DẶN DÒ
- Về nhà học bài và làm bài tập 3, 5 Sgk trang 71.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 49:
* 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ẻ: Thcs Lê Quang Sung
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)