Часто задаваемые вопросы (FAQ)Вопрос:Что представляет собой система, для чего она предназначена?Ответ:Смотрите здесьВопрос:Как отправлять задачи в систему?Ответ:Ваша програма должна считывать входные данные со стандартного потока ввода и выводить результаты в стандартный поток вывода.Не исключено, что в условиях некоторых задач, взятых с прошедших олимпиад, говорится о входных и выходных файлах. Тем не менее, ваша программа должна работать только со стандартными потоками! Пример программы на Pascal для решения задачи №1 "A+B":
Обратите внимание:
Вопрос:В процессе отладки входные данные часто удобнее считывать из файла. Как это делать?Ответ:На Pascal в начале программы достаточно написать строчку:
Аналогично, на C++ в начале функции main достаточно написать:
Вопрос:Что означает сообщение "Security Violation (Нарушение безопасности)"?Ответ:Проверяющая система отслеживает вызовы из вашей программы функций операционной системы, и в случае вызова запрещенной функции (работа с файлами, сокетами и т.п.) прерывает выполнение программы и выдаёт соответствующее сообщение.В текущей версии системы иногда возможна выдача такого сообщения, когда программа аварийно завершается (и на самом деле должно быть "Runtime error (Ошибка выполнения)". Вопрос:Что означает сообщение "Presentation Error (Ошибка представления)"?Ответ:Это означает, что формат вывода вашей программы не соответствует указанному в условию задачи - например, программы выдала строку вместо числа или два числа вместо одного и т.п. Вообще, что считать неправильным ответом, а что - ошибкой представления, вопрос неоднозначный и для каждой задачи определяется автором её проверящей программы. Обратите внимание! Попадаются задачи, где проверяющая программа особо строго контролирует формат вывода и выдаёт ошибку представления даже за лишний пробел в конце вывода или за лишнюю пустую строку, поэтому желательно привыкать сразу писать код, не выводящий ничего лишнего.Вопрос:Что делать, если в программе большая глубина рекурсивных вызовов, и программа аварийно завершается из-за переполнения стека?Ответ:По умолчанию размер стека программы равен 1 мегабайт. Для его увеличения в Pascal нужно поставить, например, такую строчку:{$M 16777216} Тем самым размер стека будет равен 16 мегабайт. Для Borland C++ размер стека уже настроен в системе и составляет 64 мегабайта. Для Visual C++ можно вставить в программу директиву #pragma comment(linker, "/STACK:16777216") - в примере размер стека устанавливается равным 16 мегабайт. Для Java размер стека уже установлен равным 64 мегабайта. Вопрос:Как правильно считывать входные данные, если неизвестно заранее их количество?Ответ:
Вопрос:Как на своем компьютере оценить, сколько времени и памяти занимает программа?Ответ:Воспользуйтесь соответствующей утилитой local_testing. При компиляции своих решений при этом используйте статическую линковку (например, в среде Borland C++ Builder зайдите в "Project - Options - Linker" и снимите галочку "Use dynamic RTL"). Либо можно воспользоваться программой Тестер. Или ещё один вариант - программа Run.Вопрос:Как писать и отправлять задачи на Java?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Free Basic?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Perl?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Lua?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Visual Basic.NET?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Visual C#?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Python?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на ассемблере?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на JScript?Ответ:Смотрите здесьВопрос:Как писать и отправлять задачи на Octave?Ответ:Смотрите здесьВопрос:Почему у меня недоступны подсказки к задачам или нет доступа к учебникам?Ответ:Доступ к подсказкам (например, просмотр теста, на котором решение получает "Неверный ответ") зависит от тем, к которым принадлежит задача. Например, для задач с турниров и олимпиад подсказки, как правило, выключены.Доступ к большинству учебников доступен только студентам, имеющим учетную запись в домене кафедры АВТ ВоГУ. Чтобы подтвердить наличие учетной записи в домене, нужно сделать следующее: 1). Войти в проверяющую систему с текущим логином и паролем, щелкнуть по ссылке - своему имени, перейти в "Редактировать профиль" и поменять логин, чтобы он совпадал с именем входа в домен. 2). Заново войти в систему, введя при этом доменный пароль. Если возникает ошибка входа, перезапустить браузер. Если у вас ещё нет учетной записи в домене, обращайтесь к Андрианову И.А. или Ржеуцкой С.Ю. Вопрос:Как отправлять задачи на SQL?Ответ:Язык SQL не является универсальным языком, он используется только для решения задач раздела Учебные курсы / Базы данных. При отправке SQL-запросов следует придерживаться следующих правил:1. Точка с запятой в конце предложения не ставится 2. Всем вычисляемым полям необходимо явно давать имена длиной до 30 символов, например, так:
Вопрос:Как отправлять задачи на Prolog?Ответ:Язык Пролог используется в основном для решения задач раздела Учебные курсы / Математическая логика и теория алгоритмов. Но на нём можно решать и другие задачи.При запуске вашей программы будет запускаться правило с именем main. Командная строка на сервере: swipl.exe --quiet=true --stack_limit=64M -O -t main name.pl
Пример решения задачи A+B:
Правило readNumber позволяет читать входные числа, разделённые как переводом строки, так и пробелом, в том числе отрицательные. Проверка условий на Прологе может выполняться стрелочным оператором ->. Пример части программы, определяющей, которое из двух чисел больше:
В некоторых задачах по курсу "Мат. логика и теория алгоритмов" требуется читать входные строки и сразу конвертировать их в термы. Для этого можно использовать следующее правило:
Вопрос:Как правильно оформить условие новой задачи?Ответ:Условие задачи оформляется по специальному HTML-шаблону.Нигде в шаблоне не должно присутствовать название задачи! HTML-шаблон условия задачи выглядит так:
Если вы не нашли ответа на свой вопрос, пишите на avt@vstu.edu.ru или igand@mail.ru. | ||||||||||||||||||||||||||||||||||||||||||
|