Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Структура задачи

Читайте также:
  1. D) РЕКОНСТРУКЦИЯ И ИНТЕГРАЦИЯ КАК ЗАДАЧИ ГЕРМЕНЕВТИКИ
  2. I. ЦЕЛИ И ЗАДАЧИ
  3. I. Цель и задачи
  4. I. Цель и задачи Комплекса
  5. II Цель, задачи, функции и принципы портфолио.
  6. II. Структура портфолио учителя.
  7. II. Цели и задачи

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

Генератор тестов, эталонное решение и программа проверки включаются в задачу в виде исходных текстов на одном из языков программирования, поддерживаемых системой тестирования. В настоящее время это ANSI C, C++ и Go. Язык, на котором написана та или иная программа, определяется расширением файла: «c» для ANSI C, «cpp» для C++ и «go» для языка Go.

Условие задачи находится в файле «text.html». Оно представлено в формате HTML и должно содержать три раздела: текст задачи, формат входных данных и формат результата выполнения программы. При этом название задачи в условии не указывается, а находится в отдельном файле «caption.txt».

Каждая задача должна сопровождаться хотя бы одним примером входных и выходных данных. Примеры располагаются в подкаталоге «samples» в виде файлов «01», «01.a», «02», «02.a» и т.д. Каждая пара файлов «xx», «xx. a» содержит входные данные и правильный результат работы решения задачи, соответственно.

Задача должна содержать либо набор тестов, либо генератор тестов, либо и то, и другое одновременно.

Наборы тестов и правильных ответов располагаются в подкаталоге «tests» в виде файлов «01», «01.a», «02», «02.a» и т.д. При этом правильные ответы могут отсутствовать, если задача включает эталонное решение.

Генератор тестов представляет собой исходный код программы, порождающей набор тестов и правильных ответов в виде файлов «01», «01.a», «02», «02.a» и т.д. Генератор располагается в файле с именем «generator. xxx», где расширение «xxx» указывает язык программирования, на котором он написан. Генератор может не порождать правильные ответы, если задача включает эталонное решение.

Исходный код эталонного решения располагается в файле с именем «etalon. xxx», где расширение «xxx» указывает язык программирования, на котором оно написано. Эталонное решение необязательно, если набор тестов в подкаталоге «tests» и набор тестов, порождаемый генератором, содержат правильные ответы.

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

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

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

Стратегия сравнения лексем включается, если задача содержит пустой файл с именем «SCAN». Сравнение осуществляется в два этапа. Сначала файл результата выполнения решения и файл с правильным ответом разбиваются на фрагменты, разделённые произвольным количеством пробельных символов (пробелы, символы табуляции и перевода строки). Затем, если количество фрагментов в обоих файлах совпадает, осуществляется побитовое сравнение соответствующих фрагментов из обоих файлов.

Стратегия сравнения целых чисел является развитием стратегии сравнения лексем. Фрагменты, на которые разбиваются результат выполнения решения и правильный ответ, дополнительно переводятся в целые числа произвольной разрядности. В случае успешного перевода происходит сравнение полученных целых чисел. Стратегия включается, если задача содержит файл с именем «INTEGER», в котором в текстовом виде записано основание системы счисления от 2 до 36.

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

Если встроенные стратегии не подходят для проверки правильности результата выполнения решения, то задача должна содержать отдельную программу проверки. Исходный код программы проверки располагается в файле с именем «checker. xxx», где расширение «xxx» указывает язык программирования, на котором она написана. Программа проверки должна считывать результат выполнения решения и правильный ответ из файлов «output» и «answer», выполнять сравнение и возвращать 0 в случае, если результат удовлетворяет правильному ответу, и 1 в противном случае.


Дата добавления: 2015-08-21; просмотров: 68 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Архитектура системы| Взаимодействие Web-сервера и сервера тестирования

mybiblioteka.su - 2015-2024 год. (0.006 сек.)