1. Trang chủ
  2. » Công Nghệ Thông Tin

3 2 vòng lặp for lập trình C++ daynhauhoc.com

5 128 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 590,74 KB

Nội dung

Trang 1

3.2 Vong lap for

Thursday, September 21, 2017 7:17 PM

Được cắt từ: https://cpp.daynhauhoc.com/3/2-vong-lap-for/ Chao cdc ban hoc viên đang theo dõi khóa học lập trình trực tuyến ngôn ngữ C++

Trong các bài học trước, chúng ta đã cùng nhau tìm hiểu các cấu trúc điều

khiển chương trình, trong đó có 2 bài học mình đề cập đến cấu trúc vòng

lặp while và do-while Hai cấu trúc lặp này tuy có khác nhau, nhưng chúng đều được sử dụng khi chưa biết được số lần lặp lại công việc tại

thời điểm run-time

Trong bài học này, mình sẽ giới thiệu đến các bạn vòng lặp for (for loops), cũng là vòng lặp cơ bản cuối cùng trong ngôn ngữ lập trình C++

Một số đặc điểm của vòng lặp for:

¢ Vong lặp for có cú pháp phức tạp hơn, nhưng ngắn gọn hơn các vòng lap while hay do-while khi sử dụng

¢ Vòng lặp for hoàn toàn có thể thay thế vòng lặp while

¢ Vong lặp for thường được sử dụng cho các trường hợp biết trước số lần lặp lại khối công việc Cú pháp vòng lặp for for (variable initialization; condition; variable update) { } Mình lấy 1 ví dụ trước khi giải thích các thành phần của vòng lặp for: statements; for (int count = 1; count <= 10; count++) { }

Vòng lặp for được định nghĩa bởi từ khóa for và được chia làm 3 phần

chính, môi phần được ngăn cách bởi dấu chấm phẩy:

cout << “count = << count << endl;

¢ Variable initialization (phan khdi tao bién)

Khác với vòng lặp while và do-while, biến vòng lặp có thể được khai

báo và khởi tạo giá trị ngay bên trong phần khởi tạo của vòng lặp for Như ở ví dụ trên, biến count được khai báo và khởi tạo với giá trị

1

Phần khởi tạo biến được thực thi đầu tiên và chỉ thực thi 1 lần duy nhất trong vòng lặp for

¢ Condition (biéu thirc điều kiện)

Phần này tương tự như vòng lặp while, khối lệnh của vòng lặp for sẽ

được thực hiện nếu biểu thức điều kiện cho giá trị đúng Vòng lặp for kiểm tra biểu thức điều kiện trước khi thực hiện khối lệnh

Trang 2

Phần này sẽ được thực thi cuối mỗi lần lặp, sau khi khối lệnh của

vòng lặp for được thực thi Phần này thường chịu trách nhiệm thay

đổi giá trị biến vòng lặp được sử dụng trong biểu thức điều kiện

(nhằm tránh tình trạng lặp vô hạn) Sau khi thực thi xong phần cập nhật biến vòng lặp, chương trình quay trở lại đánh giá biểu thức điều kiện của vòng lặp for và cứ như thế

Vậy chúng ta rút ra được các bước thực hiện vòng lặp for như sau:

initialize loop variables > check condition expression > execute statements > update loop variables

for (int count = 1; count <= 10; count++)

{ }

Ví dụ trên có thể được chuyển về dưới dạng vòng lặp while như sau:

cout << count << ;

int count = 1; //variable initialization

while (count <= 10) //condition

{

cout << count << ; //statements

count++; //variable update

}

Nhìn có vẻ dài dòng hơn vòng lặp for, nhưng vẫn có đủ 3 thành phần: variable initialization, condition va variable update

Những lập trình viên mới học đến vòng lặp for sẽ cảm thấy khó doc hon vòng lặp while Tuy nhiên, khi sử dụng thành thạo, vòng lặp for có nhiều tiện ích hơn

Một số ví dụ về vòng lặp for

Dưới đây là một ví dụ sử dụng vòng lặp for để in ra tất cả các số chẵn từ 0 đến 10 Chúng ta đã biết trước rằng biến vòng lặp sẽ đi từ 0 đến 10, nên việc sử dụng vòng lặp for là phù hợp

