ром, состоящую из штифтов, зубчатых колес, цилиндров и других механичес- ких частей - в общем, настоящее детище начинавшегося тогда индустри- ального века. По мысли Беббиджа, "аналитическая машина" должна была из- бавить человечество от монотонных вычислений и ошибок, с ними связанных. Для описания устройства машины ему, конечно, не хватало терминов - тех, которыми мы пользуемся сегодня. Центральный процессор, или "рабочие внутренности" этой машины, он называл "мельницей", а память - "хранили- щем". Беббиджу казалось, что информацию будут обрабатывать так же, как хлопок: подавать со склада (хранилища) и превращать во что-то новое. Аналитическая машина задумывалась как механическая, но ученый предви- дел, что она сможет следовать варьируемым наборам инструкций и тем самым служить разным целям. В том же и смысл программного обеспечения. Совре- менная программа - это внушительный набор правил, посредством которых машину "инструктируют", как решать ту или иную задачу. Беббидж понимал, что для ввода таких инструкций нужен совершенно новый тип языка, и он изобрел его, использовав цифры, буквы, стрелки и другие символы. Этот язык позволил бы "программировать" аналитическую машину длинными сериями условных инструкций, что, в свою очередь, позволило бы машине реагиро- вать на изменение ситуации. Он - первый, кто увидел, что одна машина способна выполнять разные функции. Следующее столетие ученые математики работали над идеями, высказанны- ми Беббиджем, и к середине сороковых годов нашего века электронный компьютер наконец был построен - на основе принципов аналитической маши- ны. Создателей современного компьютера выделить трудно, поскольку все исследования проводились во время второй мировой войны под покровом пол- ной секретности, главным образом - в Соединенных Штатах и Великобрита- нии. Основной вклад внесли три человека: Алан Тьюринг (Alan Turing), Клод Шеннон (Claude Shannon) и Джон фон Нейман (John von Neumann). В середине тридцатых годов Алан Тьюринг - блестящий британский мате- матик, как и Беббидж, получивший образование в Кембридже, предложил свой вариант универсальной вычислительной машины, которая могла бы в зависи- мости от конкретных инструкций работать практически с любым видом инфор- мации. Сегодня она известна как машина Тьюринга. А в конце тридцатых Клод Шеннон, тогда еще студент, доказал, что ма- шина, исполняющая логические инструкции, может манипулировать информаци- ей. В своей магистерской диссертации он рассмотрел, как с помощью элект- рических цепей компьютера выполнять логические операции, где единица - "истина" (цепь замкнута), а нуль - "ложь" (цепь разомкнута). Здесь речь идет о двоичной системе счисления, иначе говоря, о коде. Двоичная система - это азбука электронных компьютеров, основа языка, на который переводится и с помощью которого хранится и используется вся ин- формация в компьютере. Эта система очень проста и в то же время нас- только важна для понимания того, как работают компьютеры, что, пожалуй, стоит на этом задержаться. Представьте, что в Вашей комнате должна гореть лампа мощностью в 250 ватт. Однако Вы хотите регулировать освещение от 0 ватт (полная темнота) до максимума. Один из способов добиться этого - воспользоваться выключа- телем с регулятором. Чтобы погасить лампу, Вы поворачиваете ручку против часовой стрелки в положение "выкл" (0 ватт), а чтобы включить ее "на всю катушку", - по часовой стрелке до упора (250 ватт). Ну а чтобы добиться полумрака или просто уменьшить яркость, Вы устанавливаете регулятор в какое-то промежуточное положение. Такая система проста, но имеет свои ограничения. Если регулятор нахо- дится в промежуточном положении - скажем, Вы приглушили свет для ужина в интимной обстановке, - останется лишь гадать, каков сейчас уровень осве- щения. Вам не известно ни то, какую мощность "берет" лампа в данный мо- мент, ни то, как точно описать настройку регулятора. Ваша информация приблизительна, что затрудняет ее сохранение и воспроизведение. Вдруг на следующей неделе Вам захочется создать то же освещение ? Ко- нечно, можно поставить отметку на шкале регулятора, но навряд ли это по- лучится точно. А что делать, если понадобится воспроизвести другую наст- ройку ? Или кто-то придет к Вам в гости и захочет отрегулировать свет ? Допустим, Вы скажете: "Поверни ручку примерно на пятую часть по часовой стрелке" или "Поверни ручку, пока стрелка не окажется примерно на двух часах". Однако то, что сделает Ваш гость, будет лишь приблизительно со- ответствовать Вашей настройке. А может случиться и так, что Ваш друг пе- редаст эту информацию своему знакомому, а тот - еще кому-нибудь. При каждой передаче информации шансы на то, что она останется точной, убыва- ют. Это был пример информации, хранимой в "аналоговом" виде. Положение ручки регулятора соответствует уровню освещения. Если ручка повернута наполовину, можно предположить, что и лампа будет гореть вполнакала. Из- меряя или описывая то, насколько повернута ручка, Вы на самом деле сох- раняете информацию не об уровне освещения, а о его аналоге - положении ручки. Аналоговую информацию можно накапливать, хранить и воспроизво- дить, но она неточна и, что хуже, при каждой передаче становится все ме- нее точной. Теперь рассмотрим не аналоговый, а цифровой метод хранения и передачи информации. Любой вид информации можно преобразовать в числа, пользуясь только нулями и единицами. Такие числа (состоящие из нулей и единиц) на- зываются двоичными. Каждый нуль или единица - это бит. Преобразованную таким образом информацию можно передать компьютерам и хранить в них как длинные строки бит. Эти-то числа и подразумеваются под "цифровой инфор- мацией". Пусть вместо одной 250-ваттной лампы у Вас будет 8 ламп, каждая из которых в 2 раза мощнее предыдущей - от 1 до 128 ватт. Кроме того, каж- дая лампа соединена со своим выключателем, причем самая слабая располо- жена справа. Включая и выключая эти выключатели, Вы регулируете уровень освещен- ности с шагом в 1 ватт от нуля (все выключатели выключены) до 255 ватт (все включены), что дает 256 возможных вариантов. Если Вам нужен 1 ватт, Вы включаете только самый правый выключатель, и загорается 1-ваттная лампа. Для 2 ватт Вы зажигаете 2-ваттную лампу. Если Вам нужно 3 ватта, Вы включаете 1- и 2-ваттную лампы, поскольку 1 плюс 2 дает желаемые 3 ватта. Хотите 4 ватта, включите 4-ваттную лампу, 5 ватт - 4- и 1-ваттную лампы, 250 ватт - все, кроме 4- и 1-ваттной ламп. Если Вы считаете, что для ужина идеально подойдет освещение в 137 ватт, включите 128-, 8- и 1-ваттную лампы. Такая система обеспечивает точную запись уровней освещенности для ис-
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 94 95 96 97 |