Module: (C++) Vòng lặp. Vòng lặp với tham số (for)


Problem

10/17

Tiêu đề của vòng lặp for - lặp lại N lần

Theory Click to read/hide

Lặp lại N lần

Tất cả các chương trình có vòng lặp for mà chúng tôi đã viết cho đến nay không thể được gọi là phổ quát. Bởi vì chúng tôi tự đặt số lần lặp lại của thân vòng lặp. Nhưng nếu số lần lặp lại phụ thuộc vào một số giá trị khác thì sao? Ví dụ: bản thân người dùng muốn đặt số lần lặp lại chu kỳ.
Phải làm gì trong trường hợp này? Mọi thứ đều rất đơn giản. Thay vì các giá trị bắt đầu và kết thúc bằng số, chúng ta có thể sử dụng bất kỳ biến nào mà người dùng có thể tính toán hoặc đặt.

Ví dụ: chúng ta cần hiển thị bình phương của các số từ 1 đến N, trong đó giá trị của biến N được nhập từ bàn phím bởi người dùng.
Chương trình sẽ như thế này:
  #include <iostream> sử dụng không gian tên std; chủ yếu() { int i,N; // tôi – biến vòng lặp, N - số tối đa mà chúng tôi tính bình phương cin>> N; for ( i = 1; i <= N; i++) // vòng lặp: for all i từ 1 đến N. Biến i sẽ tuần tự lấy các giá trị từ 1 đến N { cout << "Số vuông "<<i<<" là" <<i*i<<"\n"; // Xuất bình phương của một số ở định dạng cụ thể và di chuyển xuống một dòng mới } } Khi vào vòng lặp, câu lệnh i = 1 được thực thi, sau đó biến i được tăng thêm một theo mỗi bước (i ++ ). Vòng lặp được thực thi khi điều kiện i <= N đúng. Trong phần thân của vòng lặp, câu lệnh xuất duy nhất sẽ in chính số đó và bình phương của nó ra màn hình theo định dạng đã chỉ định.
Để tính bình phương hoặc các số mũ thấp khác, tốt hơn là sử dụng phép nhân.

Chạy chương trình và xem kết quả hoạt động của nó với các giá trị khác nhau của biến N.

Problem

Chạy chương trình để thực thi, xem kết quả công việc của nó với các giá trị khác nhau của biến N.

Phân tích đầu ra.

Lưu ý rằng khi N=0 (thử nghiệm #4), chương trình không xuất ra bất kỳ thứ gì, vì điều kiện i <= N ngay lập tức sai trong lần đầu tiên vòng lặp được thực thi ( 1<=0 là điều kiện sai), vì vậy phần thân của vòng lặp không bao giờ được thực thi!