Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) ( 9 ) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (9)

г,I их концов. В этом случае при составлении программы следует реализовать умножение вектора иа скаляр

сложение или вычитание векторов с координатами алгебраической суммы

ж = «1 + д:, уу + у zZi± г., векторного произведения двух векторов с координатами результата

X = yiz.2 - Zii/2, у = ZiXi - XiZ., г=х1У2-Х2У1 и скалярного произведения двух векторов с результатом, равным

а = xix.!, + ууг + Ziz.

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

Программа 19. Цепные операции сложения, вычитания, умножения на скаляр, векторного н скалярного произведения векторов, заданных координатами концов [Xl, yt, 2,]

ПД КБПД ИП4 -, П4 ИП5 /-/ П5 ИП6 /-/ П6 ИП6 ИП9 + П9 ИП5 ИП8 -f П8 ИП4 ИП7 -f П7 С/П БП 00 ИП4 ИП7 X ИП5 ИП8 X + ИП6 ИП9 X + ПА БП 23 ИП8 ИП6 X ИП9 ИПЗ X - ПЗ ИП9 ИП4 X ИП7 ИП6 X - ИП5 ИП7 X ИП4 ИП8 X - те- П8 ИПЗ БП 22 ИПА ИП9 X П9 ИПА ИП8 X П8 ИПА ИП7 X БП 22 1 1 ПО 2 П1 6 8 П2 2 6 ПС 4 О ПВ БП 23

Инструкция. БП 8 1 С/П (РХ = 40), ввести координаты концов векторов л;1=Р7, У1 = Р8, ii = P9, л;2 = Р4, У2 = РЪ, 22=Р6; для сложения нажать клавиши ИП + С/П, для вычитания - клавиши ИП - С/П, для умножения иа вещественное число, занесенное в регистр А, - клавиши ИП X С/П, для векторного и скалярного умножения - соответственно клавиши ИП В С/П и ИП С С/П; результат скалярного умножения хранится в регистре А, результаты остальных операций PX = P7=x, Р\ = Р8 = у, Р9=2; координаты очередного вектора ввести в регистры 4, 5, 6 и нажать клавиши для выполнения нужной операции.

Примеры. Для векторов /1 = [1, 2, 3], В = [3, 2, 1), С=[1, 2, 1], D = [2, 1, 31, £[3, 1, -2] получим

Л 4-В = [4, 4, 4); (Л В)/2 = {Л4 В)0,5 = [2, 2, 2]; (Л + В)/2-С = [1, О,

{(Л+В)/2-С) X D = l-1, -1, 1]; {«Л-f В)/2-С) X Z)) £ = - 6.

Длину вектора определяют по формуле d - ух + у+г, а по выражениям a = arccos (x/d), p = arccos (y/d), Y = arccos (z/d) вычисляют углы между вектором, заданным коордииата.ми конца [х, у, z] и координатными осями.

Программа 20. Вычисление длины d вектора, заданного координатами конца \х, у, 2] и углов а, р и -у между вектором и координатными осями



П9 х2 П8 х2 -f П7 х2 +

/ ПЗ ИП9 ИПЗ C0S-1 П6 ИП8 ИПЗ C0S-1 П5 ИП7 ИПЗ C0S-1 П4 ИПЗ С/П

Инструкция. Установить переключатель Р-ГРД-Г в нужное положение л: = Р2, у=Р\, г = РХ В/О С/П PX = P3 = d. PY = P4 = a, Р5=Р, Р6 = =Y {Р7=л:, Р8=У. P9=z); i»l2 с.

Пример. Для вектора Л =-1, -2, 3 получим d = 3,7416573; а= 105,50136°; Р= 122,31154°; Y=36, 699224°. Программы, связанные с операциями над векторами, приведены в [17].

1.6. Логические операции над бинарными переменными

При анализе и синтезе ряда импульсных (цифровых) радиотехнических устройств используют логические операции над бинарными переменными х, принимающими только значения О или 1. Результатом такой операции является бинарная функция, также принимающая только значения О или 1. Два из четырех возможных результатов одноместных операций F(x)-0 и F{x)=l являются константами, результат (л:)=л: равен переменной, а результат, называемый отрицанием F(x)=x, соответствует операции, называемой инверсией или логическим НЕ; 0=1 нТ=0.

