Программирование

Академические соревнования по информатике и программированию в рамках олимпиады "Шаг в будущее" проводятся на протяжении уже пяти лет.

Уровень Олимпиады - 2.

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

Первый этап (отборочный) проводится в заочной форме на сайте https://olymp.bmstu.ru/ (онлайн).

Расписание проведения академических соревнования отборочного этапа Олимпиады школьников "Шаг в будущее" в 2020 году:

Предмет 1 Волна 2 Волна 3 Волна
Программирование 23-26 октября 2020 года 20-23 ноября 2020 года 18-21 декабря 2020 года

Второй этап (заключительный) проводится в МГТУ им. Н.Э. Баумана и на региональных площадках.

Победителям и призерам олимпиады, обучающимся в 10-11 классах при подтверждении результатами не ниже 75 баллов ЕГЭ по профильному предмету олимпиады, будет предоставлено одно из особых прав: право приема без вступительных испытаний при поступлении на образовательные программы, определяемые Ученым советом МГТУ им. Н.Э. Баумана ежегодно, или право участия в конкурсе с максимальным результатом в 100 баллов по общеобразовательному вступительному испытанию, соответствующему профилю олимпиады.

 

Некоторые ссылки, литература и советы участникам по подготовке:

Статья 7 интернет-ресурсов и книг для подготовки к олимпиадам по информатике

AlgoList - ресурс, содержащий хорошую подборку алгоритмов, знание которых может пригодиться на олимпиаде: http://algolist.ru/

Советы от организаторов московской олимпиады по программированию прошлых лет, которые могут пригодиться и Вам: https://olympiads.ru/zaoch/2006/example.shtml

Задания по программированию

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

При проверке решений участников жюри будет использовать следующие компиляторы (интерпретаторы):

  1. Язык Си - gcc (GNU C) 7.4.0
  2. Язык Си++ - g++ (GNU C++) 7.4.0
  3. Язык Паскаль - fpc (Free Pascal) 3.0.4
  4. Python 3.7.

Ввод/вывод программы должен осуществляться с помощью стандартных потоков ввода и вывода.

Завершаться программа должна с кодом возврата 0.

О системе проверки задач

Использующаяся на сайте olymp.bmstu.ru система проведения олимпиад по программированию активно развивается. На текущий момент она обеспечивает поддержку вышеуказанных компиляторов и следующие возможности:

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

Решения принимаются в виде файлов с исходным кодом на разрешённых языках программирования. Допустимые расширения файлов : .c, .cpp, .pas, .py.

Вниманию участников, основным языком программирования которых является PascalABC

Используемый в системе компилятор Free Pascal не обладает совместимостью с возможностями языка PascalABC, подробнее можно прочитать здесь

Решение задач на Pascal

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

Решение задач на C/C++

Свободные компиляторы gcc/g++ могут не быть совместимы в полной мере с теми, к которым вы привыкли. Например, не все программы, написанные в Microsoft Visual Studio, пройдут компиляцию. Поэтому пользователям ОС Windows для подготовки к олимпиаде рекомендуем использовать свободную среду разработки Code::Blocks в сочетании с компилятором MinGW, который является близким аналогом gcc.

Решение задач на Python

Проверка решений, написанных на языке Python, осуществляется интерпретатором версии 3.7. Использование модулей (библиотек), требующих отдельной установки (например, numpy), не разрешается, подобные программы проверены не будут.