<���Конец описания задачника>::= End TaskBook
Описание языка описания задачника
В этом разделе приведено подробное описание дополнительной информации (информации, следующей за типом данных поля) для полей, в блоках описания которых она используется.
Перечислимый тип поля. При использовании перечислимого типа поля в векторах данных хранятся не сами значения, а их номера. Для отображения в редакторе задачника значений полей их необходимо брать из блока описания поля. В списке имен значений блока описания перечислимого поля хранятся символьные константы, первая из которых содержит название состояния, соответствующее неопределенному значению поля; вторая — первому из значений, которые может принимать поле, и т. д.
Строка. Поля типа строка предназначены для хранения символьных строк фиксированной длины. Длина строки задается значением параметра <���Максимальная длина строки>.
Таблица 19. Значение первых семи байт поля типа рисунок
Величина |
Значение |
Б2 * 256 + Б1 |
Положительное целое число, задающее размер рисунка по горизонтали в пикселях. |
Б4 * 256 + Б3 |
Положительное целое число, задающее размер рисунка по вертикали в пикселях. |
(Б7 * 256 + Б6) * 256 + Б5 |
Число цветов, использованных в рисунке |
Рисунок. Поля типа рисунок предназначены для хранения графической информации. Первые семь байт поля имеют смысл, приведенный в табл. 19. В таблице принято обозначение Б1 — величина, хранящаяся в первом байте, Б2 — во втором и т. д. Рисунок разворачивается по строкам, начиная с левого верхнего угла, в непрерывный массив, размером (Б2*256+Б1)(Б4*256+Б3).
Если число цветов равно единице (черно-белое изображение), то каждый следующий байт содержит восемь пикселей изображения. Самый младший бит восьмого байта соответствует левому верхнему пикселю рисунка. Если число цветов равно трем, то каждый байт, начиная с восьмого, содержит информацию о четырех пикселях. Младшие два бита задают левый верхний пиксель рисунка. Если число цветов от 4 до 15, то каждый байт, начиная с восьмого, содержит информацию о двух пикселях. Младшие четыре бита задают левый верхний пиксель рисунка. Если число цветов от 16 до 255, то каждый байт, начиная с восьмого, содержит информацию об одном пикселе. Значение в восьмом байте соответствует левому верхнему пикселю рисунка. При числе цветов от 256 до 65535 каждые два байта, начиная с восьмого, содержат информацию об одном пикселе (первый пиксель имеет цвет номер Б9*256+Б8). Значение в восьмом и девятом байтах соответствует левому верхнему пикселю рисунка. При числе цветов от 65535 до 16777215 каждые три байта, начиная с восьмого, содержат информацию об одном пикселе (первый пиксель имеет цвет номер (Б10*256+Б9)*256+Б8). Значение в восьмом, девятом и десятом байтах соответствует левому верхнему пикселю рисунка.
Альтернативный способ записи рисунка.Предложенный выше способ хорош своей простотой и плох большим объемом данных. Большинство графических форматов файлов (например gif) обеспечивают высокую степень компрессии графической информации. Для использования этой возможности при записи поля графической информации на диск предлагается альтернативный формат. В этом формате первые два байта должны быть нулевыми. Поскольку в основном формате записи рисунков эти два байта формировали размер рисунка по горизонтали, нулевая ширина рисунка служит признаком использования альтернативного формата. Следующие пять байт хранят ascii коды типа графического формата. Используются коды заглавных букв латинского алфавита. Если тип графического стандарта содержит менее пяти символов (pcx, gif), то тип дополняется символами пробела справа. Следующие четыре байта, с восьмого по одиннадцатый, содержат число байт в графическом файле. Начиная с двенадцатого байта, идет информация, содержавшаяся в графическом файле.
Сопоставление элементов векторов правильных ответов, достоверности, вычисленных ответов, уверенности и оценки производится по следующему правилу. Первому полю типа правильный ответ соответствуют первое поле типа достоверность, первое поле типа вычисленный ответ, первое поле типа уверенность, первое поле типа оценка, второму — вторые и т. д.
Неопределенные значения
В практике работы большинство таблиц данных не полны. То есть, часть данных в примерах задачника не известна. Задачник должен однозначно указать предобработчику неизвестные данные. Для этих целей для каждого типа входных данных определено специальное значение — неопределенное. Для передачи неизвестных значений используются следующие величины: 10 -40для действительных чисел и 0 для всех типов качественных признаков.
Читать дальше