Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

 

ЮФУ SMBU

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2024

 

Teacher Pack | Общие сведения | Файлы результатов

PrevNext


Файлы результатов (results-файлы)

Общее описание

Важной особенностью электронных обучающих систем является их способность протоколировать процесс выполнения учебных заданий. Информация, содержащаяся в протоколе, может быть полезна как самому учащемуся, так и преподавателю, особенно при проведении групповых занятий, поскольку в подобной ситуации достаточно сложно «визуально» контролировать работу каждого учащегося. Желательно также, чтобы система не только отображала «протокол выполнения заданий» на экране или выводила его на печать, но и автоматически анализировала информацию, содержащуюся в протоколе (например, указывая суммарную продолжительность занятий, количество выполненных заданий по каждой теме и в целом, количество тестовых запусков учебных программ, потребовавшихся для выполнения каждого задания и т. д.). Разумеется, сам протокол должен храниться в зашифрованном виде, не позволяющем вносить в него произвольные корректировки. Кроме того, этот протокол должен содержать (также в виде, не допускающем редактирование) информацию об учащемся, выполнявшем задания. В электронном задачнике Programming Taskbook для хранения подобного протокола используется файл результатов.

Файл результатов имеет имя results. Его расширение зависит от варианта задачника: в универсальном варианте задачника Programming Taskbook 4 используется расширение .dat; в варианте задачника, интегрированном в системы Pascal ABC и PascalABC.NET, используется расширение .abc.

Данный файл обязательно должен присутствовать в каталоге учащегося. Как уже было отмечено, он является своего рода «дневником», в котором фиксируются все запуски учебных программ. Кроме того, в данном файле хранится информация об учащемся, его номер варианта и сведения об используемой программной среде. Файл результатов содержит также путь к системному каталогу и регистрационный номер задачника.

При отсутствии в каталоге учащегося файла результатов задачник выводит соответствующее сообщение и переходит в демонстрационный режим, не позволяющий проверять правильность программ учащихся. Создать файл результатов можно либо с помощью программы регистрации и настройки PT4Setup, либо с помощью контрольного центра преподавателя PT4Teach/PABCTeach (первый способ обычно применяется при индивидуальной работе с задачником, второй способ позволяет быстро создать results-файл для каждого учащегося группы).

Начиная с версии 4.15, файл результатов может быть создан более быстрым способом, с помощью программного модуля PT4Load. Для этого достаточно выбрать в этом модуле каталог, не содержащий файла результатов, и в ответ на появившийся запрос о создании файла результатов ввести информацию об учащемся. Программа PT4Load, входящая в состав универсального задачника, создает файлы результатов results.dat, программа, включенная в систему PascalABC.NET — файлы результатов results.abc.

При запуске программы с учебным заданием анализируется регистрационный номер, содержащийся в файле результатов (регистрация задачника выполняется в программе PT4Setup). При регистрации по умолчанию (когда регистрационный номер представляет собой последовательность нулей) для проверки доступны только задания, включенные в свободно распространяемую мини-версию задачника. При наличии ненулевого регистрационного номера учитывается уровень регистрации и в зависимости от него определяется набор заданий, доступных для проверки.

Файл результатов является двоичным строковым файлом, состоящим из строк длины 79 символов. Первые две строки можно просматривать и редактировать непосредственно, прочие строки зашифрованы и просмотреть их можно с помощью программного модуля PT4Results. Напомним, что данный модуль и два других вспомогательных модуля задачника — PT4Demo и PT4Load — представляют собой отдельные приложения (exe-файлы), входящие в состав универсального варианта задачника Programming Taskbook 4; кроме того, эти модули интегрированы в систему программирования Pascal ABC и PascalABC.NET. Модуль PT4Results включен также в контрольный центр преподавателя. Начиная с версии 4.11 задачника, модуль PT4Results можно вызвать непосредственно из окна задачника.

В первой строке файла результатов содержится копия данных об учащемся в DOS-кодировке (CP866), включающая обычно фамилию и имя. В качестве дополнительного элемента может присутствовать номер варианта, в этом случае он отделяется от предыдущих данных двоеточием, например, «Иванов Петр :12» (перед двоеточием может располагаться пробел). Суммарная длина строки с данными не может превышать 25 символов. Затем следует информация о текущих настройках задачника для данного учащегося; эта информация отделяется от предыдущего текста вертикальной чертой и состоит из следующих элементов:

  • размер шрифта, используемого модулем PT4Results;
  • имя и номер версии текущей среды программирования.

