Violet
Baigiang

Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Bài giảng

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

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(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
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.
468x90
 
Gửi ý kiến