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

BÀI 8: 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 (148.23 KB, 17 trang )


PHÒNG GIÁO DỤC HẢI LĂNG
TRƯỜNG THCS HẢI PHÚ
Cáp Xuân Thao
3
XIN CHÀO QUÝ THẦY CÔ GIÁO CÙNG CÁC EM HỌC SINH

KIỂM TRA BÀI CŨ
Cáp Xuân Thao
3
Viết chương trình tính tổng 10 số tự nhiên đầu tiên bằng
việc sử dụng vòng lặp For…Do

PHÒNG GIÁO DỤC HẢI LĂNG
TRƯỜNG THCS HẢI PHÚ
Cáp Xuân Thao
2
Bài 17. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
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
Tiết 47

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
1. Các hoạt động lặp với số
lần chưa biết trước:
Ví dụ 1:
Cứ 10 phút, Long gọi điện cho
Trang một lần là hoạt động
lặp.


Long chưa xác định được Long
sẽ gọi cho Trang bao nhiêu
lần cả.
Long kết thúc hoạt động gọi
điện thoại khi có người nhấc
máy.

Cứ 10 phút, Long gọi điện cho Trang một lần có
phải là hoạt động lặp hay không?

Khi bạn Long quyết định cứ 10 phút thì gọi cho
Trang, Long có xác định được Long sẽ gọi cho
Trang mấy lần hay không?

Khi nào hoạt động gọi điện thoại của Long kết
thúc?

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
1. Các hoạt động lặp với
số lần chưa biết trước:
Ví dụ 2:
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ả: S và n

là số tự nhiên nhỏ nhất
sao cho S > 1000. Kết
thúc thuật toán.
Ví 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
kết quả tăng dầnT
1
=1, T
2
=1+2,…tăng
dần.
Cần cộng bao nhiêu số tự nhiên đầu
tiên để ta nhận được tổng T
n
nhỏ nhất
lớn hơn 1000?
Em hãy viết thuật toán cho ví dụ trên?

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
1. Các hoạt động lặp với
số lần chưa biết trước:
Câu lệnh
Điều kiện
?

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?

Điều kiện s<=1000.

Phép cộng chỉ dừng khi
kết quả kiểm tra là sai. (tức
s>1000)
Đúng
Sai

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
1. Các hoạt động lặp
với số lần chưa biết
trước:
Nhận xét : Để viết
chương trình chỉ dẫn
máy tính thực hiện
các hoạt động lặp
như trong các ví dụ
trên, ta có thể sử
dụng câu lệnh có
dạng lặp với số lần
chưa biết trước.
Câu lệnh
Điều kiện
?
Đúng

Sai

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
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:
Em hãy nhắc lại cú pháp của câu lệnh
lặp với số lần biết trước?
For <điều kiện>:=<giá trị đầu> to <giá trị cuối> do <lệnh>;
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 hay câu lệnh
ghép.
Em hãy phân biệt câu lệnh đơn và câu
lệnh ghép?
Câu lệnh đơn là câu lệnh chỉ có một
lệnh.
Câu lệnh ghép là tập hợp nhiều câu
lệnh đơn.

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
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:
While <điều kiện> do <câu lệnh>;
Câu lệnh
Điều kiện
?
Dựa vào sơ đồ khối, hãy phát biểu
hoạt động của câu lệnh lặp với số lần
chưa biết trước?
Câu lệnh lặp đượ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.

LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC
Cáp Xuân Thao
3
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:
Ví dụ 3:
Thuật toán:
B1. x← 1, n ← 1.

B2. Nếu x>= 0,003, n ←
n+1; Ngược lại, chuyển
tới bước 4.
B3. x ← 1/n và quay lại B2.
B4. In kết quả: n là số nhỏ
nhất để 1/n< 0,003.
Ví dụ 3: Với giá trị nào của n để 1/n < 0.003 ?.
Viết chương trình tính số n nhỏ nhất để 1/n nhỏ
hơn một sai số cho trước.
Hãy viết thuật toán cho
ví dụ trên

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
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:
Ví dụ 4:
Chương trình Pascal dưới đây thể
hiện thuật toán tính số n trong ví dụ 2:

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
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:
Ví dụ 5:
Ví dụ 5: Viết chương trình tính tổng
1 1 1
1
2 3 100
T
= + + + +

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
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:
Ví dụ 5:
Khi bài toán biết trước
số vòng lặp, nên sử dụng
câu lệnh For do. Ngược
lại, khi bài toán chưa biết
trước số vòng lặp nên sử
dụng câu lệnh While do.
Ví dụ 5: Viết chương trình tính tổng
1 1 1
1
2 3 100

T
= + + + +
Trường hợp nào nên sử dụng câu lệnh với số
lần biết trước? Trường hợp nào nên sử dụng
câu lệnh với số lần chưa biết trước?

CỦNG CỐ
Cáp Xuân Thao
3
Lựa chọn cấu trúc đúng của câu lệnh lặp với số lần chưa
biết trước:
a. X:= 10; while X= 10 do X= X+1;
b. X:= 10; while X:= 10 do X:= X+1;
c. S:= 0; n:= 1; while S<= 10 do S:= S+n; n:= n+1;
d. S:= 0; n:= 1; while S<= 10 do
begin
S:= S+n;
n:= n+1;
end;

CỦNG CỐ
Cáp Xuân Thao
3
Chương trình sau đây tính tổng 10 số tự nhiên đầu tiên. Hãy
nhìn vào chương trình sau và phát hiện lỗi sai của chương
trình.

DẶN DÒ
Cáp Xuân Thao
3

- Chạy bằng tay các ví dụ 3, 4, 5 SGK.
- Trả lời các câu hỏi và bài tập trang 71 SGK.
- Xem trước phần 3: Lặp vô hạn lần – lỗi lập trình cần tránh.

PHÒNG GIÁO DỤC HẢI LĂNG
TRƯỜNG THCS HẢI PHÚ
Cáp Xuân Thao
3
CHÚC QUÝ THẦY CÔ GIÁO MẠNH KHỎE
CHÚC CÁC EM HỌC GIỎI

×