Например, при работе в системе Free Pascal Lazarus 1.0 информация о настройках может выглядеть так: «10LAZARUS1», а полный текст первой строки будет следующим: «Иванов Петр :12|10LAZARUS1». В файлах results.abc информация о среде программирования всегда имеет вид «PABC1».

Приведем список сред программирования, в которых может использоваться универсальный вариант задачника Programming Taskbook версии 4.15:

  • DELPHI7, DELPHI10 — Borland Delphi 7 и Turbo Delphi 2006 for Win32,
  • LAZARUS1 — Free Pascal Lazarus 1.0,
  • VB5–VB6 — язык Visual Basic для сред Microsoft Visual Basic версий 5–6,
  • VCNET3–VCNET7 — язык C++ для среды Microsoft Visual Studio версий 2008, 2010, 2012, 2013 и 2015,
  • CBLOCKS13 — язык C++ для среды Code::Blocks версии 13,
  • VBNET3–VBNET7 — язык Visual Basic .NET для среды Microsoft Visual Studio версий 2008, 2010, 2012, 2013 и 2015,
  • VCSNET3–VCSNET7 — язык C# для среды Microsoft Visual Studio .NET версий 2008, 2010, 2012, 2013 и 2015,
  • PYTHON2, PYTHON3 — язык Python 2 и 3 для сред IDLE for Python,
  • PYCHARM2, PYCHARM3 — язык Python 2 и 3 для среды PyCharm,
  • JAVANB6, JAVANB7 — язык Java для среды NetBeans IDE версий 6 и 7,
  • JAVAEC4 — язык Java для среды Eclipse (версии Juno 4.2, Kepler 4.3, Luna 4.4),
  • RUBYNB6–RUBYNB7 — язык Ruby для среды NetBeans IDE версий 6 и 7,
  • _1C8 — язык системы 1C:Предприятие версии 8 (данная среда доступна при установке комплекса PT for 1C — дополнения к базовому варианту задачника версии 4.9 или выше).

Настройки можно изменять с помощью соответствующих модулей задачника: размер шрифта изменяется модулем PT4Results, а среда программирования — модулем PT4Load (используя его контекстное меню). Кроме того, среду программирования можно изменить из программы настройки PT4Setup и из контрольного центра преподавателя PT4Teach/PABCTeach.

Настройки можно изменить и непосредственным редактированием файла результатов; надо лишь следить за тем, чтобы длина измененной строки файла вместе с последующими пробелами осталась равной 79 символам. Если настройки, записанные в файле результатов, являются ошибочными, то они игнорируются; в этом случае при запуске модуля PT4Load предлагается явно выбрать доступную среду программирования, а при запуске модуля PT4Results автоматически устанавливается размер шрифта, равный 10 пунктам.

Разумеется, с помощью непосредственного редактирования можно изменить и данные об учащемся, однако следует учитывать, что в первой строке файла результатов хранится лишь копия этих данных, позволяющая быстро определить, какому учащемуся принадлежит файл результатов. При работе задачника и его вспомогательных программ и модулей используется не эта копия, а текст, находящийся в зашифрованной части файла результатов. Таким образом, изменить «владельца» файла результатов непосредственным редактированием невозможно. Начиная с версии 4.15, меню программного модуля PT4Load включает команду «Изменить данные в файле результатов», однако при ее выполнении файл результатов создается заново, т. е. теряется информация обо всех выполненных заданиях, хранившаяся в предыдущем файле.

Вторая строка файла результатов содержит путь к системному каталогу задачника. Для файлов results.dat системным считается каталог, в котором размещаются компоненты универсального варианта задачника Programming Taskbook 4 (обычно это каталог «C:\Program Files\PT4» или «C:\Program Files (x86)\PT4»); для файлов results.abc системным считается подкаталог PT4 каталога, в котором размещается система PascalABC.NET (обычно это «C:\Program Files\PascalABC.NET» или «C:\Program Files (x86)\PascalABC.NET»).

Используя путь к системному каталогу, программы и модули, запущенные из каталога учащегося, получают информацию о настройках задачника. Кроме того, этот путь используется в процедуре обновления регистрационного номера.

Путь к системному каталогу заносится в файл результатов при его создании. Изменить путь для существующего файла результатов можно с помощью контрольного центра преподавателя (команда «Настройки | Изменить путь для ярлыков»), а также непосредственным редактированием файла результатов.

Обновление регистрационного номера в файле результатов

