Pascal编程中的步进值

时间:2017-04-27 15:48:02

标签: pascal

我想要一个编程代码来打印一个范围之间的奇数来教学生。在这里,我将范围取为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 ......)次数。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

根据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 :(得分:1)

我对帕斯卡不太熟悉。但是,我有一个建议,如果它被分成2除以1(如5/2,其余为1),则使用条件来检查数字然后打印它。

我希望它会对你有所帮助。