到目前为止,我们编写的所有带有 for 循环的程序都不能称为通用的。因为我们自己设定了循环体的重复次数。
但是,如果重复次数取决于其他值怎么办?比如用户自己想设置循环的重复次数。
这种情况怎么办?
一切都很简单。我们可以使用任何可以由用户计算或设置的变量,而不是数字开始值和结束值。
例如,我们需要显示从 1 到 n 的数字的平方,其中变量 n 的值是由用户从键盘输入的。
该程序将如下所示:
<前>
var i, n : 整数; // 我 –循环变量,n - 我们计算平方的最大数
开始
阅读(n); // 从键盘输入 n
for i := 1 to n do // 循环:for all i from 1 to n - 变量 i 将依次取值从 1 到 n
writeln('Kvadrat chisla ', ' raven ', i * i); // 以特定格式输出数字的平方并移至新行
结尾。
当进入循环时,语句 i := 1 被执行,然后变量 i 每一步递增 1 (to)。当条件 i <= n 为真时执行循环。在循环体中,唯一的输出语句根据指定格式在屏幕上打印数字本身及其正方形。
对于平方或其他低指数,最好使用乘法。
运行程序并查看其对变量 n 的不同值的处理结果。