Tìm kiếm Bài giảng
Bài 8. Lặp với số lần chưa biết trước

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Hà Trọng Lâm
Ngày gửi: 21h:36' 22-02-2022
Dung lượng: 553.8 KB
Số lượt tải: 104
Nguồn:
Người gửi: Hà Trọng Lâm
Ngày gửi: 21h:36' 22-02-2022
Dung lượng: 553.8 KB
Số lượt tải: 104
Số lượt thích:
0 người
BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Thời gian 2 tiết
.....
Hãy đọc ví dụ 1 _ sách giáo khoa _ trang 63
1. Lệnh lặp với số lần chưa biết trước
1. Lệnh lặp với số lần chưa biết trước
VD1: 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 để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
THUẬT TOÁN
Nhận xét thuật toán.
* 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
* Bước 1: S ← 0; n ← 0; {Khởi tạo S và n}
* Bước 2: Nếu S ≤ 1000, n ← n + 1; ngược lại, chuyển đến bước 4;
* Bước 3: S ← S + n và quay lại bước 2;
Từ bước 2 đến bước 3 được lặp lại nhiều lần nếu điều kiện S ≤ 1000 chưa được thoả mãn và chỉ dừng khi điều kiện đó sai.
1. Lệnh lặp với số lần chưa biết trước
Câu lệnh lặp với số lần chưa biết trước:
Hãy nêu cấu trúc lặp với câu lệnh while - do?
* Trong đó: - While, do: là các từ khóa
- Điều kiện: thường là một phép so sánh.
- Câu lệnh: là môt câu lệnh đơn giản hay câu lệnh ghép
While <điều kiện> do;
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
Bước 1: tính giá trị của <điều kiện>.
Bước 2: Nếu <điều kiện> có giá trị đúng thì:
thực hiện lệnh cần lặp.
quay lại bước 1.
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
Với giá trị nào của n thì 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.
Ví dụ 2
Nếu n (n>0) càng lớn thì 1/n càng nhỏ, nhưng luôn luôn lớn hơn 0
Quan sát chương trình
* Lần lượt thay điều kiện sai_so bằng các giá trị 0.005; 0.002; 0.001, ta nhận các kết quả khác nhau.
VD3
Viết chương trình tính tổng
S=1 + 2 + 3 + … + n
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Sn nhỏ nhất lớn hơn 1000.
Tính tổng S
Quan sát chương trình
VD 4
Yêu cầu:
Viết chương trình theo hai dạng cấu trúc:
for .. do
while .. do
Quan sát chương trình
Quan sát chương trình
Ghi nhớ
Cấu trúc lặp với số lần chưa biết trước.
While <điều kiện> do;
2. Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai, thì chương trình sẽ không “rơi” vào “vòng lặp vô tận”
Thời gian 2 tiết
.....
Hãy đọc ví dụ 1 _ sách giáo khoa _ trang 63
1. Lệnh lặp với số lần chưa biết trước
1. Lệnh lặp với số lần chưa biết trước
VD1: 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 để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
THUẬT TOÁN
Nhận xét thuật toán.
* 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
* Bước 1: S ← 0; n ← 0; {Khởi tạo S và n}
* Bước 2: Nếu S ≤ 1000, n ← n + 1; ngược lại, chuyển đến bước 4;
* Bước 3: S ← S + n và quay lại bước 2;
Từ bước 2 đến bước 3 được lặp lại nhiều lần nếu điều kiện S ≤ 1000 chưa được thoả mãn và chỉ dừng khi điều kiện đó sai.
1. Lệnh lặp với số lần chưa biết trước
Câu lệnh lặp với số lần chưa biết trước:
Hãy nêu cấu trúc lặp với câu lệnh while - do?
* Trong đó: - While, do: là các từ khóa
- Điều kiện: thường là một phép so sánh.
- Câu lệnh: là môt câu lệnh đơn giản hay câu lệnh ghép
While <điều kiện> do
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
Bước 1: tính giá trị của <điều kiện>.
Bước 2: Nếu <điều kiện> có giá trị đúng thì:
thực hiện lệnh cần lặp.
quay lại bước 1.
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
Với giá trị nào của n thì 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.
Ví dụ 2
Nếu n (n>0) càng lớn thì 1/n càng nhỏ, nhưng luôn luôn lớn hơn 0
Quan sát chương trình
* Lần lượt thay điều kiện sai_so bằng các giá trị 0.005; 0.002; 0.001, ta nhận các kết quả khác nhau.
VD3
Viết chương trình tính tổng
S=1 + 2 + 3 + … + n
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Sn nhỏ nhất lớn hơn 1000.
Tính tổng S
Quan sát chương trình
VD 4
Yêu cầu:
Viết chương trình theo hai dạng cấu trúc:
for .. do
while .. do
Quan sát chương trình
Quan sát chương trình
Ghi nhớ
Cấu trúc lặp với số lần chưa biết trước.
While <điều kiện> do
2. Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai, thì chương trình sẽ không “rơi” vào “vòng lặp vô tận”
 








Các ý kiến mới nhất