Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Сценарий работы программы и формат ввода-вывода




Положение

О проведении открытого областного командного турнира

По программированию среди обучающихся

 

Общие положения

1.1. Положение о проведении открытого областного командного турнира по программированию среди обучающихся(далее – Турнир) определяет цели, задачи, сроки, порядок и условия проведения, а также категории участников Турнира.

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

Задачи Турнира:

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

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

-пропаганда компьютерного программирования как средства интеллектуального досуга и развития обучающихся.

1.3. Организатором Турнира является департамент образования Ярославской области.

1.4. Проведение Турнира осуществляет государственное образовательное автономное учреждение Ярославской области Центр детско-юношеского технического творчества (далее – ГОАУ ЯО ЦДЮТТ).

 

Руководство Турниром

2.1. Общее руководство Турниром осуществляет организационный комитет Турнира (далее – Оргкомитет), который образуется на основании приказа департамента образования Ярославской области.

2.2. Оргкомитет:

− обеспечивает организационное, информационное и консультативное сопровождение Турнира;

− определяет состав и порядок работы жюри Турнира;

− по результатам работы жюри подводит итоги Турнира.

2.3. Жюри:

− проводит экспертную оценку заданий для участников Турнира;

− ведет протокол Турнира;

− определяет победителей и призёров Турнира.

 

Участники Турнира

3.1. К участию в Турнире приглашаются команды обучающихся учреждений дополнительного образования детей и общеобразовательных учреждений (далее – Образовательное учреждение) Ярославской области, а также приглашенные команды обучающихся Образовательных учреждений других регионов Российской Федерации.

3.2 Количественный состав команды: 3 человека.

3.3. Возрастные категории участников:

3.3.1. Младшая возрастная категория. К младшей возрастной категории относятся команды, все участники которых являются обучающимися, не старше 9-го класса общеобразовательных учреждений;

3.3.2. Старшая возрастная категория. К старшей возрастной категории относятся команды, среди участников которых есть хотя бы один обучающийся 10–11 класса общеобразовательных учреждений.

3.4. Участников сопровождает руководитель, назначенный приказом по Образовательному учреждению, который несёт ответственность за жизнь и здоровье участников в пути следования к месту проведения Турнира и обратно, а также во время проведения Турнира.

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

3.6. Образовательное учреждение представляет заявку на участие в Турнире по форме согласно приложению настоящего Положения.

 

Сроки, порядок и условия проведения Турнира

4.1. Турнир проводится 14 апреля 2013 года в городе Ярославле в два тура:

− первый тур – решение задач;

− второй тур – турнир программ, реализующих алгоритм заданных игр (домашнее задание).

4.2. Правила проведения, технические условия проведения первого и второго туров и правила игр второго тура (домашнего задания) Турнира высылаются дополнительно письмом ГОАУ ЯО ЦДЮТТ в Образовательные учреждения Ярославской области и других регионов Российской Федерации не позднее 21 февраля 2013 года, а также будут доступны на сайте ГОАУ ЯО ЦДЮТТ – http://www.yarcttu.narod.ru.

4.3. Приём заявок для участия в Турнире проводится до 05 апреля 2013 года по адресу: 150000, г. Ярославль, ул. Республиканская, дом 51, ГОАУ ЯО ЦДЮТТ, методический отдел, кабинет 13 или по электронному адресу: [email protected].

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

4.4. Турнир проводится на базе ГОАУ ЯО ЦДЮТТ и на базе федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Ярославский государственный педагогический университет имени К.Д. Ушинского», с которым заключается договор о возмещении коммунальных платежей.

4.5. Регистрация участников Турнира проводится 14 апреля 2013 г. с 9.30 до 10.30 по адресу: г. Ярославль, ул. Республиканская, 51, ГОАУ ЯО ЦДЮТТ, кабинет № 8, компьютерный класс.

4.6. Справки по телефонам: (4852) 30-42-76, 32-97-10, по электронному адресу: [email protected] у Желтовой Татьяны Владимировны, методиста организационно-методического отдела ГОАУ ЯО ЦДЮТТ; у Маровой Татьяны Сергеевны, заведующей организационно-методическим отделом ГОАУ ЯО ЦДЮТТ, у Носка Сергея Ивановича, педагога дополнительного образования объединения «Программирование» ГОАУ ЯО ЦДЮТТ, электронный адрес: [email protected].

 

Подведение итогов и награждение победителей Турнира

 

5.1. Итоги Турнира оформляются протоколом Оргкомитета и утверждаются приказом департамента образования Ярославской области.

5.2. Все участники Турнира получают свидетельство участника, подписанное директором ГОАУ ЯО ЦДЮТТ.

5.3. Итоги Турнира подводятся отдельно по двум возрастным категориям, а также проводится общий зачёт для Образовательных учреждений.

5.4. Победители (1-е место) и призёры (2-е и 3-е место) Турнира в каждой возрастной категории награждаются дипломами департамента образования Ярославской области и призами.

