Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tatra_v2.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
438.78 Кб
Скачать

Раздел 2. Языки описания алгоритмов

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

Описание языков дается в бэкусовой нормальной форме. При этом воспользуемся следующей символикой:

::= - читается "это есть",

 - читается "или",

<> - метапеременная, определяющая смысловую часть записи.

При формировании строк таблиц используются знаки и константы:

<знак> ::=<собственный знак> <объектный знак>

<собственный знак > ::= / ; , ' >

<объектный знак> ::=<цифра><буква> = # < > <= >= ( ) [ ] + -

<цифра> ::= 0 1 2 3 4 5 6 7 8 9

<буква> ::= <буквы латинского алфавита> <буквы русского алфавита>

Из цифр или букв и знаков "+", "-", "." формируются константы.

<константа>::=<целая константа> <действительная константа> <текстовая константа>

Запись константы определяет ее значение и тип.

<целая константа> ::=<знак константы> <целое без знака> <целое без знака>

<целое без знака> ::=<цифра> <цифра> <целое без знака>

<знак константы> ::= + - <пусто>

<пусто> ::=

Значение целой константы по абсолютной величине не может превышать 2147483647.

<действительная константа>::=<знак константы><целое без знака>.<целое без знака> <знак константы><целое без знака>. <знак константы>.<целое без знака>

После десятичной точки может стоять не более трех цифр.

<текстовая константа> ::= <буква> <цифра> <буква><текстовая константа> <цифра><текстовая константа>

Если перед целой или действительной константой нет знака, то она воспринимается как положительная.

Примеры:

  1. целая константа: 2; +21; -7;

  2. действительная константа: 200.1; -31.2; +.05; +0.4; -.5;

  3. текстовая константа: А206; 2А; 217; Б.

Настоящая версия системы программирования ТАТРА работает с положительными константами.

4.1. Язык заполнения сводной документа описания признаков

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

<сводная таблица признаков> ::= <имя системы><описание признаков>/

<имя системы> ::= C=<текстовая константа, не превышающая 8 символов>

В нашем примере имя системы: C=СИММЕТР

<описание признаков> ::= <описание признака>/<описание признака><описание признаков>

Признак может быть задан оператором при кодировании или вычисляться перед началом проектирования в специальном редакторе. В редакторе вычисляются те признаки, которые часто используются в алгоритмах. Признаки, используемые в одном или нескольких алгоритмах, которые применяются редко, вычисляются по программам в процессе проектирования. Таким образом, повышается производительность проектирования. Поэтому признак может описываться двумя способами.

<описание признака>::= <описание заданного или сформированного редактором признака><описание признака, вычисляемого по программе>

<описание заданного или сформированного редактором признака>::= <имя признака><адрес расположения признака>

<имя признака>::= <текстовая константа, не превышающая 8 символов>;

<адрес расположения признака>::= <номер строки><номер столбца> <номер столбца><номер строки>

<номер строки>::= C=<целое без знака>;Ц=<целое без знака>;

<номер столбца>::= T=<целое без знака>;И=<целое без знака>;

Номер строки (столбца) может быть постоянным, тогда он задается с помощью идентификатора С (Т). Если же номер строки (столбца) является переменной величиной, которая должна меняться в цикле, то задается значение смещения номера строки (столбца) по отношению к цикловому значению номера строки (столбца) с помощью идентификатора Ц (И). Такая возможность позволяет удобно оформить правило в котором должны просматриваться признаки различных строк (столбцов) массива описания объекта.

Признак, который вычисляется по программе, можно записывать или не записывать в основной информационной массив. Рекомендуется не запоминать признак, если Вы уверены, что в дальнейшем он не будет использоваться. Если значение признака не заносится в основной информационный массив, то адрес занесения признака либо не задается вообще, либо в адресе занесения не задается одна из компонент (строка или столбец). Признак, который не запоминается, вычисляется при каждом его использовании. Если требуется занести значение признака в основной информационный массив, то адрес занесения задается полностью. Признак, который запоминается, вычисляется только один раз. Это происходит в том случае, когда по адресу занесения записано число -2147483647. Следовательно, правило задания признака, вычисляемого по программе следующее.

<описание признака, вычисляемого по программе>::= <имя признака><имя программы вычисления признака><имя признака><адрес занесения признака>< имя программы вычисления признака><имя признака><имя программы вычисления признака> <адрес занесения признака>

<имя программы>::= П=<текстовая константа, не превышающая 6 символов>;

<адрес занесения признака>::= <номер строки><номер столбца><номер столбца><номер строки><номер строки><номер столбца>

Вариант, когда задается только номер строки или только номер столбца, рекомендуется использовать при передаче значения строки или столбца, изменяемых в цикле. Поэтому в этом случае задаются значение смещения номера строки или столбца по отношению к цикловому значению номера строки (столбца) с помощью идентификатора Ц (И).

ЗАМЕЧАНИЕ: сводный документ описания признаков должен быть задан до описания алгоритмов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]