Идея применять для манипуляций с числами какой-нибудь инструмент не
нова. До 1642 года, когда девятнадцатилетний французский ученый Блез
Паскаль изобрел механическое счетное устройство - суммирующую машину, в
Азии уже почти 5000 лет пользовались счетами. Три десятилетия спустя не-
мецкий математик Готфрид Лейбниц усовершенствовал конструкцию машины
Паскаля. Его "шаговый вычислитель" позволял умножать, делить и вычислять
квадратные корни. Весьма надежные механические арифмометры, напичканные
шестеренками и наборными счетчиками, наследники шагового вычислителя,
служили главной опорой бизнесу вплоть до их замены электронными аналога-
ми. Например, кассовые аппараты в годы моего детства, по сути, были
арифмометрами с отделениями для наличности.
Более полутора столетий назад видного британского математика озарила
гениальная идея, которая прославила его имя уже при жизни. Чарлз Беббидж
(Charles Babbage), профессор математики Кембриджского университета, по-
нял, что можно построить механическое устройство, способное выполнять
последовательность взаимосвязанных вычислений, - своего рода компьютер !
Где-то в начале тридцатых годов прошлого столетия он пришел к выводу,
что машина сможет манипулировать информацией, если только ту удастся
преобразовать в числа. Беббидж видел машину, приводимую в действие па-
ром, состоящую из штифтов, зубчатых колес, цилиндров и других механичес-
ких частей - в общем, настоящее детище начинавшегося тогда индустри-
ального века. По мысли Беббиджа, "аналитическая машина" должна была из-
бавить человечество от монотонных вычислений и ошибок, с ними связанных.
Для описания устройства машины ему, конечно, не хватало терминов -
тех, которыми мы пользуемся сегодня. Центральный процессор, или "рабочие
внутренности" этой машины, он называл "мельницей", а память - "хранили-
щем". Беббиджу казалось, что информацию будут обрабатывать так же, как
хлопок: подавать со склада (хранилища) и превращать во что-то новое.
Аналитическая машина задумывалась как механическая, но ученый предви-
дел, что она сможет следовать варьируемым наборам инструкций и тем самым
служить разным целям. В том же и смысл программного обеспечения. Совре-
менная программа - это внушительный набор правил, посредством которых
машину "инструктируют", как решать ту или иную задачу. Беббидж понимал,
что для ввода таких инструкций нужен совершенно новый тип языка, и он
изобрел его, использовав цифры, буквы, стрелки и другие символы. Этот
язык позволил бы "программировать" аналитическую машину длинными сериями
условных инструкций, что, в свою очередь, позволило бы машине реагиро-
вать на изменение ситуации. Он - первый, кто увидел, что одна машина
способна выполнять разные функции.
Следующее столетие ученые математики работали над идеями, высказанны-
ми Беббиджем, и к середине сороковых годов нашего века электронный
компьютер наконец был построен - на основе принципов аналитической маши-
ны. Создателей современного компьютера выделить трудно, поскольку все
исследования проводились во время второй мировой войны под покровом пол-
ной секретности, главным образом - в Соединенных Штатах и Великобрита-
нии. Основной вклад внесли три человека: Алан Тьюринг (Alan Turing),
Клод Шеннон (Claude Shannon) и Джон фон Нейман (John von Neumann).
В середине тридцатых годов Алан Тьюринг - блестящий британский мате-
матик, как и Беббидж, получивший образование в Кембридже, предложил свой
вариант универсальной вычислительной машины, которая могла бы в зависи-
мости от конкретных инструкций работать практически с любым видом инфор-
мации. Сегодня она известна как машина Тьюринга.
А в конце тридцатых Клод Шеннон, тогда еще студент, доказал, что ма-
шина, исполняющая логические инструкции, может манипулировать информаци-
ей. В своей магистерской диссертации он рассмотрел, как с помощью элект-
рических цепей компьютера выполнять логические операции, где единица -
"истина" (цепь замкнута), а нуль - "ложь" (цепь разомкнута).
Здесь речь идет о двоичной системе счисления, иначе говоря, о коде.
Двоичная система - это азбука электронных компьютеров, основа языка, на
который переводится и с помощью которого хранится и используется вся ин-
формация в компьютере. Эта система очень проста и в то же время нас-
только важна для понимания того, как работают компьютеры, что, пожалуй,
стоит на этом задержаться.
Представьте, что в Вашей комнате должна гореть лампа мощностью в 250
ватт. Однако Вы хотите регулировать освещение от 0 ватт (полная темнота)
до максимума. Один из способов добиться этого - воспользоваться выключа-
телем с регулятором. Чтобы погасить лампу, Вы поворачиваете ручку против
часовой стрелки в положение "выкл" (0 ватт), а чтобы включить ее "на всю
катушку", - по часовой стрелке до упора (250 ватт). Ну а чтобы добиться
полумрака или просто уменьшить яркость, Вы устанавливаете регулятор в
какое-то промежуточное положение.
Такая система проста, но имеет свои ограничения. Если регулятор нахо-
дится в промежуточном положении - скажем, Вы приглушили свет для ужина в
интимной обстановке, - останется лишь гадать, каков сейчас уровень осве-
щения. Вам не известно ни то, какую мощность "берет" лампа в данный мо-
мент, ни то, как точно описать настройку регулятора. Ваша информация
приблизительна, что затрудняет ее сохранение и воспроизведение.
Вдруг на следующей неделе Вам захочется создать то же освещение ? Ко-
нечно, можно поставить отметку на шкале регулятора, но навряд ли это по-
лучится точно. А что делать, если понадобится воспроизвести другую наст-
ройку ? Или кто-то придет к Вам в гости и захочет отрегулировать свет ?
Допустим, Вы скажете: "Поверни ручку примерно на пятую часть по часовой
стрелке" или "Поверни ручку, пока стрелка не окажется примерно на двух
часах". Однако то, что сделает Ваш гость, будет лишь приблизительно со-
ответствовать Вашей настройке. А может случиться и так, что Ваш друг пе-
редаст эту информацию своему знакомому, а тот - еще кому-нибудь. При
каждой передаче информации шансы на то, что она останется точной, убыва-
ют.
Это был пример информации, хранимой в "аналоговом" виде. Положение
ручки регулятора соответствует уровню освещения. Если ручка повернута
наполовину, можно предположить, что и лампа будет гореть вполнакала. Из-
меряя или описывая то, насколько повернута ручка, Вы на самом деле сох-
раняете информацию не об уровне освещения, а о его аналоге - положении
ручки. Аналоговую информацию можно накапливать, хранить и воспроизво-
дить, но она неточна и, что хуже, при каждой передаче становится все ме-
нее точной.
Теперь рассмотрим не аналоговый, а цифровой метод хранения и передачи
информации. Любой вид информации можно преобразовать в числа, пользуясь
только нулями и единицами. Такие числа (состоящие из нулей и единиц) на-
зываются двоичными. Каждый нуль или единица - это бит. Преобразованную
таким образом информацию можно передать компьютерам и хранить в них как
длинные строки бит. Эти-то числа и подразумеваются под "цифровой инфор-
мацией".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93