При проведении занятий в компьютерных классах может возникать ситуация, когда регистрационный номер, хранящийся в файле результатов учащегося, не будет соответствовать номеру для компьютера, на котором в данный момент работает учащийся. В этом случае выполняется процедура обновления регистрационного номера в файле результатов. Данная процедура состоит из следующих этапов:

  1. Анализируется регистрационный номер, хранящийся в системном каталоге задачника для данного компьютера (напомним, что путь к системному каталогу можно получить из второй строки файла результатов); если данный номер является правильным, то он записывается в файл результатов и обновление завершается.
  2. Если системный каталог не обнаружен, то проводится поиск каталога с тем же именем на других доступных жестких дисках; при обнаружении на них системного каталога с правильным регистрационным номером данный номер записывается в файл результатов и, кроме того, в файле результатов обновляется информация о системном каталоге: в качестве системного каталога указывается тот каталог, из которого был получен правильный регистрационный номер. На этом обновление завершается.
  3. Если два предыдущих шага не позволили обновить регистрационный номер в файле результатов, то в окне задачника отображается сообщение о необходимости обновления регистрационного номера, а также кнопка «Обновить (F2)», нажав на которую можно запустить процесс поиска правильного номера по всем жестким дискам. Поиск начинается с того диска, на котором была запущена программа учащегося; просматриваются либо файлы results.dat, либо файлы results.abc, в зависимости от имени обновляемого файла результатов учащегося. При обнаружении файла результатов с правильным регистрационным номером этот номер записывается в файл результатов, требующий обновления; кроме того, в этот файл результатов записывается информация о системном каталоге, который был указан в файле результатов с правильным регистрационным номером.

Подчеркнем, что этапы 1 и 2 выполняются автоматически и, следовательно, учащийся даже не заметит действий по обновлению его файла результатов. Обновление будет гарантированно происходить на этапе 1 или 2, если на всех компьютерах класса задачник установлен в системных каталогах с одинаковыми именами (при этом диски, на которых находятся системные каталоги, могут и различаться). Если же на разных компьютерах имена системных каталогов различаются, то может потребоваться более длительная процедура обновления (этап 3). В этой ситуации задачник выведет сообщение о возникшей проблеме; желательно, чтобы учащийся, в свою очередь, сообщил об этой проблеме преподавателю, под наблюдением которого и будет проведен этап 3 процедуры обновления.

Просмотр и обработка информации, содержащейся в файле результатов

Окно программного модуля PT4Results.

Сведения обо всех запусках программ с учебными заданиями, содержащиеся в зашифрованном виде в файле результатов, можно просмотреть и проанализировать с помощью программного модуля PT4Results (см. рисунок). Вариант модуля PT4Results, интегрированный в программные среды Pascal ABC и PascalABC.NET, и вариант, оформленный в виде исполняемого файла PT4Res.exe, позволяет просмотреть данные из файла результатов, расположенного в текущем каталоге. Вариант модуля, включенный в программу «Контрольный центр преподавателя», позволяет просмотреть данные для каждого учащегося группы, а также объединенные данные для всех учащихся (команда «Results-файлы | Просмотреть результаты»).

Строка со сведениями о запуске программы имеет формат

Name EnvirID DateTime Message

где Name обозначает имя задания, EnvirID — букву-идентификатор используемой среды программирования, DateTime — дату и время запуска задания, Message — текстовое описание результата выполнения программы. Например:

Minmax8     c28/09 19:46 Ошибочное решение.
Minmax8     c28/09 19:50 Попытка вывести лишние результирующие данные.
Minmax8     c28/09 19:54 Ошибочное решение.--8
Minmax8     c28/09 19:58 Задание выполнено!#

Для уменьшения размера файла результатов сведения о запусках одной и той же программы, проведенных подряд и приведших к одному и тому же результату (например, к сообщению «Ошибочное решение»), объединяются в одну строку, в конце которой указывается число повторений подобных «одинаковых» запусков (в приведенном выше примере таким образом объединено 8 ошибочных запусков программы — см. строку, оканчивающуюся текстом «--8»). При этом указывается время последнего из «одинаковых» запусков.

В качестве идентификаторов сред программирования могут указываться следующие символы (для идентификаторов сред на платформе Win32 используются строчные буквы, а для идентификаторов сред на платформе .NET — прописные; до версии 4.17 символ «p» использовался совместно и для среды Delphi, и для среды Lazarus):

  • a — Pascal ABC,
  • A — PascalABC.NET,
  • p — Delphi Pascal,
  • l — Free Pascal Lazarus,
  • b — Visual Basic,
  • с — C++,
  • B — Visual Basic .NET,
  • S — C#,
  • y — Python,
  • j — Java,
  • r — Ruby,
  • e — язык системы 1С:Предприятие.

Символ «#», указываемый после сообщения «Задание выполнено!», означает, что данное задание не только успешно прошло требуемое число тестовых испытаний, но и было проверено преподавателем (проверка преподавателем реализуется на основе контрольных файлов).

