algorithm - 询问一些伪代码解释

标签 algorithm pseudocode

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

第一季度:

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

对于 q2,我认为结果要么显示太多数字,要么不显示任何数字。 我真的不知道任何编程语言(只懂一点点 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...

现在错误很明显了。更正它并重试。

关于algorithm - 询问一些伪代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35116413/

相关文章:

c - 如何用C语言求解100^1000?

algorithm - 查找非边缘相交的最短路径的数量

algorithm - 1 到 k 范围内 n 个值的基于比较的排序的下限

php - 我的 PHP PIL 逊相关系数代码有什么问题

assembly - `Skipcond` 在 MARIE 汇编语言中是如何工作的?

c# - 从数学符号翻译交叉熵方法

algorithm - 将线性递归函数重写为尾递归函数

php - 通过标签频率获取相似主题文本的算法

algorithm - 理解伪代码

definition - 伪代码:一个明确的定义?