Перейти к содержимому
0.1. Люди, которые хотели считать быстрее

Механический счёт своими руками

Покрутите колёса Паскалины, наберите узор на перфокартах и посмотрите, из чего Бэббидж собрал машину за сто лет до первого компьютера.

// паскалина

В 1642 году девятнадцатилетний Блез Паскаль построил машину для отца - налогового чиновника, который проводил вечера за бесконечными подсчётами. Внутри зубчатые колёса с цифрами от 0 до 9: когда одно делает полный оборот, оно само сдвигает соседнее на позицию. Крутите колёса кнопками и следите за моментом, когда разряд переполняется.

0 1 2 3 4 5 6 7 8 9 103 0 1 2 3 4 5 6 7 8 9 102 0 1 2 3 4 5 6 7 8 9 101 0 1 2 3 4 5 6 7 8 9 100
0 набрано на колёсах

Крутится только младшее колесо: разряд не переполнен, соседям ничего не передаётся.

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

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

// станок жаккара

В 1804 году ткач Жозеф Мари Жаккар подчинил станок стопке картонных карт. Нить проходит через пробитое отверстие - крючок поднимает её, нет отверстия - нить остаётся внизу. Одна карта - один ряд ткани, стопка идёт по кругу. Пробейте дырки и пустите станок: сам станок при этом не меняется ни на винт, меняется только стопка. Это и есть первая в истории программа - инструкции отдельно от машины.

Эту схему на телефоне показать невозможно: она широкая, и в мелком виде по ней ничего не разобрать. Откройте страницу с компьютера или планшета - там схема доступна целиком.

Стопка карт
Карта 1
Карта 2
Карта 3
Карта 4
Карта 5
Карта 6
Что выткал станок

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

  1. Полоска

    Самый простой раппорт: две карты, дальше повтор. Станку всё равно, сколько карт в стопке - он просто берёт следующую, а кончились - начинает сначала.

  2. Шахматка

    Узор задаётся не станком, а чередованием карт. Поменяли местами две карты - получили другую ткань на том же станке.

  3. Ёлочка

    Саржа: каждая следующая карта сдвинута на нить. На одной карте сдвига не видно - он появляется только когда стопка проходит целиком.

  4. Ромб

    Узор, который вручную ткали бы неделями и с ошибками. Со стопкой карт он повторяется сколько угодно раз и всегда одинаково - ровно то, ради чего машина и делалась.

  5. Кайма

    Рамка показывает границу раппорта: видно, где стопка пошла по второму кругу. Длина узора равна числу карт, а не длине ткани.

Настоящие жаккардовые карты были куда больше: сотни отверстий в ряду и тысячи карт в стопке для одного покрывала. Принцип от этого не меняется.

// аналитическая машина

Бэббидж собрал в одной машине всё сразу: «склад» - память на числа, «мельницу» - вычислительный блок, и стопку перфокарт, взятую у Жаккара. Ада Лавлейс первой поняла, что получилось: «Машина не способна ничего породить самостоятельно. Она исполняет лишь то, что мы умеем ей предписать». Проверьте это руками: выберите программу и жмите такт за тактом. Жёлтая карта - та, что сейчас пойдёт в мельницу.

Стопка карт: программа
  1. 01 SET A 12 Кладём 12 на склад в ячейку A
  2. 02 SET B 30 Кладём 30 в ячейку B
  3. 03 MOVE R A Копируем A в ячейку результата
  4. 04 ADD R B Мельница складывает: к R прибавили B
  5. 05 STOP Карты кончились, машина встала
Склад: числа
A 0 первое число
B 0 второе число
C 0 счётчик
R 0 результат
Мельница: карта в работе

0 тактов прошло нужно получить

Машина заправлена, но не пущена: числа лежат на складе, стопка ждёт. Жмите «такт» - и следите за жёлтой картой и за тем, какая ячейка меняется.

  1. Сложить два числа

    Самое простое, на что была способна и Паскалина. Разница в том, что здесь порядок действий записан на картах, а не задан рычагами: поменяйте карты местами - машина сделает другое, не изменившись ни на винт.

    R = 42

  2. Умножить через сложение

    Умножения у машины нет - есть возврат назад по стопке. Карта 6 отправляет механизм на карту 4 снова и снова, пока счётчик не опустеет. Через сто лет это назовут циклом, а пока это просто «повторять карты».

    R = 24

  3. Выбрать большее

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

    R = 17

  4. Сложить всё до пяти

    Шесть карт считают сумму любой длины: замените пятёрку на сотню - карт останется столько же, тактов станет вдвадцатеро больше. Ровно этим и ценна программа: инструкций меньше, чем действий.

    R = 15

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

Интерактив разработан - ремонт компьютеров и ноутбуков в Барановичах. © 2008-2026. Источник: any.by/demo/istoriya-scheta