Выбрать главу

Переход на двоичную систему делает запись любых чисел значительно длиннее, чем в десятичной. Но зато в этом случае достаточно для запоминания числа всего двух состояний электрической схемы – «включено» и «выключено». (В противном случае пришлось бы составлять ячейки из схем, имеющих 10 различных состояний, а это привело бы к значительному усложнению устройств как самих схем, так и всей ЭВМ в целом.)

Два же состояния в электрических цепях могут быть выполнены весьма просто и различными методами. Это может быть и релейная схема, и ламповая, и транзисторная... Последнее время подобные схемы стали выполнять по несколько десятков тысяч одним махом – так появились интегральные схемы. Более подробно обо всех этих технологических тонкостях мы поговорим в следующей главе. А пока давайте разберемся в логике работы таких электрических ключей.

Странная логика

В их основе лежит логическое исчисление, созданное еще в 50–е годы XIX столетия английским математиком Джорджем Булем. Согласно разработанным им правилам, каждому из высказываний приписывают одно из двух возможных значений: «истинно» или «ложно». Кроме того, имеются три связки: «И», «ИЛИ» и «НЕ». Их достаточно, чтобы строить описания нашего мира, скажем, такого типа: «Сегодня я пойду играть в футбол, ЕСЛИ по телевизору не будут показывать мультиков И будет подходящая погода».

Аналогично обстоит дело со связкой «ИЛИ» для высказываний, например, такого рода: «В нашей команде будет хороший вратарь, ЕСЛИ придут играть Витя ИЛИ Вова». Конечно, на футбольное поле могут прийти и оба, и связка «ИЛИ» принимает во внимание и такую возможность. И наконец, проиллюстрируем возможности связки «НЕ»: «Мы, конечно, начнем играть сразу, ЕСЛИ поле НЕ будет занято другими командами».

Схема, поясняющая действие электронных логических ключей

Все эти высказывания можно без особого труда реализовать с помощью электронных схем. Для этого договоримся интерпретировать истинное высказывание как положение «включено» или «1» и соответственно ложное высказывание будет интерпретироваться как «выключено» или «О».

В таком случае высказывание «И» соответствует двум ключам, соединенным последовательно. На приведенной схеме лампочка загорится, ЕСЛИ будет включен ключ А, и ключ В.

Связка «ИЛИ» соответствует параллельному включению тех же ключей. Здесь лампочка загорится лишь в том случае, если включен или ключ А, или ключ В, или оба вместе.

Наконец, связку «НЕ» можно реализовать, создав контакт для ключа таким образом, что его нормальное положение будет при замкнутой цепи и горящей лампочке. И как только на схему будет подан сигнал, аналогичный тому, который в предыдущих случаях приводит к замыканию цепи, в данном случае цепь будет размыкаться.

Используя подобные схемы, программистам удается заставить ЭВМ вести вычисления и даже рассуждения, опираясь на формальную логику, вполне привычную нам с вами. Как все это реализовалось на практике, мы с вами сейчас и поговорим.

Как поджарить яичницу?

«Ну и вопрос, – скажете вы. – Это же все знают. Надо взять яйца, поставить сковородку на огонь, положить на нее масла... И вообще, какое отношение имеет яичница к теме нашего разговора?»

Сама яичница, может быть, и никакого. А вот процесс ее приготовления – самое непосредственное. Взгляните на схему. Видите, столь простая кулинарная операция при полном перечислении возможных вариантов представляет собой довольно длинное и разветвленное описание последовательности действий. То есть, говоря профессиональным языком, перед вами блок–схема программы приготовления яичницы. Именно такая программа понадобилась бы, если бы вы поручили эту операцию некому роботу–повару под управлением ЭВМ.

Электронная же вычислительная машина, о которой мы ведем речь в этой книге, согласно широко распространенному определению представляет собой «универсальное программируемое устройство для автоматической обработки информации». Возможно, вы с этим определением уже знакомились на уроках информатики в школе. Но, как говорится, повторение мать учения. Не вредно, наверное, по–вторить его еще раз, растолковав для верности два определения.