5.5. Образовательные учреждения – победители (1-е место) и призёры (2-е и 3-е место) Турнира определяются по наибольшей общей сумме баллов, набранных командами-участницами Турнира от каждого Образовательного учреждения.

5.6. Образовательные учреждения – победители (1-е место) и учреждения – призёры (2-е и 3-е место) Турнира награждаются дипломами департамента образования Ярославской области и призами.

5.7. Педагогические работники, подготовившие победителей и призёров Турнира, награждаются дипломами департамента образования Ярославской области.

Финансирование Турнира

 

6.1. Финансирование организационных расходов по подготовке и проведению Турнира осуществляется за счёт средств областного бюджета, предусмотренных ГОАУ ЯО ЦДЮТТ.

6.2. Расходы на проезд и питание участников и руководителей несёт командирующая сторона.

 

 

Приложение к Положению

Заявка

на участие в открытом областном командном турнире по программированию среди обучающихся

 

Образовательное учреждение: ____________________________________________________________________________

Адрес: ________________________________________________________________________________________________

 

№ п/п Фамилия, имя, отчество участника (полностью) Дата рождения участника Образовательное учреждение, класс Название объединения (для УДОД) Фамилия, имя, отчество педагога, дата рождения (полностью), контактный телефон
           
           

 

Ответственный исполнитель заявки: фамилия, имя, отчество (полностью), контактный телефон, электронный адрес

 

Руководитель Образовательного учреждения, подпись, расшифровка подписи, печать

  Приложение 2 к Положению о проведении открытого областного командного турнира по программированию

Правила проведения открытого
областного командного турнира по программированию

Турнир состоит из двух туров: очного и заочного.

Для участия во втором (заочном) туре участниками команд заранее готовятся программы (домашние задания), реализующие алгоритм игр:

· для младшей возрастной группы – игра «Вирусная атака»,

· для старшей возрастной группы – игра «Улей».

Решения участников должны быть предоставлены для регистрации в турнире в день проведения перед началом очного тура в виде исходного кода (текста программы) на языках Pascal или C/C++. Носителем, на котором предоставляется программа, может быть: дискета 3,5’’, CD-диск или флэш-накопитель с подключением через USB-порт и не требующий установки дополнительных драйверов в системе Windows XP/7. Решения участников, предоставляемые для регистрации, проходят предварительное тестирование, во время которого проверяются на соответствие техническим требованиям и ограничениям (см. далее).

Во втором туре будет проведен чемпионат среди предоставленных участниками (и прошедших регистрацию) программ. Схема чемпионата определяется жюри в зависимости от количества участников и технических условий турнира.

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

Решением задачи является программа, составленная на языке Turbo Pascal, C/C++. Участникам предоставляются IBM PC совместимые компьютеры, по одному компьютеру на команду, операционная система MS Windows, файловый менеджер, оболочки, компиляторы, файлы справки (Turbo Pascal, Borland C++). Запрещается использовать какие-либо другие компиляторы и библиотеки вместо установленных организаторами.

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

Во время тура участники могут общаться только с членами своей команды и представителями жюри. За нарушение правил турнира команда может быть дисквалифицирована. Апелляция не проводится.

Подсчет баллов и распределение мест участников

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

По результатам соревнований определяются места команд отдельно для очного и заочного туров. Победителем турнира становится команда с минимальной суммой мест, причем место в очном туре берётся с коэффициентом 2, а в заочном – с коэффициентом 1.

Итоги подводятся отдельно для младшей и старшей возрастной группы, а также для команд учебных учреждений – по сумме мест занятых командами младших и старших школьников. В случае, когда учебное учреждение выставляет только команду старшеклассников, их младшей команде присваивается место с номером K+1, где K – количество участвующих в турнире команд из младших классов.

Технические условия и ограничения решений заданий очного и заочного этапов

Для участия во втором туре участникам необходимо предоставить исходный код программы на языке программирования Pascal, C или C++. Компиляция программ будет проводиться в соответствии с таблицей:

Язык Компилятор Версия Команда компиляции
Pascal Free Pascal 2.4.2 fpc -Mtp –dREFEREE filename.pas
C GCC 4.5.2 gcc –O2 –DREFEREE filename.c
C++ G++ 4.5.2 G++ –O2 –DREFEREE filename.cpp

Компилятор Free Pascal будет использоваться в режиме максимально возможной совместимости с синтаксисом Turbo Pascal 7.0 (флаг -Mtp).

При компиляции программ участников определяется макрос REFEREE, который можно использовать в директивах условной компиляции.

Тестирование будет проходить в операционной системе Linux с использованием специально разработанной тестирующей системы (оболочки).

Для ввода-вывода информации программы должны использовать стандартный входной и выходной файлы/потоки.

