So sánh câu lệnh lặp với số lần biết trước( for..to..do) và câu lệnh lặp với số lần chưa biết trước(while...do)
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Cú Pháp While <điều kiện> do <câu lệnh>;
Câu lệnh lặp với số lần chưa biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần
lặp chưa biết trước.
– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.
Tham khảo
Cú pháp:
While < Điều kiện > do < Câu lệnh >;
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: có thể là câu lệnh đơn giản hay câu lệnh ghép
*Cú pháp: While <điều kiện> do <câu lệnh>;
*Trong đó
*Câu lệnh này đượ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
*Sơ đồ hoạt động:
Cú pháp: While <điều kiện> do <câu lệnh>;
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 có thể là một câu lệnh đơn hoặc một câu lệnh ghép
TK:
Câu lệnh lặp với số lần biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.
– Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.
– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.
Refer:
*So sánh
-Giống nhau: Đều là câu lệnh lặp
Khác nhau:
+Câu lệnh lặp với số lần biết trước: Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước, điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
+Câu lệnh lặp với số lần chưa biết trước:
Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước, điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác
Câu lệnh lặp với số lần chưa biết trước được gọi là vòng lặp không xác định (unbounded loop), trong khi đó câu lệnh lặp với số lần chưa biết trước được gọi là vòng lặp xác định (bounded loop).
Cụ thể, sự khác biệt giữa hai loại vòng lặp này như sau:
Vòng lặp không xác định: Không biết trước số lần lặp cụ thể, mà chỉ dừng lại khi thỏa mãn điều kiện nào đó trong quá trình lặp. Vòng lặp này thường sử dụng khi chưa biết trước số lần cần lặp hoặc khi số lần lặp phụ thuộc vào một điều kiện nào đó. Ví dụ: vòng lặp while hoặc do-while.
Vòng lặp xác định: Biết trước số lần lặp cụ thể, vòng lặp sẽ lặp lại một số lần đã được xác định trước. Vòng lặp này thường sử dụng khi biết trước số lần cần lặp. Ví dụ: vòng lặp for.
Ví dụ về vòng lặp không xác định:
i := 0;
while i < 10 do
begin
i := i + 1;
WriteLn('i = ', i);
end;
Vòng lặp này sẽ lặp lại cho đến khi i đạt giá trị 10. Số lần lặp không biết trước, mà phụ thuộc vào giá trị của i.
Ví dụ về vòng lặp xác định:
for i := 1 to 10 do
begin
WriteLn('i = ', i);
end;
Vòng lặp này sẽ lặp lại 10 lần, từ i bắt đầu từ 1 và tăng lên 1 đơn vị cho đến khi đạt giá trị 10. Số lần lặp là xác định, và đã được xác định trước bởi vòng lặp for.
Bổ sung thêm: "For..to..do.." hay "For..downto..do.." được hiểu như là cấu trúc lặp với số lần lặp được báo trước và thường sẽ có kết thúc (hay còn gọi là "thoát" khỏi vòng lặp).
Tuy nhiên, cấu trúc "While..do.." hay "Repeat..Until.." nói chung được hiểu như cấu trúc lặp với số lần lặp không biết trước (hoặc chưa biết trước) và có một số trường hợp sẽ "treo" máy vì cấu trúc lặp vô tận xãy ra do lỗi cài đặt hoặc xử lý câu lệnh của người viết chương trình
#from yahoo
cảm ơn a!