Tải bản đầy đủ (.ppt) (19 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (294.64 KB, 19 trang )

04/27/15
Slide 1
TRƯỜNG THCS BA TRINH
Kiểm tra bài cũ
1. Phần mềm Geogebra dùng để làm gì?
2. Vẽ hình tròn ngoại tiếp tam giác
3. Lưu lại với tên duong tron ngoai tiep tam
giac và thoát khỏi chương trình
04/27/15
Slide 2
TRƯỜNG THCS BA TRINH
LẶP VỚI SỐ LẦN CHƯA
BiẾT TRƯỚC
BÀI 8
04/27/15
Slide 3
TRƯỜNG THCS BA TRINH
1. Các hoạt động lặp với số lần chưa
biết trước
-
Gọi điện thoại cho đến khi có người nhấc máy
-
Tính tổng của N số tự nhiên đầu tiên nhỏ nhất lớn hơn
1000
-
Thuật toán
-
Bước 1. S  0, n  0.
-
Bước 2. Nếu S <= 1000, n  n+1; Ngược lại chuyển tới
bước 4.


-
Bước 3. S  S+n và quay lại bước 2.
-
Bước 4. In kết quả, kết thúc
04/27/15
Slide 4
TRƯỜNG THCS BA TRINH
Nói chung, việc lặp lại một
nhóm các hoạt động với số
lần chưa xác định trước
phụ thuộc vào điều kiện cụ
thể có được thỏa mãn hay
không và có thể được mô
tả bằng sơ đồ sau:
04/27/15
Slide 5
TRƯỜNG THCS BA TRINH
2. Ví dụ về lệnh lặp với số lần chưa
biết trước
Cú pháp:
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
While <điều kiện> do <câu lệnh>;
04/27/15
Slide 6
TRƯỜNG THCS BA TRINH
Cách hoạt động của câu lệnh

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à
kết thúc lặp; ngược lại, thực hiện câu lệnh và quay lại
bước 1.
04/27/15
Slide 7
TRƯỜNG THCS BA TRINH
Ví dụ 3. Chúng ta biết rằng, nếu n
(n>0) càng lớn thì càng nhỏ,
nhưng luôn lớn hơn 0.
Tìm số n nhỏ nhât để
hoặc
n
1
005.0
1
<
n
003.0
1
<
n
Xem hướng dẫn
04/27/15
Slide 8
TRƯỜNG THCS BA TRINH
Ví dụ 4. Chương trình tính tổng của N số
tự nhiên đầu tiên nhỏ nhất lớn hơn 1000
Xem hướng dẫn
04/27/15

Slide 9
TRƯỜNG THCS BA TRINH
Ví dụ 5. Tính tổng T
100
1

4
1
3
1
2
1
1 +++++=Τ
Sử dụng vòng lặp For do
hoặc While do
Xem hướng dẫn
04/27/15
Slide 10
TRƯỜNG THCS BA TRINH
Chú ý: có thể sử dụng lệnh lặp while do
thay cho for do
04/27/15
Slide 11
TRƯỜNG THCS BA TRINH
3. Lặp vô hạn lần – Lỗi lập trình cần
tránh
-
Nên tránh tạo ra các vòng lặp không bao giờ kết thúc
-
Khi thực hiện vòng lặp, điều kiện phải được thay đổi từ

thỏa mãn  không thỏa mãn
Xem hướng dẫn
04/27/15
Slide 12
TRƯỜNG THCS BA TRINH
GHI NHỚ
-
Ngoài cấu trúc lặp với số lần lặp biết trước, các ngôn
ngữ lập trình còn có các câu lệnh lặp với số lần chưa
biết trước
-
While … do là câu lệnh lặp với số lần chưa biết trước
trong Pascal
While <điều kiện> do <câu lệnh>;
04/27/15
Slide 13
TRƯỜNG THCS BA TRINH
Câu hỏi và bài tập
1. Nêu một vài ví dụ về hoạt động lặp với số lần chưa
biết trước
2. Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần
biết trước và câu lệnh lặp với số lần chưa biết trước
3. Hãy tìm hiểu các thuật toán sau đây và cho biết khi
thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu
vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu?
Viết chương trình Pascal thể hiện các thuật toán đó
04/27/15
Slide 14
TRƯỜNG THCS BA TRINH
a) Thuật toán 1

B1. S  10, x  0.5.
B2. Nếu S <= 5.2 . Chuyển tớ B4.
B3. S  S – x và quay lại B2.
B4. Thông báo S và kết thúc thuật toán
Xem hướng dẫn
04/27/15
Slide 15
TRƯỜNG THCS BA TRINH
b) Thuật toán 2
B1. S  10, n  0.
B2. Nếu S >=10. Chuyển tới B4.
B3. n  n+3. S  S – n quay lại B2.
B4. Thông báo S và kết thúc
Xem hướng dẫn
04/27/15
Slide 16
TRƯỜNG THCS BA TRINH
4. Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với
đoạn lệnh đó chương trình thực hiện bao nhiêu vòng
lặp? Hãy rút ra nhận xét của em.
a)
04/27/15
Slide 17
TRƯỜNG THCS BA TRINH
b)
04/27/15
Slide 18
TRƯỜNG THCS BA TRINH
5. Hãy chỉ ra lỗi trong các câu lệnh sau
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;
:
Lặp vô tận
04/27/15
Slide 19
TRƯỜNG THCS BA TRINH
The end

×