Cтраница 2
Алгоритмические языки типа АЛГОЛ-60 с наличием описаний переменных не являются в чистом виде контекстно-свободными. Это происходит в силу того, что формализм языка не полностью реализуется бэкусовскими синтаксическими правилами, а дополняется семантическими неформализованными определениями, приводимыми в описаниях языка и определяющими правила применения тех или иных конструкций языка. Некоторая формализация семантики имеется в языке АЛГОЛ-68, но полностью в нем не проведена. [16]
Поэтому если первоначальное описание какого-либо оператора представляется естественным на языке канонических уравнений, то оно легко осуществляется и посредством логической формулы. Однако это явление необратимо; даже при наличии описания в логических терминах его формулировка посредством канонических уравнений может представлять значительные трудности. [17]
Для возможности эксплуатации программы кем-либо кроме автора она должна быть оформлена. В описание включается инструкция по использованию программы, излагается примененный метод решения, приводятся алгоритмы ( иногда и текст программы), а также контрольные примеры с эталонными результатами. Наличие описания программы позволяет не только успешно эксплуатировать ее длительное время, но и проводить ее модернизацию и использовать в дальнейших разработках. [18]
В ПЛ / 1 операторными скобками, ограничивающими группу, являются операторы DO и END. Между ними могут находиться операторы, группы, обычные и процедурные блоки и даже описания DECLARE и FORMAT. Но наличие описаний не делает группу блоком ( в смысле АЛГОЛа), так как вводимые в группе имена могут использоваться и вне ее в минимальном охватывающем эту группу обычном или процедурном блоке. [19]
Примерами таких языков являются Утопист системы Приз и Декарт системы СПОРА. В этих системах формулирование конкретной задачи фактически складывается из двух этапов. Потребитель, рассчитывая на наличие описания предметной области, формулирует свою задачу в терминах понятий уже введенной модели. Хотя синтаксически язык, используемый потребителем, одинаков для различных предметных областей, однако богатая семантика введенной модели предметной области создает хорошую проблемную ориентированность языка потребителя. Все трудности с обеспечением проблемной ориентированности фактически переносятся на конструктора. [20]
Одной из разновидностей оператора алгола является блок. По конструкции блок напоминает составной оператор. Блок отличается от составного оператора наличием описаний. [21]
Программа для ЭВМ представляет собой нечто большее, чем просто колода перфокарт или бобина магнитной ленты. Это по существу идея, отлитая в форму машинной программы, и, для того чтобы ее успешно применять, пользователю необходимо знать о программе все подробности. Отсюда возникает потребность в таком документе, как ИНСТРУКЦИЯ для ПОЛЬЗОВАТЕЛЯ или ОПИСАНИЕ ПРОГРАММЫ. Поскольку очень редко приходится встречаться с программами, не нуждающимися ни в каких изменениях для приспособления их к конкретному, имеющемуся у пользователя типу ЭВМ, то дополнительно требуется еще и такая документация, как функциональная блок-схема, блок-схема исходной программы и программа-эталон. Необходимо также наличие описаний оверлейной структуры и отдельных этапов выполнения программы, форматов наборов данных и требований, касающихся инициализации программы; распределения устройств ввода-вывода, схем загрузки и трансляции, карт управления заданиями. [22]