Окно задачника
Начиная с версии 4.11, наряду с традиционным режимом с фиксированной компоновкой,
в котором для каждого раздела окна выделяется область из 5 экранных строк,
можно использовать новый режим с динамической компоновкой, в котором размеры
разделов определяются их фактическим содержимым, а размеры окна задачника «подстраиваются»
под размеры разделов. Режим с динамической компоновкой более удобен при выполнении
заданий, содержащих большие наборы исходных и результирующих данных, а также имеющих
большие формулировки.
В данном разделе вначале дается общее описание окна задачника на примере режима с фиксированной
компоновкой, затем описываются дополнения, реализованные в версии 4.11,
после чего приводится описание режима с динамической компоновкой.
В версии 4.21 поддержка режима с фиксированной компоновкой была прекращена.
Начиная с этой версии, команда «Режим (F4)», ранее применявшаяся для переключения между режимами
с фиксированной и динамической компоновкой, обеспечивает отображение текста текущего задания
в режиме html-документа.
Общее описание
При запуске проекта, использующего электронный задачник Programming
Taskbook, на экране возникает окно задачника.
В зависимости от текущей настройки, окно может отображаться либо в режиме с фиксированной
компоновкой, либо в режиме с динамической компоновкой.
Приведем вид этого окна
для задания Begin3 в случае использования среды программирования Free Pascal Lazarus (имя
используемого языка программирования указывается в заголовке окна).
Режим с динамической компоновкой:
Режим с фиксированной компоновкой:
Переключаться между режимами окна можно, нажимая клавишу [F4] или щелкая мышью
на кнопке быстрого доступа «Режим (F4)», расположенной в правом верхнем углу окна.
В данном пункте мы опишем основные компоненты окна задачника, используя в качестве
образца окно с фиксированной компоновкой. Дополнительные возможности режима с фиксированной
компоновкой, появившиеся в версии 4.11, а также особенности режима с динамической компоновкой
будут описаны в последующих пунктах.
В верхней части окна выводится информация о теме, к которой относится
выполняемое задание («ВВОД И ВЫВОД ДАННЫХ, ОПЕРАТОР
ПРИСВАИВАНИЯ»), название задания, сведения об учащемся, дата и время
запуска программы и кнопки быстрого доступа, связанные с некоторыми командами
(кнопки располагаются в правом верхнем углу окна).
Символ «°», указанный после названия задания,
означает, что данное задание можно выполнять в мини-варианте задачника. Затем
следует раздел с формулировкой задания.
Далее располагается раздел с исходными данными. В случае задания Begin3 это
вещественные числа a и b, определяющие длины сторон прямоугольника. При
необходимости данные могут снабжаться комментариями; в нашем случае это строки
«a =» и «b =», расположенные перед числами a и b.
Последним разделом в окне с фиксированной компоновкой является раздел контрольных данных и результатов,
содержащий две вкладки: «Пример верного решения» и
«Полученные результаты». Если в программе не выполняются действия
по вводу-выводу данных, то при запуске программы активной становится вкладка
«Пример верного решения» с контрольными (т. е.
«правильными») результирующими данными. В нашем случае в ней
отображаются правильные значения площади S и периметра P, снабженные
комментариями. Для переключения между вкладками достаточно щелкнуть мышью
на ярлычке нужной вкладки или ввести клавиатурную комбинацию [Ctrl]+[Tab].
В режиме с динамической компоновкой разделы с результатами и с контрольными
данными отображаются одновременно; кроме того, в некоторых ситуациях
один из этих разделов может отсутствовать (например, при ознакомительном запуске
отсутствует раздел с результатами).
Чтобы отличить комментарии от данных (как исходных, так и результирующих),
используется цветовое выделение: комментарии выводятся светло-серым цветом,
данные желтым. Контрольные данные отображаются тем же цветом, что и
комментарии.
В нижней части окна располагается информационная панель и кнопка
«Выход». Для выхода из программы надо нажать кнопку
«Выход», клавишу [Esc] или одну из тех функциональных клавиш, которые обычно используются для
запуска программы: [F5], [F6], [F9], [F10], [F11]. Таким образом, для
запуска и завершения программы можно использовать одну и ту же функциональную клавишу.
Если формулировка задания или раздел с исходными или результирующими данными
содержит более 5 строк, а также при наличии
в задании исходных или результирующих данных, допускающих прокрутку, в окне
с фиксированной компоновкой появляются
дополнительные управляющие элементы, обеспечивающие прокрутку
соответствующих компонентов задания. Ниже приводится пример окна,
содержащего четыре набора файловых данных, каждый из которых допускает
прокрутку.
В окне с динамической компоновкой формулировка задания и все данные
отображаются полностью, поэтому для большинства заданий прокрутка не требуется
(при необходимости окно с динамической компоновкой допускает общую прокрутку
своего содержимого).
Элементы файлов отображаются бирюзовым цветом, чтобы подчеркнуть их
отличие от обычных исходных данных (желтого цвета) и комментариев (светло-серого цвета).
Для прокрутки содержимого файла с помощью мыши достаточно щелкнуть на
одной из двух кнопок , расположенных справа от требуемой экранной строки. С
помощью клавиатуры можно выполнять поэлементную или
«постраничную» прокрутку. Для поэлементной прокрутки используются
клавиши со стрелками [Right] или [Down] (прокрутка вперед) и [Left] или [Up]
(прокрутка назад); для «постраничной» прокрутки, обеспечивающей
переход к новой «порции» элементов, умещающейся на экранной строке,
используются клавиши [Ctrl]+[Right] или [PgDn] (прокрутка вперед) и [Ctrl]+[Left]
или [PgUp] (прокрутка назад). Кроме того, клавиша [Home] обеспечивает
перемещение на начало, а клавиша [End] на конец файла.
Начиная с версии 4.11, доступен еще один способ прокрутки: с помощью колесика
мыши; при этом курсор мыши достаточно расположить в области прокручиваемого элемента.
Если окно программы содержит несколько элементов, допускающих прокрутку
(например, несколько строк с файловыми данными см. рисунок, приведенный выше), то прокрутка
с помощью клавиатуры выполняется для выделенного элемента, помеченного в левой
части окна задачника маркером в виде черного кружка. Для смены выделенного элемента предусмотрены
клавиши [+] и []: первая из них обеспечивает циклический перебор всех
отображенных на экране элементов, допускающих прокрутку, в направлении сверху
вниз, а вторая в направлении снизу вверх.
Для того чтобы определить, какие элементы файла отображаются в данный
момент на экране, предусмотрен указатель текущей позиции, значение которого
равно номеру первого из элементов, отображенных на экране. Данный указатель
располагается в начале строки с элементами файла и отделяется от них двоеточием.
Нумерация элементов файла начинается с единицы.
В отличие от двоичных файлов, содержимое которых всегда отображается на
одной экранной строке, текстовые файлы отображаются на нескольких (от двух до
пяти) экранных строках, причем на каждой экранной строке размещается одна строка
из текстового файла (это связано с тем, что строки, входящие в текстовый файл,
могут иметь большую длину). Указатель текущей позиции в данном
случае содержит номер первой отображаемой на экране файловой строки (нумерация
строк, как и элементов двоичных файлов, ведется от единицы); этот указатель
размещается в начале первой из экранных строк, отведенных для отображения
текстового файла. Прокрутка строк текстового файла обеспечивается теми же
клавишами, что и прокрутка элементов типизированного файла (в данном
случае, поскольку элементы-строки расположены по вертикали, более естественно
использовать клавиши [Up], [Down] и [PgUp], [PgDn], в то время как для элементов
двоичных файлов, расположенных по горизонтали, удобнее пользоваться клавишами
[Left], [Right] и их [Ctrl]-комбинациями). Текстовые файлы снабжаются
вертикальными полосами прокрутки (вместо горизонтально расположенных парных кнопок, которыми снабжаются
двоичные файлы).
Прокручивать можно не только элементы данных, но и текст с
формулировкой задания, если он не умещается в выделенных для этих целей пяти
экранных строках. Действия по прокрутке текста задания аналогичны
действиям по прокрутке текстовых файлов. Для текста задания, допускающего
прокрутку, также предусмотрен указатель текущей позиции. Этот указатель
размещается слева от раздела с формулировкой задания и содержит номер первой из
тех строк текста, которые в данный момент отображаются на экране. Если в
результате прокрутки на экране выведены последние строки формулировки задания,
то указатель текущей позиции подчеркивается (как на приведенном ниже рисунке).
Это означает, что дальнейшая прокрутка вниз невозможна.
В приведенном ниже окне присутствуют также особые элементы исходных и
результирующих данных: цепочки узлов. Эти элементы используются в заданиях
группы Dynamic («Динамические структуры данных»). Особенности,
связанные с отображением цепочек узлов, описываются в примерах выполнения
заданий на обработку динамических структур для языков
Pascal,
C++,
C#, Visual Basic .NET, F#,
Python,
Java,
Ruby и Julia.
Имеется еще один особый вид
исходных и результирующих данных: бинарные деревья; данные этого вида описываются в примерах
выполнения заданий группы Tree для языков
Pascal,
C++,
C#, Visual Basic .NET, F#,
Python,
Java,
Ruby и Julia.
Если глубина бинарного дерева превышает количество
экранных строк, отведенных для его отображения, то для данного дерева также доступна
прокрутка.
Если программа запущена в демонстрационном режиме, то
на месте информационной панели отображаются дополнительные кнопки,
позволяющие быстро перейти к предыдущему или следующему заданию данной
группы или просмотреть новый набор исходных и контрольных данных. При
демонстрационном, как и при ознакомительном запуске, активной является вкладка
«Пример верного решения».
В версии 4.9 окно задачника было дополнено разделом отладки, который отображается на экране,
если программа учащегося при выполнении задания выводит отладочную информацию.
Предусмотренные в задачнике отладочные процедуры подробно описываются
в разделах, посвященных использованию задачника для языков
Pascal,
C++, C#, Visual Basic .NET, F#,
Python, Java,
Ruby и Julia.
Если окно задачника является активным, то нажатие клавиши [F1]
(или кнопки «?» в правой части заголовка окна)
приводит к отображению на экране информационного окна. Начиная с версии 4.9, данное окно содержит набор вкладок:
Содержимое вкладок «Выполнение заданий», «Ввод-вывод» и «Отладка»
зависит от
выбранного языка программирования. Их изображения приведены на странице «Краткая справка» в
начале разделов, посвященных языкам Pascal,
C++, C#, Visual Basic .NET, F#,
Python, Java, Ruby и Julia.
Дополнения, реализованные в версии 4.11
В версии 4.11 интерфейс окна задачника был дополнен рядом новых возможностей.
В данном пункте описываются те из них, которые реализованы для любого режима окна
(как с фиксированной, так и с динамической компоновкой).
Расширенное цветовое выделение ошибок
Наряду с обычным красным цветом, свидетельствующим об ошибочном решении,
для фона информационной панели используются
три дополнительных оттенка красного цвета, которые связываются с тремя видами ошибок ввода-вывода.
1. Введено или выведено недостаточно данных (оранжевый фон):
2. Попытка ввести или вывести лишние данные (малиновый фон):
3. Попытка ввести или вывести данные неверного типа (фиолетовый фон):
4. Прочие ошибки (красный фон):
Аналогичное сообщение выводится
и в случае, когда в задании требовалось создать новый файл, но в результате выполнения программы
требуемый файл не был создан или остался пустым. Ранее в подобной ситуации выводилось сообщение об ошибочном
решении на оранжевом фоне. Новый цветовой вариант индикации (в отличие от предыдущего) подчеркивает
то положительное обстоятельство,
что учащийся успешно прошел начальный этап выполнения задания, связанный с вводом исходных данных.
Индикаторы ввода-вывода
и прогресса выполнения задания
В левой и правой части раздела исходных данных и раздела результатов выделено место для
отображения дополнительных индикаторов в виде вертикальных цветовых полос.
(аналогичные индикаторы для окна с динамической компоновкой
являются горизонтальными и располагаются на специальной панели
индикаторов см. следующий пункт).
Индикаторы в левой
части разделов показывают долю введенных и выведенных данных
(по отношению к общему количеству исходных и результирующих данных).
При вводе и выводе всех требуемых
данных полоса соответствующего индикатора занимает весь раздел по вертикали; при вводе/выводе
части данных высота полосы соответствует размеру этой части. При наведении мыши на индикатор во
всплывающей подсказке отображается точная информация о числе введенных/выведенных данных,
например, «Ввод: 2 из 5» или «Вывод: 4 из 8».
Индикаторы имеют темно-серый цвет.
В случае, когда в задании не требуется пересылать данные непосредственно задачнику или не
требуется получать от него исходные данные, индикаторы всегда занимают весь раздел по вертикали
и при этом имеют светло-серый цвет. Для индикаторов такого типа подсказка не выводится.
Примерами заданий, в которых не требуется
пересылать данные задачнику, являются многие задания на преобразование файлов и деревьев и все задания,
связанные с ЕГЭ. Задания, связанные с ЕГЭ, являются также примерами заданий, в которых не требуется
получать исходные данные от задачника (данные должны
считываться из входного файла, который связывается со стандартным потоком ввода).
В правой части разделов с входными и выходными данными могут отображаться индикаторы
ошибок ввода-вывода и прогресса выполнения задания. Индикатор ошибки, связанной с вводом,
размещается в правой части раздела входных данных, а индикатор ошибки, связанной с выводом, в правой
части раздела выходных данных. Он всегда занимает весь раздел по вертикали; его цвет
соответствует типу ошибки (этот же цвет используется и для фона информационной панели). В то время как
цвет определяет характер ошибки (недостаточно данных, избыточное число данных,
данные неверного типа), расположение индикатора показывает, к какой категории данных (входных
или выходных) эта ошибка относится.
С индикаторами ошибок ввода-вывода не связываются подсказки, так как
подробные сведения об обнаруженной ошибке выводятся на информационной панели.
В правой части разделов с входными и выходными данными отображается также индикатор
прогресса выполнения задания. Он имеет зеленый цвет и связывается с обоими разделами. Высота
индикатора прогресса зависит от количества успешных тестовых испытаний программы. В случае
выполнения требуемого числа испытаний этот индикатор заполняет по высоте оба раздела. Таким
образом, при успешном выполнении задания разделы исходных и результирующих данных полностью
обрамляются и слева и справа: обрамление слева (серого цвета) означает, что были введены и
выведены все требуемые данные, обрамление справа (зеленого цвета) означает, что были успешно
пройдены все тестовые испытания.
В подсказке к индикатору прогресса выводится текст «Тесты:», после которого
указывается число успешно пройденных тестов и число тестов, которые необходимо пройти для того, чтобы
задание было зачтено как выполненное.
Ниже приведен вид окна задачника при успешном выполнении второго теста (из трех
требуемых).
При выполнении заданий по параллельному программированию индикаторы ввода-вывода
отображают общее число данных, введенных и выведенных всеми процессами. В этом случае
подсказки к индикаторам ввода-вывода дополнительно содержат информацию о том, сколько данных
было введено (или, соответственно, выведено) каждым из процессов, использованных в задании.
Изменение режима окна, цветовой схемы и отключение отображения даты/времени
Клавиша [F4] и кнопка быстрого доступа «Режим», размещенная в правой верхней части окна
задачника, позволяют переключаться между двумя режимами окна: с фиксированной и динамической компоновкой.
Режим с динамической компоновкой появился в версии 4.11, он подробно описывается в следующем пункте.
Клавиша [F3] и кнопка быстрого доступа «Цвет», размещенная рядом с кнопкой переключения
режима окна, позволяют переключаться между двумя цветовыми схемами окна задачника: традиционной
(в стиле консольного окна: светлые символы на черном фоне) и появившейся в версии 4.11 (темные символы на белом фоне).
Элементы исходных и
результирующих данных, которые в традиционной «черной» схеме отображаются желтым цветом, в
новой, «белой» схеме отображаются синим цветом. Цвет «внешних» данных (элементов файлов и
динамических структур) в обеих схемах является одинаковым (бирюзовым); изменяется лишь его яркость.
Цвета индикаторов подобраны таким образом, чтобы нормально восприниматься в любой
цветовой схеме.
«Белая» схема является менее контрастной и поэтому проигрывает в наглядности по сравнению с
«черной» схемой; в то же время «белая» схема позволяет создавать более наглядные скриншоты окон
задачника в печатных пособиях.
Еще одной возможностью, связанной исключительно с удобством оформления учебных материалов,
является скрытие даты/времени в верхней левой части окна задачника, которое может
выполняться при нажатии комбинации [Ctrl]+[D] (клавиша работает как переключатель).
Эта возможность предназначена, в основном, для преподавателя, готовящего презентации или пособия,
связанные с задачником. Скрытие даты/времени
позволяет не следить за согласованием даты/времени при подготовке серии скриншотов с
окнами задачника и, кроме того, дает возможность скрыть информацию о дате и времени подготовки
скриншотов.
В режиме с динамической компоновкой для скрытия/отображения
даты и времени можно также использовать соответствующую команду контекстного меню окна задачника.
Все описанные настройки (выбранный режим окна, цветовая схема и режим отключения даты/времени)
запоминаются в файле настроек pt4.ini в текущем каталоге и при последующих запусках программ с заданиями
восстанавливаются автоматически.
Быстрый просмотр результатов
Для вызова программного модуля PT4Results предусмотрена кнопка быстрого доступа
«Результаты» в правой верхней части окна задачника и связанная с ней клавиша [F2].
В демо-режиме
эта возможность отключена (поскольку модуль PT4Demo может быть запущен не из рабочего
каталога, а из системного каталога задачника, с которым не связывается информация о результатах
какого-либо учащегося). Запустить можно лишь одну копию модуля PT4Results; на время работы с
этим модулем кнопка «Результаты» делается недоступной.
Режим с динамической компоновкой
Особенности режима с динамической компоновкой
Как было отмечено выше, с помощью кнопки быстрого доступа «Режим»
и связанной с ней клавиши [F4] можно осуществлять переключение между двумя режимами окна задачника:
традиционного режима с фиксированной компоновкой, в котором
разделы с формулировкой, исходными данными и результатами имеют фиксированный размер (5 экранных строк) и
допускают независимую прокрутку, и появившегося в версии 4.11 режима с динамической компоновкой,
в котором размеры разделов определяются содержащимися в них данными, состав разделов зависит от
результата тестового запуска, и для всего содержимого окна выполняется, при необходимости, общая
прокрутка.
Подобно цветовой схеме и другим настройкам окна, выбранный вариант режима запоминается в файле pt4.ini, и при
последующих запусках программ автоматически восстанавливается. Начиная с версии 4.11, в качестве
режима по умолчанию установлен режим с динамической компоновкой.
В режиме с динамической компоновкой управляющие элементы и информационная панель располагаются в верхней
части окна, поскольку высота окна для различных заданий (и даже для различных запусков программы
с одним и тем же заданием) может изменяться.
Окно в режиме с динамической компоновкой может содержать от двух до четырех разделов в различных сочетаниях:
раздел формулировки (без заголовка), раздел
исходных данных (с заголовком «Исходные данные»), раздел с результатами (с заголовком
«Полученные результаты») и раздел с образцом правильного решения (с
заголовком «Пример верного решения»). Разделы с формулировкой и исходными данными отображаются
при любом варианте запуска. В демонстрационном режиме, при ознакомительном запуске
и (начиная с версии 4.15) в ситуации правильного ввода исходных данных без вывода результатов
раздел с образцом правильного
решения отображается, а (пустой) раздел с результатами нет. В случае успешного тестового запуска
раздел с образцом правильного решения не отображается, так как образец в этом случае совпадает с
полученными результатами. Все четыре раздела отображаются в случае, когда при тестовом
испытании была выявлена какая-либо ошибка. Заметим, что в версии 4.13 появилась возможность
создания групп заданий, для которых раздел с образцом правильного решения всегда является скрытым
(подобные группы заданий можно использовать, например, при проведении контрольных работ).
В режиме с динамической компоновкой все индикаторы
(ввода-вывода и прогресса выполнения задания) вынесены на специальную панель индикаторов, размещенную под
информационной панелью. Панель индикаторов не отображается в демо-режиме, а также (в версиях 4.114.14) при
ознакомительном запуске; начиная с версии 4.15, панель индикаторов отображается во всех режимах, кроме демонстрационного
(это позволяет, в частности, уже при ознакомительном запуске определить количество требуемых
тестовых испытаний программы).
Помимо основных индикаторов-полос, которые в режиме с динамической компоновкой
располагаются горизонтально, на панели индикаторов могут размещаться дополнительные цветовые метки (в виде
квадратных маркеров). Зеленая метка
появляется над индикатором прогресса выполнения задания в случае, когда успешно пройдены все требуемые тесты.
Зеленые метки выводятся также над индикаторами ввода-вывода в случае, если программа
ввела требуемое количество исходных данных и вывела требуемое количество результирующих данных
(иными словами, если задачник не зафиксировал ошибок, связанных с вводом и выводом).
Метки с различными оттенками красного цвета отображаются при выявлении ошибок; их размещение зависит
от характера ошибки: если это ошибка ввода, то метка отображается над индикатором ввода, если это
ошибка вывода, то над индикатором вывода, если же это ошибка другого вида, то метка размещается
над индикатором прогресса выполнения. Таким образом, при наличии любой ошибки в разделе
индикаторов будет указана соответствующая метка. Поскольку, помимо индикаторов, панель
содержит поясняющий текст, дополнительные подсказки к индикаторам не требуются. Исключение
составляют задания по параллельному программированию, для которых предусмотрены подсказки,
связанные с индикаторами ввода-вывода и поясняющим текстом: подсказки содержат информацию о
том, сколько было введено или выведено данных в каждом процессе, использовавшемся в задании.
При обнаружении ошибки ввода-вывода заголовок соответствующего раздела выводится цветом,
который соответствует цвету этой ошибки, как на приведенном ниже рисунке.
Режим с динамической компоновкой особенно удобен для заданий с большими формулировками и большими наборами
данных. В качестве примера приведем окно в данном режиме для задания Align31 (при демонстрационном
запуске).
В приведенном ниже окне с фиксированной компоновкой для этого же задания
требуется прокрутка как для формулировки, так и для раздела исходных данных.
Если часть разделов с заданием не умещается на экране, то у правой границы окна
отображается полоса прокрутки, а нижняя граница окна автоматически подстраивается под размеры экрана и
располагается выше панели задач. При перемещении окна вверх в данной ситуации
высота окна автоматически увеличивается до тех пор, пока все его содержимое не будет отображаться
в окне; при этом полоса прокрутки опять будет скрыта. Для перемещения верхней
границы окна вверх и вниз можно использовать клавиатурные комбинации [Ctrl]+[Up] и [Ctrl]+[Down]
соответственно.
Если в режиме с динамической компоновкой отображается полоса прокрутки,
то прокручивать данные можно как с ее помощью,
так и с помощью колесика мыши, а также клавишами [Home], [End], [PgUp], [PgDn], [Up] и [Down].
Окно в режиме с динамической компоновкой (в отличие от окна в режиме с фиксированной компоновкой)
можно масштабировать, изменяя
размер шрифта в его основных разделах (с формулировкой задания, исходными данными, результатами и примером правильного решения). Для масштабирования можно использовать команды
контекстного меню или клавиши [Ctrl]+[+] и [Ctrl]+[]. Ниже приведен вид окна с минимальным размером
шрифта (равным 8 пунктам). В режиме с динамической компоновкой сохраняется возможность изменения шрифта
в разделе отладки (с помощью команд контекстного меню или клавиш [Alt]+[+] и [Alt]+[]); подобное изменение
не влияет на размеры окна.
Текущая позиция верхней границы окна в режиме с динамической компоновкой
и текущие размеры шрифта сохраняются в
файле настроек pt4.ini и при последующем запуске автоматически восстанавливаются. Однако это
сохранение производится только в случае, если при закрытии окна оно находилось в режиме с динамической
компоновкой. В противном случае (если при запуске программы окно отображается в режиме
с фиксированной компоновкой) для позиции верхней
границы окна и размера шрифта в основных разделах устанавливаются стандартные значения, принятые для режима с фиксированной
компоновкой.
Дополнительная настройка разделов с заданием
В режиме с динамической компоновкой можно скрыть формулировку задания,
чтобы обеспечить отображение других элементов задания в окне меньшей высоты. Для скрытия формулировки
задания достаточно выполнить двойной щелчок мышью в любом месте раздела с формулировкой задания
или нажать клавишу [Del].
Если формулировка задания скрыта, то раздел с формулировкой уменьшается до одной
(пустой) экранной строки, причем в правой части этого раздела отображается кнопка, позволяющая
вновь отобразить формулировку задания (с данной кнопкой связана всплывающая подсказка «Показать
формулировку задания (Del)»):
Для восстановления формулировки, помимо нажатия на кнопку, доступны
те же действия, которые обеспечивают ее скрытие: двойной щелчок в любом месте раздела с формулировкой
или нажатие клавиши [Del].
Как правило, необходимость в скрытии формулировки задания возникает в ситуации, когда
часть данных, связанных с заданием, не отображается на экране (при этом окно снабжается полосой прокрутки).
В подобной ситуации предусмотрен еще один способ скрытия раздела с формулировкой: с помощью
кнопки, отображаемой в правом верхнем углу этого раздела (рядом с полосой прокрутки).
На кнопке отображается символ «x», и с ней связывается всплывающая подсказка
«Скрыть формулировку задания (Del)»:
Если закрыть окно (не в демо-режиме) при скрытой формулировке, то при последующем запуске (также не
в демо-режиме) формулировка останется скрытой.
При начальном отображении каждого задания в демо-режиме формулировка всегда выводится; если ее скрыть,
то она будет оставаться скрытой
при последующих просмотрах других вариантов исходных и контрольных данных для этого задания
(варианты перебираются кнопкой «Новые данные»).
В режиме с динамической компоновкой все прокручиваемые элементы данных (формулировка, элементы двоичных
файлов, элементы бинарных деревьев, разделы исходных и результирующих данных, содержащие более 5 строк)
отображаются полностью. Частично отображаются только элементы
текстовых файлов.
По умолчанию выводится столько же строк текстового файла, сколько и в режиме с фиксированной компоновкой;
при этом первая строка файла
снабжается номером, равным 1. Такой подход позволяет ознакомиться с заданием, отобразив его в окне
сравнительно небольшого размера:
Если в режиме с динамической компоновкой
отображается только часть данных из текстовых файлов, то
в нижней части разделов с этими текстовыми файлами отображается многоточие, а
в правом верхнем углу
раздела с исходными данными появляется кнопка со стилизованной стрелкой, направленной вниз. С
кнопкой связывается
подсказка «Развернуть содержимое текстовых файлов (Ins)».
Щелкнув на этой кнопке, нажав клавишу [Ins] или
выполнив двойной щелчок мышью на одном из разделов, связанных с заданием (кроме раздела с формулировкой),
можно отобразить файловые данные в полном объеме; при этом около каждой файловой строки появится ее номер, а на
кнопке изменится изображение: вместо стрелки, направленной вниз, будет изображена стрелка, направленная вверх:
Режим полного отображения текстовых файлов удобен для
более тщательного изучения особенностей исходных и полученных файлов, а также
для сравнения полученного ошибочного файла с файлом, указанным в примере правильного решения.
Если закрыть окно задачника (не в демо-режиме) при развернутом содержимом текстовых
файлов, то при последующем запуске (также не в демо-режиме) это содержимое будет развернуто
автоматически. При начальном отображении каждого задания в демо-режиме данные
текстовых файлов всегда выводятся в свернутом виде; если их развернуть,
то режим развернутого отображения будет сохраняться
при последующих просмотрах других вариантов исходных и контрольных данных для этого задания
(варианты перебираются кнопкой «Новые данные»).
Действия по разворачиванию/сворачиванию содержимого текстовых файлов можно выполнять и для
файлов небольшого размера, когда даже в свернутом режиме на экране отображаются все файловые строки.
Однако в этом случае кнопка со стрелкой в окне задачника не появляется, и для переключения между
режимами свернутого и развернутого отображения файловых данных следует нажимать клавишу
[Ins] или выполнять двойной щелчок мышью на разделе с заданием.
Перейти в режим развернутого отображения содержимого для небольших
файлов может потребоваться, например, для того,
чтобы этот режим автоматически восстановился при следующем тестовом запуске программы.
«Интеллектуальная» прокрутка
В ситуации, когда разделы с исходными, результирующими или контрольными данными имеют большую высоту
(например, при отображении в полном объеме содержимого текстовых файлов),
с помощью стандартной прокрутки сложно обеспечить быстрый переход к началу
требуемого раздела. Кроме того, при большом объеме результирующих данных затрудняется их сравнение
с контрольными данными. Чтобы решить эти проблемы, в режиме с динамической компоновкой реализована
возможность «интеллектуальной» прокрутки. Данная возможность доступна, если
основные разделы окна (разделы с формулировкой, исходными данными, результатами и примером правильного решения)
имеют суммарную высоту, превышающую размер окна. При этом в левом верхнем углу области окна,
отводимой для отображения разделов задания, отображаются
три дополнительные кнопки с символами «», «+» и «/»:
Прокрутка содержимого окна не влияет на положение этих кнопок.
Нажатие на кнопку «» или нажатие клавиши []
обеспечивает прокрутку к началу предыдущего раздела задания,
нажатие на кнопку «+» или нажатие клавиши [+]
обеспечивает прокрутку к началу следующего раздела задания; при этом перебор разделов выполняется циклически.
Если в окне задачника присутствует раздел отладки, то он также учитывается при переборе разделов.
Если раздел с формулировкой является скрытым, то он при переборе разделов не учитывается.
Нажатие на кнопку «/» или нажатие клавиши [/] обеспечивает переход к началу раздела с результатами
или раздела с примером правильного решения, если в окне присутствует только один из этих разделов. Если же
окно содержит оба этих раздела, то данная кнопка и связанная с ней клавиша обеспечивают в дальнейшем переключение
между этими разделами. При этом выполняется дополнительная синхронизация разделов:
новый раздел отображается с той строки, которая соответствует верхней отображаемой строке прежнего раздела.
Подобная синхронизация в еще большей степени упрощает сравнение полученных и правильных
результатов.
Клавиши [], [+], [/], связанные с «интеллектуальной» прокруткой (как и клавиши [Ins] и [Del],
связанные с дополнительной настройкой внешнего вида разделов с заданием), располагаются
в правой части цифровой клавиатуры и не зависят от режима [NumLock]; подобное расположение делает их
удобными для использования в качестве горячих клавиш. Однако при отсутствии цифровой клавиатуры
(например, на некоторых моделях ноутбуков) применение данных клавиш становится менее удобным.
Чтобы и в этой ситуации упростить выполнение команд с помощью горячих клавиш, предусмотрены
их альтернативные варианты: [Ctrl}+{PgDn] вместо [+], [Ctrl}+{PgUp] вместо []
и [Ctrl}+{Tab] вместо [/]. Заметим, что подобный способ использования комбинации [Ctrl}+{Tab]
соответствует способу ее использования в режиме с фиксированной компоновкой, в котором она
также обеспечивает переключение между полученными результатами и примером правильного решения.
Все указанные клавиатурные комбинации приводятся во всплывающих подсказках, которые отображаются
на экране при наведении курсора мыши на соответствующие кнопки:
Список горячих клавиш
Действия, доступные в любом режиме окна задачника
[Esc] закрытие окна
[Enter] переход к следующему заданию (при демонстрационном запуске)
[Backspace] переход к предыдущему заданию (при демонстрационном запуске)
[Пробел] генерация нового набора исходных данных и связанного с ним примера верного решения (при демонстрационном запуске)
или скрытие/отображение разделов, описывающих
задание (при наличии в окне раздела отладки)
[F1] отображение окна «Информация»
[F2] отображение результатов выполнения всех заданий
(если запуск не является демонстрационным)
[F3] переключение между цветовыми режимами «текст на черном фоне» и «текст на белом фоне»
[F4] переключение между режимами окна с фиксированной и динамической компоновкой (до версии 4.20),
отображение html-страницы с текстом текущего задания (начиная с версии 4.21)
[Ctrl]+[D] скрытие/отображение информации о текущих дате и времени
[Alt]+[+], [Alt]+[] изменение размера шрифта в разделе отладки
[Ctrl]+[C] копирование текущего содержимого раздела отладки в буфер Windows
[*], [0][9], [A][Z] выбор требуемого процесса в разделе отладки
при выполнении заданий по параллельному программированию ([*] все процессы,
[0][9] процессы 09, [A][Z] процессы 1036)
Дополнительные действия для режима окна с фиксированной компоновкой
[/] или [Ctrl]+[Tab] переключение между вкладками с полученными
результатами и примером верного решения
[Вверх], [Вниз], [Влево], [Вправо], [Home], [End], [PgUp],
[PgDn] прокрутка данных в разделах, описывающих задание
(если в них имеются элементы данных с прокруткой)
[+] или [Ctrl}+[PgDn], [] или [Ctrl}+[PgUp] циклический перебор элементов с прокруткой в разделах,
описывающих задание (если таких элементов больше одного)
[Alt]+[Вверх], [Alt]+[Вниз], [Alt]+[Home], [Alt]+[End],
[Alt]+[PgUp], [Alt]+[PgDn] прокрутка данных в разделе отладки
[Alt]+[Вправо], [Alt]+[Влево] циклический перебор процессов в разделе отладки
(при выполнении заданий по параллельному программированию)
Если разделы, описывающие задание, не содержат
элементов с прокруткой или являются скрытыми, то нажимать клавишу
[Alt] в указанных выше [Alt]-комбинациях не требуется.
Дополнительные действия для режима окна с динамической компоновкой
[/] или [Ctrl]+[Tab] переключение между разделами с полученными результатами
и с примером верного решения (команда доступна,
если общая высота разделов с заданием превышает высоту области прокрутки)
[Вверх], [Вниз], [Home], [End], [PgUp], [PgDn] прокрутка данных
(если в окне доступна прокрутка)
[Вправо], [Влево] циклический перебор процессов в разделе отладки
(при выполнении заданий по параллельному программированию)
[+] или [Ctrl}+[PgDn], [] или [Ctrl}+[PgUp] циклический перебор разделов, описывающих задание
(команда доступна, если общая высота разделов с заданием превышает высоту области прокрутки)
[Ctrl]+[Вверх], [Ctrl]+[Вниз] перемещение верхней границы окна
вверх и вниз соответственно
[Ctrl]+[+], [Ctrl]+[] изменение размера шрифта в разделах с заданием
[Del] скрытие/отображение раздела с формулировкой задания
[Ins] переключение режима отображения текстовых файлов
(с сокращенного на полный и обратно)
|