Posts Tagged ‘Программизм’

Квайн (quine) произвольного порядка на языке Brainfuck

Когда-то решал занятное упражнение для любителей сломать мозг: как написать квайн n-го порядка на чудесном языке Brainfuck. Результат этих упражнений я и публикую в своем унылом бложике. Кто хочет сам порешать, можете дальше пока не читать, а то будет не интересно.

Основные понятия

Brainfuck
Эзотерический язык программирования, отличающийся крайней простотой. Программы, написанные на этом языке, оперируют с некоей лентой посредством считывающе-записывающей головки. Всего в языке восемь операторов (для записи/чтения символа, смещения головки, инкремента/декремента значения в ячейке и двух оператора для организации циклов). Как видно, эта конструкция очень напоминает реализацию машины Тьюринга. За подробностями можно невозбранно обращаться в википедию или другие интернеты.
Квайн (quine)
Непустая программа, выдающая на выходе свой исходный текст. При этом запрещены всякие трюки вроде чтения текста программы из файла и тому подобное.
Квайн n-го порядка
Программа, которая выводит код другой программы, которая вывовит код третьей программы, ... , которая выводит код n-й программы, которая выводит код первой программы. Определение придумал я сам, поэтому ссылки на википедию нету.

Читаем дальше

Онлайн-генератор диаграмм последовательности

Диаграммка в посте о Жаббе и GPRS'е была сгенерирована с помощью замечательной онлайновой прилаги www.websequencediagrams.com. Этот чудесный инструмент позволяет строить достаточно сложные (в хелпе описано) диаграммы послеовательности в формате PNG-картинок на основе очень простого текстового файла.  Кроме того, позволяет изменять стиль картинки и масштаб. Можно получить постоянную ссылку как на сгенеренное изображение, так и на страницу, с которой можно редактировать исходник диаграммы.

Кроме того, к этому добру имеются интерфейсы на жавоскрипте, жаве, питоне и руби. То есть, скармливаешь скрипту текстовый файл, он лезет в на сайт, тот ему дает картинку, скрипт сохраняет её на диск. Только почему-то пример с руби у меня генерит невалидный PNG — не открывается ни в одном вьювере.

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

Newer Entries »