Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Эзотерические языки программирования

Эзотерические языки программирования — вид языков программирования, не предназначенных для практического применения. Образец компьютерного юмора.

Эзотерические языки придумываются для развлечения, часто они пародируют "настоящие" или являются абсурдным воплощением "серьёзных" концепций программирования. Некоторые эзотерические языки нарочно ограничены, (как, например, язык HQ9+), другие — универсальны и обладают тьюринговой полнотой. Общее свойство, присущее любому эзотерическому языку, — текст программы на нём понятен лишь "посвящённому", либо непонятен вообще, потому что для составления программы нужно написать программу на обычном языке. В то время, как разработчики "реальных" языков программирования стараются сделать синтаксис максимально понятным, а программирование — удобным, создатели эзотерических языков обычно ставят перед собой иные задачи.

В целом такие языки бесполезны, однако программирование на некоторых из них является неплохой тренировкой. Эзотерические языки нередко включают в список разрешённых языков на конкурсах по программированию.

Ярким примером эзотерического языка является язык BrainFuck.

Команда BrainFuck

Эквивалент на Си

Описание команды

>

++p;

Перейти к следующей ячейке

<

--p;

Перейти к предыдущей ячейке

+

++(*p);

Увеличить значение в текущей ячейке на 1

-

--(*p);

Уменьшить значение в текущей ячейке на 1

.

putchar(*p);

Напечатать значение из текущей ячейки

,

*p = 

getchar();

Ввести извне значение и сохранить в текущей ячейке

[

while (*p)

{

Если значение текущей ячейки нуль, перейти вперед по тексту программы на ячейку, следующую за соответствующей ] (с учетом вложенности)

]

}

Если значение текущей ячейки не нуль, перейти назад по тексту программы на символ [ (с учетом вложенности)

Каждый начинающий программировать на BrainFuck немедленно сталкивается со следующими проблемами:

  • отсутствие операции копирования значения

  • отсутствие промежуточной (аккумуляторной) памяти

  • отсутствие условных операторов в их привычном виде

  • отсутствие привычной арифметики, операций умножения и деления

Программа "Hello, world!" на языке BrainFuck:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++ .>+.+++++++..+++.>++.<<+++++++++++++++.>.+++. ------.--------.>+.>.

О языке Python

Python — современный язык программирования, работающий на всех распространенных операционных системах для настольных компьютеров. Язык программирования Питон разрабатывается чуть более 20 лет. В настоящее время активно используется две версии языка — более старая версия 2 и современная версия. Версия 2 более не развивается, но до сих пор ещеиспользуется, поскольку очень много программного обеспечения и библиотек разработано именно для версии 2. Между версиями есть существенная несовместимость, в том числе в синтаксисе команд ввода-вывода (программа на языке Python 2-й версии может не работать в 3-й версии и наоборот), но в целом они очень похожи. Мы будет использовать именно версию 3, как более современную и совершенную.

Python — современный универсальный интерпретируемый язык программирования. Его достоинства:

  1. Кроссплатформенность и бесплатность.

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

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

  4. Богатая стандартная библиотека, возможность разработки промышленных приложений (для работы с сетью, GUI, базами данных и т.д.)

Большинство школьных олимпиад по информатике поддерживают язык Python. C 2015 года в текстах задач ЕГЭ примеры приводятся также и на языке Python. 

Практика показывает, что задания ЕГЭ по информатике, в которых требуется написать программу, существенно проще решать с использованием языка Python, чем классических языков Бейсик, Паскаль, C/C++.