Hỗ trợ: xuất hoá đơn GTGT 8%.
Image 1

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…

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…

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ệnh lặp For do và While do
Hỏi bởi:
3 câu trả lời

▲ 5
Chào các em, hôm nay chúng ta sẽ cùng nhau tìm hiểu về hai câu lệnh lặp rất quan trọng trong lập trình, đó là câu lệnh lặp For do và câu lệnh lặp While do. Hai câu lệnh này giúp chúng ta thực hiện lặp đi lặp lại một hoặc nhiều câu lệnh theo một điều kiện nhất định.

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.
* : Là một hoặc nhiều câu lệnh sẽ được thực hiện lặp đi lặp lại trong mỗi lần lặp. Nếu có nhiều hơn một câu lệnh, chúng ta cần đặt chúng trong cặp từ khóa beginend.

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.
* : Là một hoặc nhiều câu lệnh sẽ được thực hiện lặp đi lặp lại. Nếu có nhiều hơn một câu lệnh, chúng ta cần đặt chúng trong cặp từ khóa beginend.

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 doWhile 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é.

Trả lời bởi: Giáo viên Chuyên Môn
▲ 2

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!

Trả lời bởi:
▲ 2

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; 

Trả lời bởi: Ninh Ninh

Viết một bình luận

WhatsApp
Facebook
Chat Zalo
Zalo
097.538.4646
Zalo
Giới thiệu Như Hảo