Bài giảng Tin học lớp 8 bài 8 Lặp với số lần chưa biết trước được biên soạn để giúp các em học sinh lớp 8 nắm được nội dung bài học gồm: các hoạt động lặp với số lần chưa biết trước; ví dụ về lệnh lặp với số lần chưa biết trước; lặp vô hạn lần – Lỗi lập trình cần tránh;... Mời thầy cô và các em cùng tham khảo chi tiết bài giảng tại đây.
Trang 1Bài 8:
Trang 2Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
2
1 Các hoạt động lặp với số lần chưa biết trước
2 Ví dụ về lệnh lặp với số lần chưa biết trước
3 Lặp vô hạn lần – Lỗi lập trình cần tránh
Trang 3L P V I S L N CH A BI T TRẶ Ớ Ố Ầ Ư Ế ƯỚC
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à.
1. 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
Ho t đ ng nào đ ạ ộ ượ c
l p l i? ặ ạ
Ho t đ ng s k t thúc ạ ộ ẽ ế
khi nào?
Trang 41 Các hoạt động lặp với số lần chưa
biết
- Các bạn học sinh nhặt 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
- Con quạ nhặt đá bỏ vào bình cho
đến khi nước tràn ra
Các em hãy cho thêm nh ng ữ
ví d v ho t đ ng l p v i ụ ề ạ ộ ặ ớ
s l n ch a bi t tr ố ầ ư ế ướ c?
Trang 5T2 = 1 + 2
T3 = 1 + 2 + 3
…
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 nh th nào thì ề ệ ư ế
k t thúc ho t đ ng l p?ế ạ ộ ặ
Đ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ạ ộ ặ
tăng d nầ
1 Các hoạt động lặp với số lần chưa biết
Ví dụ 2: N u c ng l n l ế ộ ầ ượ t n s t nhiên đ u ố ự ầ tiên
(n=1,2,3,…), ta đ ượ c các k t qu ế ả
Trang 61 Các hoạt động lặp với số lần chưa biết
THUẬT TOÁN:
Kí hiệu S là tổng cần tìm, ta có thuật toán sau:
u Bước 1: S 0; n 1;
u Bước 2: Nếu S<= 1000,
S S+n;
ngược lại, chuyển tới bước 4;
u Bước 3: n n+1 và quay lại bước 2;
u 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;
Em hãy vi t thu t tốn ế ậ
cho ví d trên? ụ
Trang 71. Các ho t đ ng l p v i s l n ch a bi t ạ ộ ặ ớ ố ầ ư ế
tr ướ c:
n T ng Tnổ Đi u ki n Tn ≤ 1000ề ệ
Đú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 ổ
Phân tích bài toán:
Trang 8S<=1000
S ← S + n;
n ← n +1;
Đúng
Sai
• 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 điều kiện gì?
Phép cộng chỉ dừng khi nào?
Trang 9While a<=b do
a:=a+1; While a>b do
Begin a:=a-1;
b:=b+2;
End;
Trong đó : While , do: là các t khóa ừ
Đi u ki n: ề ệ là a>b (ch a phép so sánh) ứ
Câu l nh:ệ câu l nh đ n ho c câu lênh ghe p ệ ơ ặ ̣ ́
Bài 8:
L P V I S L N CH A BI T TRẶ Ớ Ố Ầ Ư Ế ƯỚC
2. Ví d v l nh l p v i s l n ch a bi t tr ụ ề ệ ặ ớ ố ầ ư ế ướ c VD1: Trong khi a bé h n ơ
ho c b ng b thì a tăng ặ ằ
lên 1 đ n vơ ị
VD2: Trong khi a l n ớ
h n b thì a gi m ơ ả
xu ng 1 đ n v , b tăng ố ơ ị lên 2 đ n v ơ ị
Trang 10Be g in
b e g in
e n d ;
En d
Hã y n ê u Cú Ph á p c â u l n h ệ
l p v i s l n c h a b i t ặ ớ ố ầ ư ế
t rước ?
Bài 8:
L P V I S L N CH A BI T TRẶ Ớ Ố Ầ Ư Ế ƯỚC
2. Ví d v l nh l p v i s l n ch a bi t tr ụ ề ệ ặ ớ ố ầ ư ế ướ c
Trang 112 Ví dụ về lệnh lặp với số lần chưa biết
trước
11
Chú ý : Trong trường h p ợ câu l nhệ ghép:
While <đi u ki nề ệ > do
Begin
câu l nh 1; ệ câu l nh 2; ệ
…
End;
WHILE < đi u ki n ề ệ > DO < câu l nh ệ >;
Cú pháp:
Bài 8. L P V I S L N CH A BI T TR Ặ Ớ Ố Ầ Ư Ế ƯỚ C
Trang 12VD: 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)
v a r S ,n :
in t e g e r;
Be g
inS := 0 ;
n := 0 ;w h ile
S < = 1 0 0 0b e g d o
in n := n + 1 ;
S := S + n ;
e n
d ;
w rit e (‘Ke t q u a la : ’, S );
Re a d l
n ;
En
d
Tong S= 1035 va 45 la so tu nhien nho nha sao cho
S>1000
Bài 8:
L P V I S L N CH A BI T TRẶ Ớ Ố Ầ Ư Ế ƯỚC
2. Ví d v l nh l p v i s l n ch a bi t tr ụ ề ệ ặ ớ ố ầ ư ế ướ c
Trang 13Lưu ý:
- M i m t câu h i s có 30 giây đ suy nghĩ ỗ ộ ỏ ẽ ể
- Sau 30 giây giáo viên s g i 1 h c sinh b t kì đ ẽ ọ ọ ấ ể
tr l i. N u tr l i đúng s đ ả ờ ế ả ờ ẽ ượ c 1 đi m c ng ể ộ
H c sinh khác có th b sung ý ki n n u h c sinh ọ ể ổ ế ế ọ
tr ướ c đó tr l i sai ả ờ .
Bài t p ậ
Trang 14A Tính tổng các số tự nhiên từ 1 đến 20.
B Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
D Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
C Mỗi ngày học bài 2 lần.
3010119876543210
đây, ho t đ ng nào là ho t đ ng v i ạ ộ ạ ộ ớ
s l n ch a bi t tr ố ầ ư ế ướ c?
Trang 15a) 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 ;
Th a ừ
d u ấ :
Thi u d u ế ấ
:
Câu 2: Hãy ch ra l i trong các câu l nh sau đây?ỉ ỗ ệ 3010119876543210
Trang 16In ra các s t 1 đ n 9ố ừ ế
In ra các s t 1 đ n 10ố ừ ế
In ra các s 1ố
Không phương án nào đúng
A
B
C
D
Câu 3: Câu l nh sau đây cho k t qu là gì?ệ ế ả
S:=1;
While s < 10 do
Begin
writeln(s);
s:=s+1;
end;
3010119876543210
Trang 17B. 10 vòng lặp, S=5B. 4 vịng l p, S=4ặ D. 5 vịng l p, S=2ặ
A. 2 vịng l p, S=8ặ C. 3 vịng l p, S=6ặ
SAI RỒI! Sai r i ồ
Khi k t ế
thúc gi i thu t c a S b ng bao nhiêu?ả ậ ủ ằ
Bước 1: S 10, x 2.
Bước 2: N u S ế 5 chuy n t i bể ớ ước 4.
Bước 3: S S – x và quay l i bạ ước 2.
Bước 4: Thơng báo S và k t thúc thu t tốn.ế ậ
3010119876543210
Trang 18- Các hoạt động lặp với số lần chưa biết trước
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 <câu l nh ệ >;
Bài 8:
L P V I S L N CH A BI T TRẶ Ớ Ố Ầ Ư Ế ƯỚC
Trang 19L P V I S L N CH A BI T TRẶ Ớ Ố Ầ Ư Ế ƯỚC
Xem trước VD3, VD4, VD5, Lặp vô hạn lần–Lỗi lập trình cần tránh.
Tìm thêm một vài ví dụ về hoạt động lặp với số lần chưa biết trước.
Về nhà học bài. Làm bài tập 2 Sgk trang 66.