Конструктор учебных заданий для электронного задачника Programming Taskbook - 12 стр.

UptoLike

Составители: 

12
ошибка произошла при выводе основной строки, то лишняя часть строки S отобража-
ется на следующей строке (или на первой строке, если ошибочной является пятая
строка в разделе формулировок).
Определенный с помощью процедур TaskText текст формулировки задания ис-
пользуется также при формировании html-описания группы. В этом случае деление на
строки, указанное для экранного вывода, игнорируется, однако учитываются допол-
нительные управляющие последовательности, позволяющие разбивать текст на абза-
цы с различным способом выравнивания (на отображение текста в окне задачника эти
дополнительные последовательности не влияют).
Если при определении задания не указана его формулировка, то выводится со-
общение об ошибке.
procedure DataB(Cmt: string; B: boolean; X, Y: integer);
procedure DataN(Cmt: string; N: Integer; X, Y, W: integer);
procedure DataN2(Cmt: string; N1, N2: Integer; X, Y, W:
integer);
procedure DataN3(Cmt: string; N1, N2, N3: Integer; X, Y, W:
integer);
procedure DataR(Cmt: string; R: real; X, Y, W: integer);
procedure DataR2(Cmt: string; R1, R2: real; X, Y, W: integer);
procedure DataR3(Cmt: string; R1, R2, R3: real; X, Y, W:
integer);
procedure DataC(Cmt: string; C: char; X, Y: integer);
procedure DataS(Cmt: string; S: string; X, Y: integer);
Процедуры группы Data добавляют к заданию элементы исходных данных. До-
бавленные элементы, вместе со строкой-комментарием Cmt, отображаются в разделе
исходных данных, начиная с позиции X строки Y (для Y допускаются значения от 1
до 5; ширина экранной строки равна 78 позициям). Как и для процедуры TaskText,
параметр X может принимать три особых значения: 0 (центрирование по горизонтали
относительно всей экранной строки), 100 (центрирование по горизонтали относитель-
но левой половины экранной строки), 200 (центрирование по горизонтали относи-
тельно правой половины экранной строки). Эти значения можно также задавать с по-
мощью констант xCenter, xLeft и xRight.
Параметр W определяет ширину поля вывода для числовых данных (выравнива-
ние всегда производится по правому краю поля вывода). Если ширины поля вывода
недостаточно, то значение параметра W игнорируется, и для вывода элемента исполь-
зуется минимально необходимое число экранных позиций. При определении ширины
поля вывода для вещественного числа следует учитывать размер отображаемой дроб-
ной части (который определяется процедурой SetPrecision, описываемой далее).
Для нечисловых данных ширина поля вывода полагается равной фактической
ширине данных; в частности, для данных символьного типа отводятся 3 позиции, со-
держащие начальный апостроф, собственно символ и конечный апостроф, а для логи-
ческого типа отводятся 5 позиций, достаточных для вывода названий обеих логиче-
ских констант в любом используемом языке программирования. Для строки отводят-
ся L + 2 позиции, где Lдлина строки (начальная и конечная позиции используются
для вывода апострофов). В зависимости от текущего языка программирования ис-
пользуются либо одинарные, либо двойные апострофы.
Как и в случае процедуры TaskText, при выходе текста за пределы экранной
строки выводится сообщение об ошибке.