Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
496692.docx
Скачиваний:
0
Добавлен:
06.08.2019
Размер:
77.29 Кб
Скачать

14 Вопрос

Алгоритм сложения

Сложение однозначных чисел можно выполнить, основы­ваясь на определении этого действия, но чтобы всякий раз не обращаться к определению, все суммы, которые получаются при сложении однозначных чисел, записывают в особую таб­лицу, называемую таблицей сложения однозначных чисел, и запоминают.

Естественно, смысл сложения сохраняется и для много­значных чисел, но практическое выполнение сложения проис­ходит по особым правилам. Сумму многозначных чисел обычно находят, выполняя сложение столбиком.

Видим, что в основе алгоритма сложения многозначных чисел лежат следующие теоретические факты:

- способ записи чисел в десятичной системе счисления;

- свойства коммутативности и ассоциативности сложения;

- дистрибутивность умножения относительно сложения; -таблица сложен и я однозначных чисел.

Выведем алгоритм сложения многозначных чисел в общем виде. Пусть даны числа: х = аn*10n + аn-1*10 n-1 + ... + а0 и у = bп*10 n+ bn-1*10n-1 + ... +b0, т.е. рассмотрим случай, ко­гда количество цифр в записи чисел х и у одинаково, х + у -= (an*10n+an-1*10n-1+ ... + а0) + (bn*10n+bn-1 + ... + b0) = (an+bn)*10n+(an-1+bn-1)*10n-1+ ... + (ав + b0) - преобразо­вания выполнены на основе свойств ассоциативности и коммута­тивности сложения, а также дистрибутивности умножения от­носительно сложения. Сумму (а, +bn)10n + (аn-1 + bn-1)*10n-1 + ... + (а0 + b0), вообще говоря, нельзя рассматривать как деся­тичную запись числа х + у, так как коэффициенты перед сте­пенями 10 могут быть больше 9. Лишь в случае, когда все суммы ак + bk не превосходят 9, операцию сложения можно считать законченной. В противном случае выбираем наимень­шее к, для которого ак + bк ≥10. Если ак + bк 10, то из того, что 0 ≤ ак 9 и 0 ≤ bк ≤ 9, следует неравенство 0 ≤ ак + bк18 и по­этому аk + bк можно представить в виде ак + bк = 10 + ск, где 0 ≤ск 9. Но тогда к + bк)*10к = (10 + сk)*10k=10k+1+ ck* 10 . В силу свойств сложения и умножения в п+bn)*10n +...+(a0+b0) слагаемые (аk+1 + bk+1)*10k+1 + (аk + bk)*10 могут быть заме­нены на (ak+1 + bk+1+ 1)*10k+1 + сk*10k . После этого рассмат­риваем коэффициенты аn+ bn, аn-1, + bп-1, ..., ak+2 + bk+1, ak+1+ bк+1 + 1, выбираем наименьшее s, при котором коэффи­циент больше 9, и повторяем описанную процедуру. Через п шагов придем к выражению вида: х + у = (сn + 10)*10n + ... + с0, где сn 0, или х + у = 10n+1+ сn*10n + ... + с0, и где для всех п выполняется равенство 0 ≤ сn < 10. Тем самым получена деся­тичная запись числа х + у.

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

Он позволяет сформулиро­вать в общем виде алгоритм сложения натуральных чисел, записанных в десятичной системе счисления.

1. Записывают второе слагаемое под первым так, чтобы соответствующие разряды находилось друг под другом.

2. Складывают единицы первого разряда. Если сумма меньше десяти записывают ее в разряд единиц ответа и пере­ходят к следующему разряду (десятков).

3. Если сумма единиц больше или равна десяти, то пред­ставляют ее в виде а0+ b0 = 1 • 10 + св, где с0 - однозначное число; записывают с0 в разряд единиц ответа и прибавляют 1 к десяткам первого слагаемого, после чего переходят к раз­ряду десятков.

4. Повторяют те же действия с десятками, потом с сотнями и т.д. Процесс заканчивается, когда оказываются сложенными цифры старших разрядов. При этом, если их сумма больше или равна десяти, то приписываем впереди обоих слагаемых нули, увеличиваем нуль перед первым слагаемым на 1 и вы­полняем сложение 1+0=1.

Заметим, что в этом алгоритме (как и в некоторых других). для краткости употребляется термин «цифра» вместо «одно­значное число, изображаемое цифрой».