Sử dụng vòng lặp for và vòng lặp while

Đề bài: Giả sử s là một câu lệnh cấu trúc và e1,e2,e3 là các biểu thức ,có sự khác nhau gì giữa các đoạn mã:

for(e1,e2,e3) {                                                                    và                                            e1;

s;        }                                                                                                                while(e2){

s;

e3;           }

Để làm bài này thì mình xin nhắc lại một chút kiến thức nho nhỏ để bạn ghi nhớ.

Vòng lặp for() được sử dụng khi bạn biết chính xác lúc nào thì vòng lặp sẽ dừng lại ,Ví dụ như bạn thi đại học chẳng hạn,bạn biết chính xác thời điểm bạn sẽ thi nên bạn sẽ lặp đi lặp lại việc ôn thi cho tới cái lúc bạn thi.

Vòng lặp while() được sử dụng khi bạn chưa xác định được chính xác lúc nào thì vòng lặp sẽ dừng lại,Ví dụ như bạn nợ ngân hàng ngập đầu chẳng hạn,bạn không biết khi nào vòng xoáy nợ nần sẽ dừng lại,nên bạn sẽ lặp đi lặp lại cái bước làm việc và trả góp cho ngân hàng tới khi bạn trả hết nợ.

Mình xin trả lời câu hỏi ở đầu bài:

Mình sẽ lấy một ví dụ cụ thể để các bạn hiểu :

s là một câu lệnh cấu trúc ,mình lấy giả sử một câu lệnh là      cout<<“1 \n”;      //in 1 ra màn hình console.

e1 là biểu thức,mình lấy là                      int i=0          // khai báo biến kiểu nguyên i và gán giá trị ban đầu bằng 0.

e2 là biểu thức,mình lấy là                      i<2                //biểu thức này so sánh giá trị i với 2.

e3 là biểu thức,mình lấy là                      i++               //biểu thức này làm tăng i thêm 1 đơn vị.

Rồi,bây giờ mình viết lại vòng lặp for()

for(int i=0;i<2;i++){

cout<<“1 \n”;

}

Vòng for() trên sẽ in ra màn hình cái gì,và đây là kết quả:

1

1

 

Tiếp theo đến vòng lặp while()

int i=0;

while(i<2){

cout<<“1 \n”;

i++;

}

Biểu thức này sẽ in ra màn hình như sau:

1

1

Vậy là 2 vòng lặp đưa ra 2 kết quả giống nhau rồi,tức là không có sự khác biệt nhiều giữa chúng.

Mình xin kết thúc bài tập tại đây,mời bạn nêu câu hỏi và ý kiến phản biện.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *