我正在学习用伪代码编写算法。以下是我编写的一些伪代码(非正式的,自我发明的格式)。其中一些似乎有“错误”。谁能告诉我有什么错误?运行此代码时会发生什么?
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)所以如果你能解释一下会很棒。谢谢,我真的很感谢你的帮助。
答案 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...
现在错误是显而易见的。纠正它并再试一次。