Журнал «Современная Наука»

Russian (CIS)English (United Kingdom)
МОСКВА +7(495)-142-86-81

Использование транспайлера Python → 11l → C++ при решении олимпиадных задач по программированию

Третьяк Александр Викторович  (аспирант, Дальневосточный федеральный университет, г. Владивосток)

Верещагина Елена Александровна  (к.т.н., доцент, Дальневосточный федеральный университет, г. Владивосток)

Добржинский Юрий Вячеславович  (к.т.н., с.н.с., Дальневосточный федеральный университет, г. Владивосток)

Захарченко Даниил Владимирович  (аспирант, Дальневосточный федеральный университет, г. Владивосток)

В настоящее время всё большую популярность приобретает язык программирования Python, в том числе при решении олимпиадных задач и задач по спортивному программированию. Но, так как Python является сценарным языком с динамической типизацией, то при решении некоторых задач его быстродействия недостаточно и программы, написанные на Python, не проходят все тесты в допустимое время. Для решения этой проблемы предлагается использовать транспайлер Python → 11l→ C++, который транслирует некоторое подмножество языка программирования Python в C++, что существенно ускоряет исполнение кода на Python (зачастую более чем на порядок). Цель работы — показать особенности использования данного транспайлера, которые необходимо учитывать при написании программного кода на языке Python, чтобы он корректно скомпилировался данным транспайлером. В результате предложенный способ ускорения программного кода на языке Python может использоваться как решение проблемы недостаточного быстродействия оригинальной и альтернативных реализаций Python, вследствие чего нет необходимости переписывать решение задачи на более высокопроизводительных, но менее удобных языках программирования (например, С++). Элементом новизны является то, что предлагаемый транспайлер на практике не уступает по производительности языку С++ (который не так удобен, как Python с точки зрения синтаксиса, в том числе для решения олимпиадных задач), в отличие от других подобных средств ускорения и/или исполнения кода на Python, которые в некоторых случаях недостаточно производительны, таких как Cython, PyPy, Nuitka и Shed Skin. Практическая значимость. Данный транспайлер может использоваться при решении олимпиадных задач и задач по спортивному программированию.

Ключевые слова:транспайлер, олимпиадное программирование, спортивное программирование, языки программирования

 

Читать полный текст статьи …



Ссылка для цитирования:
Третьяк А. В., Верещагина Е. А., Добржинский Ю. В., Захарченко Д. В. Использование транспайлера Python → 11l → C++ при решении олимпиадных задач по программированию // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и Технические Науки. -2021. -№07. -С. 115-122 DOI 10.37882/2223-2966.2021.07.32
ПРАВОВАЯ ИНФОРМАЦИЯ:
Перепечатка материалов допускается только в некоммерческих целях со ссылкой на оригинал публикации. Охраняется законами РФ. Любые нарушения закона преследуются в судебном порядке.
© ООО "Научные технологии"