Какой язык программирования выбрать для ЕГЭ по информатике: Python или C++?
Сомневаюсь, на каком языке готовиться к КЕГЭ — все хвалят Python, но кто-то пишет на C++ или Паскале. Что реально выбрать для ЕГЭ по информатике, чтобы было проще набрать баллы во второй части?
2 ответа
Для подавляющего большинства выпускников оптимальный выбор — Python. Вот почему.
Плюсы Python для ЕГЭ:
- Короткий код. Чтение файла, списки, срезы,
sorted, рекурсия — всё пишется в разы лаконичнее, чем на C++/Паскале. На экзамене скорость и меньше шансов на опечатку. - Большие числа из коробки. В заданиях 15, 25, 27 числа могут быть огромными — Python считает их точно без переполнения, в отличие от int в C++.
- Нет возни с типами и памятью.
a = [int(x) for x in open('f.txt')]— и массив готов. - Удобная рекурсия и
lru_cacheдля заданий 16, 19–21, 23.
Когда C++ оправдан: если ты олимпиадник и уже свободно на нём пишешь, и боишься, что Python «не успеет» на гигантских данных задания 27. Но для школьных объёмов ЕГЭ Python почти всегда укладывается во время.
Паскаль сейчас почти не используют — он многословен и не даёт преимуществ.
Вывод: учи Python. Освой ввод/вывод, циклы, списки и срезы, словари, рекурсию, чтение файла. Этого хватает на ВСЕ задания второй части и на проверочные скрипты в первой.
На codechick есть учебник по Python, заточенный под задачи ЕГЭ.
Коротко: бери Python, если у тебя нет за плечами серьёзной олимпиадной подготовки на C++. Он прощает ошибки, считает большие числа сам и пишется быстро — на экзамене это решает.
Единственный реальный довод за C++ — скорость на самых тяжёлых данных задания 27. Но даже там грамотный однопроходный алгоритм на Python обычно проходит. Так что не распыляйся, выбери один язык и доведи до автоматизма именно его.