Module: chu kỳ. 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

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. Vì chúng ta 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 người dùng nhập từ bàn phím.
Chương trình sẽ như thế này:
  var i, n : số nguyên; // tôi – biến vòng lặp, n - số lượng tối đa mà chúng tôi tính bình phương bắt đầu đọc (n); // nhập n từ bàn phím for i := 1 to n do // vòng lặp: for all i from 1 to n - biến i sẽ tuần tự lấy giá trị từ 1 đến n writeln('Kvadrat chisla ', i, ' quạ ', i * i); // 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 kết thúc. Khi vào vòng lặp, câu lệnh i := 1 được thực thi, sau đó biến i được tăng lên một (đến) theo mỗi bước. Vòng lặp được thực hiện 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ả công việc 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ả làm 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 trong cửa sổ kết quả kiểm tra chương trình

Lưu ý rằng đối với n=0 (thử nghiệm #4), chương trình không xuất ra bất kỳ thứ gì vì 1 ngay lập tức lớn hơn 0, vì vậy thân vòng lặp không bao giờ được thực thi!