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

2.3 Сложение

Сложение, с точки зрения реализации, подразделяется на четыре части:

  1. Сложение.

  2. Строка займов и переносов.

  3. Перевод ответа в систему счисления, вводимую пользователем.

  4. Конечный ответ, переведенный в систему счисления, вводимую пользователем.

2.2.1 Сложение.

В этой части программы происходит сложение чисел. Благодаря выравниванию числа A и числа B по позиции запятой, целая часть числа и дробная считаются отдельно друг от друга (смотри рис.2).

Рисунок 2. Описание частей программы

Эта часть работает по обычному принципу сложения, с помощью соответствующих формул и ряда формул которые проверяют вычисление на ошибки.

=ЕСЛИ(И(числоA=",";числоB=",");",";ЕСЛИ(числоA=""; числоB;ЕСЛИ(числоB =""; числоA; числоA + числоB +*займы))) (11)

Под «числоA» понимается первый символ числа A.

Под «числоB» понимается первый символ числа B.

Под «*займы» понимается символ займа, если он есть, а если его нет то эта ячейка остается пустой.

Эта часть не может выполнять действие сложения без части, которая называется «Строка займов и переносов», т. к. при вычислении в столбик происходят многочисленные переводы и займы (смотри рис.3)

2.2.2 Строка займов и переносов

.

Рисунок 3. Описание частей программы

=ЕСЛИ(Число=",";0;ЕСЛИ(%ответ="";0;ЕСЛИ(%ответ>#кол-во;

1;0))) (13)

Под «Число» понимается предыдущий символ числа A.

Под «%ответ» понимается предыдущий ответ при сложении символа числа A и символа числа B.

Под «#кол-во» понимается количество символов в алфавите, введенным пользователем.

2.2.3 Запись ответа в десятичной системе счисления

В этой части сложения записывается конечный ответ, который получается в результате всех займов, переносов и сложения числа A и числа B.

Рисунок 4. Описание частей программы

=ЕСЛИ(%ответ="";"";ЕСЛИ(%ответ =",";",";ЕСЛИ(%ответ >#кол-во; #кол-во-1; %ответ))) (14)

2.2.4 Перевод ответа в систему счисления, вводимую пользователем

В этой части программы мы получаем ответ (смотри рис5.), полученный в результате сложения и перевода числа A числа B в систему счисления вводимую пользователем. Перевод числа происходит для каждой ячейки отдельно.

Рисунок 5. Описание частей программы

=ЕСЛИ($ответ="";"";ЕСЛИ($ответ =",";",";ПСТР(#алфавит;

$ответ +1;1))) (15)

Под «$ответ» понимается ответ, который получается в результате всех займов, переносов и сложения числа A и числа B.

Под «#алфавит» понимается алфавит, введенный пользователем.

2.4 Вычитание

В этой части программы из числа A вычитается число B. Эта часть программы подразделяется на три части:

  1. Вычитание

  2. Строка займов и переносов.

  3. Перевод ответа в систему счисления, вводимую пользователем

2.2.1 Вычитание

В части программы, которая называется «Вычитание» число B вычитается из числа A. Это действие производится стандартными формулами для вычитания и несколькими формулами для проверки на ошибки.

=ЕСЛИ(числоA="";числоB;ЕСЛИ(числоB="";числоA;ЕСЛИ(числоB ="";"";ЕСЛИ(числоB =",";",";*займы + числоA-числоB))))

2.2.2 Строка займов и переносов

Т. к. при вычитании чисел в столбик происходит множество займов, была создана дополнительная строка, которая отвечает именно за все нужные займи при вычитании числа B и числа A.

=ЕСЛИ(числоA="";0;ЕСЛИ(числоB="";0;ЕСЛИ(числоA=",";0;ЕСЛИ(числоA-числоB <0; #кол-во;0))))

2.2.3 Перевод ответа в систему счисления, вводимую пользователем

Перевод ко