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

(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) (13)

Число десятков регистров Л задается пользователем с помощью операторов N Ор 17. При нажатии клавиш N 2nd Ор 17 на индикаторе высвечиваются максимальный адрес программы и максимальный номер регистра памяти. Например, если = 3, то на индикаторе будут цифры 239.29 (239 - максимальный номер шага и 29 - максимальный номер регистра памяти). Переполнение памяти, отведенной под регистры или программу, индицируется как ошибка миганием дисплея.

Операторы статистических расчетов. Простейшие статистические расчеты могут выполняться микропрограммно после очистки регистров оператором CMs. Для ввода чисел, подлежащих статистической обработке, служат клавиши 2nd S +, нажимаемые после ввода каждого числа xi. Если какое-то число введено ошибочно, его исключают повтором набора и нажатием клавиш INV 2nd 2 -1-. Среднее значение ряда введенных чисел х можно вызвать на индикацию, нажав клавиши 2nd к. Для вычисления дисперсии, коэффициента парной корреляции и параметров линейной регрессии (см. § 5.12 и 5.13) служат специальные операторы Ор 11 -i- Ор 15 (см. далее). Их использование поясняет пример в приложении 1 (описание программы ML-Oi).

2.3. Элементарное программирование микрокалькуляторов с алгебраической логикой

Элементарное программирование микрокалькуляторов с алгебраической логикой мало отличается от такового для микрокалькуляторов с обратной бесскобочной логикой вычислений. Очевидные отличия заключаются в использовании операторов ввода скобок (до 9 пар) и оператора = (они достаточно очевидны), а также в учете приоритета операций. Рассмотрим несколько типовых примеров.

1. Вычисление

е = а + 6 X (c-d) =,? (2.1)

при о = R00, & = Д01, с = R02 и d == R03 с занесением результата в регистр R04 выполняется по программе

RCL 00 + RCL 01 X ( RCL 02 -RCL 03 ) = STO 04 R/S

2. Иногда можно сократить программу, исключив скобки и создав приоритет выполнения операций вводом оператора =. Например, (2.1) можно вычислить по программе:

RCL 02 - RCL 03 = X RCL 01 + RCL 00 = STO 04 R/S

В данном случае сначала вычисляем {c - d), умножаем результат вг Ь и прибавляем затем а.



3. Вычисление "

jf = 7,06-!0-3e2 = 7.06-!0-sX(exp(2X;e)) = ? (2.2)

формально выполняется по программе (xROO):

7-0 6 ЕЕ 3 +/- X ( ( 2 X RCL 00 ) INV In л: ) = RjS

Для л: = 2 получаем у = 3,8546294-10-1.

4. Введя число 7,06-10- в регистр R0\ и несколько изменив порядок вычислений (2.2), можно заметно сократить программу!

2 X RCL 00 = INV !пдг X RCL 01 = R/S

5. Вычисление

г/= х-(1пх+])= ? (2.3)

формально требует запоминания х для последующего ввода его в скобки и вычисления In х:

STO 00 - ( RCL 00 ln.v + 1 )

:= R/S

Для X = 3 получим у = 0,9013877113.

6. Вычисление (2.3) можно выполнить по более простой программе:

( In « + 1 ) = R/S

учитывая, что после исполнения операторов - и ( число х сохраняется в регистре X. Этот прием можно использовать, если после оператора ( стоит оператор вычисления математической функции нли оператор СЕ.

Операторы безусловных переходов. Безусловные переходы задаются к метке Л (вводится любой клавишей, имеющей код) ил.ч трехзначному адреСу п пп с помощью операторов ОТО N (двухша-говых) и ОТО п пп (трехшаговых). Символ СТО (go to) означает «.идти к». Например, переход к началу программы задается оператором ОТО О 00, Такой переход дает и специальный оператор RST.

Операторы условных переходов. Имеется четыре типа операторов условных переходов.

Операторы Условие перехода

Xt N ИЛИ п пп Xf,

x = t N или п пп x = t,

INV xt N пли п пп x<t,

INV x - t N или п пп X =t.

Здесь / - содержимое регистра сравнения t. Если условие перехода выполняется, то происходит переход к метке N или адресу п пп. Если условие не выполняется, происходит выполнение оператора,



указанного после метки или адреса п пп. Оператор лг обеспечивает обмен содержимого регистров X а t, например для ввода /, Оператор СР в программе обеспечивает очистку регистра t = 0), Пример. Вычислить

If = sin х/х при х¥=0, у = 1 при лг = 0.

Программа

СР Rad лг = < О 13, STO 00 sin RCL

00 = R/S I R/S

прн лг = О (в регистре i число 0) обеспечивает условный переход по адресу 013, т.е. вывод на индикацию числа 1. Если хфО, то вычисляется sin х/х.

Операторы ввода подпрограмм. Подпрограмма, начинающаяся с адреса ппп, выполняется прн исполнении трехшагового оператора SBR ппп (SBR сокращение слова subroutine - подпрограмма). Ecim подпрограмма начинается операторами ввода метки Lbl N (см. ниже), то она выполняется прн исполнении двухшагового оператора SBR N. В конце подпрограммы вводится оператор INVSBR (возврат из подпрограммы) *). Число вложений подпрограмм друг в друга нг должно превышать 6.

2.4. Специальные вопросы программирования микрокалькуляторов с алгебраической логикой

Операторы ввода меток. Метки (labels) вводятся операторами вида Lbl N, где Л - символ любой клавиши, кроме цифроп1,1х, имеющей код (общая метка). Очень удобны 10 меток, вводимые клавишами верхнего ряда и обозначенные буквами А, В, С, D, ir:, А, В, С, D и Е. Ввод такого символа обеспечивает выполнение программы- с адреса, следующего за операторами метки.

Пример. Вычислить (2.1), обозначив переменные а, Ь, с, d и в метками А, В, С, D и Е.

Программа при этом будет и.меть вид

Lbl А STO 00 R/S Lbl В STO 01 R/S Lbl С STO 02 R/S Lbl D STO 03 R/S Lbl E RCL 02 - RCL 03 = X RCL

01 Ч- RCL 00 == R/S

Теперь числа A, В, С и D можно вводить в любом порядке, указав после ввода соответствующий б}квениый символ. Например, если А = 2, В = 5, C=4hD = 3, ввод можно выполнить так: 3 D 5 В 2 А 4 С. Теперь, указав символ Е, получим е = 7,

ISBR В программах оператор INVSBR сокращенно обозначен как 46



(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)