Г-н Фаршеклоакин (spamsink) wrote,
Г-н Фаршеклоакин
spamsink

Categories:

Ретрокомпьютерное с загадкой

Несколько цитат из книги «СИСТЕМА „БЭСМ-АЛГОЛ“ Методическое руководство по программированию», изд. Министерство обороны Союза ССР, 1970; 100 c.

§5. Оператор присваивания. Оператор этот очень простой, но имеет ряд особенностей.

§12. Процедуры. Оператор процедуры является самым сложным и многообразным оператором входного языка. ...

1. Операторы процедур.
... Категорически запрещается описывать формальный параметр в теле процедуры, т. е. описывать в теле процедуры идентификатор, похожий на идентификатор одного из формальных параметров. Это приведет к неправильной работе процедуры.

2. Процедуры-функции. ... В теле процедуры идентификатор процедуры должен встречаться только в левой части оператора и категорически запрещается использовать его в правой части, т. е. нельзя писать
integer procedure курс(x, y);
begin real a;
a := x/2; курс := 0; курс := курс + a↑4 + y/3;
end;

...

3. Использование символа value. ... Список значений применяется для того, чтобы значения фактических параметров не изменялись после выхода из процедуры, т. е. с каким значением фактического параметра вошли в процедуру, с таким же и вышли.

[Дальше приводится пример передачи массива по значению - S.]

Применение списка значений в процедуре несколько сокращает время ее работы.


Ну и загадочка. Какие значения будет принимать параметр цикла, заголовок которого записан как

for i := 1,5,7 step 1 until 10, i+2 while i < 20 do ... ?

This entry was originally posted at http://spamsink.dreamwidth.org/1059504.html. Please comment there using OpenID.
Tags: puzzle, retrocomputing
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 7 comments