询问一些伪代码解释



我正在学习用伪代码编写算法。以下是我编写的一些伪代码(非正式的、自我发明的格式)。其中一些似乎有"错误"。谁能告诉我错误是什么?运行此代码时实际会发生什么?

问1:

set finished to false
repeat until finished
    ask 'Enter a value' and wait
    set value to answer
    set cubed to value*value*value
    say join value(join cubed is cubed)

问2:

set num to 0
set count to 1
forever if num < 100
    set number to count * 9
    say number
    set count to count + 1

对于第 2 季度,我认为结果要么显示一个数字太多,要么不显示任何数字。我真的不了解任何编程语言(只有一点点 Python),所以如果你能解释一下,那就太好了。谢谢你,我将非常感谢你的帮助。

要执行伪代码,您需要一台伪计算机,即您自己。将行号添加到代码中,并将循环替换为 ifs + gotos:

1 set finished to false
2 if finished goto 8 # repeat until finished{
3 ask 'Enter a value'and wait
4 set value to answer
5 set cubed to (value*(value*value))
6 say join value(join cubed is cubed)
7 goto 2 # }
8

现在完成每个步骤并写下变量采用的值。

     finished   value   cubed
1    false
2    false
3    false
4    false      3
5    false      3       27
6    false      3       27
7    false      3       27  # goto 2!
2    false      3       27
3    false      3       27
4    false      2       27
5    false      2       8
6    false      2       8
7    false      2       8   # goto 2!
2    etc...

现在错误是显而易见的。请更正它,然后重试。

最新更新