Звонящий или вызываемый абонент экономит на этой паскальской программе? - PullRequest
0 голосов
/ 10 июня 2018

Для домашней работы я получил следующий код Паскаля:

Program arraySum;
Procedure sum(a: Array [1..3] Of Integer);
    Function sum2(low, high: Integer): Integer;
        Var mid: Integer;
        Begin
            If low = high
            Then sum2 := a[low]
            Else Begin
                mid := (low + high)/2;
                sum2 := sum2(1, mid) {line 9}
                        + sum2(mid + 1, high)
            End
        End;
    Begin
        Out("Result: ", sum2(1,3))
    End;
    Begin
        sum([3,1,5])
    End.

С вопросом:

В рекурсивных вызовах sum2 в строке 9 есть значение регистрачто должно быть сохранено?Если это так, должен ли этот регистр сохранять звонки или сохранять звонки?Объясните свой ответ.

Вопрос говорит о сохранении одного регистра, но после просмотра кода я считаю, что мне нужно сохранить два регистра, а именно средний и высокий, поскольку они необходимы для второго рекурсивноговызов.Кроме того, я бы сказал, что это сохранение вызовов, поскольку это только временные значения.Я что-то здесь не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...