Có thể bạn quan tâm
- Crayola Art Studio 3.0.2.0 Phần mềm vẽ tranh, tô màu cho bé
- Truyền kỳ Nguyễn Dữ: Văn chương phải giúp con người mạnh mẽ
- 10 điều về công ơn cha mẹ – con nguyện tìm cách đáp đền
- Chương 1. Những khái niệm cơ bản – CPIS Vietnam
- Văn mẫu lớp 9: Cảm nhận truyện Chiếc lược ngà của Nguyễn Quang Sáng 3 Dàn ý & 17 bài văn mẫu lớp 9 hay nhất
Câu 1.Kết quả tính toán xuất ra màn hình tổng
Bạn Đang Xem: Tin học 11 Bài 10: Cấu trúc lặp
\(s= \frac{1}{a}+\frac{1}{a+1}+\frac{1}{a+2}+…+\frac{ 1}{a+100}\)
Câu 2.Kết quả tính toán xuất ra màn hình tổng
\(s= \frac{1}{a}+\frac{1}{a+1}+\frac{1}{a+2}+…+\frac{ 1}{a+n}+…\)
Cho đến \(\frac{1}{a+n}< 0,0001.\)
Nhận xét:
- Đối với hai bài toán này, dễ dàng nhận thấy có nhiều điểm giống nhau trong cách tính tổng s:
- Bắt đầu, s được gán giá trị \(\frac{1} { a } \);
- Tiếp theo, thêm một giá trị vào tổng s \(\frac{1}{a+n}\) trong đó n = 1, 2, 3, 4, 5,…
- Lặp lại để thêm nhiều lần.
-
- Đối với bài toán 1, số lần lặp là 100 và phép cộng s kết thúc sau 100 phép cộng.
- Đối với bài toán 2, số lần lặp không xác định, nhưng khi đáp ứng điều kiện \(\frac{1}{a+n}<0.0001\) thì phép cộng s kết thúc. Thỏa mãn.
Tóm tắt:
-
-
- Trong một số thuật toán, một số thao tác phải được lặp đi lặp lại nhiều lần. Một trong những điểm nổi bật của máy tính là khả năng thực hiện hiệu quả các hoạt động lặp đi lặp lại.
- Cấu trúc lặp mô tả hoạt động lặp, được chia thành hai loại, lặp lại một số lần đã biết và lặp lại một số lần không xác định /mạnh>.
- Ngôn ngữ lập trình có câu lệnh mô tả cấu trúc điều khiển vòng lặp.
-
Có hai thuật toán tong_1a và tong_1b để giải bài toán 1 như sau:
Thuật toán tong_1a:
-
-
- Bước 1. s \(\leftarrow\) 1/a;n \(\leftarrow\) 0; {Khởi tạo s và n} li>
- Bước 2. n \(\leftarrow\) n + 1;
- bước 3 nếu n >; 100 thì chuyển sang bước 5;
- Bước 4. s \(\leftarrow\) s + 1/(a + n) và quay lại Bước 2;
- Bước 5 Đưa s ra màn hình và bạn đã hoàn tất.
- Thuật toán tong_1b:
- Bước 1. s \(\leftarrow\) 1/a;n \(\leftarrow\) 101; {Khởi tạo s và n} li>
- Bước 2. n \(\leftarrow\) n – 1;
- Bước 3 Nếu n <; 1 thì chuyển sang Bước 5;
- Bước 4. s \(\leftarrow\) s + 1/(a + n) và quay lại Bước 2;
- Bước 5. Đưa s lên màn hình là xong.
- Một số lưu ý:
- Số lần lặp cho cả hai thuật toán đều biết trước và bằng nhau (100).
- Trong thuật toán tong_1a, giá trị của n khi bắt đầu kết nối vòng lặp là 1, n tăng thêm 1 sau mỗi lần lặp, cho đến khi n>; 100 (n = 101) và sau đó là vòng lặp kết thúc (hoàn thành 100 lần )\(\rightarrow\) Phép lặp trong thuật toán tong_1a là chuyển tiếp.
- Trong thuật toán tong_1b, giá trị của n ở đầu vòng lặp là 100 và n giảm dần 1 sau mỗi lần lặp cho đến khi n <; 1 (n = 0) thì kết thúc vòng lặp (thực hiện 100 lần) Các lần lặp trong thuật toán \(\rightarrow\) tong_1b ở dạng lùi.
A. Cấu trúc lặp với số lần biết trước
Để mô tả một cấu trúc lặp với số lần biết trước, pascal sử dụng câu lệnh for-do có 2 dạng tiến và lùi như sau:
-
- Lặp lại:
cho <biến bộ đếm> := đến giá trị cuối cùng> làm<lệnh> ;
-
-
- Lặp lại:
-
cho <biến bộ đếm> := sâu làm lệnh>;
Vị trí:
-
-
- biến đếm là một biến đơn, thường có kiểu số nguyên.
- giá trị đầu và giá trị cuối là các biểu thức cùng loại với bộ đếm và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không được thực hiện.
- Hoạt động của lệnh for-do:
-
- Trong lặp đi lặp lại, thực hiện tuần tự câu lệnh được viết sau từ khóa do và bộ đếm biến nhận Giá trị từ đầu đến cuối.
- Trong Lặp ngược, hãy thực hiện các câu lệnh sau từ khóa do theo tuần tự và giá trị của biến bộ đếm là từ giá trị cuối cùng đến giá trị cao nhất.
Lưu ý 1:Giá trị của biến đếm được tự động điều chỉnh nên câu lệnh viết sau do sẽ không thay đổi biến đếm .
b. Một số ví dụ minh họa
Ví dụ 1. Dưới đây là hai chương trình triển khai thuật toán tong_1a và tong_1b.
Chương trình cài đặt thuật toán tong_1a:
Chương trình tong_1a;
sử dụng crt;
var s: đúng;
Xem Thêm : Soạn bài Hầu trời (Tản Đà) | Soạn văn 11 hay nhất – VietJack.com
a, n: số nguyên;
Bắt đầu
clrscr;
Viết(‘hoặc nhập giá trị!’);
Đọc (1);
s:=1.0/a; {buc 1}
For n:= 1 to 100 do block 2, block 3
s:= s+1.0/(a+n); {buc 4}
writeln(‘tong s la: ‘, s:8:4); {buc 5}
Đọc
Kết thúc.
Chương trình cài đặt thuật toán tong_1b:
Chương trình tong_1b;
sử dụng crt;
var s: đúng;
Xem Thêm : Soạn bài Hầu trời (Tản Đà) | Soạn văn 11 hay nhất – VietJack.com
a, n: số nguyên;
Bắt đầu
clrscr;
Viết(‘hoặc nhập giá trị!’);
Đọc (1);
s:=1.0/a; {buc 1}
for n:= 100 downto 1 by {first 2 and 3rd}
s:= s+1.0/(a+n); {buc 4}
writeln(‘tong s la: ‘, s:8:4); {buc 5}
Đọc
Kết thúc.
Ví dụ 2. Chương trình sau thực hiện nhập bàn phím hai số nguyên dương m và n (m < n), tính và hiển thị tổng các số chia hết cho 3 hoặc 5 trong khoảng từ m đến n .
Trình cài đặt:
Xem Thêm: Con đường thành công cần trải qua 7 giai đoạn nhưng ít ai đủ kiên trì
Chương trình vi_du_2;
sử dụng crt;
var m, n, i: số nguyên;
t: số nguyên dài;
Bắt đầu
clrscr;
writeln(‘nhap nhỏ hơn n’);
ghi(‘m = ‘);đọc(m);
ghi(‘n = ‘);đọc(n);
t:= 0;
Cho i:= m to n do
Nếu (i mod 3 = 0) hoặc (i mod 5 = 0) thì
t:=t+i;
writeln(‘qua: ‘, t);
Đọc
Kết thúc.
thuật toán tong_2:
-
- Bước 1. s \(\leftarrow\) 1/a;n \(\leftarrow\) 0; {Khởi tạo s và n} li>
- Bước 2. Nếu 1/(a + n) <; 0,0001 thì chuyển sang bước 5;
- Bước 3. n \(\leftarrow\) n + 1;
- Bước 4. s \(\leftarrow\) s + 1/(a + n) và quay lại Bước 2.
- Bước 5. Đưa s ra màn hình là xong
- Do đó, một số lần lặp không xác định sẽ chỉ kết thúc nếu điều kiện đã cho được đáp ứng.
A. Cấu trúc lặp không xác định
Để mô tả một cấu trúc lặp như vậy, Pascal sử dụng một câu lệnh có dạng while-do:
Đồng thời<;điều kiện> làm ra lệnh >;
Ở đâu:
-
- Điều kiện là quan hệ hoặc biểu thức logic;
- lệnh là một câu lệnh pascal.
Quá trình thực thi lệnh while-do được thể hiện trong Hình 1 bên dưới:
Hình 1. Biểu đồ lặp với số lần lặp không xác định
b. Một số ví dụ minh họa
Xem Thêm : Soạn bài Thực hành phép tu từ Ẩn dụ và Hoán dụ – VietJack.com
Ví dụ 3. Dưới đây là chương trình cài đặt thuật toán tong_2.
Hình 2. Sơ đồ khối của thuật toán tong_2
Chương trình tong_2;
sử dụng crt;
var s: đúng;
Xem Thêm : Soạn bài Hầu trời (Tản Đà) | Soạn văn 11 hay nhất – VietJack.com
a, n: số nguyên;
Bắt đầu
Viết(‘hoặc nhập giá trị!’);
Đọc (1);
s:= 1.0/a; n:= 0; {buc 1}
Mặc dù không (1/(a+n)<0.0001) {buoc 2}
Xem Thêm: Bài 54 trang 89 SGK Toán 9 Tập 2
Bắt đầu
n:= n+1; {buc 3}
s:= s+1.0/(a+n); {buc 4}
Kết thúc;
writeln(‘tong s la: ‘, s: 8: 4); {buc 5}
Đọc
Kết thúc.
Ví dụ 4. Tìm ước chung lớn nhất (ucln) của hai số nguyên dương m và n.
Ước chung lớn nhất:
-
-
- Bước 1. Nhập m, n;
- bước 2. Nếu m = n, lấy giá trị chung này là ucln rồi chuyển sang bước 5;
- Bước 3nếu m >; n thì m \(\leftarrow\) m – n rồi quay lại bước 2;
- Bước 4. n \(\leftarrow\) n – m và quay lại Bước 2;
- Bước 5. Đưa ra kết quả ucln và kết thúc.
-
Hình 3. Sơ đồ khối của thuật toán tìm ước chung lớn nhất
Chương trình sau minh họa thuật toán tìm ước chung lớn nhất:
Chương trình ucln;
sử dụng crt;
var m,n: số nguyên;
Bắt đầu
clrscr;
ghi(‘m, n = ‘);
Đọc ln(m,n);
trong khi m ;làm
if m > n then m:= m-n other n:= n-m;
writeln(‘ucln = ‘, m);
Đọc
Kết thúc.
Lưu ý 2: Các câu lệnh trong vòng lặp thường được lặp đi lặp lại nhiều lần, vì vậy để nâng cao hiệu quả của chương trình, bạn nên thực hiện các thao tác không cần thiết được lặp lại để nhảy ra khỏi vòng lặp.
-
-
-
-
-
-
Nguồn: https://anhvufood.vn
Danh mục: Giáo Dục
- Cách làm giò tai heo ngon với 2 công thức giòn sần sật, đón Tết thêm vui
- Viện Quản lý dự án ATOHA (Học Online, Offline, In-house)
- Lập dàn ý phân tích bài thơ Bếp lửa – Bằng Việt
- Tả cây mít trong vườn nhà em đạt điểm cao
- Văn mẫu lớp 7: Cảm nghĩ về bài thơ Bánh trôi nước (Dàn ý 8 mẫu) Bánh trôi nước của Hồ Xuân Hương