- •Введение
- •1. Описание составляющих частей программы
- •1.1 Лицевая часть
- •1.2 Динамическое выравнивание чисел по позиции запятой
- •1.3 Сложение и Вычитание
- •2 Описание работы состовляющих частей программы
- •2.1 Лицевая часть
- •2.2 Динамическое выравнивание чисел по позиции запятой
- •2.3 Сложение
- •Сложение.
- •2.2.1 Сложение.
- •2.4 Вычитание
- •Вычитание
- •2.2.1 Вычитание
2.3 Сложение
Сложение, с точки зрения реализации, подразделяется на четыре части:
Сложение.
Строка займов и переносов.
Перевод ответа в систему счисления, вводимую пользователем.
Конечный ответ, переведенный в систему счисления, вводимую пользователем.
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. Эта часть программы подразделяется на три части:
Вычитание
Строка займов и переносов.
Перевод ответа в систему счисления, вводимую пользователем
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 Перевод ответа в систему счисления, вводимую пользователем
Перевод ко
