Pascal 编程中的步长值

Step value in Pascal programming

我想要一个编程代码来打印一个范围之间的奇数来教学生。这里我把范围取为1到10。所以我想打印1到10之间的奇数。

我写这段代码来打印 1 到 10 之间的奇数

program printOdd1to10; {Prints odd numbers 1 - 10}

var counter : integer;
begin

   for counter := 1 to 10 do

      begin
        Writeln(counter); {prints new line}
        counter := counter + 2 {increment by value 2, like step 2}
      end;
        Readln;

end.

但是当我运行时,它打印出一长串错误答案。 那么,如何在 Pascal 编程中像这样打印奇数、偶数、3(3,6,9...) 次数字。

Pascal 中的for 语句不支持步长值,您不应更改索引变量的值(这是编程的一般原则)。针对您感兴趣的条件(例如 if odd(counter) then...)测试索引变量的值,或者重新编码为 whilerepeat...until 循环,其中您可以使用 'pseudo-index' 变量,您可以根据需要进行操作。

我对pascal不是很熟悉。但是,我有一个建议给你,如果它被分成 2,剩下的是 1(比如 5/2,剩下的是 1),然后使用条件检查数字,然后打印它呢?

希望对您有所帮助。

根据 Jeff 的回答,编写程序的最佳方式是使用 'while'。

i:= 1;  // start with an odd number
while i < 10 do
 begin
  writeln (i);
  i:= i + 2;  // or inc (i, 2)
 end;

每次将 i 加 2 将确保 i 始终为奇数,因此无需检查。