Bài 8. Lặp với số lần chưa biết trước
Chia sẻ bởi Bùi Minh Thành |
Ngày 24/10/2018 |
47
Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8
Nội dung tài liệu:
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
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
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ầnT1=1, T2=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 Tn 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
Các hoạt động lặp với số lần chưa biết trước:
Câu lệnh
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
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
Các hoạt động lặp với số lần chưa biết trước
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>:= to do ;
While <điều kiện> do;
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
Các hoạt động lặp với số lần chưa biết trước
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
Đ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
Các hoạt động lặp với số lần chưa biết trước
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
Các hoạt động lặp với số lần chưa biết trước
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
Các hoạt động lặp với số lần chưa biết trước
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
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
Các hoạt động lặp với số lần chưa biết trước
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
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
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
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
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ầnT1=1, T2=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 Tn 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
Các hoạt động lặp với số lần chưa biết trước:
Câu lệnh
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
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
Các hoạt động lặp với số lần chưa biết trước
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>:=
While <điều kiện> do
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
Các hoạt động lặp với số lần chưa biết trước
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
Đ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
Các hoạt động lặp với số lần chưa biết trước
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
Các hoạt động lặp với số lần chưa biết trước
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
Các hoạt động lặp với số lần chưa biết trước
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
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cáp Xuân Thao
3
Các hoạt động lặp với số lần chưa biết trước
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
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
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Bùi Minh Thành
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)