0

尊敬的专家和爱好者,

我想解决以下问题:我有一个自然数数组。我想找到他们的最大值。

但我必须用结构图展示我的解决方案,比如 http://www.testech-elect.com/pls/images/casetool2.jpg

我必须通过 midifieing 求和算法来做到这一点,这意味着我必须修改http://cfhay.inf.elte.hu/~hurrycane/programozas/programming_theorems.pdf的结构图和后置条件

必须保留主要水平线,但您可以修改其他所有内容。你能告诉我没有递归的修改后的条件吗?就够了。如果我得到它,我可以制作结构图。先感谢您。

4

1 回答 1

1

考虑C++您的算法的代码:

max = a[0]; ind = 0;
for (int i = 1; i < n; i++)
{
    if (a[i] > max)
    {
        max = a[i];
        ind = i;
    }
}

对于上述算法,我们将有:

  1. 状态空间= ( a : N*, n : N, ind : N, max : N)
  2. 前置条件= ( a = a' /\ n = length(a) )
  3. 后置条件= (前置条件/\ ( max , ind ) = MAX(i = 0, n) a[ i ] )
于 2013-02-23T14:45:24.537 回答