Проекты

Программа на языке Python для создания трасс по классической скорости в спортивном скалолазании

Работа призёра открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10–11 классов

Направление работы: Программирование
Авторы работы: ГБОУ Школа имени Маяковского
Предметы: Информатика
Классы: 10 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» 2020 года

Актуальность

Для скалолазания, как и для любой другой спортивной дисциплины, высшая цель – попасть в олимпийские виды спорта. Федерация скалолазания России ведёт серьёзную работу в этом направлении с 2010 года. Главное препятствие для достижения этой цели – требование Олимпийского комитета предоставить доказательства тому, что будут созданы одинаковые условия для всех скалолазов мира при подготовке трасс к соревнованиям. Необходимо, чтобы никто из спортсменов не знал, как выглядит трасса до самого начала соревнований. На данный момент решение этой проблемы так и не смогли найти. Эта ситуация также стала причиной исключения дисциплины «классическая скорость» из официальных соревнований. Создание специальной программы должно решить эту проблему. Она сможет располагать зацепы на трассе случайным образом. Данную программу можно использовать в подготовке трасс к соревнованиям, тем самым исключить человеческий фактор. 

Цель

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

Задачи

  1. Создать программу для расстановки зацепов на трассе случайным образом.
  2. Провести тестирование работы программы.
  3. При необходимости скорректировать программу.

Оснащение и оборудование, использованное при создании работы

  • Сайт Repl.it

Описание

Главной причиной исключения «классической скорости» является отсутствие объективности. С трассой на классической скорости может без особого труда справиться даже начинающий скалолаз, так как сложность маршрутов в этой дисциплине всегда невысокая. Но победит тот, кто пролезет быстрее всех. А чтобы это сделать, нужно уметь анализировать маршрут и просчитывать все свои движения до старта. Наблюдая за тренировкой скалолазов в этой дисциплине, автор выяснил, что если спортсмен уже однажды пролезал какую-то трассу на скорость, то с каждым последующим разом он делает это быстрее и допускает меньше ошибок или неверных движений. Из этого можно сделать вывод, что для честности в этой дисциплине нужно создать одинаковые условия для всех участников соревнований. В проекте предлагается использовать программу для составления трасс на соревнованиях, чтобы исключить человеческий фактор и вероятность нечестной работы подготовителя трасс. Для решения обозначенной проблемы мною была написана программа на языке Python.

Принцип её работы заключается в том, что она подставляет случайное значение из списка, где каждое значение соответствует определённому виду зацепа, в случайные ячейки, которые обозначают отверстия в стене. На входе программа получает три значения, которые вводит пользователь. Первое значение – количество рядов отверстий для накрутки зацепов на трассе. Второе значение – количество зацепов в одном ряду (регулирование уровня сложности трассы). Третье значение – количество видов зацепов. Если пользователь хочет составить трассу из 5-ти видов зацепов, то ему нужно ввести число 5, а также решить, какой вид зацепов будет соответствовать какому-либо числу от 1 до 5. Далее программа выбирает места, в которых будут располагаться зацепы, для этого в каждом втором ряду случайным образом отбирается 3 натуральных числа, не равных между собой и принадлежащих интервалу от 1 до введённого пользователем значения количества зацепов в одном ряду. Затем в каждое выбранное место случайным образом подставляется значение из количества видов зацепов. В результате работы программа выдаёт результат, где каждое незадействованное отверстие в стене обозначается нулём, а каждый зацеп обозначается определённой цифрой, которая соответствует его виду. Результат графически понятен и по нему можно сделать трассу без присутствия человеческого фактора. Программа должна быть защищена от взломов и внешнего воздействия на неё, а подготовители трасс изолированы до самого начала соревнований. Таким образом, можно будет достичь максимальной честности в подготовке трасс.

Результаты работы/выводы

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

Перспективы использования результатов работы

«Надеюсь, в будущем эта программа сможет использовать нейронные сети. Тогда её можно будет применять для создания трасс по дисциплинам «трудность» и «боулдеринг». Создание трасс по этим видам скалолазания – по-настоящему творческий процесс, для которого необходимы пространственное воображение, творческое мышление, фантазия»

Награды/достижения

«Юные техники и изобретатели» – призёр.