651 lines
59 KiB
HTML
651 lines
59 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
<param name="Keyword" value="Окно задачника">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css">
|
||
</head>
|
||
|
||
<body>
|
||
<a name="main"></a>
|
||
<h1>Окно задачника
|
||
</h1>
|
||
<hr>
|
||
|
||
|
||
<p>Начиная с версии 4.11, наряду с традиционным режимом с <i>фиксированной компоновкой</i>,
|
||
в котором для каждого раздела окна выделяется область из 5 экранных строк,
|
||
можно использовать новый режим с <i>динамической компоновкой</i>, в котором размеры
|
||
разделов определяются их фактическим содержимым, а размеры окна задачника «подстраиваются»
|
||
под размеры разделов. Режим с динамической компоновкой более удобен при выполнении
|
||
заданий, содержащих большие наборы исходных и результирующих данных, а также имеющих
|
||
большие формулировки.
|
||
В данном разделе вначале дается <a href="#fixmode">общее описание окна задачника на примере режима с фиксированной
|
||
компоновкой</a>, затем описываются <a href="#addfixmode">дополнения, реализованные в версии 4.11</a>,
|
||
после чего приводится <a href="#dynmode">описание режима с динамической компоновкой</a>.
|
||
</p>
|
||
|
||
|
||
<a name="fixmode"></a><h2>Общее описание
|
||
</h2>
|
||
<p>При запуске программы, использующей электронный задачник Programming
|
||
Taskbook, на экране возникает <i>окно задачника</i>.
|
||
В зависимости от текущей настройки, окно может отображаться либо в режиме с фиксированной
|
||
компоновкой, либо в режиме с динамической компоновкой.
|
||
Приведем вид этого окна
|
||
для задания Begin3 в случае использования системы программирования PascalABC.NET (имя
|
||
используемого языка программирования указывается в заголовке окна).
|
||
</p>
|
||
<p>Режим с фиксированной компоновкой:
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_1.png">
|
||
</blockquote>
|
||
|
||
<p>Режим с динамической компоновкой:
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_1b.png">
|
||
</blockquote>
|
||
|
||
<p>Переключаться между режимами окна можно, нажимая клавишу <b>F4</b> или щелкая мышью
|
||
на кнопке быстрого доступа «Режим (F4)», расположенной в правом верхнем углу окна.
|
||
</p>
|
||
<p>В данном пункте мы опишем основные компоненты окна задачника, используя в качестве
|
||
образца окно с фиксированной компоновкой. <a href="#addfixmode">Дополнительные возможности</a>,
|
||
появившиеся в версии 4.11, а также <a href="#dynmode">особенности режима с динамической компоновкой</a>
|
||
будут описаны в последующих пунктах.
|
||
</p>
|
||
<p>В верхней части окна выводится информация о теме, к которой относится
|
||
выполняемое задание («ВВОД И ВЫВОД ДАННЫХ, ОПЕРАТОР
|
||
ПРИСВАИВАНИЯ»), название задания, сведения об учащемся, дата и время
|
||
запуска программы и кнопки быстрого доступа, связанные с некоторыми командами
|
||
(кнопки располагаются в правом верхнем углу окна).
|
||
Символ «°», указанный после названия задания,
|
||
означает, что данное задание можно выполнять в <a href="About.html#mini">мини-варианте задачника</a>. Затем
|
||
следует раздел с <i>формулировкой задания</i>.
|
||
</p>
|
||
<p>Далее располагается раздел с <i>исходными данными</i>. В случае задания Begin3 это
|
||
вещественные числа <i>a</i> и <i>b</i>, определяющие длины сторон прямоугольника. При
|
||
необходимости данные могут снабжаться комментариями; в нашем случае это строки
|
||
«a =» и «b =», расположенные перед числами <i>a</i> и <i>b</i>.
|
||
</p>
|
||
<p>Последним разделом в окне с фиксированной компоновкой является раздел <i>контрольных данных и результатов</i>,
|
||
содержащий две вкладки: «Пример верного решения» и
|
||
«Полученные результаты». Если в программе не выполняются действия
|
||
по вводу-выводу данных, то при запуске программы активной становится вкладка
|
||
«Пример верного решения» с <i>контрольными</i> (т. е.
|
||
«правильными») результирующими данными. В нашем случае в ней
|
||
отображаются правильные значения площади <i>S</i> и периметра <i>P</i>, снабженные
|
||
комментариями. Для переключения между вкладками достаточно щелкнуть мышью
|
||
на ярлычке нужной вкладки или ввести клавиатурную комбинацию <b>Ctrl+Tab</b>.
|
||
В режиме с динамической компоновкой разделы с результатами и с контрольными
|
||
данными отображаются одновременно; кроме того, в некоторых ситуациях
|
||
один из этих разделов может отсутствовать (например, при ознакомительном запуске
|
||
отсутствует раздел с результатами).
|
||
</p>
|
||
<p>Чтобы отличить комментарии от данных (как исходных, так и результирующих),
|
||
используется цветовое выделение: комментарии выводятся светло-серым цветом,
|
||
данные — желтым. Контрольные данные отображаются тем же цветом, что и
|
||
комментарии.
|
||
</p>
|
||
<p>В нижней части окна располагается информационная панель и кнопка
|
||
«Выход». Для выхода из программы надо нажать кнопку
|
||
«Выход», клавишу <b>Esc</b> или ту клавишу, которая используется для
|
||
запуска программы (для среды PascalABC.NET это клавиша <b>F9</b>). Таким образом, для
|
||
проверки программы на нескольких наборах исходных данных достаточно несколько
|
||
раз нажать клавишу <b>F9</b>.
|
||
</p>
|
||
|
||
|
||
|
||
<p>Если формулировка задания или раздел с исходными или результирующими данными
|
||
содержит более 5 строк, а также при наличии
|
||
в задании исходных или результирующих данных, допускающих прокрутку, в окне
|
||
с фиксированной компоновкой появляются
|
||
дополнительные управляющие элементы, обеспечивающие прокрутку
|
||
соответствующих компонентов задания. Ниже приводится пример окна,
|
||
содержащего четыре набора файловых данных, каждый из которых допускает
|
||
прокрутку.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_2.png">
|
||
</blockquote>
|
||
<p>В окне с динамической компоновкой формулировка задания и все данные
|
||
отображаются полностью, поэтому для большинства заданий прокрутка не требуется
|
||
(при необходимости окно с динамической компоновкой допускает общую прокрутку
|
||
своего содержимого).
|
||
</p>
|
||
<p>Элементы файлов отображаются бирюзовым цветом, чтобы подчеркнуть их
|
||
отличие от обычных исходных данных (желтого цвета) и комментариев (светло-серого цвета).
|
||
</p>
|
||
<a name="scroll"></a><p>Для прокрутки содержимого файла с помощью мыши достаточно щелкнуть на
|
||
одной из двух кнопок <img src="gif\window_3.png">, расположенных справа от требуемой экранной строки. С
|
||
помощью клавиатуры можно выполнять поэлементную или
|
||
«постраничную» прокрутку. Для поэлементной прокрутки используются
|
||
клавиши со стрелками <b>Right</b> или <b>Down</b> (прокрутка вперед) и <b>Left</b> или <b>Up</b>
|
||
(прокрутка назад); для «постраничной» прокрутки, обеспечивающей
|
||
переход к новой «порции» элементов, умещающейся на экранной строке,
|
||
используются клавиши <b>Ctrl+Right</b> или <b>PgDn</b> (прокрутка вперед) и <b>Ctrl+Left</b>
|
||
или <b>PgUp</b> (прокрутка назад). Кроме того, клавиша <b>Home</b> обеспечивает
|
||
перемещение на начало, а клавиша <b>End</b> — на конец файла.
|
||
</p>
|
||
<p>Начиная с версии 4.11, доступен еще один способ прокрутки: с помощью колесика
|
||
мыши; при этом курсор мыши достаточно расположить в области прокручиваемого элемента.
|
||
</p>
|
||
<p>Если окно программы содержит несколько элементов, допускающих прокрутку
|
||
(например, несколько строк с файловыми данными — см. рисунок, приведенный выше), то прокрутка
|
||
с помощью клавиатуры выполняется для <i>выделенного элемента</i>, помеченного в левой
|
||
части окна задачника маркером в виде черного кружка. Для смены выделенного элемента предусмотрены
|
||
клавиши <b>[+]</b> и <b>[–]</b>: первая из них обеспечивает циклический перебор всех
|
||
отображенных на экране элементов, допускающих прокрутку, в направлении сверху
|
||
вниз, а вторая — в направлении снизу вверх.
|
||
</p>
|
||
<p>Для того чтобы определить, какие элементы файла отображаются в данный
|
||
момент на экране, предусмотрен <i>указатель текущей позиции</i>, значение которого
|
||
равно номеру первого из элементов, отображенных на экране. Данный указатель
|
||
располагается в начале строки с элементами файла и отделяется от них двоеточием.
|
||
Нумерация элементов файла начинается с единицы.
|
||
</p>
|
||
<p>В отличие от двоичных файлов, содержимое которых всегда отображается на
|
||
одной экранной строке, <i>текстовые файлы</i> отображаются на нескольких (от двух до
|
||
пяти) экранных строках, причем на каждой экранной строке размещается <i>одна</i> строка
|
||
из текстового файла (это связано с тем, что строки, входящие в текстовый файл,
|
||
могут иметь большую длину). Указатель текущей позиции в данном
|
||
случае содержит номер первой отображаемой на экране файловой строки (нумерация
|
||
строк, как и элементов двоичных файлов, ведется от единицы); этот указатель
|
||
размещается в начале первой из экранных строк, отведенных для отображения
|
||
текстового файла. Прокрутка строк текстового файла обеспечивается теми же
|
||
клавишами, что и прокрутка элементов типизированного файла (в данном
|
||
случае, поскольку элементы-строки расположены <i>по вертикали</i>, более естественно
|
||
использовать клавиши <b>Up</b>, <b>Down</b> и <b>PgUp</b>, <b>PgDn</b>, в то время как для элементов
|
||
двоичных файлов, расположенных <i>по горизонтали</i>, удобнее пользоваться клавишами
|
||
<b>Left</b>, <b>Right</b> и их <b>Ctrl</b>-комбинациями). Текстовые файлы снабжаются
|
||
вертикальными полосами прокрутки (вместо горизонтально расположенных парных кнопок, которыми снабжаются
|
||
двоичные файлы).
|
||
</p>
|
||
<p>Прокручивать можно не только элементы данных, но и текст с
|
||
формулировкой задания, если он не умещается в выделенных для этих целей пяти
|
||
экранных строках. Действия по прокрутке текста задания аналогичны
|
||
действиям по прокрутке текстовых файлов. Для текста задания, допускающего
|
||
прокрутку, также предусмотрен указатель текущей позиции. Этот указатель
|
||
размещается слева от раздела с формулировкой задания и содержит номер первой из
|
||
тех строк текста, которые в данный момент отображаются на экране. Если в
|
||
результате прокрутки на экране выведены последние строки формулировки задания,
|
||
то указатель текущей позиции подчеркивается (как на приведенном ниже рисунке).
|
||
Это означает, что дальнейшая прокрутка вниз невозможна.
|
||
</p>
|
||
<p>В приведенном ниже окне присутствуют также особые элементы исходных и
|
||
результирующих данных: <i>цепочки узлов</i>. Эти элементы используются в заданиях
|
||
группы Dynamic («Динамические структуры данных»). Особенности,
|
||
связанные с отображением цепочек узлов, описываются в <a href="..\CheckedTasks\ctpointer.htm">примерах выполнения
|
||
заданий на обработку динамических структур</a>.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_4.png">
|
||
</blockquote>
|
||
|
||
<p>Имеется еще один особый вид
|
||
исходных и результирующих данных: <i>бинарные деревья</i>; данные этого вида описываются в
|
||
<a href="..\CheckedTasks\cttree.htm">примерах
|
||
выполнения заданий группы Tree</a>.
|
||
Если глубина бинарного дерева превышает количество
|
||
экранных строк, отведенных для его отображения, то для данного дерева также доступна
|
||
прокрутка.
|
||
</p>
|
||
<p>Если программа запущена в <i><a href="Demo.html">демонстрационном режиме</a></i>, то
|
||
на месте информационной панели отображаются дополнительные кнопки,
|
||
позволяющие быстро перейти к предыдущему или следующему заданию данной
|
||
группы или просмотреть новый набор исходных и контрольных данных. При
|
||
демонстрационном, как и при ознакомительном запуске, активной является вкладка
|
||
«Пример верного решения».
|
||
</p>
|
||
<p>В версии 4.9 окно задачника было дополнено <i><a href="debug.html">разделом отладки</a></i>,
|
||
который отображается на экране,
|
||
если программа учащегося при выполнении задания выводит отладочную информацию.
|
||
Предусмотренные в задачнике отладочные процедуры подробно описываются
|
||
в разделе, посвященном <a href="IO.html">типам и процедурам модуля PT4</a>.
|
||
</p>
|
||
<p>Если окно задачника является активным, то нажатие клавиши <b>F1</b>
|
||
(или кнопки «?» в правой части заголовка окна)
|
||
приводит к отображению на экране <i>информационного окна</i>. Начиная с версии 4.9, данное окно содержит набор вкладок:
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_5.png">
|
||
</blockquote>
|
||
|
||
|
||
|
||
<a name="addfixmode"></a><h2>Дополнения, реализованные в версии 4.11
|
||
</h2>
|
||
|
||
<p>В версии 4.11 интерфейс окна задачника был дополнен рядом новых возможностей.
|
||
В данном пункте описываются те из них, которые реализованы для любого режима окна
|
||
(как с фиксированной, так и с динамической компоновкой).
|
||
</p>
|
||
|
||
<h3>Расширенное цветовое выделение ошибок
|
||
</h3>
|
||
<p>Наряду со стандартным красным цветом, свидетельствующим об ошибочном решении,
|
||
для фона информационной панели используются
|
||
три дополнительных оттенка красного цвета, которые связываются с тремя видами ошибок ввода-вывода.
|
||
</p>
|
||
<p> 1. Введено или выведено недостаточно данных (оранжевый фон):
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\Color1.png">
|
||
</blockquote>
|
||
|
||
|
||
|
||
<p> 2. Попытка ввести или вывести лишние данные (малиновый фон):
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\Color2.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> 3. Попытка ввести или вывести данные неверного типа (фиолетовый фон):
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\Color3.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> 4. Прочие ошибки (красный фон):
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\Color4.png">
|
||
</blockquote>
|
||
|
||
<a name="indicators"><h3>Индикаторы ввода-вывода
|
||
и прогресса выполнения задания
|
||
</h3>
|
||
<p> В левой и правой части раздела исходных данных и раздела результатов
|
||
окна с фиксированной компоновкой выделено место для
|
||
отображения дополнительных <i>индикаторов</i> в виде вертикальных цветовых полос
|
||
(аналогичные индикаторы для окна с динамической компоновкой
|
||
являются горизонтальными и располагаются на специальной <i>панели
|
||
индикаторов</i> — <a href="#indpanel">см. следующий пункт</a>).
|
||
Индикаторы в левой
|
||
части разделов показывают долю введенных и выведенных данных
|
||
(по отношению к общему количеству исходных и результирующих данных).
|
||
При вводе и выводе всех требуемых
|
||
данных полоса соответствующего индикатора занимает весь раздел по вертикали; при вводе/выводе
|
||
части данных высота полосы соответствует размеру этой части. При наведении мыши на индикатор во
|
||
всплывающей подсказке отображается точная информация о числе введенных/выведенных данных,
|
||
например, «Ввод: 2 из 5» или «Вывод: 4 из 8».
|
||
</p>
|
||
<p> Индикаторы имеют темно-серый цвет.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_new3.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> В случае, когда в задании не требуется пересылать данные непосредственно задачнику или не
|
||
требуется получать от него исходные данные, индикаторы всегда занимают весь раздел по вертикали
|
||
и при этом имеют светло-серый цвет. Для индикаторов такого типа подсказка не выводится.
|
||
Примерами заданий, в которых не требуется
|
||
пересылать данные задачнику, являются многие задания на преобразование файлов и деревьев и все задания,
|
||
связанные с ЕГЭ. Задания, связанные с ЕГЭ, являются также примерами заданий, в которых не требуется
|
||
получать исходные данные от задачника (данные должны
|
||
считываться из входного файла, который связывается со стандартным потоком ввода).
|
||
</p>
|
||
|
||
<p> В правой части разделов с входными и выходными данными могут отображаться индикаторы
|
||
ошибок ввода-вывода и прогресса выполнения задания. Индикатор ошибки, связанной с вводом,
|
||
размещается в правой части раздела входных данных, а индикатор ошибки, связанной с выводом, — в правой
|
||
части раздела выходных данных. Он всегда занимает весь раздел по вертикали; его цвет
|
||
соответствует типу ошибки (этот же цвет используется и для фона информационной панели). В то время как
|
||
цвет определяет <i>характер ошибки</i> (недостаточно данных, избыточное число данных,
|
||
данные неверного типа), расположение индикатора показывает, к какой <i>категории данных</i> (входных
|
||
или выходных) эта ошибка относится.
|
||
С индикаторами ошибок ввода-вывода не связываются подсказки, так как
|
||
подробные сведения об обнаруженной ошибке выводятся на информационной панели.
|
||
</p>
|
||
|
||
<blockquote>
|
||
<img border="0" src="gif\window_new4.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> В правой части разделов с входными и выходными данными отображается также индикатор
|
||
прогресса выполнения задания. Он имеет зеленый цвет и связывается с обоими разделами. Высота
|
||
индикатора прогресса зависит от количества успешных тестовых испытаний программы. В случае
|
||
выполнения требуемого числа испытаний этот индикатор заполняет по высоте оба раздела. Таким
|
||
образом, при успешном выполнении задания разделы исходных и результирующих данных полностью
|
||
обрамляются и слева и справа: обрамление слева (серого цвета) означает, что были введены и
|
||
выведены все требуемые данные, обрамление справа (зеленого цвета) означает, что были успешно
|
||
пройдены все тестовые испытания.
|
||
В подсказке к индикатору прогресса выводится текст «Тесты:», после которого
|
||
указывается число успешно пройденных тестов и число тестов, которые необходимо пройти для того, чтобы
|
||
задание было зачтено как выполненное.
|
||
</p>
|
||
<p> Ниже приведен вид окна задачника при успешном выполнении второго теста (из трех
|
||
требуемых).
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_new5.png">
|
||
</blockquote>
|
||
|
||
<p> При выполнении заданий по параллельному программированию индикаторы ввода-вывода
|
||
отображают общее число данных, введенных и выведенных всеми процессами. В этом случае
|
||
подсказки к индикаторам ввода-вывода дополнительно содержат информацию о том, сколько данных
|
||
было введено (или, соответственно, выведено) каждым из процессов, использованных в задании.
|
||
</p>
|
||
<h3>Изменение режима окна, цветовой схемы и отключение отображения даты/времени
|
||
</h3>
|
||
<p>Клавиша <b>F4</b> и кнопка быстрого доступа «Режим», размещенная в правой верхней части окна
|
||
задачника, позволяют переключаться между двумя режимами окна: с фиксированной и динамической компоновкой.
|
||
Режим с динамической компоновкой появился в версии 4.11, он подробно описывается в <a href="#dynmode">следующем пункте</a>.
|
||
</p>
|
||
<p> Клавиша <b>F3</b> и кнопка быстрого доступа «Цвет», размещенная рядом с кнопкой переключения
|
||
режима окна, позволяют переключаться между двумя цветовыми схемами окна задачника: традиционной
|
||
(в стиле консольного окна: светлые символы на черном фоне) и появившейся в версии 4.11 (темные символы на белом фоне).
|
||
Элементы исходных и
|
||
результирующих данных, которые в традиционной «черной» схеме отображаются желтым цветом, в
|
||
новой, «белой» схеме отображаются синим цветом. Цвет «внешних» данных (элементов файлов и
|
||
динамических структур) в обеих схемах является одинаковым (бирюзовым); изменяется лишь его яркость.
|
||
</p>
|
||
<p> Цвета индикаторов подобраны таким образом, чтобы нормально восприниматься в любой
|
||
цветовой схеме.
|
||
</p>
|
||
<p> «Белая» схема является менее контрастной и поэтому проигрывает в наглядности по сравнению с
|
||
«черной» схемой; в то же время «белая» схема позволяет создавать более наглядные скриншоты окон
|
||
задачника в печатных пособиях.
|
||
</p>
|
||
<p> Еще одной возможностью, связанной исключительно с удобством оформления учебных материалов,
|
||
является скрытие даты/времени в верхней левой части окна задачника, которое может
|
||
выполняться при нажатии комбинации <b>Ctrl+D</b> (клавиша работает как переключатель).
|
||
Эта возможность предназначена, в основном, для преподавателя, готовящего презентации или пособия,
|
||
связанные с задачником. Скрытие даты/времени
|
||
позволяет не следить за согласованием даты/времени при подготовке серии скриншотов с
|
||
окнами задачника и, кроме того, дает возможность скрыть информацию о дате и времени подготовки
|
||
скриншотов.
|
||
</p>
|
||
<p>В режиме с динамической компоновкой для скрытия/отображения
|
||
даты и времени можно также использовать соответствующую команду контекстного меню окна задачника.
|
||
</p>
|
||
<p> Все описанные настройки (выбранный режим окна, цветовая схема и режим отключения даты/времени)
|
||
запоминаются в файле настроек pt4.ini в текущем каталоге и при последующих запусках программ с заданиями
|
||
восстанавливаются автоматически.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_new6.png">
|
||
</blockquote>
|
||
|
||
|
||
<h3>Быстрый просмотр результатов
|
||
</h3>
|
||
<p> Для вызова <a href="Results.html">программного модуля PT4Results</a> предусмотрена кнопка быстрого доступа
|
||
«Результаты» в правой верхней части окна задачника и связанная с ней клавиша <b>F2</b>. В демо-режиме
|
||
эта возможность отключена (поскольку модуль PT4Demo может быть запущен не из рабочего
|
||
каталога, а из системного каталога задачника, с которым не связывается информация о результатах
|
||
какого-либо учащегося). Запустить можно лишь одну копию модуля PT4Results; на время работы с
|
||
этим модулем кнопка «Результаты» делается недоступной.
|
||
</p>
|
||
|
||
<a name="dynmode"></a><h2>Режим с динамической компоновкой</h2>
|
||
|
||
<h3>Особенности режима с динамической компоновкой
|
||
</h3>
|
||
<p> Как было отмечено выше, с помощью кнопки быстрого доступа «Режим»
|
||
и связанной с ней клавиши <b>F4</b> можно осуществлять переключение между двумя режимами окна задачника:
|
||
традиционного <i>режима с фиксированной компоновкой</i>, в котором
|
||
разделы с формулировкой, исходными данными и результатами имеют фиксированный размер (5 экранных строк) и
|
||
допускают независимую прокрутку, и появившегося в версии 4.11 <i>режима с динамической компоновкой</i>
|
||
(в стиле окна задачника для веб-среды
|
||
ProgrammingABC.NET WDE), в котором размеры разделов определяются содержащимися в них данными, состав разделов зависит от
|
||
результата тестового запуска, и для всего содержимого окна выполняется, при необходимости, общая
|
||
прокрутка.
|
||
</p>
|
||
<p> Подобно цветовой схеме и другим настройкам окна, выбранный вариант режима запоминается в файле pt4.ini, и при
|
||
последующих запусках программ автоматически восстанавливается. Начиная с версии 4.11, в качестве
|
||
режима по умолчанию установлен режим с динамической компоновкой.
|
||
</p>
|
||
<p> В режиме с динамической компоновкой управляющие элементы и информационная панель располагаются в верхней
|
||
части окна, поскольку высота окна для различных заданий (и даже для различных запусков программы
|
||
с одним и тем же заданием) может изменяться.
|
||
</p>
|
||
<p> Окно в режиме с динамической компоновкой может содержать от двух до четырех разделов в различных сочетаниях:
|
||
раздел формулировки (без заголовка), раздел
|
||
исходных данных (с заголовком «Исходные данные»), раздел с результатами (с заголовком
|
||
«Полученные результаты») и раздел с образцом правильного решения (с
|
||
заголовком «Пример верного решения»). Разделы с формулировкой и исходными данными отображаются
|
||
при любом варианте запуска. В демонстрационном режиме и при ознакомительном запуске раздел с образцом правильного
|
||
решения отображается, а (пустой) раздел с результатами — нет. В случае успешного тестового запуска
|
||
раздел с образцом правильного решения не отображается, так как образец в этом случае совпадает с
|
||
полученными результатами. Все четыре раздела отображаются в случае, когда при тестовом
|
||
испытании была выявлена какая-либо ошибка.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn1.png">
|
||
</blockquote>
|
||
|
||
|
||
<a name="indpanel"></a><p> В режиме с динамической компоновкой все <a href="#indicators">индикаторы</a>
|
||
(ввода-вывода и прогресса выполнения задания) вынесены на специальную <i>панель индикаторов</i>, размещенную под
|
||
информационной панелью. Панель индикаторов не отображается в демо-режиме, а также при
|
||
ознакомительном запуске. Помимо собственно индикаторов, которые в режиме с динамической компоновкой
|
||
располагаются горизонтально, на панели индикаторов размещаются дополнительные цветовые метки. Зеленая метка
|
||
появляется над индикатором прогресса выполнения задания в случае, когда успешно пройдены все требуемые тесты. Метки с
|
||
различными оттенками красного цвета отображаются при выявлении ошибок; их размещение зависит
|
||
от характера ошибки: если это ошибка ввода, то метка отображается над индикатором ввода, если это
|
||
ошибка вывода, то над индикатором вывода, если же это ошибка другого вида, то метка размещается
|
||
над индикатором прогресса выполнения. Таким образом, при наличии любой ошибки в разделе
|
||
индикаторов будет указана соответствующая метка. Поскольку, помимо индикаторов, панель
|
||
содержит поясняющий текст, дополнительные подсказки к индикаторам не требуются. Исключение
|
||
составляют задания по параллельному программированию, для которых предусмотрены подсказки,
|
||
связанные с индикаторами ввода-вывода и поясняющим текстом: подсказки содержат информацию о
|
||
том, сколько было введено или выведено данных в каждом процессе, использовавшемся в задании.
|
||
</p>
|
||
<p> При обнаружении ошибки ввода-вывода заголовок соответствующего раздела выводится цветом,
|
||
соответствующим цвету этой ошибки, как на приведенном ниже рисунке.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn2.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> Режим с динамической компоновкой особенно удобен для заданий с большими формулировками и большими наборами
|
||
данных. В качестве примера приведем окно в данном режиме для задания Align31 (при демонстрационном
|
||
запуске).
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn3.png">
|
||
</blockquote>
|
||
|
||
<p> В приведенном ниже окне с фиксированной компоновкой для этого же задания
|
||
требуется прокрутка как для формулировки, так и для раздела исходных данных.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn4.png">
|
||
</blockquote>
|
||
|
||
<p> Если часть разделов с заданием не умещается на экране, то у правой границы окна
|
||
отображается полоса прокрутки, а нижняя граница окна автоматически подстраивается под размеры экрана и
|
||
располагается выше панели задач. При перемещении окна вверх в данной ситуации
|
||
высота окна автоматически увеличивается до тех пор, пока все его содержимое не будет отображаться
|
||
в окне; при этом полоса прокрутки опять будет скрыта. Для перемещения верхней
|
||
границы окна вверх и вниз можно использовать клавиатурные комбинации <b>Ctrl+Up</b> и <b>Ctrl+Down</b>
|
||
соответственно.
|
||
</p>
|
||
<p> Если в режиме с динамической компоновкой отображается полоса прокрутки,
|
||
то прокручивать данные можно как с ее помощью,
|
||
так и с помощью колесика мыши, а также клавишами <b>Home</b>, <b>End</b>, <b>PgUp</b>, <b>PgDn</b>, <b>Up</b> и <b>Down</b>.
|
||
</p>
|
||
<p> Окно в режиме с динамической компоновкой (в отличие от окна в режиме с фиксированной компоновкой)
|
||
можно масштабировать, изменяя
|
||
размер шрифта в его основных разделах (с формулировкой задания, исходными данными, результатами и примером правильного решения). Для масштабирования можно использовать команды
|
||
контекстного меню или клавиши <b>Ctrl+[+]</b> и <b>Ctrl+[–]</b>. Ниже приведен вид окна с минимальным размером
|
||
шрифта (равным 8 пунктам). В режиме с динамической компоновкой сохраняется возможность изменения шрифта
|
||
в разделе отладки (с помощью команд контекстного меню или клавиш <b>Alt+[+]</b> и <b>Alt+[–]</b>); подобное изменение
|
||
не влияет на размеры окна.
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn5.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> Текущая позиция верхней границы окна в режиме с динамической компоновкой
|
||
и текущие размеры шрифта сохраняются в
|
||
файле настроек pt4.ini и при последующем запуске автоматически восстанавливаются. Однако это
|
||
сохранение производится только в случае, если при закрытии окна оно находилось в режиме с динамической
|
||
компоновкой. В противном случае (если при запуске программы окно отображается в режиме
|
||
с фиксированной компоновкой) для позиции верхней
|
||
границы окна и размера шрифта в основных разделах устанавливаются стандартные значения, принятые для режима с фиксированной
|
||
компоновкой.
|
||
</p>
|
||
<h3>Дополнительная настройка разделов с заданием
|
||
</h3>
|
||
<p> В режиме с динамической компоновкой можно скрыть формулировку задания,
|
||
чтобы обеспечить отображение других элементов задания в окне меньшей высоты. Для скрытия формулировки
|
||
задания достаточно щелкнуть мышью в любом месте раздела с формулировкой задания
|
||
или нажать клавишу <b>Del</b>.
|
||
Если формулировка задания скрыта, то раздел с формулировкой уменьшается до одной
|
||
(пустой) экранной строки, причем в правой части этого раздела отображается кнопка, позволяющая
|
||
вновь отобразить формулировку задания (с данной кнопкой связана всплывающая подсказка «Показать
|
||
формулировку задания (Del)»):
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn6.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> Для восстановления формулировки, помимо нажатия на кнопку, доступны
|
||
те же действия, которые обеспечивают ее скрытие: щелчок в любом месте раздела с формулировкой
|
||
и нажатие клавиши <b>Del</b>.
|
||
</p>
|
||
<p>Как правило, необходимость в скрытии формулировки задания возникает в ситуации, когда
|
||
часть данных, связанных с заданием, не отображается на экране (при этом окно снабжается полосой прокрутки).
|
||
В подобной ситуации предусмотрен еще один способ скрытия раздела с формулировкой: с помощью
|
||
кнопки, отображаемой в правом верхнем углу этого раздела (рядом с полосой прокрутки).
|
||
На кнопке отображается символ «x», и с ней связывается всплывающая подсказка
|
||
«Скрыть формулировку задания (Del)»:
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn6a.png">
|
||
</blockquote>
|
||
<p>Если закрыть окно (не в демо-режиме) при скрытой формулировке, то при последующем запуске (также не
|
||
в демо-режиме) формулировка останется скрытой.
|
||
При начальном отображении каждого задания в демо-режиме формулировка всегда выводится; если ее скрыть,
|
||
то она будет оставаться скрытой
|
||
при последующих просмотрах других вариантов исходных и контрольных данных для этого задания
|
||
(варианты перебираются кнопкой «Новые данные»).
|
||
</p>
|
||
<p> В режиме с динамической компоновкой все прокручиваемые элементы данных (формулировка, элементы двоичных
|
||
файлов, элементы бинарных деревьев, разделы исходных и результирующих данных, содержащие более 5 строк)
|
||
отображаются полностью. Частично отображаются только элементы
|
||
текстовых файлов.
|
||
По умолчанию выводится столько же строк текстового файла, сколько и в режиме с фиксированной компоновкой;
|
||
при этом первая строка файла
|
||
снабжается номером, равным 1. Такой подход позволяет ознакомиться с заданием, отобразив его в окне
|
||
сравнительно небольшого размера:
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn7.png">
|
||
</blockquote>
|
||
|
||
|
||
<p> Если в режиме с динамической компоновкой
|
||
отображается только часть данных из текстовых файлов, то в правом верхнем углу
|
||
раздела с исходными данными появляется кнопка со стилизованной стрелкой, направленной вниз. С ней связывается
|
||
подсказка «Развернуть содержимое текстовых файлов (Ins)».
|
||
Щелкнув на этой кнопке, нажав клавишу <b>Ins</b> или
|
||
выполнив щелчок мышью на одном из разделов, связанных с заданием (кроме раздела с формулировкой),
|
||
можно отобразить файловые данные в полном объеме; при этом около <i>каждой</i> файловой строки появится ее номер, а на
|
||
кнопке изменится изображение: вместо стрелки, направленной вниз, будет изображена стрелка, направленная вверх:
|
||
</p>
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn8.png">
|
||
</blockquote>
|
||
|
||
<p>Режим полного отображения текстовых файлов удобен для
|
||
более тщательного изучения особенностей исходных и полученных файлов, а также
|
||
для сравнения полученного ошибочного файла с файлом, указанным в примере правильного решения.
|
||
</p>
|
||
|
||
<p> Если закрыть окно задачника (не в демо-режиме) при развернутом содержимом текстовых
|
||
файлов, то при последующем запуске (также не в демо-режиме) это содержимое будет развернуто
|
||
автоматически. При начальном отображении каждого задания в демо-режиме данные
|
||
текстовых файлов всегда выводятся в свернутом виде; если их развернуть,
|
||
то режим развернутого отображения будет сохраняться
|
||
при последующих просмотрах других вариантов исходных и контрольных данных для этого задания
|
||
(варианты перебираются кнопкой «Новые данные»).
|
||
</p>
|
||
|
||
<p>Действия по разворачиванию/сворачиванию содержимого текстовых файлов можно выполнять и для
|
||
файлов небольшого размера, когда даже в свернутом режиме на экране отображаются все файловые строки.
|
||
Однако в этом случае кнопка со стрелкой в окне задачника не появляется, и для переключения между
|
||
режимами свернутого и развернутого отображения файловых данных следует нажимать клавишу
|
||
<b>Ins</b> или выполнять щелчок мышью на разделе с заданием.
|
||
Перейти в режим развернутого отображения содержимого для небольших
|
||
файлов может потребоваться, например, для того,
|
||
чтобы этот режим автоматически восстановился при следующем тестовом запуске программы.
|
||
</p>
|
||
|
||
|
||
<h3>«Интеллектуальная» прокрутка
|
||
</h3>
|
||
|
||
<p>В ситуации, когда разделы с исходными, результирующими или контрольными данными имеют большую высоту
|
||
(например, при отображении в полном объеме содержимого текстовых файлов),
|
||
с помощью стандартной прокрутки сложно обеспечить быстрый переход к началу
|
||
требуемого раздела. Кроме того, при большом объеме результирующих данных затрудняется их сравнение
|
||
с контрольными данными. Чтобы решить эти проблемы, в режиме с динамической компоновкой реализована
|
||
возможность <i>«интеллектуальной» прокрутки</i>. Данная возможность доступна, если
|
||
основные разделы окна (разделы с формулировкой, исходными данными, результатами и примером правильного решения)
|
||
имеют суммарную высоту, превышающую размер окна. При этом в левом верхнем углу области окна,
|
||
отводимой для отображения разделов задания, отображаются
|
||
три дополнительные кнопки с символами «–», «+» и «/»:
|
||
</p>
|
||
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn9.png">
|
||
</blockquote>
|
||
|
||
|
||
<p>Прокрутка содержимого окна не влияет на положение этих кнопок.
|
||
Нажатие на кнопку «–» или нажатие клавиши <b>[–]</b>
|
||
обеспечивает прокрутку к началу предыдущего раздела задания,
|
||
нажатие на кнопку «+» или нажатие клавиши <b>[+]</b>
|
||
обеспечивает прокрутку к началу следующего раздела задания; при этом перебор разделов выполняется циклически.
|
||
Если раздел с формулировкой является скрытым, то он при переборе разделов не учитывается.
|
||
</p>
|
||
<p>Нажатие на кнопку «/» или нажатие клавиши <b>[/]</b> обеспечивает переход к началу раздела с результатами
|
||
или раздела с примером правильного решения, если в окне присутствует только один из этих разделов. Если же
|
||
окно содержит оба этих раздела, то данная кнопка и связанная с ней клавиша обеспечивают в дальнейшем переключение
|
||
между этими разделами. При этом выполняется дополнительная синхронизация разделов:
|
||
новый раздел отображается с той строки, которая соответствует верхней отображаемой строке прежнего раздела.
|
||
Подобная синхронизация в еще большей степени упрощает сравнение полученных и правильных
|
||
результатов.
|
||
</p>
|
||
<p>Клавиши <b>[–]</b>, <b>[+]</b>, <b>[/]</b>, связанные с «интеллектуальной» прокруткой
|
||
(как и клавиши <b>Ins</b> и <b>Del</b>,
|
||
связанные с дополнительной настройкой внешнего вида разделов с заданием), располагаются
|
||
в правой части цифровой клавиатуры и не зависят от режима <b>NumLock</b>; подобное расположение делает их
|
||
удобными для использования в качестве горячих клавиш. Однако при отсутствии цифровой клавиатуры
|
||
(например, на некоторых моделях ноутбуков) применение данных клавиш становится менее удобным.
|
||
Чтобы и в этой ситуации упростить выполнение команд с помощью горячих клавиш, предусмотрены
|
||
их альтернативные варианты: <b>Ctrl+PgDn</b> вместо <b>[+]</b>, <b>Ctrl+PgUp</b> вместо <b>[–]</b>
|
||
и <b>Ctrl+Tab</b> вместо <b>[/]</b>. Заметим, что подобный способ использования комбинации <b>Ctrl+Tab</b>
|
||
соответствует способу ее использования в режиме с фиксированной компоновкой, в котором она
|
||
также обеспечивает переключение между полученными результатами и примером правильного решения.
|
||
Все указанные клавиатурные комбинации приводятся во всплывающих подсказках, которые отображаются
|
||
на экране при наведении курсора мыши на соответствующие кнопки:
|
||
</p>
|
||
|
||
<blockquote>
|
||
<img border="0" src="gif\window_dyn10.png">
|
||
</blockquote>
|
||
|
||
|
||
|
||
</body>
|
||
|
||
</html>
|