Показаны сообщения с ярлыком ненормальное программирование. Показать все сообщения
Показаны сообщения с ярлыком ненормальное программирование. Показать все сообщения

суббота, 10 сентября 2011 г.

Задача о восьми Ферзях на Oracle SQL


Привет, Хабролюди!



В мае месяце в Москве прошла олимпиада IT-Планета, одной из номинаций которой было «Программирование СУБД Oracle». Задания были интересными и сложными, и хотелось бы поделиться решением некоторых из них.

Первая задача, о которой я расскажу — задача о восьми ферзях, решить ее было необходимо используя для этого только SQL и ничего более, сначала я эту задачу просто вычеркнул из списка тех, которые собираюсь решать, но в последний час все-таки ее решил, что принесло мне первое место и диплом из рук министра связи и массовых коммуникаций РФ.

четверг, 27 января 2011 г.

[Из песочницы] Программируем в dc (desktop calculator)

Я часто люблю отдыхать, изучая новые языки или технологии. И не важно, что я их, возможно, никогда и не применю на практике. Занимаюсь я этим преимущественно из простого любопытства и желания узнать что-то новое.

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

воскресенье, 23 января 2011 г.

Закономерные случайности

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

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

Еще подметил, что многократное повторение даже неказистых форм создает гармоничные рисунки, если видеть их целиком.





пятница, 7 января 2011 г.

[Из песочницы] Нормальный алгоритм Маркова для деления чисел

Добрый день. Хотелось бы поделиться с Вами очень интересным вариантом ненормального прграммирования — составлением нормальных алгоритмов Маркова. Этот вариант программирования может служить великолепным умственным отдыхом от привычных языков и сред программирования.
Студенты, которых я имею возможность учить, кричат криком, что это сложно, но только до первого собственными руками сделанного рабочего алгоритма, потом это перетекает в очень интересные алгоритмические задачки.
Собственно, к теме этого поста: наша задача написать нормальный алгоритм Маркова для деления двух целых чисел с точностью 4 знака после запятой(для задания чисел пользуемся унарной системой исчисления). Например, вход: |/||||, выход: 0.25.
При этом у нас есть только одна операция — замена одной подстроки в исходной строке на другую. Кому интересно что это такое и как это работает — добро пожаловать под кат.