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

Giáo án Powerpoint bài lặp với số lần chưa biết trước, bài giảng điện tử môn Tin học lớp 8

Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
2
NỘI DUNG
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
LẶ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?
sẽ kết thúc khi
nào?
4
1. 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?
T1 = 1
T2 = 1 + 2
T
3 = 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ả
6
1. Các hoạt động lặp với số lần chưa biết
THUAÄT TOAÙN:
Kí hieäu S laø toång caàn tìm, ta coù thuaät toaùn sau:
Böôùc 1: S  0; n 1;
Böôùc 2: Neáu S<= 1000,
S  S+n;
ngöôïc laïi, chuyeån tôùi böôùc 4;
Böôùc 3: n n+1 vaø quay laïi böôùc 2;
Böôùc 4: In keát quaû S vaø n laø soá töï nhieân nhoû
nhaát sao cho S > 1000. Keát thuùc thuaät toaùn;
Em hãy viết thuật toán
cho ví dụ trên?
1. 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

 

1 T
1 = 1
Đúng
2 T
2 = 1 + 2
Đúng
Đúng 3 T
3 = 1 + 2 + 3
? T
n = 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:
8
S<=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?
While 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 ghép.
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ị.
Begin
begin
end;
End.
Hãy nêu Cú Pháp câu lệnh 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
2. Ví dụ về lệnh 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
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;
Cú pháp: WHILE <điều kiện> DO ;
Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
VD: 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)

var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1; S:=S+n ;
end;
write(‘Ket qua la: ’, S);
Readln;
End.
Tong S= 1035 va 45 la so tu nhien nho nha sao cho S>1000

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
Lư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.
Câu 1 Câu 2 Câu 3 Câu 4
A 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.
30 298 67 5 4 3 2 1 0 19 8 7 6 5 4 3 2 1 0 7 69 8 5 4 3 2 1 0
Câu 1: Trong các hoạt động dưới đây,
hoạt động nào là hoạt động 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 ;
Thừa dấu :
Thiếu dấu :
Thiếu Begin Thiếu End;
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây? 30 298 67 5 4 3 2 1 0 19 8 7 6 5 4 3 2 1 0 7 69 8 5 4 3 2 1 0
In 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;
30 298 67 5 4 3 2 1 0 19 8 7 6 5 4 3 2 1 0 7 69 8 5 4 3 2 1 0
B. B.10 4 vòng lặp, S= voøng laëp, S=45

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 ROÀI! SAI ROÀI! Sai rồi
Câu 4: Thuật toán sau khi thực hiện vòng lặp? 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 toán.
30 298 67 5 4 23 22 1 0 19 8 7 6 5 4 3 2 1 0 7 69 8 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.
- 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
- Xem tröôùc VD3, VD4, VD5, Laëp voâ haïn
laàn–Loãi laäp trình caàn traùnh.
- Tìm theâm moät vaøi ví duï veà hoaït ñoäng laëp vôùi
soá laàn chöa bieát tröôùc.
- Veà nhaø hoïc baøi. Laøm baøi taäp 2 Sgk trang 66.

Xem nhiều