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?.?. Keát thuùc thuaät toaùn ;2[r]
(1)Bài 8:
LẶP VỚI SỐ LẦN
(2)Bài LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
2 NỘI DUNG
(3)Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Nam làm tập làm xong
Cô phải 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 liệu vào máy tính nhập xong
Hoạt động lặp lại?
(4)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 cách viết lại nhiều lần thuộc.
- Con quạ nhặt đá bỏ vào bình cho đến nước tràn ra.
(5)T1 = 1
T2 = + 2
T3 = + + 3 …
Cần cộng số tự nhiên để ta nhận tổng Tn
nhỏ lớn 1000 ?
Điều kiện kết thúc hoạt động lặp?
Điều kiện: Khi tổng Tn nhỏ lớn
1000 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
(6)6 1 Các hoạt động lặp với số lần chưa
biết
THUẬT TỐN:
Kí hiệu S tổng cần tìm, ta có thuật tốn sau:
Bước 1: S 0; n 1;
Bước 2: Nếu S<= 1000,
S S+n;
ngược lại, chuyển tới bước 4;
Bước 3: n n+1 và quay lại bước 2;
Bước 4: In kết S n số tự nhiên nhỏ
nhất cho S > 1000 Kết thúc thuật toán;
(7)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 T1 = Đúng
2 T2 = + Đúng
Đúng
… … …
?
Tn = + + + … +? (Sao cho Tn nhỏ lớn 1000)
Sai, kết thúc việc tính tổng
3 T3 = + +
(8)8 S<=1000
S ← S + n; n ← n +1;
Đúng
Sai
• Việc thực lặp lại phép cộng với số
(9)While a<=b do
a:=a+1; While a>b Begin
a:=a-1; b:=b+2; End;
Trong : While, do: 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 câu lệnh ghép
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
2 Ví dụ lệnh lặp với số lần chưa biết trước
VD1: Trong a bé hoặc b a tăng lên đơn vị
(10)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?
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(11)2 Ví dụ 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:
(12)VD: Dùng câu lệnh lặp While … Do để viết chương trình thể thuật tốn Ví dụ (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 cho S>1000
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(13)Lưu ý:
- Mỗi câu hỏi có 30 giây để suy nghĩ.
- Sau 30 giây giáo viên gọi học sinh để
trả lời Nếu trả lời điểm cộng.
- Học sinh khác bổ sung ý kiến học sinh trước trả lời sai.
Bài tập
(14)A
A Tính tổng số tự nhiên từ đến 20
B
B Nhập số nguyên từ bàn phím đủ 50 số
D
D Nhập vào số số nhập vào số chẵn dừng
C
C Mỗi ngày học lần
30 29282610111213141516171819202122232425279876543210
(15)a) X:= 10;
While X:= 10 X:= X + 5; b) X:= 10;
While X = 10 X = X + 5; c) S:= 0; n:=0;
While S <= 10 n:= n + 1; S:= S + n ;
Thừa dấu :
Thiếu dấu :
Thiếu Begin Thiếu End;
(16)In số từ đến 9 In số từ đến 9
In số từ đến 10 In số từ đến 10
In số 1 In số 1
Không phương án đúng Không phương án đúng
A A B B C C D D
Câu 3: Câu lệnh sau cho kết gì?
S:=1;
While s < 10 Begin
writeln(s); s:=s+1; end;
(17)B 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 ROÀI! SAI ROÀI! Sai rồi
Câu 4: Thuật tốn sau thực vịng lặp? Khi kết
thúc giải thuật S bao nhiêu?
- Bước 1: S 10, x 2.
- Bước 2: Nếu S chuyển tới bước 4. - Bước 3: S S – x quay lại bước 2.
- Bước 4: Thông báo S kết thúc thuật toán.
(18)- Các hoạt động lặp với số lần chưa biết trước
phụ thuộc vào điều kiện cụ thể dừng lại đ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> <câu lệnh>;
(19)Baøi 8: LẶ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
Dặn dị
- Tìm thêm vài ví dụ hoạt động lặp với số lần chưa biết trước.