vak: (Default)
[personal profile] vak
А вот вам еще один древний пример на Алголе-60. Программа упаковывает фигурки пентамино в коробку 6x10. Исходный текст: pentomino.a60.

Кто написал этот код - достоверно неизвестно. Вероятно, сам Франц Круземан Арец: программа приведена в качестве примера в его статье "A comparison between the ALGOL 60 implementations on the Electrologica X1 and the Electrologica X8".

Подробное исследование проблемы опубликовал в 1971 году профессор Николас Де Брёйн, в голландском журнале "Monthly magazine for the didactics of mathematics". Смотрите страницы 8-22 в файле 047_1971-72_03.pdf. Решение Ареца похоже, но не идентично. В частности, нумерация матрицы делается по строкам, а не по столбцам. Я гуглоперевёл эту статью на английский для облегчения восприятия: github.com/sergev/vak-opensource/wiki/pentomino.



Известно, что упаковок пентамино в прямоугольник 6x10 имеется всего 2339 штук, если не считать тривиальные повороты и зеркальные отражения всего прямоугольника целиком. Алгольная программа показывает только первые семь размещений.
$ cd x1-algol-compiler/examples
$ ./pentomino.sh

The first 7 solutions:


- - - - - - - - - - - - - - - - - - - -
I I I I
- - - - - - - - - - - -
I I I I I I I I
- - - - - - - - - -
I I I I I I I I
- - - - - - - - - -
I I I I I I I
- - - - - - - - - - - -
I I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - -
I I I I
- - - - - - - - - - - -
I I I I I I I I
- - - - - - - - - -
I I I I I I I I
- - - - - - - - - -
I I I I I I I
- - - - - - - - - - - -
I I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - -
I I I I I
- - - - - - - -
I I I I I I I I I
- - - - - - - - - -
I I I I I I I
- - - - - - - - - -
I I I I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - -
I I I I I
- - - - - - - -
I I I I I I I I I
- - - - - - - - - -
I I I I I I I
- - - - - - - - - -
I I I I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - -
I I I I
- - - - - - - - - - - -
I I I I I I I I I
- - - - - - - -
I I I I I I I
- - - - - - - - - - - -
I I I I I I I
- - - - - - - - - - - -
I I I I I I
- - - - - - - - - - - - - -
I I I I I
- - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - -
I I I I I
- - - - - - - - - -
I I I I I I I I
- - - - - - - - - - - -
I I I I I I I
- - - - - - - - - - - -
I I I I I I I
- - - - - - - -
I I I I I I I
- - - - - - - - - - - - - - - -
I I I I
- - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - -
I I I I I I
- - - - - - - -
I I I I I I I I
- - - - - - - -
I I I I I I I I
- - - - - - - - - - - -
I I I I I I I
- - - - - - - - - - - -
I I I I I I
- - - - - - - - - - - - - - - -
I I I I
- - - - - - - - - - - - - - - - - - - -
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org