* Có thể diễn tả bài toán trên bằng sơ Sơ đồ khối Các hoạt động lặp với số lần đồ như sau: chưa biết trước phụ thuộc vào Sai cái gì và chỉ dừng lại khi nào?... Ví dụ về lệnh lặp với số l[r]
Trang 1Giáo viên:
Phan Thế Dục
Trang 2KIỂM TRA BÀI CŨ:
• Câu hỏi: Nêu cú pháp của câu lệnh lặp với số lần biết trước trong
Pascal: for to do?
TRẢ LỜI:
Trang 3Cú pháp câu lệnh lặp For…Do
For <biến đếm>:=<giá trị đầu> to <giá trị
cuối> do <câu lệnh>;
Trong đó:
For, to, do : là các từ khóa
<biến đếm>: là biến có kiểu dữ liệu nguyên
<gt đầu>, <gt cuối>: là các số nguyên
<câu lệnh>: có thể là lệnh đơn hoặc lệnh
ghép.
Trang 4VD1: Viết chương trình
tính tổng các số tự
nhiên từ 1 đến 100
S = 1 + 2 + 3 +
.+100
Lặp 100 lần
Lặp với số lần biết trước ,
sử dụng câu lệnh lặp
For…Do để viết chương
trình
VD2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại Tính tổng các số vừa nhập.
Chưa biết lặp
mấy lần
Lặp với số lần chưa biết trước ,
sử dụng câu lệnh gì để viết chương trình?
Trang 61 Các hoạt động lặp với số lần chưa
biết trước
Ví dụ 1: Một ngày chủ nhật, bạn Long gọi điện cho Trang Không có ai nhấc máy Long quyết định gọi thêm hai lần nữa Nếu vẫn không có ai nhấc máy thì chắc là không có ai ở nhà Như vậy Long đã biết
trước là mình sẽ lặp lại hoạt động gọi điện thêm hai lần Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi nào có người nhấc máy.
Trang 7?Lần nàyLong sẽ lặp lại hoạt động gọi mấy lần?
?Điều kiện để kết thúc hoạt động lăp là gì?
Trả lời:
-Long chưa biết được sẽ lặp lại hoạt
động gọi điện mấy lần.
-Điều kiện kết thúc hoạt động lặp là cĩ
người nhấc máy
Trang 8Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1, 2, 3,…), Ta sẽ được các kết
quả T1=1, T2=1+2, T3=1+2+3,… tăng dần Cần cộng bao nhiêu số tự nhiên đầu tiên dể ta nhân được tổng Tn nhỏ nhất lớn hơn 1000 ?
Trang 9… tăng dần
Đ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 T n nhỏ
nhất lớn hơn 1000 thì kết
thúc hoạt động lặp
Trang 10 Phân tích bài toán:
n Tổng T n Điều kiện T n ≤ 1000
1 T1 = 1 Đúng
2 T2 = 1 + 2 Đúng
3 T
3 = 1 + 2 + 3 Đúng
? T+? (Sao cho Tn = 1 + 2 + 3 + … n nhỏ
nhất lớn hơn 1000)
Sai, kết thúc việc tính tổng
Trang 11Kí hiệu S là tổng cần tìm và ta có
thuật toán như sau:
S 0, n 0.
Nếu S≤1000, n n+1; Ngược lại,
chuyển tới bước 4.
S S + n và quay lại bước 2.
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.
Trang 12Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào cái gì và chỉ dừng lại khi nào?
* Có thể diễn tả bài toán trên bằng sơ
đồ như sau:
n n+1;
S S+n;
Đúng
Câu lệnh
Đúng
Sơ đồ khối
Trang 13• Trong Pascal, cú pháp 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> ;
• Trong đó:
• Đ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 giản hay câu lệnh ghép
2 Ví dụ về lệnh lặp với số lần chưa biết trước
13 Phan Thế DụcLop8.net
Trang 14* Câu lệnh lặp này được 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 SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại
bước 1
* Ý nghĩa: Trong khi <điều kiện> còn đúng thì
thực hiên <câu lệnh>
Trang 15SƠ ĐỒ KHỐI
Điều kiện
Câu lệnh
Đúng
Sai
Trang 16VD1: While a<=b do a:=a+1;
sánh)
Trang 17VD2: While a>b do
Begin write(‘a>b’); a:=a-1;
End;
F 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 là Write(‘a>b’) và a:=a-1 (câu lệnh ghép).
Trang 18•Hoạt động nhóm
Câu 1 : 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? Vì sao?
đủ 50 số.
chẵn thì dừng.
Trang 19• Đáp án đúng là: D
biết khi nào mới nhập được số
chẵn
Trang 2020 Phan Thế Dục