询问一些伪代码解释

时间:2016-01-31 16:47:15

标签: algorithm pseudocode

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

q1:

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)

Q2:

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

对于q2,我认为结果会显示一个数字太多或者不显示任何数字。 我真的不知道任何编程语言(只有一点点Python)所以如果你能解释一下会很棒。谢谢,我真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

要执行伪代码,您需要一台伪计算机,即您自己。在代码中添加行号并用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...

现在错误是显而易见的。纠正它并再试一次。