Спецификация - поле - Большая Энциклопедия Нефти и Газа, статья, страница 3
Жизнь похожа на собачью упряжку. Если вы не вожак, картина никогда не меняется. Законы Мерфи (еще...)

Спецификация - поле

Cтраница 3


Заметим, что если число выводится на печать с помощью спецификации поля типа Е, то мантисса его представляет собой правильную дробь величиной между 0.1 и 1.0, умноженную на степень десяти. Как уже указывалось, общепринятая запись в научной литературе отличается от этой формы: там принято выбирать величину мантиссы между 1.0 и 10.0. Для того чтобы выходная информация была отпечатана в более привычном виде, достаточно поставить IP перед буквой Е в спецификации поля. При этом десятичная точка будет напечатана между первой и второй значащими цифрами мантиссы, считая слева, а порядок автоматически будет уменьшен на единицу. Символ IP называется масштабным коэффициентом. Такой способ применяется очень часто, в этой книге его можно найти в нескольких примерах.  [31]

Вывод-параметров производится по довольно сложному оператору FORMAT, с помощью которого печатаются также обозначения различных переменных, контролируются интервалы между словами и расстояние между строками печати; последняя часть этого оператора служит для печатания заголовка. Читатели, уже ознакомившиеся с приложением 1, могут попытаться изучить этот оператор; тот, кто не интересуется форматами, может пропустить этот оператор. В операторе FORMAT под номером 105 имеются три спецификации поля, которые не используются предыдущим оператором вывода, а просто игнорируются. Эти три спецификации будут использованы в дальнейшем, когда тот же оператор FORMAT будет упомянут в другом операторе WRITE OUTPUT TAPE, где указаны еще три числа, предназначенные для печати.  [32]

Мы убедились, что процесс сканирования может быть сложнее, нежели в простом списке, где только перечислены переменные. Тем не менее последовательность, в которой передаются значения переменных, полностью определяется списком. Следует отметить, что процесс сканирования в списке переменных идет синхронно с аналогичным процессом в списке спецификаций поля оператора FORMAT: каждый раз, когда очередь доходит до новой переменной в списке, соответственно выбирается новая спецификация поля в операторе FORMAT. Те методы индексации списка переменных и усовершенствования оператора FORMAT, которые мы рассмотрим ниже, несколько усложняют эту картину, но не меняют основной идеи одновременного сканирования в списке переменных и в списке спецификаций поля.  [33]

При выводе информации спецификация F определяет, что на ленте будет напечатана десятичная точка, причем позицию, занимаемую этой точкой, необходимо учитывать при подсчете общего количества позиций в спецификации поля. Например, если необходимо напечатать действительное число, которое по абсолютной величине может доходить до 99 999, и если необходимо напечатать еще два знака после десятичной точки, то при подсчете общего количества позиций учитывается позиция для знака числа, пять позиций перед десятичной точкой, сама десятичная точка и две позиции после десятичной точки. Таким образом, поле должно состоять по крайней мере из девяти позиций, или, что то же самое, спецификация поля должна быть по крайней мере F 9.2. Если же программист хочет иметь некоторое количество лишних позиций, например для того, чтобы число можно было легче прочесть, то следует написать что-либо вроде F 12.2. При этом три позиции перед числом окажутся пустыми.  [34]

В операторе FORMAT должна присутствовать спецификация поля для каждой переменной из списка в операторах READ и PRINT. Полем называется группа колонок на перфокарте или группа позиций для печати на бумажной ленте. Процесс последовательного перебора имеет место также и для оператора FORMAT. При вводе, например, первое значение на перфокарте соответствует первому наименованию переменной в операторе READ и первой спецификации поля в операторе FORMAT. Полный список спецификаций поля в операторе FORMAT заключается в скобки, а отдельные спецификации отделяются друг от друга запятыми.  [35]

Когда с помощью операторов ввода - вывода необходимо передавать полностью некоторые массивы или даже их части, то зачастую нет необходимости перечислять в списке все элементы. Чтобы передать массив полностью, достаточно поставить в списке его наименование без всяких индексов. Естественно, наименование этого массива должно содержаться где-либо в программе в операторе DIMENSION; тогда в списке переменных оператора ввода - вывода может отсутствовать соответствующая индексная информация. Все элементы массива обычно записываются в одном и том же формате, так что оператор FORMAT может содержать всего одну спецификацию поля.  [36]

Мы убедились, что процесс сканирования может быть сложнее, нежели в простом списке, где только перечислены переменные. Тем не менее последовательность, в которой передаются значения переменных, полностью определяется списком. Следует отметить, что процесс сканирования в списке переменных идет синхронно с аналогичным процессом в списке спецификаций поля оператора FORMAT: каждый раз, когда очередь доходит до новой переменной в списке, соответственно выбирается новая спецификация поля в операторе FORMAT. Те методы индексации списка переменных и усовершенствования оператора FORMAT, которые мы рассмотрим ниже, несколько усложняют эту картину, но не меняют основной идеи одновременного сканирования в списке переменных и в списке спецификаций поля.  [37]

Точно так же, как можно повторять какую-либо спецификацию поля, написав перед ней число, означающее количество повторений, можно повторять и целую группу спецификаций поля. Для этого группа спецификаций заключается в скобки и перед скобками пишется число, означающее количество повторений. Например, предположим, что на некоторой перфокарте имеется восемь чисел, пробитых по очереди в форматах I 2 и F 10.0. Тогда оператор FORMAT можно написать в виде 4 ( I 2, F 10.0) и числа будут введены в ЭЦВМ. F 10.0, так как в этом последнем случае имелось бы в виду наличие на перфокарте четырех чисел, написанных в формате I 2, а затем четырех чисел, написанных в формате F 10.0. Использовать такую группировку спецификаций поля можно только однократно, иными словами, скобки внутри скобок не допускаются.  [38]

В операторе FORMAT должна присутствовать спецификация поля для каждой переменной из списка в операторах READ и PRINT. Полем называется группа колонок на перфокарте или группа позиций для печати на бумажной ленте. Процесс последовательного перебора имеет место также и для оператора FORMAT. При вводе, например, первое значение на перфокарте соответствует первому наименованию переменной в операторе READ и первой спецификации поля в операторе FORMAT. Полный список спецификаций поля в операторе FORMAT заключается в скобки, а отдельные спецификации отделяются друг от друга запятыми.  [39]

Подлежащие вводу целые числа необходимо перфорировать без десятичной точки; при выдаче их на печать десятичная точка также не печатается. Если входная величина имеет меньше значащих цифр, чем предусмотрено в спецификации, число должно быть отперфорировано в правой части поля. Если количество значащих цифр при выводе меньше количества позиций, предусмотренного в спецификации, число будет напечатано в правом краю поля. При вводе перед положительным числом знак плюс можно ставить и можно не ставить, перед отрицательным числом обязательно ставить знак минус перед первой значащей цифрой. При выводе в большинстве случаев знак плюс не печатается. При подсчете числа в спецификации поля необходимо предусматривать место для печати или для перфорации знака.  [40]



Страницы:      1    2    3