<< Вернуться на главную Ядерный реактор(2013г)ЯДЕРНЫЙ РЕАКТОРНачинаем ежегодный конкурс программистов.
В этом году условия конкурса такие: Традиционно,в нашем конкурсе будут 2-е номинации. Отдельно 8-9 классы и отдельно 10-11.
Все желающие принять участие в конкурсе
регистрируются
на сайте, скачивают предложенное ПО и работают, работают... Кстати, на очном этапе условия будут изменены и за 4-ре часа необходимо будет переделать свою программу для получения большей эффективности (А то, вдруг, программу вы не сами писали?).
Игрушку с ручным управлением для вникания в проблему можно скачать
здесь Итак, приступаем собственно к заданию. Для разных облочек программирования (C++BUIlDER, DELPHI2007, LAZARUS) мы подготовили проекты, в которых уже написана программа пользователя, Правда - простейшая, постоянное положение = 4 и все! Это "затравка" для вашей программы. В проекте специально выделена подпрограмма пользователя, которую вам и необходимо модифицировать. Остальные части проекта трогать нежелательно, во избежание потери работоспособности.
Для управления применяется подпрограмма M_UPR(N,ST); N - Номер Блока (от 1 до 8) Учтите! Блоки обладают приличной инерцией. Вот если стержни мгновенно вытащить, то блоки наверняка взорвутся! А если потихоньку, ТО - МОЖНО :-) И еще учтите, что стержни не могут двигаться мгновенно. Если , например, у вас положение стержня "0", и вы ставите их в положение "5", то это значит, что на первом ходу положение станет 1, вна втором 2 И.Т.Д Соответственно и быстро остановить блок не получится. Нужно управлять аккуратно. Кстсти разогрев одного блока приводит и к нагреванию соседних. Так что и это нужно учитывать. Внимание! {Если параметры будут ошибочными, то последствия могут быть непредсказуемы!) КОНТРОЛЬосновные параметры реактора можно узнать из глобальной переменной. Для LAZARUSA и DELPHI **************************************************************** T_BLOK=RECORD T:SINGLE;// Температура STER:BYTE;// положение стержня END; T_STRUK=PACKED RECORD KOL_HOD:INTEGER;// количество оставшихся ходов SCORE: SINGLE; // достижения MR:PACKED ARRAY[1..8]OF T_BLOK;// Массив энергоблоков END; для С++BUILDERA **************************************************************** // ОПИСАНИЕ БЛОКА struct T_BLOK { public: float T; Byte STER; } ; struct T_STRUK { public: int KOL_HOD;// количество оставшихся ходов float SCORE;// достижения T_BLOK MR[8];// Массив энергоблоков } ; // ВНИМАНИЕ !!! ввиду известных особенностй // реализации массивов на языке "С", нумерация в массивах "сдвинута" // Так например параметры первого энергоблока лежат в 0-м элементе массива.
Например:
А здесь выложены готовые проекты, которые вам нужно будет подправить
для достижения наибольшего результата. Учтите, что работать
Можно на Си или Паскале
Проект для Lazarus (Предпочитается) На очном этапе необходимо будет адаптировать свою программу под слегка измененные условия. Обещаем, что на очном этапе ожидаются сюрпризы! Но, я думаю, что для тех, кто напишет программу на заочном этапе и разберется во всем сам, ничего страшного не будет :-). Очный этап состоится 08.01.13 в 11:00 (чтобы все выспавшиеся были :-) ) По результатам очного этапа будут вручены грамоты и призы.
По всем вопросам обращайтесь к администрации "Звездного Мира" через систему или по почте |