Nêu cú pháp, giải thích các thành phần, nêu cách hoạt động và cho ví dụ về câu l…
Chúng ta sẽ đi vào chi tiết từng câu lệnh nhé.
A. Câu lệnh lặp For do
1. Cú pháp:
Có hai dạng cú pháp chính cho câu lệnh lặp For do:
Dạng 1: Lặp với số lần xác định trước theo chiều tăng dần.
for biến_đếm := giá_trị_bắt_đầu to giá_trị_kết_thúc do
Dạng 2: Lặp với số lần xác định trước theo chiều giảm dần.
for biến_đếm := giá_trị_bắt_đầu downto giá_trị_kết_thúc do
2. Giải thích các thành phần:
* biến_đếm: Là một biến nguyên (thường là kiểu integer) được sử dụng để đếm số lần lặp. Giá trị của biến đếm sẽ thay đổi sau mỗi lần lặp.
* giá_trị_bắt_đầu: Là giá trị ban đầu của biến đếm khi vòng lặp bắt đầu.
* giá_trị_kết_thúc: Là giá trị cuối cùng mà biến đếm sẽ đạt tới (hoặc vượt qua) để vòng lặp kết thúc.
* to: Từ khóa dùng để chỉ định vòng lặp tăng dần.
* downto: Từ khóa dùng để chỉ định vòng lặp giảm dần.
*
3. Cách hoạt động:
* Dạng tăng dần (to):
* Trước tiên, biến đếm sẽ được gán giá trị ban đầu.
* Sau đó, kiểm tra xem giá trị hiện tại của biến đếm có nhỏ hơn hoặc bằng giá trị kết thúc hay không.
* Nếu điều kiện đúng (nhỏ hơn hoặc bằng), khối lệnh bên trong vòng lặp sẽ được thực thi.
* Sau khi thực thi xong khối lệnh, giá trị của biến đếm sẽ tự động tăng lên 1.
* Quá trình kiểm tra và thực thi lại được lặp lại cho đến khi giá trị của biến đếm lớn hơn giá trị kết thúc.
* Khi biến đếm lớn hơn giá trị kết thúc, vòng lặp sẽ kết thúc và chương trình tiếp tục thực thi các câu lệnh sau vòng lặp.
* Dạng giảm dần (downto):
* Trước tiên, biến đếm sẽ được gán giá trị ban đầu.
* Sau đó, kiểm tra xem giá trị hiện tại của biến đếm có lớn hơn hoặc bằng giá trị kết thúc hay không.
* Nếu điều kiện đúng (lớn hơn hoặc bằng), khối lệnh bên trong vòng lặp sẽ được thực thi.
* Sau khi thực thi xong khối lệnh, giá trị của biến đếm sẽ tự động giảm đi 1.
* Quá trình kiểm tra và thực thi lại được lặp lại cho đến khi giá trị của biến đếm nhỏ hơn giá trị kết thúc.
* Khi biến đếm nhỏ hơn giá trị kết thúc, vòng lặp sẽ kết thúc và chương trình tiếp tục thực thi các câu lệnh sau vòng lặp.
Tại sao lại áp dụng câu lệnh For do?
Chúng ta áp dụng câu lệnh For do khi chúng ta biết trước chính xác số lần cần lặp hoặc khi việc lặp phụ thuộc vào một biến đếm có giới hạn rõ ràng (tăng dần hoặc giảm dần từ một giá trị này đến một giá trị khác).
4. Ví dụ:
In ra các số từ 1 đến 5.
var i: integer;
begin
for i := 1 to 5 do
begin
writeln(i);
end;
end.
Giải thích:
* Biến đếm là \(i\).
* Giá trị bắt đầu là \(1\).
* Giá trị kết thúc là \(5\).
* Vòng lặp sẽ thực hiện các bước sau:
* i = 1: In ra 1.
* i = 2: In ra 2.
* i = 3: In ra 3.
* i = 4: In ra 4.
* i = 5: In ra 5.
* i = 6: Điều kiện (6 <= 5) sai, vòng lặp kết thúc.
In ra các số chẵn từ 10 xuống 2.
var j: integer;
begin
for j := 10 downto 2 do
begin
if j mod 2 = 0 then // Kiểm tra xem j có phải là số chẵn không
writeln(j);
end;
end.
Giải thích:
* Biến đếm là \(j\).
* Giá trị bắt đầu là \(10\).
* Giá trị kết thúc là \(2\).
* Vòng lặp sẽ thực hiện các bước sau:
* j = 10: 10 mod 2 = 0, in ra 10.
* j = 9: 9 mod 2 <> 0, không in.
* j = 8: 8 mod 2 = 0, in ra 8.
* …
* j = 2: 2 mod 2 = 0, in ra 2.
* j = 1: Điều kiện (1 >= 2) sai, vòng lặp kết thúc.
B. Câu lệnh lặp While do
1. Cú pháp:
while điều_kiện_lặp do
2. Giải thích các thành phần:
* điều_kiện_lặp: Là một biểu thức logic (trả về giá trị đúng hoặc sai). Vòng lặp sẽ tiếp tục thực thi khối lệnh chừng nào điều kiện này còn đúng.
*
3. Cách hoạt động:
* Trước tiên, biểu thức điều kiện lặp sẽ được kiểm tra.
* Nếu điều kiện đúng, khối lệnh bên trong vòng lặp sẽ được thực thi.
* Sau khi thực thi xong khối lệnh, điều kiện lặp lại được kiểm tra.
* Quá trình này được lặp lại cho đến khi điều kiện lặp trở nên sai.
* Khi điều kiện lặp sai, vòng lặp sẽ kết thúc và chương trình tiếp tục thực thi các câu lệnh sau vòng lặp.
Quan trọng: Cần đảm bảo rằng bên trong khối lệnh có một hoặc nhiều câu lệnh làm thay đổi giá trị của các biến trong điều kiện lặp, để điều kiện cuối cùng có thể trở thành sai. Nếu không, vòng lặp sẽ trở thành vòng lặp vô hạn.
Tại sao lại áp dụng câu lệnh While do?
Chúng ta áp dụng câu lệnh While do khi số lần lặp không được xác định trước mà phụ thuộc vào một điều kiện nào đó. Vòng lặp sẽ dừng lại khi điều kiện không còn thỏa mãn.
4. Ví dụ:
In ra các số từ 1 đến 5.
var i: integer;
begin
i := 1; // Khởi tạo biến đếm
while i <= 5 do // Điều kiện lặp
begin
writeln(i);
i := i + 1; // Cập nhật biến đếm để tránh lặp vô hạn
end;
end.
Giải thích:
* Biến \(i\) được khởi tạo bằng 1.
* Kiểm tra điều kiện \(i <= 5\). Ban đầu, \(1 <= 5\) là đúng.
* Thực thi khối lệnh: In ra 1, sau đó \(i\) tăng lên thành 2.
* Kiểm tra điều kiện \(i <= 5\). \(2 <= 5\) là đúng.
* Thực thi khối lệnh: In ra 2, sau đó \(i\) tăng lên thành 3.
* ...
* Khi \(i\) bằng 5: \(5 <= 5\) là đúng. In ra 5, \(i\) tăng lên thành 6.
* Kiểm tra điều kiện \(i <= 5\). \(6 <= 5\) là sai. Vòng lặp kết thúc.
Tính tổng các số từ 1 đến 100.
var sum, count: integer;
begin
sum := 0; // Khởi tạo biến tổng
count := 1; // Khởi tạo biến đếm
while count <= 100 do
begin
sum := sum + count; // Cộng giá trị hiện tại của count vào sum
count := count + 1; // Tăng biến đếm
end;
writeln('Tong cac so tu 1 den 100 la: ', sum);
end.
Giải thích:
* \(sum\) và \(count\) được khởi tạo lần lượt là 0 và 1.
* Vòng lặp tiếp tục khi \(count\) còn nhỏ hơn hoặc bằng 100.
* Trong mỗi lần lặp, giá trị của \(count\) được cộng vào \(sum\), và \(count\) tăng lên 1.
* Sau khi vòng lặp kết thúc (khi \(count\) bằng 101), \(sum\) sẽ chứa tổng của các số từ 1 đến 100.
Hy vọng qua những giải thích và ví dụ chi tiết này, các em đã nắm vững được cách sử dụng hai câu lệnh lặp For do và While do. Các em hãy luyện tập thêm với các bài tập khác để củng cố kiến thức nhé.
For to do:
- Cú pháp: for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
- Giải thích:
+ Từ khóa: for, to, do
+ Biến đếm: kiểu nguyên
+ Giá trị đầu, giá trị cuối: giá trị nguyên (giá trị đầu < giá trị cuối)
+ Câu lệnh trong vòng lặp không làm thay đổi giá trị của biến đếm
+ Số lần lặp: giá trị đầu - giá trị cuối + 1
- Hoạt động:
+ Biến điếm sẽ nhận giá trị bằng giá trị đầu
+ Sau mỗi vòng lặp, biến đếm tăng thêm một đơn vị cho đến khi bằng giá trị cuối thì kết
thúc lệnh lặp
- Ví dụ:
for i:= 1 to 5 do write('Tin hoc');
While do:
- Cú pháp: while <điều kiện> do <câu lệnh>;
- Giải thích:
+ Từ khóa: while, do
+ Đ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
- Hoạt động:
+ Kiểm tra điều kiện
+ Nếu điều kiện sai sẽ bị bỏ qua và kết thúc lệnh lặp
+ Nếu điều kiện đúng sẽ thực hiện câu lệnh và quay lại kiểm tra điều kiện
- Ví dụ:
T:=0; i:=0;
while i<=5 do
begin
T:=T+i; i:=i+1;
end;
Học tốt!
Cú pháp: \(\text{for <biến đếm>:= (gtđầu) to (giá trị cuối )} \)
Thành phần
For,to,do : từ khóa
Biến đếm : phải khai báo
Giá trị đầu và cuối : đề bài cho,phải thuộc kiểu nguyên
Vd :
For i:=3 to 6 do
Write(' homata');
Cú pháp
\(While <điều kiện> do <câu lệnh> ;\)
Giải thích
While,do : từ khóa
Điều kiện : đề bài cho ,là phép so sánh
Câu lệnh : là câu lệnh đơn ,lệnh ghép ,lệnh gán.
Vd
While i>n do i:=i+16;