Tìm kiếm Bài giảng
Bài 8. Lặp với số lần chưa biết trước

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Lê Minh Xuân
Ngày gửi: 22h:09' 29-10-2021
Dung lượng: 23.8 MB
Số lượt tải: 623
Nguồn:
Người gửi: Lê Minh Xuân
Ngày gửi: 22h:09' 29-10-2021
Dung lượng: 23.8 MB
Số lượt tải: 623
Số lượt thích:
0 người
LỚP 8
MÔN HỌC: TIN HỌC
BÀI HỌC: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
NHẮC LẠI KIẾN THỨC CŨ
- Hãy nêu cú pháp câu lệnh lặp For … to … do
- Bài toán: Tính tổng 10 số tự nhiên đầu S = 1 + 2 + 3 + … + 10
Điền vào chỗ trống (…) theo các yêu cầu sau:
1
10
For:= to do ;
a) Việc thực hiện phép cộng được lặp lại bao nhiêu lần? ………………………......
b) Điều kiện dừng: ……………………………….
c) Đây là bài toán lặp với số lần:
Biết trước
Không biết trước
10 lần
đủ 10 phép cộng
2
Quan sát một số hoạt động sau:
- Các bạn học sinh lượm rác ở công viên.
- Nam học từ vựng tiếng Anh bằng cách viết lại nhiều lần cho đến khi thuộc.
Đây là các hoạt động lặp với số lần:
Biết trước
Chưa biết trước
- Con quạ gấp đá bỏ vào bình cho đến khi nước tràn ra.
2 November 2021
3
Đối với các hoạt động lặp với số lần biết trước, ta đã có câu lệnh For … do để viết chương trình.
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
NỘI DUNG
1. Lệnh lặp với số lần chưa biết trước
2. Lặp vô hạn lần - Lỗi lập trình cần tránh
4
1. Lệnh 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
Nếu cộng lần lượt n số tự nhiên (n = 1, 2, 3,…) thì ta được các kết quả:
S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
…
S? = 1 + 2 + 3 + 4 + 5 + …
để được tổng Sn nhỏ nhất lớn hơn 1000?
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Sn nhỏ nhất lớn hơn 1000?
Chưa thể biết trước được
(n = 1)
(n = 2)
(n = 3)
(n = ?)
Ví dụ:
2 November 2021
5
1. Lệnh 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
Nếu cộng lần lượt n số tự nhiên (n = 1, 2, 3,…) thì ta được các kết quả:
S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
…
S? = 1 + 2 + 3 + 4 + 5 + …
để được tổng Sn nhỏ nhất lớn hơn 1000?
(n = 1)
(n = 2)
(n = 3)
(n = ?)
Ví dụ:
Điều kiện: Khi tổng Sn > 1000 thì kết thúc hoạt động lặp
Điều kiện như thế nào thì kết thúc hoạt động lặp?
6
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1
S1 = 1
Đúng
2
S2 = 1 + 2
Đúng
Đúng
…
…
…
?
Sn = 1 + 2 + 3 + … +? (Sao cho Sn nhỏ nhất lớn hơn 1000)
Sai (Sn > 1000)
Kết thúc việc tính tổng
3
S3 = 1 + 2 + 3
1. Lệnh lặp với số lần chưa biết trước
Ví dụ: Tính tổng n số tự nhiên đầu tiên (n = 1, 2, 3,…) cho đến khi nhận được tổng S nhỏ nhất lớn hơn 1000?
* Kiểm tra:
Khởi tạo S = 0 ; n = 0 ;
(S = S + n)
Kết quả là: n = 45 và S = 1035
7
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. Lệnh lặp với số lần chưa biết trước
Ví dụ: Tính tổng n số tự nhiên đầu tiên (n = 1, 2, 3,…) cho đến khi nhận được tổng S nhỏ nhất lớn hơn 1000?
Thuật toán:
Kí hiệu S là tổng cần tìm, ta có:
Bước 1: S 0; n 0;
Bước 2: Nếu S <= 1000, thì chuyển bước 3; Ngược lại (S > 1000) thì chuyển tới bước 4.
Bước 3: n n+1; 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.
8
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
n ← n +1;
S ← S + n;
Sai
Đúng
Kết thúc lặp
Việc thực hiện lặp lại các phép cộng trên với số lần chưa biết trước phụ thuộc vào một điều kiện, vậy điều kiện đó là gì? Phép cộng chỉ dừng lại khi nào?
Phụ thuộc vào điều kiện:
S <= 1000
Chỉ dừng lại khi:
Điều kiện SAI
9
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
n ← n +1;
S ← S + n;
Sai
Đúng
Kết thúc lặp
Phụ thuộc vào:
Điều kiện
Chỉ dừng lại khi:
Điều kiện SAI
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào gì và chỉ dừng lại khi nào?
Câu lệnh
10
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
S ← S + n;
n ← n +1;
Sai
Đúng
Kết thúc lặp
Phụ thuộc vào:
Điều kiện
Chỉ dừng lại khi:
Điều kiện SAI
Câu lệnh
- 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.
(phép so sánh)
11
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. 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 xác định trước có dạng:
While <điều kiện> do;
Trong đó:
While, do: là các từ khóa;
Đ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 hay câu lệnh ghép.
12
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Câu lệnh
Sai
Đúng
Kết thúc lặp
Câu lệnh này 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 ĐÚNG, thực hiện câu lệnh và quay lại bước 1.
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.
Dựa vào sơ đồ khối, hãy
phát biểu hoạt động của câu
lệnh lặp với số lần
chưa biết trước?
13
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. 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 xác định trước có dạng:
While <điều kiện> do;
Trong đó:
While, do: là các từ khóa;
Đ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 hay câu lệnh ghép.
Hoạt động của câu lệnh lặp While … do: (SGK)
14
Ví dụ 2:
S:=0 ; i:= 1;
While i <= 100 do
begin
s:= s + i ;
i:= i + 1 ;
end;
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. Lệnh lặp với số lần chưa biết trước
Ví dụ 1:
While a = b do write(‘b khong khac a’);
Điều kiện
Câu lệnh đơn
S:=0 ; i:= 1;
While i <= 100 do
begin
s:= s + i ;
i:= i + 1 ;
end;
Điều kiện
Câu lệnh ghép
2 November 2021
15
x := 10;
while x := 10 do x:= x + 5;
HOẠT ĐỘNG NHÓM ĐÔI
Trong các câu lệnh Pascal sau đây, câu lệnh nào sai và sai ở đâu?
b) x:= 10;
while x = 10 do x = x + 5;
d) S:= 0; n:=0;
while S <= 10 do n:= n + 1; S:= S + n ;
Dư dấu : (ở điều kiện)
x := 10;
while x := 10 do x:= x + 5;
Thiếu dấu : (ở câu lệnh)
c) While a <= b do ; write(‘b khong nho hon a’)
Dư dấu ; sau do
Thiếu end
Thiếu dấu ; cuối câu
Thiếu begin
16
CÂU HỎI VÀ BÀI TẬP
Câu 1: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp biết trước và câu lệnh lặp với số lần lặp chưa biết trước.
1) Chạy quanh sân trường đủ 2 vòng thì nghỉ.
2) Chạy quanh sân trường nhiều vòng cho đến khi mệt thì nghỉ.
Chạy bao nhiêu vòng: ………………………………….
Điều kiện dừng: ………...................................................
Đây là bài toán lặp với ………………………………...
2 vòng
đã chạy đủ 2 vòng
số lần biết trước
Chạy bao nhiêu vòng: ………………………………….
Điều kiện dừng: ………...................................................
Đây là bài toán lặp với ………………………………...
Chưa biết trước
mệt
số lần chưa biết trước
17
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 2: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?
18
In ra cc s? t? 1 d?n 5
In ra cc s? t? 1 d?n 6
In ra cc s? 1
Khơng phuong n no dng.
Câu 3: Đoạn lệnh sau cho kết quả là gì?
s:=1; While s < 6 do
Begin write(s:2); s:=s+1; end;
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
19
GHI NHỚ
1. 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 đó:
While, do: là các từ khóa;
Đ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 hay câu lệnh ghép.
2. Hoạt động của câu lệnh lặp While … do:
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1. 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.
20
21
2. Lặp vô hạn lần - Lỗi lập trình cần tránh
HƯỚNG DẪN VỀ NHÀ
Học bài theo vở ghi và xem lại các bài tập đã làm.
Xem trước các ví dụ 2, 4 và mục 2 của bài.
Đọc trước phần Tìm hiểu mở rộng.
Làm các bài tập 3, 4 SGK trang 66 - 67.
22
Bài học đến đây là kết thúc!
Kính chúc quý thầy cô và các em học sinh nhiều sức khỏe!
2 November 2021
23
Câu 3: Đoạn lệnh sau cho kết quả là gì?
s:=1; While s < 6 do
Begin write(s:2); s:=s+1; end;
S = 3 < 6 (đúng) in số 3 ra màn hình; S = 3 + 1 = 4;
S = 4 < 6 (đúng) in số 4 ra màn hình; S = 4 + 1 = 5;
S = 5 < 6 (đúng) in số 5 ra màn hình; S = 5 + 1 = 6;
S = 6 < 6 (sai) kết thúc
Vậy kết quả là: In ra màn hình các số từ 1 đến 5
(đúng)
S = 1
S + 1 = 1 + 1 = 2;
< 6
in số 1 ra màn hình;
in số 2 ra màn hình;
S = 2 < 6
(đúng)
S = 2 + 1 = 3;
24
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, thì chuyển bước 3;
Ngược lại (S > 1000) thì chuyển tới bước 4.
Bước 3: n n+1; 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.
Ví dụ: Tính tổng n số tự nhiên đầu tiên (n = 1, 2, 3,…) cho đến khi nhận được tổng S nhỏ nhất lớn hơn 1000?
25
26
Chương trình Pascal
Var S, n : integer;
Begin
S:=0; n:=0;
While S<=1000 do
Begin
n:= n + 1;
S:= S + n;
end;
writeln(‘Voi n = ‘,n:2,’ ta co tong
dau tien > 1000 la: ‘,S);
readln
End.
MÔN HỌC: TIN HỌC
BÀI HỌC: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
NHẮC LẠI KIẾN THỨC CŨ
- Hãy nêu cú pháp câu lệnh lặp For … to … do
- Bài toán: Tính tổng 10 số tự nhiên đầu S = 1 + 2 + 3 + … + 10
Điền vào chỗ trống (…) theo các yêu cầu sau:
1
10
For
a) Việc thực hiện phép cộng được lặp lại bao nhiêu lần? ………………………......
b) Điều kiện dừng: ……………………………….
c) Đây là bài toán lặp với số lần:
Biết trước
Không biết trước
10 lần
đủ 10 phép cộng
2
Quan sát một số hoạt động sau:
- Các bạn học sinh lượm rác ở công viên.
- Nam học từ vựng tiếng Anh bằng cách viết lại nhiều lần cho đến khi thuộc.
Đây là các hoạt động lặp với số lần:
Biết trước
Chưa biết trước
- Con quạ gấp đá bỏ vào bình cho đến khi nước tràn ra.
2 November 2021
3
Đối với các hoạt động lặp với số lần biết trước, ta đã có câu lệnh For … do để viết chương trình.
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
NỘI DUNG
1. Lệnh lặp với số lần chưa biết trước
2. Lặp vô hạn lần - Lỗi lập trình cần tránh
4
1. Lệnh 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
Nếu cộng lần lượt n số tự nhiên (n = 1, 2, 3,…) thì ta được các kết quả:
S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
…
S? = 1 + 2 + 3 + 4 + 5 + …
để được tổng Sn nhỏ nhất lớn hơn 1000?
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Sn nhỏ nhất lớn hơn 1000?
Chưa thể biết trước được
(n = 1)
(n = 2)
(n = 3)
(n = ?)
Ví dụ:
2 November 2021
5
1. Lệnh 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
Nếu cộng lần lượt n số tự nhiên (n = 1, 2, 3,…) thì ta được các kết quả:
S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
…
S? = 1 + 2 + 3 + 4 + 5 + …
để được tổng Sn nhỏ nhất lớn hơn 1000?
(n = 1)
(n = 2)
(n = 3)
(n = ?)
Ví dụ:
Điều kiện: Khi tổng Sn > 1000 thì kết thúc hoạt động lặp
Điều kiện như thế nào thì kết thúc hoạt động lặp?
6
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1
S1 = 1
Đúng
2
S2 = 1 + 2
Đúng
Đúng
…
…
…
?
Sn = 1 + 2 + 3 + … +? (Sao cho Sn nhỏ nhất lớn hơn 1000)
Sai (Sn > 1000)
Kết thúc việc tính tổng
3
S3 = 1 + 2 + 3
1. Lệnh lặp với số lần chưa biết trước
Ví dụ: Tính tổng n số tự nhiên đầu tiên (n = 1, 2, 3,…) cho đến khi nhận được tổng S nhỏ nhất lớn hơn 1000?
* Kiểm tra:
Khởi tạo S = 0 ; n = 0 ;
(S = S + n)
Kết quả là: n = 45 và S = 1035
7
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. Lệnh lặp với số lần chưa biết trước
Ví dụ: Tính tổng n số tự nhiên đầu tiên (n = 1, 2, 3,…) cho đến khi nhận được tổng S nhỏ nhất lớn hơn 1000?
Thuật toán:
Kí hiệu S là tổng cần tìm, ta có:
Bước 1: S 0; n 0;
Bước 2: Nếu S <= 1000, thì chuyển bước 3; Ngược lại (S > 1000) thì chuyển tới bước 4.
Bước 3: n n+1; 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.
8
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
n ← n +1;
S ← S + n;
Sai
Đúng
Kết thúc lặp
Việc thực hiện lặp lại các phép cộng trên với số lần chưa biết trước phụ thuộc vào một điều kiện, vậy điều kiện đó là gì? Phép cộng chỉ dừng lại khi nào?
Phụ thuộc vào điều kiện:
S <= 1000
Chỉ dừng lại khi:
Điều kiện SAI
9
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
n ← n +1;
S ← S + n;
Sai
Đúng
Kết thúc lặp
Phụ thuộc vào:
Điều kiện
Chỉ dừng lại khi:
Điều kiện SAI
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào gì và chỉ dừng lại khi nào?
Câu lệnh
10
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
S ← S + n;
n ← n +1;
Sai
Đúng
Kết thúc lặp
Phụ thuộc vào:
Điều kiện
Chỉ dừng lại khi:
Điều kiện SAI
Câu lệnh
- 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.
(phép so sánh)
11
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. 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 xác định trước có dạng:
While <điều kiện> do
Trong đó:
While, do: là các từ khóa;
Đ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 hay câu lệnh ghép.
12
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Câu lệnh
Sai
Đúng
Kết thúc lặp
Câu lệnh này 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 ĐÚNG, thực hiện câu lệnh và quay lại bước 1.
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.
Dựa vào sơ đồ khối, hãy
phát biểu hoạt động của câu
lệnh lặp với số lần
chưa biết trước?
13
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. 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 xác định trước có dạng:
While <điều kiện> do
Trong đó:
While, do: là các từ khóa;
Đ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 hay câu lệnh ghép.
Hoạt động của câu lệnh lặp While … do: (SGK)
14
Ví dụ 2:
S:=0 ; i:= 1;
While i <= 100 do
begin
s:= s + i ;
i:= i + 1 ;
end;
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. Lệnh lặp với số lần chưa biết trước
Ví dụ 1:
While a = b do write(‘b khong khac a’);
Điều kiện
Câu lệnh đơn
S:=0 ; i:= 1;
While i <= 100 do
begin
s:= s + i ;
i:= i + 1 ;
end;
Điều kiện
Câu lệnh ghép
2 November 2021
15
x := 10;
while x := 10 do x:= x + 5;
HOẠT ĐỘNG NHÓM ĐÔI
Trong các câu lệnh Pascal sau đây, câu lệnh nào sai và sai ở đâu?
b) x:= 10;
while x = 10 do x = x + 5;
d) S:= 0; n:=0;
while S <= 10 do n:= n + 1; S:= S + n ;
Dư dấu : (ở điều kiện)
x := 10;
while x := 10 do x:= x + 5;
Thiếu dấu : (ở câu lệnh)
c) While a <= b do ; write(‘b khong nho hon a’)
Dư dấu ; sau do
Thiếu end
Thiếu dấu ; cuối câu
Thiếu begin
16
CÂU HỎI VÀ BÀI TẬP
Câu 1: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp biết trước và câu lệnh lặp với số lần lặp chưa biết trước.
1) Chạy quanh sân trường đủ 2 vòng thì nghỉ.
2) Chạy quanh sân trường nhiều vòng cho đến khi mệt thì nghỉ.
Chạy bao nhiêu vòng: ………………………………….
Điều kiện dừng: ………...................................................
Đây là bài toán lặp với ………………………………...
2 vòng
đã chạy đủ 2 vòng
số lần biết trước
Chạy bao nhiêu vòng: ………………………………….
Điều kiện dừng: ………...................................................
Đây là bài toán lặp với ………………………………...
Chưa biết trước
mệt
số lần chưa biết trước
17
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 2: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước?
18
In ra cc s? t? 1 d?n 5
In ra cc s? t? 1 d?n 6
In ra cc s? 1
Khơng phuong n no dng.
Câu 3: Đoạn lệnh sau cho kết quả là gì?
s:=1; While s < 6 do
Begin write(s:2); s:=s+1; end;
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
19
GHI NHỚ
1. 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 đó:
While, do: là các từ khóa;
Đ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 hay câu lệnh ghép.
2. Hoạt động của câu lệnh lặp While … do:
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1. 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.
20
21
2. Lặp vô hạn lần - Lỗi lập trình cần tránh
HƯỚNG DẪN VỀ NHÀ
Học bài theo vở ghi và xem lại các bài tập đã làm.
Xem trước các ví dụ 2, 4 và mục 2 của bài.
Đọc trước phần Tìm hiểu mở rộng.
Làm các bài tập 3, 4 SGK trang 66 - 67.
22
Bài học đến đây là kết thúc!
Kính chúc quý thầy cô và các em học sinh nhiều sức khỏe!
2 November 2021
23
Câu 3: Đoạn lệnh sau cho kết quả là gì?
s:=1; While s < 6 do
Begin write(s:2); s:=s+1; end;
S = 3 < 6 (đúng) in số 3 ra màn hình; S = 3 + 1 = 4;
S = 4 < 6 (đúng) in số 4 ra màn hình; S = 4 + 1 = 5;
S = 5 < 6 (đúng) in số 5 ra màn hình; S = 5 + 1 = 6;
S = 6 < 6 (sai) kết thúc
Vậy kết quả là: In ra màn hình các số từ 1 đến 5
(đúng)
S = 1
S + 1 = 1 + 1 = 2;
< 6
in số 1 ra màn hình;
in số 2 ra màn hình;
S = 2 < 6
(đúng)
S = 2 + 1 = 3;
24
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, thì chuyển bước 3;
Ngược lại (S > 1000) thì chuyển tới bước 4.
Bước 3: n n+1; 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.
Ví dụ: Tính tổng n số tự nhiên đầu tiên (n = 1, 2, 3,…) cho đến khi nhận được tổng S nhỏ nhất lớn hơn 1000?
25
26
Chương trình Pascal
Var S, n : integer;
Begin
S:=0; n:=0;
While S<=1000 do
Begin
n:= n + 1;
S:= S + n;
end;
writeln(‘Voi n = ‘,n:2,’ ta co tong
dau tien > 1000 la: ‘,S);
readln
End.
 








Các ý kiến mới nhất