21.by - Новости Беларуси. Последние новости Беларуси из разных источников. Последние новости мира.

Биты и гексаграммы

26.08.2009 08:57 — |  
Размер текста:
A
A
A

Источник материала:

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

Таким образом, можно предположить, что эти загадочные триграммы и гексаграммы, в первую очередь, не что иное, как двоичная запись чисел. Как оказалось, это пришло мне в голову не первому. Мысль двигалась дальше, и я уже с учётом этого обстоятельства рассматривал знаменитый знак Дао, символизирующий единство двух противоначал - мужского Ян и женского Инь. Теперь мне виделось в нём не что иное, как изображение бита - элементарной единицы измерения информации. Действительно, присмотритесь: бит должен выглядеть именно так. Некое единство, таящее в себе две потенциальные возможности - Да или Нет, 0 или 1. Таким образом, теперь я воспринимал рисунки древних китайских мудрецов едва ли не как плакаты для обучения информатике. Не буду настаивать на всемирном историческом значении своих открытий, но описанные ассоциации представляются вполне логичными, обоснованными и уместными.

Попробуем составить программу на языке Бейсик построения всех возможных три-, тетра-, пента- и так далее ...грамм. Их количество определяется формулой M=2n - два в степени количества чёрточек. То есть, общее количество триграмм равно M=23=8, общее количество тетраграмм равно M=24=16, общее количество пентаграмм равно M=25=32, общее количество гексаграмм M=26=64 и так далее... по степеням двойки.

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

k=1 p=TRUE while p if b(k)=0 then p=FALSE b(k)= NOT b(k) k=k+1 wend

Здесь k представляет собой счётчик позиций, который перед каждым очередным выполнением цикла устанавливается в 1. Цикл выполняется, пока значение p=TRUE. Если в массиве встречается элемент, равный 0, то p получает значение FALSE. При этом элемент b(k) всегда меняет своё текущее состояние на противоположное b(k)=NOT b(k), а счётчик позиций продвигается на 1 вперёд.

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

dim b(10) n=6 for i=0 to 2^n-1 for j=1 to n if b(j)=0 then line x,y,x+5,y line x+10,y,x+15,y y=y+4 endif if b(j)=1 then line x,y,x+15,y y=y+4 endif next j if x=140 then x=0 y=y+10 else x=x+20 y=y-n*4 endif k=1 p=TRUE while p if b(k)=0 then p=FALSE b(k)= NOT b(k) k=k+1 wend next i

Если значение n=6, то результатом её работы будет всё множество возможных гексаграмм, расположенных в двоичном порядке.

Программа пригодна не только в качестве подспорья для гадания по Книге перемен, но и как основа для решения некоторых традиционных задачек по программированию, связанных с полным двоичным перебором всех возможных вариантов взаимных сочетаний элементов какого-либо множества. Кроме того, теперь вы можете путём загибания пальцев одной руки сосчитать не до пяти, как все прочие граждане, а до 32, а с помощью всех десяти пальцев - до 1024.

А. КОЛЕСНИКОВ,
andr61@mail.ru

 
 
Чтобы разместить новость на сайте или в блоге скопируйте код:
На вашем ресурсе это будет выглядеть так
Пишем на Бейсике программу построения всех возможных три-, тетра-, пента- и так далее ...грамм
 
 
 

РЕКЛАМА

Архив

РЕКЛАМА


Все новости Беларуси и мира на портале news.21.by. Последние новости Беларуси, новости России и новости мира стали еще доступнее. Нашим посетителям нет нужды просматривать ежедневно различные ресурсы новостей в поисках последних новостей Беларуси и мира, достаточно лишь постоянно просматривать наш сайт новостей. Здесь присутствуют основные разделы новостей Беларуси и мира, это новости Беларуси, новости политики, последние новости экономики, новости общества, новости мира, последние новости Hi-Tech, новости культуры, новости спорта и последние новости авто. Также вы можете оформить электронную подписку на новости, которые интересны именно вам. Таким способом вы сможете постоянно оставаться в курсе последних новостей Беларуси и мира. Подписку можно сделать по интересующим вас темам новостей. Последние новости Беларуси на портале news.21.by являются действительно последними, так как новости здесь появляются постоянно, более 1000 свежих новостей каждый день.
Яндекс.Метрика