При использовании оператора ПЕЧТР ВСЕ дополнительно выводятся на печать следующие параметры: координаты точек разбиения окружностей на квадранты, промежуточные точки аппроксимации окружности отрезками прямых, сообщение «ДВИЖЕНИЕ ПО КОНТУРУ» и траектория движения по контуру или по таблично заданной кривой.
Использование оператора ПЕЧТР ВЫКЛ приводит к подавлению вывода информации на печать до конца программы или до следующего оператора ПЕЧТР. Исключение составляют строки, содержащие ошибки движения, которые выводятся всегда.
Данные обо всех геометрических переменных выводятся в соответствии с их внутренним представлением (см. п. 2.9).
Оператор СЛЕД выполняет трассировку программы, т. е. печатает результаты выполнения операторов и имеет следующий формат: ÂÊËСЛЕД ÂÑÅ
где ВКЛ − включение распечатки результатов выполнения операторов, находящихся вне макроса; ВСЕ − включение распечатки результатов выполнения всех операторов; ВЫКЛ − выключение распечатки результатов выполнения операторов.
Таблица 2.5
Содержание строки | Данные, выводимые на печать | |
ЕСЛИ (логическое) | ЛОЖЬ или ИСТИНА | |
НАМЕТКУ | ПЕРЕХОД НА МЕТКУ | |
ПОВТОР | Минимальное и максимальное значения индекса | |
КОНЦИКЛ | ПЕРЕХОД НА МЕТКУ | |
ВЫЗОВ | ВХОД В МАКРО | |
КОНЕЦ МАКРОСА | ВЫХОД ИЗ МАКРО | |
Арифметическое выражение | Результат | |
Геометрическое определение | Имя параметра геометрического объекта Параметры геометрических объектов, образующих контур; координаты опорных точек табулированной кривой | |
КОНТУР | ||
П р и м е ч а н и е . Перед результатом на печать выводится номер соответствующей строки. | ||
В режиме «1» печатаются результаты всех операторов, приведенных в табл. 2.5. В режиме «О» печатаются только результаты управляющих операторов. Вся информация выводится в процессе работы второй фазы процессора в формате, приведенном в табл. 2.5.
Оператор ПЧТ1 используется для печати значения некоторой переменной или параметров геометрического объекта (точки, окружности, вектора или прямой) и имеет следующий формат: ПЧТ1 имя1, имя2, имя3,… где имя1, имя2, . . .− имена геометрических объектов или переменных.
Аналогично оператору СЛЕД информация выводится в процессе работы второй фазы процессора в следующем формате:/ номер строки имя1 =внутреннее представление номер строки имя2=внутреннее представление
Оператор СИНОНИМ служит для замены стандартных служебных слов синонимами и имеет следующий формат:
СИНОНИМ (служебное слово1, синоним1), %
[(служебное слово2, синоним2), %
… (служебное словоn, синонимn)]
В качестве синонимов могут употребляться только имена. Оператор должен быть задан до первого использования синонима. Например, задав оператор СИНОНИМ (ВПЕРЕД, В), (ПЕРЕСЕЧ, П), можно вместо оператора ВПЕРЕД ПР1 ДО 2 ПЕРЕСЕЧ КР1 употреблять в программе оператор В ПР1 ДО 2 П КР1.
Оператор вставки текста «*» позволяет вставить в программу текст, хранящийся во внешней памяти, и имеет следующий формат:
* имя * литерал где имя − имя модуля из библиотеки программ; литерал − спецификация файла. Например:
*PROG1
*’SY: PROG2'
Конкретный формат оператора зависит от типа используемой ЭВМ.
В языке Техтран можно использовать в программе отдельно подготовленные части исходного текста − макросы. В макросе разрешается применять любые операторы языка, но вместо конкретных значений переменных могут использоваться параметры.
Подключение макроса к программе осуществляется при помощи специального оператора ВЫЗОВ. При этом в тексте программы на месте оператора ВЫЗОВ появляется текст вызываемого макроса (тело), в котором формальные параметры, заданные в теле макроса, заменяются фактическими значениями, указанными в операторе ВЫЗОВ. Допускается определение макросов внутри программы. В этом случае вызов макроса должен производиться из этой же программы.
Структура макросов. Макрос состоит из заголовка, тела и ограничителя. Заголовок макроса представляет собой специальный оператор МАКРО. Тело макроса − произвольная последовательность операторов языка Техтран (кроме операторов ДЕТАЛЬ, КОНЕЦ и ПЕЧТЕКСТ), в которых могут быть использованы параметры макроса. Тело макроса может содержать другие макросы и обращения к ним. Ограничителем макроса является служебное слово КОНМАК.
Параметры макроса. Параметры могут быть операторными и текстовыми. Параметры записываются в произвольном порядке и отделяются друг от друга запятыми.
Операторный параметр представляет собой оператор языка Техтран, заключенный в скобки. При вызове макроса операторные параметры выполняются непосредственно перед телом макроса. В качестве операторных параметров нельзя использовать операторы ДЕТАЛЬ, КОНЕЦ, МАКРО, КОНМАК, ВЫЗОВ, КОНТУР, КОНКОН, ПОВТОР, КОНЦИКЛ, ЕСЛИ. Операторы присваивания, не содержащие разделителей в правой части, в скобки можно не заключать.
Текстовой параметр в отличие от операторного имеет свое имя и значение. Значением текстового параметра является произвольная последовательность символов, не содержащая символа «#». Имя текстового параметра − произвольное имя, допустимое в языке Техтран.
В теле макроса имени текстового параметра должен предшествовать символ макроподстановки «&». При вызове макроса вместо символа «&» и имени параметра в текст будет подставлено его значение. Не разрешается параметризовать часть имени, числа или литерала.
Например, вместо оператора КР& КР = 0,0,40 после текстовой подстановки значения параметра '10' получим: КР 10 = 0,0,40, что недопустимо.
Правильной является запись: &КР = 0,0,40. При значении параметра 'КРЮ' оператор будет преобразован к виду: КР10 = 0,0,40.
Значения текстовых параметров макроса задаются в операторах ВЫЗОВ или МАКРО.
Заголовок макроса. Заголовок представляет собой специальный оператор МАКРО и имеет следующий формат:
МАКРО имя [(список значений)]
где имя − имя макроса (любое имя, допущенное в языке Техтран); список значений − список
значений текстовых параметров, установленных по умолчанию.
Если значения по умолчанию не задаются, скобки должны быть опущены. Значение по умолчанию используют в том случае, если в операторе ВЫЗОВ значение данного текстового параметра не задано. Элементы списка значений отделяются друг от друга запятыми.
Значение по умолчанию задается одним из следующих способов:
1) 'имя' = литерал (например, 'КР'='КР10' − параметр с именем КР принимает по умолчанию значение, равное КРЮ);
2) 'имя1' = & имя2(например, 'КР1' = &КР2− параметр с именем КР1 принимает то же значение, что и параметр КР2; параметр КР2 должен быть определен ранее);
3) 'имя' = объединение литералов и текстовых параметров (например, если значение параметра КР по умолчанию определено следующим образом: 'КР' = = 'КР'&М6&АБ'10', то при значениях параметров Мб и АБ'04' и 'В' соответственно, параметр с именем КР примет значение КР04В10).
Примеры заголовков макросов: МАКРО МТК1
Значений по умолчанию нет.
МАКРО М2 ('ПГ = '1',' П2' = 'ПР'&П1,' ПЗ' = 'КР'&П1&П1)
По умолчанию: П1 = 1; П2 = ПР1; ПЗ = КРП
МАКРО МЗ (/ПГ = 'Г,'П2'=='ПР'&П4&П4',ПЗ' = 'КР'&П4)
По умолчанию: П1 = 1; П2 = ПР значение П4 значение П4; ПЗ = КР значение П4.
Значение параметра П4 обязательно должно быть определено при вызове макроса. В противном случае возникнет ошибка. Если для параметра П4 нужно задать значение по умолчанию, то это следует сделать до присваивания значений П2 и ПЗ: МАКРО ПЗ ('ПГ = 'Г, 'П4' = '2', 'П2'='ПР'&П4&П4, % ‘ПЗ' = 'КР'&П4)
Вызов макроса. Для выполнения макроподстановки, т. е. вставки в текст исходной программы на Техтране тела макроса и для замены формальных "параметров фактическими предназначен оператор ВЫЗОВ. Он имеет следующий формат: èìÿВЫЗОВ [(список параметров)]
где имя − имя макроса, использованное в операторе МАКРО; литерал − спецификация файла, в котором находится текст макроса; список параметров − последовательность операторных параметров и значений текстовых параметров, разделенных запятыми. Если параметры в вызове отсутствуют, скобки должны быть опущены.
Имя макроса используется в том случае, когда макрос находится в макробиблиотеке или определяется в самой программе. Если макрос содержится в отдельном файле, следует использовать литерал − спецификацию этого файла. Формат спецификации файла зависит от типа ЭВМ и операционной системы, например: