Рефераты. "Строка" и "множество" с использованием АСМ–технологии

Интерфейс пользователя серверной части приложения мало отличается от клиентской. Он также представлен несколькими закладками, но в отличие от клиента имеет лишь две из них, это «Результаты» и «Полный лог».

Рисунок 1.3. Закладка «Личный лог»

В соответствии с рисунком 1.4, на закладке «Результаты», отражается текущая информация по каждой команде или ученике.

Рисунок 1.4. Окно результатов олимпиады доступное на сервере

В таблице результатов присутствует дополнительная колонка «C/D» показывающая текущий статус подключения участника к серверу.

Здесь символ «C» (от англ. Connected - соединен) говорит о том, что соединение с данным участником установлено, а символ «D» (от англ. Disconnected - разъединен) о том, что соединение с участником отсутствует.

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

· белый - характерен для ячеек, по которым задание соответствующего участника ни разу не было получено сервером на проверку;

· желтым - окрашены ячейки в пересечении участник - задание, если участник пробовал сдать это задание, но присланное им решение, не прошло какой либо из тестов, либо не было скомпилировано;

· зеленый - показывает, что задание соответствующего участника было получено на проверку и успешно прошло все тесты.

Число, указанное в этих ячейках сообщает о том, какое количество попыток было предпринято участником, чтобы сдать задание.

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

Рисунок 1.5. Пример лога сервера

Функциональность сервера, по отношению к клиенту, расширена, так как позволяет производить загрузку и сохранение данных по проведенной работе, сохранять результаты работы и лог проведения (доступно и на клиенте), а также останавливать работу сервера для всех клиентов, без закрытия при этом самого приложения-сервера.

Как на клиенте, так и на сервере доступен пункт меню View (Вид) [4].

1.4.3 Описание структуры хранения данных на сервере

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

Системой предусмотрены следующие подкаталоги:

· TestOfFiles - предназначен для хранения используемых файлов компиляторов;

· Teams - содержит информацию по участникам;

· Tasks - содержит информацию по заданиям, которые предлагаются для решения.

Содержимое каталогов регулируется и настраивается учителем, и должно быть готово до запуска сервера.

1.4.4 Подготовка компиляторов

Каталог «TestOfFiles» обязательно должен содержать файл «index.txt», в котором требуется указать:

· полное название языка программирования;

· имя подкаталога, в котором расположены файлы компилятора;

· расширение файлов текста программ, характерное для этого языка программирования.

Эти характеристики указываются в том порядке, в котором они были перечислены выше, между собой они должны быть разделены знаком табуляции.

1.4.5 Подготовка списков участников

Информация по участникам хранится в файле «index.txt» расположенном в подкаталоге «Teams». Структура этого файла аналогична описанию компиляторов, и содержит следующую информацию:

· полное название участника;

· короткое (сокращенное) название, на английском языке;

· пароль участника на регистрацию в системе.

Эти характеристики указываются в порядке, в котором они были перечислены выше, между собой они должны быть разделены знаком табуляции. Описание каждого участника должно начинаться с новой строки.

К короткому названию участника также предъявляются следующие требования:

· оно не должно содержать символов пробела, апострофов и кавычек;

· не должно содержать символов: `\', '/', ':', «*', '?', «<', «>', «|', `;', `, ';

· не рекомендуется использовать буквы национальных алфавитов и имена длиннее восьми символов, так как это может вызвать затруднения в использовании некоторых старых компиляторов.

За исключением файла «index.txt», каталог «Teams» не должен содержать больше никаких файлов или каталогов.

Пример описания командиз файла «index.txt» расположенного в подкаталоге «Teams», приведен в соответствии с рисунком 1.6.

Рисунок 1.6. Описание команд в файле «index.txt»

1.4.6 Подготовка заданий и тестов

По аналогии со всеми ранее описанными данными, списки заданий хранятся в файле «index.txt» расположенном в подкаталоге «Tasks». Структура этого файла аналогична описанию компиляторов и команд, но содержит следующую информацию:

· полное название задачи;

· короткое название, набранное в латинице;

· объем оперативной памяти компьютера разрешенной для использования в этой задаче;

· максимальное время, которое дается программе для прогона одного тестового задания.

Эти характеристики указываются в порядке, в котором они были перечислены выше, между собой они должны быть разделены знаком табуляции. Описание каждого задания должно начинаться с новой строки.

Полное название задачи, должно соответствовать, тому, которое дается для этой задачи в документе (например, «Задание на олимпиаду») выдаваемом участникам в печатном или электронном виде, содержащем описание и условие каждой задачи.

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

Пример оформления описания задачи, по правилам ACM:

Задача №1.

Имя входного файла: z1.in.

Имя выходного файла: z1.out.

Ограничение времени: 10 сек на каждый тест.

Ограничение памяти: 16 Мб.

Условие задачи:

Формат входных данных:

Формат выходных данных:

К короткому названию задания предъявляются те же требования, что и требования к коротким именам участников:

· оно не должно содержать символов пробела, апострофов и кавычек;

· не должно содержать символов: `\', '/', ':', «*', '?', «<', «>', «|', ';', ',';

· не рекомендуется использовать буквы национальных алфавитов и имена длиннее восьми символов, так как это может вызвать затруднения в использовании некоторых компиляторов.

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

Как видно из примера оформления задания для Задачи №1, в файле «index» должны быть указаны сведения об этой задаче:

· полное наименование - «Задача №1»;

· короткое наименование - «z1».

Расширения у входного и выходного файла также фиксированные:

· входной файл всегда имеет расширение «.in»;

· выходной файл всегда имеет расширение «.out».

Информация об ограничениях на время решения одного теста задается в секундах, а ограничениях по памяти в мегабайтах.

Список заданий, из файла «index.txt» расположенного в подкаталоге «Tasks» оформляется в соответствии с рисунком 1.7.

Рисунок 1.7. Список заданий из файла «index.txt»

В том же каталоге «Tasks», должны находиться подкаталоги с именами соответствующими коротким именам заданий и содержащих тесты для проверки [4].

Формат файлов тестовых наборов:

Для удобства рекомендуется называть фалы тестов, начиная с короткого названия задачи и дописывать в имя цифрами номер теста.

Следует помнить о том, что для решения тесты предлагаются в алфавитном порядке и сложность тестов возрастает от первого к последнему.

1.5 Краткая характеристика языка программирования «Turbo-Pascal»

Система программирования Turbo-Pascal, разработанная американской корпорацией Borland, остается одной из самых популярных систем программирования в мире.

Система программирования Turbo-Pascal представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Pascal и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ.

Особенностью Turbo-Pascal является то, что он разработан с учетом принципов структурного программирования. Для структурированных программ характерны легкость отладки и корректировки, низкая частота ошибок. Turbo-Pascal обладает полным набором структурированных типов данных, таких как простые переменные, массивы, файлы, множества, записи, ссылочные переменные.

Язык Turbo-Pascal состоит из примерно 80 зарезервированных слов и специальных символов. Алфавит языка составляют буквы латинского алфавита, цифры, а так же специальные символы, такие как +, -, _. Зарезервированные слова в языке Turbo-Pascal могут употребляться только по своему прямому назначению, то есть в качестве имен типов данных, названий операций и т.д. [5].

1.6 Структурированный тип данных «Строки»

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.