Вывод хода необходимо завершать переходом на новую строку и сбросом выходного буфера. В Pascal для этого необходимо использовать процедуру WriteLn, за которой должен следовать вызовпроцедуры Flush(output). В C++ при использовании библиотеки iostream вывод хода необходимо завершать манипулятором endl (простого вывода символа перевода строки недостаточно). В C++ и C при использовании библиотеки stdio.h в начале функции main() необходимо вызвать функцию setlinebuf(), как показано ниже:

int main ()

{

setlinebuf(stdout);

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

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

В программах-решениях и очного и заочного тура запрещается:

· выводить какую-либо дополнительную информацию, например приглашения к вводу данных (подсказки, вида «Ваш ход:», и т.п.), пояснения при выводе, отладочную информацию, дополнительные пустые строки и т.п.;

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

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

· использовать ассемблерный код;

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

· использовать особенности операционной системы, например прерывания и обращения к системным ячейкам памяти MS-DOS, и расширения Borland;

· использовать расширенную память и защищенный режим процессора;

· чтение и запись векторов прерываний;

· любое использование сетевых средств;

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

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

Расписание турнира

Дата проведения: 14 апреля 2013 года.

Место проведения турнира:

ГОАУ ЯО ЦДЮТТ, ул. Республиканская, 51;

ЯГПУ им К.Д.Ушинского, ул. Республиканская, 108.

Время   Место проведения
9.00 Начало регистрации программ второго тура (домашнего задания). ГОАУ ЯО ЦДЮТТ, компьютерный класс
9.30–10.30 Регистрация участников турнира. ГОАУ ЯО ЦДЮТТ
11.00-14.00 Первый тур ЯГПУ
14.00–15.00 Перерыв на обед  
15.00 Начало просмотра игр второго Тура ГОАУ ЯО ЦДЮТТ
по окончании второго тура, примерно 16.30–17.00 Подведение итогов, награждение победителей и призёров ГОАУ ЯО ЦДЮТТ

 

 

«Улей»

Правила игры

В игре участвуют двое. Игра происходит на поле состоящем из шестиугольных ячеек. Размеры поля: 10 рядов по 12 ячеек каждый (рис.1). В начале игры все ячейки пусты. Игроки выполняют ходы по очереди. Выполняя ход, игрок записывает в какую-либо свободную ячейку поля число, которое сообщает ему арбитр (назовем это число — K). После выполнения хода ячейка, в которую игрок записал число K, становится принадлежащей игроку. А для всех соседних с ней ячеек, выполняются следующие правила:

· если соседняя ячейка принадлежала игроку, выполняющему ход, и число записанное в ней меньше 20, то это число увеличивается на 1;

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

Соседними считаются клетки, имеющие общую сторону.

Число K, сообщаемое игроку для выполнения хода — это произвольное целое число в диапазоне от 1 до 20. Гарантируется, что для каждого игрока каждое из чисел указанного диапазона встретится в ходе игры ровно 3 раза.

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

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

Рисунок 1. Поле для игры «Улей». Показана нумерация рядов ячеек и ячеек внутри ряда.

Сценарий работы программы и формат ввода-вывода

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

Программа первого игрока перед выполнением первого хода читает число K, после чего выводит координаты ячейки, в которую игрок это число записывает. Координаты ячейки — это два целых числа, номер ряда (целое число от 1 до 10) и, через пробел, номер ячейки в ряду (целое число от 1 до 12). Нумерация рядов и ячеек в ряду показана на рис.1.

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

Выводит игрок всегда два числа (с начала строки через пробел): координаты ячейки, в которую выполняется ход.

После выполнения последнего хода, программы завершают свою работу.

Пример игровой позиции

В таблице дан пример ввода-вывода первого игрока в течение нескольких первых ходов игры. Ввод обозначен знаком >>, а вывод – знаком <<. Рисунок 2 иллюстрирует позицию, которая образовалась в результате выполнения первых ходов.

№ хода Ввод- вывод Ход Комментарий
  >>   Игрок прочитал 0, он должен выполнить первый ход
  >>   Игрок читает число K (K = 10)
  << 6 5 Игрок выставил число 10 в 5-ю ячейку 6-го ряда.
  >> 5 6 7 15 Соперник записал 5 в ячейку с координатами (6,7). Нашему игроку выпало следующее число — 15
  << 6 6 Ставит число 15 в ячейку с координатами (6, 6). Число 10 увеличивается до 11-ти, а клетка соперника с числом 5 переходит нашему игроку
  >> 20 5 5 18 Читает второй ответный ход соперника и число К = 18 для своего очередного хода. Соперник, записав число 20 в ячейку с координатами (5, 5), захватил клетки нашего игрока с числами 11 и 15.
  << 7 6 Игрок выставил число 18 в ячейку (7, 6), захватив при этом ячейку соперника с числом 15 и увеличив число 5 в своей ячейке (6, 7) на единицу.
      И т.д. до конца игры…

 

Рисунок 2. Позиция в игре после выполнения ходов из примера. Красные ячейки (с числами 6, 15, 18) принадлежат первому игроку, зеленые (с числами 11 и 20) — второму.
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...