Сравнительный анализ языка питон и некоторых других языков программирования с точки зрения реализации алгоритмических идей в рамках олимпиадного программирования
статья по информатике и икт (9, 10, 11 класс) на тему

Панова Анна Павловна

Статья посвящена сравнительному анализу языков программирования, используемых на олимпиадах по информатике

Скачать:

ВложениеРазмер
Microsoft Office document icon Статья38.5 КБ

Предварительный просмотр:

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

Доклад посвящен сравнительному анализу языков программирования, используемых на олимпиадах. Олимпиады по информатике широко распространены и имеют достаточно долгую историю. Международная олимпиада школьников по информатике проводится с 1989 года. Эти олимпиады позволяют выявлять способности как в математике, так и в программировании, а также умение работать под стрессом в сжатых временных рамках. В России более долгую историю имеют олимпиады школьников по информатике.

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

Цель исследовательской работы - попытаться ответить на вопрос “Выбор какого языка программирования наиболее удачен для успешного участия в олимпиаде по информатике?”. Аспекты решения олимпиадных задач не рассматриваются, но некоторые соображения по этим вопросам будут приведены.

В школе на изучение программирования отводится не очень много часов. В зависимости от школы это от  10 до 36 часов на 9-10-11 класс. Основные языки программирования, которые изучаются в школе это: различные ветви языка Pascal, Basic, редко Delphi, очень редко С. Таким образом, получается очень большой перевес в сторону языков, структура которых не подходит для решения многих олимпиадных задач. По словам координатора интернет-проекта «Дистанционная подготовка по информатике» находящегося по адресу  http://informatics.mccme.ru Владимира Гуровица с  июня 2011 г. по февраль 2012 г. года было сдано 49952 решения различных задач по программированию. Распределение посылок по группам языков было такое:

Pascal (Delphi/FP)                  48,44%
C family (C/C++/C#/Java)      42,22%
Python (2/3)                               8,93%
другой язык                             0,41%


Более подробно по языкам:

C++                38,27%
Delphi            38%
Free Pascal   10,44%
Python 3         8,12%
C                    1,75%
Java                1,73%
Python 2         0,81%
C#                    0,47%
Ruby                0,24%
PHP                 0,09%
Perl                      0,04%
Haskell            0,04%

Исходя из собственного опыта и после исследования материалов сайтов http://informatics.mccme.ru , http://www.codeforces.ru и др., был сделан вывод, что необходимо сравнить по различным критериям 4 языка программирования: С++, Delphi, Free Pascal и  Python 3, чтобы выяснить, какой из них лучше подходит для олимпиадного программирования.

Каждый из вышеперечисленных языков программирования хорош для решения различных задач, у каждого из них есть свои плюсы и свои минусы. Для начала нужно определить основные подводные камни олимпиадного программирования. Условие олимпиадной задачи состоит из нескольких частей. Сначала написана «легенда» - условие задачи. Легенда может быть довольно длинной и на первый взгляд иметь довольно отдаленное отношение к задаче. Это — довольно важная часть задачи по информатике — умение по легенде составить модель задачи и придумать алгоритм ее решения. На серьезных олимпиадах перед легендой идут ограничения, в которые должно укладываться решение задачи — ограничение по времени работы программы на одном тесте (как правило - 1-2 секунды) и ограничение по используемой памяти (как правило — 64-256 мегабайт). Также если предусматривается файловый ввод-вывод, то в начале условия записываются имена файлов. Легенда отвечает на самый важный вопрос — «Что именно должна делать программа, которая является решением задачи?».

Далее идет часть, в которой описываются входные данные к задаче. В этом примере

входными данными является одно целое число. В описании формата входных данных указываются ограничения на эти данные.

Ответ достаточно очевиден. Выбор олимпиадников - победителей и призеров заключительного этапа и международной олимпиады - за С.

На заключительном этапе ВсОШ в 2012 году все победители и призеры использовали именно эту систему программирования, как наиболее адекватную для управления памятью и скоростью а также более конструктивно выгодную для записи алгоритмов. 

Однако начинать обучение  оформлению алгритмов средствами систем программирования в 6-7 классах проще на паскале. С 8 класса ребята включают в свой арсенал еще 1-2 языка. Таланты в алгоритмике несомненно должны владеть не одним языком программирования, а С наиболее распространен в профессиональной сфере. Умение сравнивать эффективность языков программирования, выбирать наиболее подходящий - также важный элемент ,ведь язык программирования для них - важный инструмент реализации алгоритмический идей. А для олимпадников - это еще и инструмент наиболее оптимального решения в конкурсной ситуации - выполнение ограничений по памяти и времени выполнения программы.


По теме: методические разработки, презентации и конспекты

Сравнительный анализ качества знаний по русскому языку в 6 классе

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

Анализ планируемых результатов освоения ООП и учебной программы по математике с точки зрения реализации требований ФГОС

В данной работе вы найдёте планируемые резуль­таты базового (опорного) и повышенного уровня обучения математике в результате освоения ООП....

Сравнительный анализ языка и содержания писем с фронта, советские и английские параллели.

Сравнительный анализ языка и содержания писем с фронта, советские и английские параллели. Посвящается 70-летию Победы в ВОВ....

Конспект урока по русскому языку «Лексика с точки зрения сферы употребления»

Цели:1)    Знакомство обучающихся с лексическими пластами русского языка с точки зрения сферы употребления;2)    формирование знаний о языке и речи  (лингвистической...

Специфика изучения иностранного языка с психологической точки зрения

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

ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА "СРАВНИТЕЛЬНЫЙ АНАЛИЗ ФРАЗЕОЛОГИЗМОВ РУССКОГО И АНГЛИЙСКОГО ЯЗЫКОВ"

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

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

В данной презентации приведены примеры идиоматических выражений и перевод...