Основы информатики_Савельев А.Я_Учебник_2001
.pdf
|
|
7.5. Умножение чисел в Д-кодах |
||
|
|
|
|
Т а б л и ца 7.2 |
Сумматор |
Регистр в |
Примечание |
||
0000 |
0000 0000 |
0010 |
0100 |
и, п. с м - 0; РгВ := IS],,,,; ?гА := {А\^ |
* |
ООП 1101 |
|
0001 |
|
|
ООН 1101 |
|
ООП |
|
* |
ООП П01 |
|
0001 |
|
|
1101 0100 |
|
0010 |
Анализ тетрады й, |
* |
ООП 1101 |
|
0001 |
|
0001 |
0001 0001 |
|
0001 |
|
* |
ООП 1101 |
|
0001 |
|
|
|
|
0000 |
Конец анализа |
0001 |
0100 1П0 |
|
|
Сдвиг на четыре разряда |
(1000 |
0001 0100 |
1П0 |
0010 |
|
* |
ООП 1101 |
|
0001 |
Анализ тетрады Ь-^ |
|
1011 0001 |
|
0001 |
|
|
|
|
||
* |
ООП 1101 |
|
0001 |
|
0000 |
0000 1110 |
|
0000 |
Конец анализа |
|
|
П10 |
П10 |
Сдвиг на четыре разряда |
|
|
|
|
Конец |
В некоторых машинах единой системы при умножении десятичных чи сел в коде Д | используется метод ускорения операции, при котором вся операция сводится к последовательному выполнению сложения или вычи тания на сумматоре дополнительного кода в зависимости от величины оче редной цифры множителя (табл. 7.3)
|
|
|
Т а б л и ц а 7.3 |
|
Очередная [Еифра |
Вид операции |
Очередная цифра |
Вил операции |
|
миожигеля |
множителя |
|||
|
|
|||
0 |
0 |
5 |
+ 2А + 2А + )А |
|
1 |
*\А |
6 |
-2А-2А |
|
2 |
+ 2Л |
7 |
-2А-\А |
|
3 |
+ 2А + \А |
8 |
-2А |
|
4 |
+ 2А + 2А |
9 |
-и |
|
|
|
Гаким образом, предварительно должны быть подготовлены множимое и удвоенное множимое. При этом если предыдущая цифра была больше пягн, то действие на очередном шаге надо увеличить на +\А.
171
7 Выполнение операций над десятичными числами в цифровых автоматах
При умножении десятичных чисел часто используют другие приемы, позволяющие ускорить эту операцию, например, по формулам
АВ = 2А — , если Д |
четное число, |
|
|
2 |
(7.7) |
АВ = 2Л |
R — 1+ Л, если В |
нечетное число. |
|
2 |
|
Действия в соответствии с |
(7.7) можно рассмотреть на примере деся |
тичных чисел: 35-42 = 2-35 |
-(42/2) = 70-21 = 140-10 + 7 0 = 280-5 + 70 = |
= 560 - 2 + 280 -f 70 = 1120 - U 280 -f 70 = 1470 .
При двоично-десятичном представлении чисел прием (7.7) может быть упрощен, так как удвоение числа означает сдвиг влево, а деление на 2 — сдвиг вправо. Так как сдвиги проводятся над двоичными кодами, требуется коррекция тетрад на каждом шаге. Корректирующие поправки определяются для каждого Д-кода. Коррекция выполняется тогда, когда происходит сдвиг единицы из крайнего разряда данной тетрады в сосед
н ю ю тетраду. Например, для кода |
Д, |
корректирующая поправка равна |
|
-f ОНО для тетрад множимого и - О О П |
(или |
-f 1101) для тетрад множи |
|
теля. |
|
|
|
Пример 7.17 (СМ-(19|). Умножить числа |
/(=00100100 |
и fl = 0100 0 0 l l методом (7 7) в |
|
коле Д , . |
|
|
|
Р е ш е н и е - Схема умножения выглядит следующим образом:
, . |
0100 |
В |
0000 |
л |
0100 |
|
+0000 |
0000 |
|
0010 |
0100 |
|
|
ООП |
0010 |
It] |
|
сдвиг |
|||||||||
(-•) |
0010 |
0001 |
0000 |
1000 |
*0000 |
0000 |
|
0100 |
1000 |
||||
(-*) |
0001 |
0000 |
0000 |
0100 |
4.0000 |
0000 |
0000 |
|
оно |
+1100 |
СДВИ!" |
||
|
|
|
|
|
1001 |
^0110 |
|
|
|
+0110 |
поправки |
||
(- |
•) |
0000 |
+1000 |
|
1010 |
Olio |
(«- |
0000 |
0000 |
|
0111 |
0010 |
Сдвиг |
|
4.0010 |
+1100 |
|
||||||||||
|
0000 |
1101 |
|
^0110 |
^0110 |
|
0000 |
0П01 |
|
1001 |
0010 |
поиpanки |
|
|
|
0101 |
|
1001 |
0010 |
|
|
|
|||||
|
|
|
|
|
|
|
|
0000 |
0010 |
+0000 |
0100 |
|
|
(-•) |
0000 |
0010 |
0011 |
+0010 |
|
|
|
|
+0110 |
|
|
||
0100 |
(• -) |
0000 |
0010 |
|
0110 |
0100 |
СДВИ1 |
||||||
|
|
|
|
ООН |
оно |
0100 |
, |
|
|
|
|
|
поправки |
(-•) |
0000 |
0001 |
1000 |
|
|
|
|
|
|
||||
0111 |
,0000 |
1000 |
(«- |
|
|
|
|
|
СДВИ! |
||||
|
|
|
|
0111 |
+0110 |
1000 |
|
0000 |
0111 |
|
оно |
1000 |
поправки |
|
|
|
0000 |
оно |
(«-) |
|
сдвиг |
||||||
(-•) |
0000 |
1110 |
1101 |
0000 |
0000 |
1001 |
|
+1100 |
|||||
|
|
+ 1100 |
поправки |
||||||||||
|
|
|
|
|
|
|
0001 |
|
+0110 |
+0110 |
|||
|
|
|
|
|
|
|
|
4т |
ООН |
ООН) |
|
||
|
|
|
|
|
|
|
|
0000 |
|
|
|
||
Конец, |
|
|
|
|
|
|
0000 |
|
ООП |
0010 |
|
||
|
|
|
|
|
|
|
|
|
|
|
Ответ: .^5=00010000 00110010,
172
7.6.Деление чисел в Д-кодах
7.6.Деление чисел в Д-кодах
Деление десятичных чисел в Д-кодах выполняется методом последова тельного вычитания делителя из делимого на первом шаге и из остатков — на последующих шагах. Вычитание на каждом шаге проводится до тех пор, пока не получится отрицательный остаток. Каждый раз при получении по ложительного остатка добавляется единица в специальный счетчик, где на капливается очередная цифра частного. Затем осуществляется сдвиг на че тыре двоичных разряда и прибавление делителя до тех пор, пока не получится положительный остаток. Количество сложений (без последнего) является дополнением соответствующей цифры частного до 9, что заносит ся в счетчик очередной цифры частного.
Таким образом, процесс деления состоит из ряда последовательно че редующихся циююв сложения и вычитания со сдвигами. Знак частного по лучается как логическая сумма по модулю 2 знаков чисел.
Все действия при выполнении операции деления должны осуществ ляться на сумматоре дополнительного (обратного) кода, работающего по правилам сложения — вычитания соответствующего Д-кода.
Для просюты рассмотрим пример деления в десятичной системе счис ления, не прибегая к представлению чисел в виде тетрад.
Пример 7.18 |
I'auicJiMii. число Л = 0.154675 на |
й = 0,550 . |
1'с 1м е и и с |
yciiiiionKii исхолпого положения, |
|
\\\\\\ \ Осуществляется пробное вычитание: если результат положительный или равен n>.ii(), 1(1 [и.|р;|Г);||Ы!!ае^!ся сиишл прерывания, если отрицательный, то проводится сдвиг на
(),'П!у K-[p;i;sy
В ,'iinmoM случае иолушстся отрицшельный остаток (рассматривается только цифровая
4i\L\\. чисел) |
|
|
|
Шаг 2 |
154 675 |
СЧ:=0 |
|
|
" 55 000 |
|
|
|
|
99 675 |
СЧ:=0 + 1 |
|
" 55 000 |
|
|
|
|
44 675 |
СЧ := 1 +1 |
|
" 55 000 |
С, =2 |
|
OciaroK |
< О |
89 675 |
|
Шаг 3: |
* |
89 675 |
СЧ:=9 |
|
5 500 |
СЧ:=9-| |
|
|
* |
95175 |
|
|
5 500 |
Г, =8 |
|
|
00 675 |
173
7 Выполнение операций над десятичными числами в цифровых автоматах
Ш а г 4 |
|
00 675 |
СЧ:=0 |
|
|
550 |
|
|
|
00125 |
С Ч - 0 + 1 |
Остаток |
< О |
550 |
С, = 1 и т. д. |
99 575 |
Ответ С = 0,281
Алгоритм десятичного деления, подобный рассмотренному, использу ют в машинах ЕС ЭВМ.
Для ускорения операции деления применяют приемы, ана;югичнь1е приемам, употребляемым для ускорения выполнения операции умножения.
Пусть А — делимое, В — делитель, С —частное. Предположим, что
удалось отыскать частное |
в виде С = О, с^С2 •. • с„ . Тогда |
|
^ - 5 - ( с , |
- 2 " ' +С2-2~' +... + с„-2") + Л„, |
(7.8) |
где Л„ —остаток от деления.
Пусть |
R„ =0 . Положим, что С| = I, Cj = Сз = ... = О . Тогда остаток на |
|
первом шаге Л, = |
А-Т^В. |
|
Если |
Л( > О, то |
С| = 1; если Л, < О, то с, = О . В последнем случае вос |
станавливается предыдущий положительный остаток, Затем принимаем,
что Cj ~ I, а остальные с, =0 |
и т. д. |
|
|
Остаток на любом шаге |
|
|
|
Л, |
^A~BJ^C, |
-1" . |
(7.9) |
Таким образом, при делении десятичных чисел, заданных в Д-коде, ре зультат получается в двоичной системе счисления.
Пример 7J9. Найти частное отделения /i = 0,2425 на 5 = 0.5200.
Р е ш е н и е . Для наглядности выполним этот пример в десятичной системе счисле ния с записью результата в двоичном коде, предполагая, что при переходе к определен ному Д-коду все операции над десятичным числами будут выполняться сю правилам этого Д-кода.
I !ослеловательность выполнения операции деления дана в таблице 7-4, Ответ. С-0,011101,
Так как при сдвиге чисел, представленных в Д-коды, приходи1ся вво дить гюправки, то для хранения делителя цеяесообраз1ю имен, самостоя тельный сумматор, в котором при переносе единицы из одной тетрады в другую автоматически вносится поправка.
174
7 7 Извлечение квадратного корня вД-кодах
Делитель на /-м шаге |
Сумматор |
|
0.5200 |
0,2425 |
|
0,2600 |
0,2600 |
|
|
||
|
9,9825 |
|
|
*0,2600 |
|
0,1300 |
0,2425 |
|
|
0,1300 |
|
0.0650 |
0,1125 |
|
|
0,0650 |
|
0.325 |
0,0475 |
|
0.0162 |
"0,0325 |
|
0,0150 |
||
|
||
|
"0,0162 |
|
0.0081 |
9,9938 |
|
|
*0,0162 |
0,0150
"0,0081
0,0069
Т а б л и ц а 7.4
Примечания
И. П. |
|
|
|
|
В2-'\ |
С М : = | С М 1 - в - 2 ' ; |
|||
остаток отрицательный |
с, = 0 ; |
|||
восстановление |
й , ; |
|
|
|
|
fl-2 ^ C M - ( C M l - f l 2 - : |
|||
остаток положительный |
С2 = 1 : |
|||
|
S 2 " ' ; C M : = ( C M l - f l 2 ^ ' ; |
|||
остаток положительный |
с^ |
=\'. |
||
|
В-2-'; |
С М : = ( С М 1 - в 2 * ; |
||
остаток положительный |
с, |
= 1 ; |
В2 " ' ; С М : = [ С М ] - В - 2 - ' ; остаток отрицательный с, = 0 ; восстановление й ; ;
В2 ^ ; С М : = ( С М 1 - В - 2 - ' ; остаток положительный с^ = 1 ;
ит.д. Конец
7.7.Извлечение квадратного корня в Д-кодах
Воснову алгоритмов извлечения квадратного корня в десятичной сис теме может быть с некоторыми уточнениями положена формула (6.8). Если для двоичной системы счисления в качестве нулевого приближения берут
величину Уо ^2'*'"' ', где Е{т/2) — целая часть числа т/2, am — наи больший показатель степени основания системы, присутствующего в за данном числе, то для десятичной системы правильный выбор нулевого приближения определяет число итераций, необходимых для получения за данной точности. Как известно, точность результата ограничивается чис лом разрядов сумматора, на котором проводится действие. Так, например, если имеется шестиразрядный сумматор и на шаге / промежуточное значе ние резульгата у, имеет одну верную цифру, то можно предположить, что у,^1 будет иметь по крайней мере две верных н одну сомнительную цифры, для получения которых используе-гся пять разрядов сумматора. Для про верки и выявления правильных цифр необходимо получить их на (/ + 2)-м шаге. Но из-за ограниченности разрядной сетки на этом шаге можно полу-
175
". Выполнение операний над десятичными числами в цифровых автоматах
ЧИТЬ только три цифры. Таким образом, на шестиразрядном сумматоре в результате можно получить две верных и одну сомнительную цифры. Из-за этого обстоятельства итерационный метод нахождения корня является не целесообразным для двоично-десятичного представления чисел. Рассмот рим несколько иной подход.
В десятичной системе счисления целое число можно представигь в ви де степенного полинома по основанию 10:
^ = а „ 1 0 " + . . . + а | 1 0 ' + а „ 1 0 ° .
Квадрат числа А можно записать так:
л' =а;10'"+2а„10"(Ч . - г10""' +... + 0,-10 +«„) + («„_,• 10""' +...
... + щ\й + а„)- =al •10-"+2а„(а„^1 -10""' +... + Щ • 10 + а„) +a,^^i •10-"'"" + + 2а„_| +IO""'lO"(a„_j-10"'- +,.. + «,• 10+ а„) +,.. +а? • Ю'+
+ 2а, Ю^а, - 10'+ а, |
10 |
+a„) + aj'lO'' + 2а, • Ю'Са, • 10 + |
+ а(,) + 0|- |
10' |
-Ю' +2а, Ю-Оо +al, |
где и — любое целое число.
Раскроем в этом выражении скобки и сгруппирует члены по убываю щим степеням:
/4' = а,; • 1 о'" + а„_| • 10""' (2а„ -10"+ «„_, • 10""') + a„_j • I О"' (2а„ 10" + + 2а„_| 10""' + а„_2 • 10""') + а„_, • 10"~'(2а„ • 10" + ... + a„j • 10""') + ,..
... + ао(2ч,-iC' + Za,,-! -Ю""' + ... + 2а, • 10 +а„).
Здесь на каждом последующем этапе содержимое в /-Й скобке огличается от содержимого скобки иа предыдущем этапе тем, что имеет дополни тельные слагаемые а,,^,^, • 10""'" и а„_, -10""'.
Обозначим скобку на |
каждом этапе через Ъ, и примем Л,,., - О и |
^»i+i ~ ^ ' тогда |
|
А' =(Ь^^^^+ а „ | |
• 10"*' + а„ • 10")а„ • 10" + (*„ + а„ • 10" + |
+ а„_| 10""' )а„^| 10""'+ (*„,, + а„_| • 10""' + a„^j • 10""' )a„_j 1 0 " ' + . . .
... + (*2 +«2 ''0^ +"1 ''О)"! -Ю + С*! +«1 •10 + а„)а„.
Данное допущение возможно, так как первоначальная запись числа А в виде степенного полинома предполагает, что число А не имеет степеней, больших чем п.
176
7.7- Извлечение квадратного корня вД-кодах
Вынося из скобок Ь, общие для скобки множители, получим
-4^ = (*,',*! • 10 + а,*, • 10 + а „ ) а „ -10^" + (ft,, • 10 + а„ • 10 + + а„^|)а„_| • 10'""'' +... + (*;• 10 + а, • 10 + а„)а„.
Окончательно получим |
|
л' =Х!(*,'*! -Ю + а,^,-10 +а,)а,-10^' , |
(7.10) |
где ft,'^| — коэффициент при а,,^, 10^''*'', т.е. полученный на |
предыдущем |
этапе.
Алгоритм ручного вычисления квадратного корня по данной формуле можно представить следующим образом:
1. Провести анализ двух старших разрядов числа А^, найти число а „ , квадрат которого наиболее близко подходит к двум старшим разрядам чис ла А^, оставаясь меньше последнего.
2. Провести вычитание из старших разрядов А^ квадрата числа а „ .
3.Удвой гь число а„ .
4.Сдвинуть остаток от вычитания на два разряда влево, а величину 2с/„ — на один разряд влево.
5.Приписать справа от остатка вычитания два следующих старших разряда числа А'^.
6.Провести анализ полученного числа на равенство нулю.
7.Если полученное число не равно нулю, то, анализируя его, найти та кое а„ I, которое, будучи умноженным на (2а„ • 10 + о,,^,), даст в результате Mncjro, меньшее 1юлученпого на пятом шаге, но наиболее близкое к нему по значению. Перейти к п. 3.
8.Если при анализе в п. 6 получено равенство, то перейти к п. 4, предвартельпо приписав справа от а„ нуль.
Ч, После получения количества цифр, равного и/2, прекратить вычис ление.
При анализе в пп. 1, 7 можно использовать следующее соображение: ес ли последова1ельпо рассматривать квадраты чисел от О до 9, то переход от квадрата од|ю1 о числа можно представить как прибавление к уже известному квалра1у определенного числа, которое можно определить из формулы
с = а' - ft' = (и - ft)(o + ft); если а = ft - 1 , то а' =Ь' +{а- Ь)(а + b) = b' + + (а + ft), где а — предыдущее число, возведенное в квадрат.
177
7.Выполнение операций над десятичными числами в цифровых автоматах
Данный метод позволяет повысить точность результата. На шестираз рядном сумматоре можно получить в результате пять точных цифр, так как не все число во время выполнения над ним действий располагается на сум маторе.
Кнедостаткам метода относят довольно длительное время, необходи мое для получения результата.
7.8. Перевод чисел в Д-код
Рассмотрим некоторые вопросы перевода десятичных чисел, представ ленных в Д-коде, в двоичную систему счисления.
Пусть задано десятичное число A^a^a^Oia^, |
десятичная цифра, кото |
|
рая должна быть представлена в Д-коде в виде а, = |
{a^a^a'^a'^}^. |
|
Используя равенство 10 = 8 + 2 = 2 ' + 2 ' , любое десятичное целое чис |
||
ло можно записать как |
|
|
А,=(... |
((аГоГ а 7 а;" (2^ + 2') + а^аза'аГХг' + 2') + |
|
|
+ а.',а.1а.\а\)(1^ + 2') + a^ajajaj). |
|
Умножение на |
2 означает сдвиг двоичного кода на к разрядов влево. |
Следовательно, перевод сводится к сдвигу соответствующих тетрад и их последующему суммированию. Это суммирование может быть выполнено по следующей схеме (для четырехразрядного числа):
аХ |
а',' |
а" |
о"' |
«Г |
а'" |
<" |
|
а"' |
а* |
< |
«Г |
а" |
а\ |
|
|
а. |
а" |
"' |
о1 |
« • " |
|
o-l |
a'l |
< |
а' |
а\ |
|
|
|
оГ |
а" |
а" |
<• |
а' |
|
а]' |
а7 |
а" |
а', |
|
|
|
|
а, |
о" |
^Г |
«7 |
а^ |
|
а" |
а" |
a ' j |
|
|
|
|
|
|
о" |
«Г |
а" |
|
|
а" |
а* |
а\ |
|
|
|
|
|
|
|
|
а"* |
а' |
|
а"' |
а4 |
|
|
|
|
|
|
|
|
С Е " |
«Г |
а" |
|
а'" |
|
|
|
|
|
|
|
|
|
|
а" |
|
а" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
II |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
|
I |
О |
|
В схеме некоторые символы встречаются многократно. Так как при пе |
реводе осуществляется суммирование по столбцам, то пары одинаковых символов дадут единицы переноса в соседние разряды.
178
7 8. Перевод чисел вД-код
Таким обрадом, перевод числа в Д-коде осуществляетх;я путем сумми рования элементов тетрад по столбцам с передачей соответствующих пере носов.
Подобные способы перевода реализованы в машинах ЕС ЭВМ, маши нах фирмы «IBM» и т. д. При разработке схем перевода приходится решать вопросы создания суммирующего устройства на много входов. При перево де, например, восьмиразрядного десятичного числа количество слагаемых в столбце оказывается равным 13. Значит, надо иметь сумматор на 13 входов. Реализовать такую схему можно с помощью многоступенчатых схем. При этом возникают дополнительные задержки сигнала, что снижает скорость перевода чисел.
Перевод числа из двоичной системы счисления в Д-код может осуще ствляться разными способами. В некоторых случаях для ряда последова тельных операций над двоичным изображением числа может быть исполь зована сама вычислительная машина (например, деление на число 1010 целых двоичных чисел; десятичные цифры получаются последовательно одна за другой. При дробных числах эта операция видоизменяется таким образом, чтобы при умножении на число 1010 можно было получить соотве'гствующие цифры десятичных дробей).
Алгоритмы перевода чисел из двоичной системы счисления в Д-код могут быть реализованы схемными или программными способами. Схем ные способы перевода десятичных чисел в Д-код или из Д-кода в двоичную систему счисления и обратно весьма перспективны.
Задание для самоконтроля
1. Какие комбинации являются запрещенными для кодов Дь Дг^ As ?
2. |
Преобразовать число |
/i =-0,6315 |
в дополнительный кол в кодах Д, н Д; - |
||
3. |
Преобразовать число |
В = -0,1234 |
в обратный код в кодах Д; н Д^. |
||
4. Сложигь числа Л = -0,6315 |
и Й = 0,1234 |
на cyMMarqje дополнительного кода в коде Д,. |
|||
5. Сложить числа /4 = 0,6315 |
и В = -0,1234 |
на сумматоре обратного кода в коде Д^. |
|||
6. Сложи! ь числа Л = 0,М45 и S=-0,1246 |
на сумматоре дополнительного кода в коде Д^. |
||||
7. |
Перемножить чис па А=0,\2 |
и В = 0,13 |
на сумматоре прямого кода в коде Д, - |
||
8. Разделигь число А = 0,1246 |
на S = 0,13 на сумматоре дополнительного кода в коде Д^. |
||||
9. |
Перемножить числа |
^ = 0,146 и |
5 = 0,178 ускоренным методом по (7.7) в коде Д, |
(Сумматор обратного кода).
10. Извлечь квадратный корень из числа /i =0,14412 на сумматоре обратного кода в коде
Д|
179
8. КОНТРОЛЬ РАБОТЫ ЦИФРОВОГО АВТОМАТА
8.1. Кодирование информации как средство обеспечения контроля работы автомага
Коды как средство тайнописи появились в глубокой древности. Из вестно, что еще древнегреческий историк Геродот в V в. до н. э. приводил примеры писем, понятных лишь адресату. Секретная азбука использовалась Юлием Цезарем. Над созданием различных секретных шифров работали такие известные ученые средневековья, как Ф. Бэкон, Д. Кардано и др. По являлись очень хитрые шифры и коды, которые, однако, с течением време ни расшифровывались и переставали быть секретом. Первым кодом, пред назначенным для передачи сообщений по каналам связи, был код С. Морзе, содержащий разное количество символов для кодирования букв и цифр. За тем появился код Ж. Бодо, используемый в телеграфии, в котором все бук вы или цифры содержат одинаковое количество символов. В качестве сим волов может выступать наличие или отсутствие (пробел) импульса в электрической цепи в Данный момент.
Коды, использующие два различных элементарных сигнала, называют ся двоичными. Эти сигналы удобно обозначать символами О и I. Тогда ко довое слово будет состоять из последовательностей нулей и единиц.
Двоичное кодирование тесно связано с принципом дихотомии, кото рый реализуется в графическом методе представления двоичной информа ции в виде графов.
В гл. 1 и 3 были рассмотрены общие и конкретные вопросы кодг!рования информации в цифровом автомате. Однако эти методы сами 1ш себе еще не обеспечивают правильность выполнения того или иного алгоритма. Рассмотренные ранее алгоритмы выполнения арифметических операций обеспечат правильный результат только в случае, если машина работает без нарушений. При возникновении какого-либо нарушения нормального функционирования результат будет неверным, однако пользователь об этом не узнает, если не будут предусмотрены меры, сигнализирующие о появле нии ошибки. Следовательно, с одной стороны, разработчиками машины
180