Сравнительный анализ языка питон и некоторых других языков программирования с точки зрения реализации алгоритмических идей в рамках олимпиадного программирования
статья по информатике и икт (9, 10, 11 класс) на тему
Статья посвящена сравнительному анализу языков программирования, используемых на олимпиадах по информатике
Скачать:
Вложение | Размер |
---|---|
Статья | 38.5 КБ |
Предварительный просмотр:
Сравнительный анализ языка питон и некоторых других языков программирования с точки зрения реализации алгоритмических идей в рамках олимпиадного программирования
Доклад посвящен сравнительному анализу языков программирования, используемых на олимпиадах. Олимпиады по информатике широко распространены и имеют достаточно долгую историю. Международная олимпиада школьников по информатике проводится с 1989 года. Эти олимпиады позволяют выявлять способности как в математике, так и в программировании, а также умение работать под стрессом в сжатых временных рамках. В России более долгую историю имеют олимпиады школьников по информатике.
Популярность соревнований по информатике и программированию стремительно растет. Их спонсорами выступают такие крупные корпорации, как Microsoft, IBM, Google. Естественно, появились исследования о том, как эффективно участвовать в соревнованиях, готовиться к ним, многочисленные советы и рассказы очевидцев. К этой категории относится и настоящая статья. Автор имеет пока небольшой опыт участия в соревнованиях по информатике и программированию. В настоящей статье речь пойдет о сравнении некоторых языков программирования с точки зрения реализации алгоритмических идей.
Цель исследовательской работы - попытаться ответить на вопрос “Выбор какого языка программирования наиболее удачен для успешного участия в олимпиаде по информатике?”. Аспекты решения олимпиадных задач не рассматриваются, но некоторые соображения по этим вопросам будут приведены.
В школе на изучение программирования отводится не очень много часов. В зависимости от школы это от 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) формирование знаний о языке и речи (лингвистической...
Специфика изучения иностранного языка с психологической точки зрения
Язык связан с психической стороной жизни. При обучении иностранному языку немаловажную роль играют психологические аспекты....
ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА "СРАВНИТЕЛЬНЫЙ АНАЛИЗ ФРАЗЕОЛОГИЗМОВ РУССКОГО И АНГЛИЙСКОГО ЯЗЫКОВ"
В данной работе были исследованы английские и русские фразеологические единицы, содержащие различные пласты с точки зрения их значения и употребления в речи, проведен сравнительный анализ. Основываясь...
Презентация Сравнительный анализ восприятия цвета в английском языке на примере идиом
В данной презентации приведены примеры идиоматических выражений и перевод...