Модуль PT4Results не только расшифровывает и отображает сведения обо всех запусках учебных программ, но и выполняет анализ этих сведений, формируя сводную информацию, которая также отображается на экране. Сводная информация позволяет быстро, не просматривая протокол выполнения заданий, определить время занятий учащегося, количество выполненных заданий, время их выполнения и число потребовавшихся для этого запусков программы. Если учащийся выполняет набор индивидуальных заданий, используя файл вариантов, то сводная информация будет содержать дополнительные данные, в частности, процент выполнения заданий, включенных в набор. Приведем пример сводной информации в случае, когда учащийся должен выполнить набор индивидуальных заданий.

= Данилова Ирина:4          (F:\mm2015\group6\danilova_irina_nikolaevna)
+ Подключен файл вариантов F:\mm2015\group6\danilova_irina_nikolaevna\mm2015.var.
-1- ВРЕМЯ ЗАНЯТИЙ:
01/09(19:22-20:12)[1/5]   15/09(19:08-19:47)[1/7]   29/09(18:35-19:39)[2/6]
27/10(19:02-19:43)[1/15]  10/11(19:38-19:45)[0/2]   24/11(19:48-19:48)[0/1]
08/12(18:54-20:07)[2/30]  14/12(12:23-13:03)[0/4]   15/12(18:58-20:03)[3/23]
ВСЕГО: 7:04 [10/93]
-2- ВЫПОЛНЕННЫЕ ЗАДАНИЯ:
Minmax12 #c01/09 [2]      Matrix33 #c15/09 [10]     Param25 #c29/09 [5]
String33 #c29/09 [1]      String49 #c27/10 [15]     Text34 #c08/12 [22]
File54 #c15/12 [12]       Recur2 #c08/12 [1]        Text8 #c15/12 [4]
Dynamic18 #d15/12 [1]
-3- НЕЗАВЕРШЕННЫЕ ЗАДАНИЯ:
Recur27 24/11 [1]         Dynamic39 15/12 [19]
-4- ОСТАЛОСЬ ВЫПОЛНИТЬ:
File81       Text40       Recur27      Dynamic39    Dynamic45    Dynamic75
-5- СВОДКА ПО ГРУППАМ ЗАДАНИЙ:
Minmax 1/1(***)           Matrix 1/1(***)           Param 1/1(***)
String 2/2(***)           File 1/2(50%)             Text 2/3(67%)
Recur 1/2(50%)            Dynamic 1/4(25%)          ВСЕГО: 10/16(63%)
-------------------------------------------------------------------------------

В контрольном центре преподавателя предусмотрена команда «Results-файлы | Сводная информация», позволяющая отобразить в компактной форме сводную информацию о результатах выполнения заданий для всех учащихся группы.

Резервное копирование и восстановление файлов результатов

Учитывая особую ценность файлов результатов, при организации занятий с группами учащихся в учебных классах целесообразно регулярно проводить резервное копирование этих файлов. Для контроля за текущим состоянием файлов результатов, быстрого проведения процедуры резервного копирования и, при необходимости, обратной процедуры восстановления испорченных файлов по их архивным копиям предназначены специальные команды контрольного центра преподавателя: «Results-файлы | Архивировать» и «Results-файлы | Восстановить».

При реализации команд архивации и восстановления results-файлов предусмотрены средства контроля, не позволяющие «испортить» новый файл результатов, записав на его место более старый файл. Контроль выполняется на основе сравнения размеров файлов; более новым считается файл, имеющий больший размер. Обновить архивную копию можно только в том случае, когда текущий файл результатов имеет больший размер, чем его архивная копия; аналогично, восстановить файл по его архивной копии можно только при условии, что архивная копия имеет больший размер, чем текущий файл результатов в каталоге учащегося.

Впрочем, возможна ситуация, когда сравнения размеров недостаточно для того, чтобы определить допустимость операций архивации/восстановления results-файлов. При наличии на одном диске каталогов нескольких учащихся вполне возможно умышленное или случайное копирование results-файла из одного каталога в другой, в результате чего в каталоге может появиться results-файл с неверными данными об учащемся. Такой файл, очевидно, требует восстановления даже если его размер превышает размер соответствующего архивного файла. Подобная ситуация также предусмотрена в контрольном центре преподавателя. Для этого на информационной панели программы отображаются не только размеры файлов результатов (текущего и архивного), но и содержащиеся в них данные об учащемся; в случае несовпадения этих данных оказываются доступными обе операции (как архивации, так и восстановления), причем размер results-файлов во внимание не принимается.


PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2024