Результатами двухместных операций над переменными х и у являются 16 функций [И]. Формально все они могут быть выражены через небольшое число операций (например, только через едниствеиную операцию Шефера), но в этом случае логические уравнения связи и соответствующие им аппаратурные решения оказываются довольно громоздкими. Поэтому обычно используют двухместные операторы:

Л - логического умножения (логическое И), V - логического сложения (логическое ИЛИ) и иногда 0 - логического сложения над полем модуля 2 (исключающее ИЛИ)*.

Логическое умножение выполняется согласно правилам

ОДО = 0; ОД! =0; 1Д0 = 0; 1Д1 = 1, логическое сложение

0V0 = 0, 0V1 = 1. 1V0= 1, IVI = 1, а сложение иад полем модуля 2

000 = 0, 001 = 1, 100= 1, 101 =0.

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

Бинарными сообщениями с различными последовательностями символов О и 1 можно отобразить любую информацию, но способ ее представления зависит 6т выбранного кода. Иногда бинарные коды называют двоичными, но такое иазваиие может вызвать недоразумения, так как числа в бинарных кодах пред-

* Операциями иад полем модуля 2 называют операции, результат которых Над одинаковыми объектами равен нулю (пустому множеству)



ставляют различными способами, лишь один из них основан на двоичной системе счисления.

Напомним, что в позиционной т-ичной системе счисления с основанием т и цифрами О, 1, т-1, отображающими первые члены натурального ряда чисел, действительные целые нли в общем случае дробные числа представляют последовательностями Or... aiOoa-i... a s позиций, называемых m-ичными разрядами. При этом значащая цифра в разряде Оо отображает соответствующее натуральное число, но в каждом соседнем левом разряде эта же цифра отображает натуральное число, в т раз большее, чем та же цифра в соседнем правом разряде. Поэтому т-ичное представление числа связано с его десятичным представлением dto формулой

dio = ar . . . ml +оо m»-f-o , m~ -[- ... -f-о m~\ (1.9)

где Oj - содержимое (-го m-ичиого разряда, причем диапазон представления десятичных чисел n=r-\-s-\-\ разрядами в т-ичной системе счисления определяется неравенством

m--"dio<, т" -1, (1.10)

справедливым для естественной (с фиксированной запятой) формы представления десятичного числа.

Программа 21. Поразрядное преобразование т-ичиых представлений действительных чисел в десятичные представления

ИП9 П6 X П7 ИП8 ИП6 X П6 ИП7 С/П ИП6 X ИП7 + БП 03

Инструкция. (т = Р8, «-» = Р9, для целых чисел т°=1=Р9) 0-» = = РХ В/О С/П а,-, = РХ С/П...о.-, = РХ С/П аг = РХ С/П (<»4 с) PX = dio (вместо цифр, соответствующих т-ичным цифрам, большим 10, вводить соответствующие натуральные числа).

Примеры. Для d2= 110110110 (2 = Р8, 1 = Р9) dio=438; для di6=AB9, F7(16 = P8, 16-2=1/256 = Р9) dio = 2745,9648.

При представлении чисел в двоичной системе счисления каждая бинарная позиция соответствует i-му двоичному разряду, содержимое 1 которого отображает число 2, н в соответствии с формулой (1.9) десятичное представление числа равно сумме степеней 2 содержимого двоичных разрядов.

Кроме двоичной системы счисления применяют и другие бинарные коды чисел. В частности, в ПМК используется десятично-двоичный код 8421, при котором каждый разряд десятичного представления числа отображается четырьмя двоичными разрядами (тетрадой). Такой код обеспечивает независимое представление каждого десятичного знака, что удобно при наборе чисел на индикаторе ПМК. Часто используют представления чисел с основанием т = 2. Каждая цифра такого представления отображается содержимым k двоичных разрядов,

например восьмеричного с цифрами О, 1..... 7 - тремя двоичными разрядами, а

шестнадцатеричного с цифрами О, 1, ...А, В, С, D, Е, F - четырьмя.

Программа 22. Преобразование представлений действительных чисел dj, в при основаниях р<10, q=\Q или р=19, (7<10 и числах n = r-l-s4K8 разрядов



(0) (1) (2) (3) (4) (5) (6) (7) (8) ( 9 ) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100)