Механический счёт своими руками
Покрутите колёса Паскалины, наберите узор на перфокартах и посмотрите, из чего Бэббидж собрал машину за сто лет до первого компьютера.
// паскалина
В 1642 году девятнадцатилетний Блез Паскаль построил машину для отца - налогового чиновника, который проводил вечера за бесконечными подсчётами. Внутри зубчатые колёса с цифрами от 0 до 9: когда одно делает полный оборот, оно само сдвигает соседнее на позицию. Крутите колёса кнопками и следите за моментом, когда разряд переполняется.
Крутится только младшее колесо: разряд не переполнен, соседям ничего не передаётся.
Вот он, механический перенос десятков: колесо прошло девятку, вернулось к нулю и толкнуло соседнее. Тот же принцип, что в счётчике пробега автомобиля. Паскалина была первой машиной, где это происходило само - до неё за переносом следил человек, и именно там он чаще всего ошибался.
Колёса кончились, и счёт пошёл по кругу. У механической машины разрядность задана железом: больше, чем помещается на колёсах, она не удержит. Ни складывать в столбик за вас, ни решать, что делать дальше, она тоже не умеет - для этого нужна была совсем другая идея.
// станок жаккара
В 1804 году ткач Жозеф Мари Жаккар подчинил станок стопке картонных карт. Нить проходит через пробитое отверстие - крючок поднимает её, нет отверстия - нить остаётся внизу. Одна карта - один ряд ткани, стопка идёт по кругу. Пробейте дырки и пустите станок: сам станок при этом не меняется ни на винт, меняется только стопка. Это и есть первая в истории программа - инструкции отдельно от машины.
Эту схему на телефоне показать невозможно: она широкая, и в мелком виде по ней ничего не разобрать. Откройте страницу с компьютера или планшета - там схема доступна целиком.
Карты пустые: все нити внизу, полотно будет глухим. Пробейте дырки - это и есть написание программы.
Станок прошёл стопку три раза. Обратите внимание: карт шесть, а рядов восемнадцать - механизм просто повторяет инструкции, пока его не остановят. Через сто лет это назовут циклом.
Узор повторён в точности. Заметьте, что вы не трогали станок - вы меняли карты. Ровно эту мысль Бэббидж и взял у Жаккара: машина одна, а что она делает, решает сменный набор инструкций.
-
Полоска
Самый простой раппорт: две карты, дальше повтор. Станку всё равно, сколько карт в стопке - он просто берёт следующую, а кончились - начинает сначала.
-
Шахматка
Узор задаётся не станком, а чередованием карт. Поменяли местами две карты - получили другую ткань на том же станке.
-
Ёлочка
Саржа: каждая следующая карта сдвинута на нить. На одной карте сдвига не видно - он появляется только когда стопка проходит целиком.
-
Ромб
Узор, который вручную ткали бы неделями и с ошибками. Со стопкой карт он повторяется сколько угодно раз и всегда одинаково - ровно то, ради чего машина и делалась.
-
Кайма
Рамка показывает границу раппорта: видно, где стопка пошла по второму кругу. Длина узора равна числу карт, а не длине ткани.
Настоящие жаккардовые карты были куда больше: сотни отверстий в ряду и тысячи карт в стопке для одного покрывала. Принцип от этого не меняется.
// аналитическая машина
Бэббидж собрал в одной машине всё сразу: «склад» - память на числа, «мельницу» - вычислительный блок, и стопку перфокарт, взятую у Жаккара. Ада Лавлейс первой поняла, что получилось: «Машина не способна ничего породить самостоятельно. Она исполняет лишь то, что мы умеем ей предписать». Проверьте это руками: выберите программу и жмите такт за тактом. Жёлтая карта - та, что сейчас пойдёт в мельницу.
-
01
SET A 12Кладём 12 на склад в ячейку A -
02
SET B 30Кладём 30 в ячейку B -
03
MOVE R AКопируем A в ячейку результата -
04
ADD R BМельница складывает: к R прибавили B -
05
STOPКарты кончились, машина встала -
01
SET A 6Множимое: шесть -
02
SET B 4Множитель, он же счётчик повторов -
03
SET R 0Результат пока пуст -
04
ADD R AПрибавили шесть к результату -
05
SUB B 1Счётчик стал на единицу меньше -
06
IFP B 4Если в счётчике ещё больше нуля - назад к карте 4 -
07
STOPСчётчик пуст, машина встала -
01
SET A 17Первое число -
02
SET B 9Второе число -
03
MOVE R AПока считаем большим A -
04
MOVE C AВо вспомогательную ячейку кладём A -
05
SUB C BВычли B: знак разности всё решает -
06
IFP C 8Разность больше нуля - A и правда больше, к остановке -
07
MOVE R BИначе большее - это B -
08
STOPМашина встала -
01
SET C 5Начинаем с пяти -
02
SET R 0Сумма пуста -
03
ADD R CПрибавили текущее число к сумме -
04
SUB C 1Спустились на единицу -
05
IFP C 3Ещё не ноль - назад к карте 3 -
06
STOPДошли до нуля, машина встала
Машина заправлена, но не пущена: числа лежат на складе, стопка ждёт. Жмите «такт» - и следите за жёлтой картой и за тем, какая ячейка меняется.
Машина встала: карты кончились или дошли до останова. Посмотрите на склад - там и есть весь результат работы. Нажмите «заправить заново», чтобы пройти стопку с начала, или возьмите другую программу.
В ячейке результата ровно то число, ради которого стопка собиралась. Заметьте: машина ничего не решала сама - она брала карту за картой. Это и имела в виду Ада Лавлейс, когда писала, что машина исполняет лишь то, что мы умеем ей предписать.
-
Сложить два числа
Самое простое, на что была способна и Паскалина. Разница в том, что здесь порядок действий записан на картах, а не задан рычагами: поменяйте карты местами - машина сделает другое, не изменившись ни на винт.
R = 42
-
Умножить через сложение
Умножения у машины нет - есть возврат назад по стопке. Карта 6 отправляет механизм на карту 4 снова и снова, пока счётчик не опустеет. Через сто лет это назовут циклом, а пока это просто «повторять карты».
R = 24
-
Выбрать большее
Вот та самая способность решать, которой не было ни у одного арифмометра. Машина смотрит на знак числа и выбирает, какую карту брать следующей. Поменяйте числа в первых двух картах - машина пойдёт другим путём.
R = 17
-
Сложить всё до пяти
Шесть карт считают сумму любой длины: замените пятёрку на сотню - карт останется столько же, тактов станет вдвадцатеро больше. Ровно этим и ценна программа: инструкций меньше, чем действий.
R = 15
Настоящая Аналитическая машина хранила тысячу чисел по пятьдесят цифр и работала бы на паровой тяге. Набор операций здесь сокращён до восьми, но и сложение, и цикл, и ветвление у Бэббиджа были описаны именно так.
Интерактив разработан ANY.BY - ремонт компьютеров и ноутбуков в Барановичах. © 2008-2026. Источник: any.by/demo/istoriya-scheta