Беликова Е.И. , учитель информатики МБОУ СОШ №4 Поистине титанический труд проделал выдающийся физик и математик, механик и гениальный изобретатель Блез Паскаль (Blaise Pascal, 1623–1662) для создания машины, с помощью которой можно было производить арифметические операции. Эта арифметическая считающая машина вошла в историю развития вычислительной техники под названием Паскалина. За время работы над устройством Паскаль сделал более 50 различных моделей своей машины, в которых он экспериментировал не только с материалами, но и формой деталей машины. В отличие от счетных инструментов типа абака, в арифметической машине Паскаля вместо предметного представления чисел использовалось их представление в виде углового положения оси (вала) или зубчатого колеса, которое несет эта ось. Для выполнения арифметических операций Паскаль заменил поступательное перемещение костяшек в абаковидных инструментах на вращательное движение оси (колеса), так что в его машине сложению чисел соответствовало сложение пропорциональных им углов. Как работает Принцип действия машины таков. В основе его лежит идея обыкновенной зубчатой пары – двух зубчатых колес, сцепленных между собой. Для каждого разряда имеется колесо (шестеренка) с десятью зубцами. При этом каждый из десяти зубцов представляет одну цифру – от 0 до 9. Такое колесо получило название десятичное счетное колесо. С прибавлением в данном разряде каждой единицы счетное колесо поворачивается на один зубец, т. е. на одну десятую оборота. Ввод Ввод производится с помощью штифта. Этим штифтом зубчатое колесо поворачивается на угол, соответствующий вводимой цифре (точно так же, как мы поворачиваем пальцем телефонный диск старого образца). Ввод Чтобы не ошибиться при вводе, на крышке машины вокруг каждого колеса нанесены цифры 0, 1, 2, ...9, а выше колес – надписи Единицы, Десятки и т.д. (над крайними правыми колесами – надписи Су и Денье). В основной денежной единице Франции того времени, ливре, было 20 су, а в одном су – 12 денье. Поэтому младшие разряды (колеса) не десятичные, а, соответственно, 20-ти и 12-теричный. Вывод На крышке машины помещены окошки считывания. Количество окошек, естественно, такое же, как и разрядность машины. В окошках отображаются введенные цифры числа, а также результат суммирования после ввода второго слагаемого сразу после первого. Количество слагаемых при расчете суммы не ограничивается. Важнейшим изобретением Паскаля при создании этой машины был механизм переноса единиц из одного разряда в другой при переполнении разряда в процессе суммирования. Сложение Это упрощенная схема переноса единиц в машине Паскаля. Реальный механизм гораздо сложнее, включает в себя несколько зубчатых передач. Перенос единицы в старший разряд осуществляет удлиненный зуб, который входит в зацепление со следующим колесом только при завершении полного оборота – переполнения разряда. Тогда удлиненный зуб сцепляется со старшим колесом и проворачивает его на единицу – на 1/10 полного оборота. Цифра в окошке счетчика старшего разряда увеличивается на единицу, а в окошке поворачиваемого разряда выводится цифра остатка при делении на 10. Как работает В разных экземплярах машины, изготовленных Паскалем, было разное количество разрядов – 6, 8, 10. Этот экземпляр – 10-ти разрядный. Количество разрядов машины Паскаля ограничивает, в частности, то физическое усилие, которое нужно приложить, чтобы выполнить сложение некоторых чисел. Потому что если сообщить движение одному из наборных колес, то оно, в принципе, может распространиться на несколько колес и даже на все – в случае многократного переноса единиц в старшие разряды, как, например, если к числу 9 999 999 прибавить число 1. Как работает Заметьте, что переноса единицы из самого старшего разряда не происходит – эту единицу просто некуда переносить. В данном случае происходит переполнение (overflow) – эффект, хорошо знакомый всем, кто занимался расчетами на компьютере. Он вызван конечной разрядностью любого компьютера. Этот эффект отличает расчеты на компьютере от расчетов на бумаге и иногда сильно осложняет процесс расчета на компьютере. Вычитание Это упрощенная схема переноса единиц в машине Паскаля. Реальный механизм гораздо сложнее – конструкция не совсем такая, как изображено на рисунке слева, а корончатые, точнее, шиповые колеса с цапфами. С помощью чертежа реальной конструкции понять механизм переноса гораздо сложнее. И этот конкретный механизм переноса не позволяет непосредственно выполнять вычитание на Паскалине – ее колеса не имеют обратного хода (как и телефонный диск). Заметим, что такой обратный ход был в более ранней машине Шиккарда, оставшейся, к сожалению, неизвестной научному сообществу того времени.. Вычитание Невозможность обратного хода счетных колес и исчезновение самой старшей единицы при переполнении натолкнуло Паскаля на идею производить вычитание как сложение с дополнительным числом. Эта идея, родившаяся из «недостатков», оказалась чрезвычайно плодотворной – во всех компьютерах нет отдельной операции арифметического устройства центрального процессора – вычитания – оно всегда реализуется как сложение с дополнительным числом, и обусловлено конечной разрядностью любой цифровой вычислительной машины. Предположим, что мы работаем на 6-ти разрядной машине Паскаля. Значит, самое большое число, которое можно установить, равно 999 999. Число 1 000 000 уже нельзя представить на этом устройстве. Дополнительное число определяется разрядностью машины. Вычитание Например, дополнительное число к числу 1947 определяется как 1 000 000 – 1947 = 998053. Вычтем из числа 2003 число 1947: 2003 – 1947 = = 2003 – 1947 + 1 000 000 –1 000 000 = = 2003 + (1 000 000 – 1947) – 1 000 000 = = 2003 + 998053 – 1 000 000 добавили и вычли 1 000 000 дополнительное число Таким образом, вместо вычитания можно произвести сложение с дополнительным числом, а затем из результата вычесть 1 000 000. Но на машине Паскаля вычитать это число не нужно, так как старший разряд пропадает сам собой. Вычитание Число Дополнительное число 0 0 1 9 4 7 9 9 8 0 5 3 Обратите внимание, что в дополнительном числе цифры разрядов являются дополнениями цифр исходного числа до 9, для всех разрядов, кроме самого младшего. Для самого младшего разряда – это дополнение до 10. Для облегчения работы расчетчика, в большинстве экземпляров машины Паскаля вместе со вводимым числом отображается и его дополнение. Вычитание вводимые числа дополнения Для облегчения работы расчетчика, в большинстве экземпляров машины Паскаля вместе со вводимым числом отображается и его дополнение. Вычитание Таким образом, чтобы с помощью машины Паскаля выполнить действие вычитание, нужно произвести сложение с дополнительным числом. Это вызывает некоторое, пусть и небольшое осложнение – нужно не ошибиться, вычисляя это дополнительное число. Похоже, что это привело Паскаля к идее использования в механических устройствах двоичной системы счисления, так как в ней дополнительные числа вычисляются крайне просто: дополнительное число к 1 равно 0, а дополнительное число к 0 равно 1. Паскаль показал, что любое целое неотрицательное число, не равное 1, может служить основанием системы счисления. Практически все современные (и не только современные, но и почти все когда-либо работавшие) оперируют с числами, представленными в двоичном виде. Такое представление, нерпивычное и неудобное для человека, наиболее естественно для компьютера. Оказалось, что все аппаратные компоненты компьютера по своей физической природе – двоичные. Умножение и деление Умножение в машине Паскаля выполняется как последовательное сложение, а деление – как последовательное вычитание. Так, чтобы, например, умножить число 76543 на 15, нужно ввести это число 76543 15 раз. Это, конечно, трудоемкая операция, к тому же чреватая ошибками при таком многократном вводе. Этот недостаток был преодолен спустя полтора столетиявеликим математиком Годфридом Лейбницем в его считающей машине. Лейбниц изобрел: • ступенчатый валик – механизм, позволяющий дублировать ввод числа, существенно облегчающий умножение на однозначное число; • каретку – механизм умножения числа на десять – перенос чисел в старшие разряды. Но это уже другая история.