Рубрика «ненормальное программирование» - 120

Есть такой редкий малоизвестный язык программирования tcl. В википедии он расписан хорошо, но при написании программы возникнут вопросы.
Цзяньшицзы — это такая китайская(судя по названию) игра, переводится как «выбирание камней», интересна сама по себе: есть две кучки камней с любым количеством камней, играют двое. Каждый игрок может взять любое число камней из любой кучи, а также равное количество сразу из обоих. Побеждает тот, кто возьмет последний камень. Более подробное описание тут. Игра на сохранение баланса: с одной стороны, нужно чтобы числа в кучах различались, с другой, чтобы различие было не слишком большим. Начнем с того, что игра имеет выигрышную стратегию, происхождение которой мы рассматривать не будем. Возьмем лишь краткое описание. Существуют сочетания размеров куч, при которых игрок, который будет делать следующий ход, проигрывает.
Цзяньшицзы и tcl

Цзяньшицзы и tcl

Квадратные скобки обозначают взятие целой части. Нет, первая формула — это не числа Фибоначчи, хотя коэффициент тот же, но тут арифметическая прогрессия, а не геометрическая. Сразу заметим, что разница между числами пары составляет n.

Ранее на хабре были Реверси на TCL в 64 строки и Пятнашки на TCL в 10 строк, в которых был компактный и красивый код, здесь вы такого не увидите. Также он, возможно, далек от правил хорошего тона. Вобщем, если вам что-то покажется говнокодом, скорее всего так оно и есть. С другой стороны, это даже хорошо, потому что будет что улучшать в дальнейшем. Отчасти из-за того, что язык для меня новый, отчасти чтобы было удобнее делать пояснения. Также отсутствуют необязательные проверки.
Далее будут идти куски программы. Она далеко не оптимальна, но показывает особенности языка и работает.
Читать полностью »

История λ-исчисления уходит в начало прошлого века. Этимология названия данного раздела математической логики, который служит основой для «computer science», следующая. Сам значек «λ» используется для одной из двух основных конструкций в созданной Черчем системе — абстракции. Оказывается, что выбор обозначения абстракции не был совершенно случайным, а сделан в противопоставление другой более ранней конструкции, которую использовали Whitehead и Russell и обозначали как «xˆ». Для новой конструкции, чтобы отличать ее от прежней, Черч заменил обозначение сначала на «∧x», а затем — на «λx», очевидно, интерпретировав первый символ как заглавную букву «Λ», для упрощения набора.

Опишем кратко систему λβη, то есть классическое бестиповое экстенсиональное λ-исчисление, сделав конспект классической монографии по λ-исчислению (Х. Барендрегт, «Ламбда-исчисление. Его синтаксис и семантика», перевод с английского Г. Е. Минца под редакцией А. С. Кузичева, Москва, «Мир», 1985).Читать полностью »

Содержание

1. Содержание
2. Цели и задачи
3. Выбор платформы для сервера
4. Описание проекта
5. Выводы и перспективы
6. Инструкция для пользователей
7. Список литературы

Цели и задачи

Цель
Создать популярный игровой сервер для игровой программы minecraft.
Читать полностью »

image
Думаю каждый, хотя бы раз задумывался на тему — к чему же приведет развитие информационных технологий, и как это повлияет на нашу с вами жизнь. Хочу вам представить, по моему мнения, очень вероятный ход событий, не такого уж и далёкого будущего.

Очень часто человеческий мозг сравнивают со своего рода компьютером — устройством, которое способно считывать, запоминать, хранить, обрабатывать, воспроизводить информацию. Но как устроен этот человеческий компьютер, до сих пор является загадкой. До конца не известны принципы его работы. Хотя уже сформировалось представление, как информация хранится и обрабатывается, какие области существуют и за что отвечают, но, к сожалению, мозг все еще остается черным ящиком.

А теперь давайте представим себе Читать полностью »

image

Доброго времени суток Читатели!

Сегодня для меня великий день.
В вопросах я писал о краткой справке для новичков и профессионалов, думалось мне что я сейчас быстро окунусь в язык, сделаю всем добро и пойду дальше изучать свой Perl.
Но как всегда всё пошло не так...
Читать полностью »

Добрый день!

Столь претензионным заголовком я хочу начать статью про одну из многих моделей исчисления (Compitational model) — рекурсивные функции. В первой части этого поста мы разберем (в кратце, ибо подробно все расписано на Википедии) теоретическую составляющую этой модели (примитивная рекурсия), во второй же половине мы попробуем претворить данную модель в жизнь (частично) с помощью языка Scala.

1. Рекурсивные функции — что это?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js