Если говорить о решении олимпиадных задач, то нельзя не

advertisement
МОУО МО Красноуфиский округ
МОУ Тавринская СОШ
Как работать с проверяющей
системой?
(Готовимся к олимпиаде)
Автор: учитель информатики
Ярцев В. А.
Тавра
2010
2
Если говорить о решении олимпиадных задач, то нельзя не
отметить такой факт, что часто программы выдают правильные
результаты при внесении исходных данных во входные файлы
вручную, и не проходят все тесты при автоматизированной
проверке. Поэтому при подготовке к олимпиадам имеет смысл
поработать именно с проверяющими системами прошлых лет,
которые после проведения олимпиад бывают доступными для
скачивания. Как показывает практика, те, кто впервые
сталкиваются с использованием проверяющей системы,
испытывают определенные трудности. Приведу несколько
советов при использовании проверяющей системы, с помощью
которой проверялись решения задач муниципального тура
Всероссийской олимпиады по информатике 2009-2010 учебного
года «Юные интеллектуалы Среднего Урала». После скачивания
и распаковки папка Проверяющая система содержит объекты,
представленные на рисунке 1.
Рисунок 1
Задача: проверить через систему, насколько верно решена
задача 8.1 (фестиваль «Юные интеллектуалы Среднего Урала»,
Муниципальный
этап
Всероссийской
олимпиады
по
информатике, 2009 – 2010 учебный год, 8 класс, задача №1).
3
8.1 «Победитель в боксе». Встреча двух боксеров состоит
ровно из пяти раундов. В каждом раунде обязательно кто-то
побеждает – первый или второй боксер. Победителем
встречи назначается тот из боксеров, кто выиграл больше
раундов. Напишите программу, которая по итогам
отдельных раундов будет определять победителя встречи.
Формат ввода: В единственной строке через пробел
записано пять чисел 1 или 2 – номера победителей каждого
из раундов.
Формат вывода: На выходе должно содержаться
единственное натуральное число – номер победителя
встречи.
Пример
input.txt
output.txt
11212
1
Напомню, что решение должно быть оформлено с вводом
данных из файла и выводом результатов в файл. Текст
программы-решения:
DIM A(5)
OPEN “input.txt” FOR INPUT AS #1
FOR I=1 TO 5
INPUT #1, A(I)
NEXT I
CLOSE #1
M=0 : N=0
FOR I=1 TO 5
IF A(I)=1 THEN M=M+1
IF A(I)=2 THEN N=N+1
NEXT I
IF M>N THEN K=1 ELSE K=2
OPEN “output.txt” FOR OUTPUT AS#2
PRINT #2, K
CLOSE #2
END
Дальше предполагается следующий алгоритм работы:
4
1. В среде QBasic набрать текст программы, сохранить
“8-1-2009.bas” (рис. 2).
Рисунок 2
2. Теперь файл нужно скомпилировать, то есть создать
исполняемый
.exe
файл.
Для
этого
можно
воспользоваться компилятором PowerBasic Compiler
(http:// ). Помещаем файл PB.exe в ту же папку, где
сохранена программа с решением задачи (рис.3)
Рисунок 3
5
3.
запускаем файл PB (рис. 4). Все команды нужно
выполнять с помощью клавиатуры.
Рисунок 4
4. Нажимаем F3 (рис. 5)
Рисунок 5
6
5. Выбираем нужный файл из списка (рис. 6) .
Рисунок 6
Текст программы должен появиться в окне компилятора
(рис. 7).
Рисунок 7
7
Если этого не произошло, нужно выяснить причину,
проанализировать сообщение об ошибке, устранить, открыть
файл заново.
6. Для компиляции необходимо выполнить следующие
настройки: в меню выбрать пункт,
Меню, Compile, Destination, EXE file (рис8).
Рисунок 8
7. В том же меню выполнить команду Compile (рис. 9).
Рисунок 9
8
Должно появиться окно с сообщением об успешной
компиляции (рис. 10)
Рисунок 10
В папке с файлом 8-1-2009.bas должен появиться файл 8-12009.exe (рис. 11).
Рисунок 11
8. Теперь начинаем
проверяющей системой.
работать
9
непосредственно
с
Скомпилированный файл 8-1-2009.exe нужно поместить в
папку Проверяющая система/8/1-boxing (рис. 12).
Рисунок 12
9. Затем запустить какой-нибудь файловый менеджер (Total
Commander или Far), открыть в нем каталог 1-boxing (рис.
13)
Рисунок 13
10
10. В командной строке набрать команду
!run.bat 8-1-2009.exe, запустить (рис. 14).
Рисунок 14
.
11. Открывается окно с результатами прохождения тестов –
по каждому в отдельности, и в сумме (рис. 15).
Рисунок 15
11
12. Если по какому-то тесту результат отрицательный,
вместо баллов будет сообщение об ошибке. Тогда нужно
вернуться в среду программирования, найти ошибку,
устранить, повторить вышеуказанные действия. Для
тренировочной работы это важно, для того, чтобы знать в
чем заключается возможная ошибка: или входной файл не
читается программой, или выходной файл не сформирован,
лимит времени исчерпан и т. д.
12
Download