【问题标题】:Understanding pseudo code and trace table理解伪代码和跟踪表
【发布时间】:2014-04-23 07:43:49
【问题描述】:

谁能帮我理解下面这段伪代码:

int x=2, y=3, z=4

DO 
  x *= 3
  If (x>50) Then
     y --
  Else
    z ++
  End If
 WHILE(y>0)

特别是,我不确定 'z++' 、 '*=' 和 'y--' 是什么意思。另外,我将如何为此创建一个完整的跟踪表(列“x”、“y”和“z”)。

谢谢

【问题讨论】:

  • ++ 表示加1,所以a++ => a = a + 1; -- 同样表示递减。 *= 表示设置这个变量等于同一个变量乘以右边的数字,所以a*=5 => a = a * 5

标签: pseudocode truthtable


【解决方案1】:

“z++”是指变量z自增的后缀版本。意思是 z 现在是 z+1。 “ *= ”是 a=a*b (a*=b) 的简写形式。

DO 
  x *= 3
  If (x>50) Then
     y --
  Else
    z ++
  End If
 WHILE(y>0)

当 y 大于零时,执行以下操作:将 x 乘以 3。如果 x 大于 50,则将 y 减 1。如果 x 小于或等于 50,则将 z 加 1。

所以对于三元组 (x,y,z),它会给出以下步骤: (2,3,4) , (6,3,5), (18,3,6), (54,2,6 ), (162,1,6), (468,0,6)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多