Является ли --- Cobol картина действительна - PullRequest
0 голосов
/ 06 октября 2011

Я провожу несколько тестов на фотографиях Cobol и задаюсь вопросом, является ли --- действительной картинкой.Правильно ли я сказал, что эта картина принимает значения в диапазоне от -99 до +99.Если это действительно так, то возможно, чтобы изображение приняло 3 пробела в качестве значения?

Например:

12 вернет 121 вернул бы 1

Приветствия

Ответы [ 2 ]

3 голосов
/ 06 октября 2011

Да --- является действительным предложением PICTURE. Переменная, соответствующая этому PICTURE, будет принимать присвоения числовых значений в диапазоне от -99 до +99. Нельзя назначать нечисловые значения (например, пробел). Однако, если вы присвоите DISPLAY эту переменную после присвоения ей числового значения, начальные нули будут заменены пробелами. Следовательно, если вы MOVE ZERO к этому предмету, он будет DISPLAY только пробелами. Попытка MOVE SPACES для этого элемента приведет к ошибке компиляции (несовместимые типы данных). Этот последний бит может показаться немного противоречащим интуиции, но помните, что этот тип предложения PICTURE подразумевает отображение USAGE - в основном элементы, определенные таким образом, используются для «красивой печати» чисел. Единственными операциями, которые можно выполнить с USAGE DISPLAY элементами, является MOVE к или от и DISPLAY к ним.

РЕДАКТИРОВАТЬ - Ответ на комментарий

A PICTURE из ---X(2) недействителен. В приведенной ниже таблице показаны комбинации и порядок появления символов в строке PICTURE. Обратите внимание, что круглые скобки отсутствуют в диаграмме. Логически вы можете заменить их на соответствующее количество вхождений предыдущего символа перед чтением строки. Например, X(3) читается как XXX. Если вы действительно хотите правильно разобрать строку PICTURE, вы можете использовать эту диаграмму для построения грамматики BNF специально для них.

enter image description here

0 голосов
/ 06 октября 2011

Если это числовое изображение, оно не будет принимать пробелы.

...