for (int i = 0; i <= 10; i++)

{

if (i % 2 == @)

cout << i << " "5

}

Mình vừa sử dụng vòng lặp for để cho biến ¡ tăng giá trị từ 1 đến 10, cứ

moi lan lap, minh kiểm tra giá trị hiện tại của biến ¡, nếu giá trị hiện tại của ¡ chăn, mình thực hiện in biến ¡ ra màn hình

Vòng lặp này có thể được rút gọn lại như sau:

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

{

Trang 3

Chúng ta biết rằng số chẵn tiếp theo sẽ cách số chẵn trước đó 2 đơn vị,

do đó, mình thực hiện cộng thêm 2 đơn vị cho biến ¡ tại phần variable update Nhờ đó, mình không cần thực hiện kiểm tra giá trị của biến ¡ trong vòng lặp nữa

Bây giờ, thay vì chúng ta thực hiện lặp từ 0 đến 10, chúng ta có thể đi ngược lại từ 10 vê O0 như sau: for (int i = 10; i >= 03; 1 -= 2) { } Kết quả in ra sẽ là: cout << i << ) 10 86420 Multiple declarations

Trong một số trường hợp, vòng lặp của chúng ta cần sử dụng đồng thời

nhiều biến khác nhau Ngôn ngữ C++ hổ trợ cho chúng ta khai báo và

khdi tao nhiéu bién bén trong phan variable initialization cua vòng lặp for for (int hh = @, mm @, sS = @ ; true; ss++) { if (ss >= 60) { SS = QO} mm++ ; if (mm >= 60) { hh++ ; if (hh >= 24) { hh = @; } } } cout << hh << ”:” << mm << “":" << ss << endl; _sleep(10@6) ; system("cls"); }

Nếu các bạn đặt khai báo biến vòng lap tai phan variable initialization của vòng lặp for, những biến này phải có cùng kiểu dữ liệu

Lược bỏ một số thành phần trong vòng lặp for

Một đặc điểm nổi bật hơn so với các vòng lặp khác là vòng lặp for cho

phép lập trình viên lược bỏ các thành phần nếu không cần sử dụng Ví dụ:

Trang 4

for ( ; loop <= 10; )

{

}

Trong ví dụ trên, mình không cần sử dụng tới thành phần khởi tạo biến, cũng như thành phần cập nhật giá trị biến Lúc này, vòng lặp này hoàn toàn giống với vòng lặp while cout << loop++ << 3 Chúng ta có thể lược bỏ luôn cả 3 thành phần cơ bản của vòng lặp for: for ( ; ; ) { }

Khi biểu thức điều kiện trong for được bỏ trống, nó đồng nghĩa với việc

biểu thức điều kiện luôn luôn đúng Vòng lặp for này tương đương: // do something while (true) { } Nesting for loops // do something

Tương tự như vòng lặp while hay do-while, vòng lặp for có thể chứa

nhiều vòng lặp khác trong khối lệnh của nó

for (int i = 0; i < 53; i++) { for(int j = 0; j < 10; j++) { cout << "* "3 } cout << endl; } Kết quả của đoạn code này là: * K x%* *% 3% K K K *% *% * K x%* *% 3% K K K *% *% * K x%* *% 3% K K K *% *% * K x%* *% 3% K K K *% *% * K x%* *% 3% K K K *% *% Tổng kết

Vòng lặp for được sử dụng phần lớn trong các cấu trúc lặp trong ngôn ngữ C++ mà mình đã giới thiệu đến các bạn Vòng lặp for phù hợp cho cả trường hợp biết trước số lần lặp lần không biết trước số lần lặp

Bài tập cơ bản

Trang 5

2/ Viết chương trình tính dân số của một thành phố sau 10 năm nữa, biết

rằng dân số hiện tại là 500.000 người, và tỉ lệ tăng dân số hằng năm của

thành phố này là 1.6%

3/ Viết chương trình in ra bảng cửu chương

Ngày đăng: 25/10/2017, 20:33

TỪ KHÓA LIÊN QUAN