Показалось интересным продолжить ряд.
Далее, на с. 65 утверждается:
Потопахин В.В. писал(а):
RETURN может в тексте процедуры находит(1. ться)ся где угодно, их м.б. несколько, но по крайней мере один д.б. Команда RETURN чаще используется в процедурах с возвратом. Иначе они называются процедуры - функции.
Итак, обязателен ли RETURN (т.е. явный возврат) в процедурах вообще, или только в процедурах-функциях, неясно... В спецификации же Оберона (см.
п. 9.10 в этом документе) явный возврат (указываемый сочинителем) чётко отграничен от неявного - наверное, и в КП так?
На с. 87 (Пример 2):
Код:
TYPE
shablon=RECORD
a : ARRAY 10 OF INTEGER
N : CHAR
END
VAR
mas : ARRAY 10 OF shablon
...и далее в тексте:
Доступ: a[1].a[9]:=1
А доступ-то не получится - имя переменной, видимо, д.б. не 'mas', а 'a' - как далее в Листинге 97...
Следующее относится уже к качественному (опять же в терминах свёртки Фридланда, проведённой
на этой странице)) пониманию задачи, следствием чего является выбор структуры данных для информатической модели.
На с. 91 (Задача 43):
Потопахин В.В. писал(а):
А структура данных(4. запятая) описывающая солннечную систему(2. тире) это(4. запятая) очевидно(4. запятая) массив:
Код:
VAR
planet : ARRAY 9 OF planets
Итак, для девяти планет место отведено; десятой, по современным данным, нету
. Но. Как я думаю, для модели движения существенно также наличие Солнца (источника основной гравитационной силы в системе); так что объектов описания всё-таки десять. Координаты Солнца, очевидно, (0,0,0) (раз уж у нас по современным научным представлениям гелиоцентрическая система
).
В связи с этим вспомнилась фраза о программировании, с которой начал разбор текста. Не знаю, о чём думал Виталий Валерьевич, выбирая именно такой образ (мир стоит на слонах и черепахе
), но программирование (шире - информатическая стадия формализации вообще), наверно, и правда ещё на "доисторическом" этапе находится - имея в виду что пока оно преимущественно "наивное", а не доказательное. И вот какая мысль насчёт возможного продолжения книги - хорошо бы оно вводило столь же интересно читателя в принципы построения описаний:
* верифицируемых - в смысле этой работы;
* реального времени, т.е. представляемых как системы взаимодействующих алгопроцессов - в смысле той же работы, а также определения в Гл.4 этой книги.
Конечно, тут уже изложение потребует РВ-версии языка и будет включать анализ и иллюстрацию механизмов взаимодействия (как сделано у Вирта в п. 1.7.3) - а, возможно, также представления средствами КП этих механизмов. Тут возникают и вопросы ограничения типов для верификации (с целью избежания "взрыва состояний") - насколько это корректно для конкретных типов задач, когда этим можно пользоваться, когда нет и что взамен. Наверное, это не так уж просто изложить для молодых, но - задача важная, задача благородная...