
книги из ГПНТБ / Кушнерев Н.Т. Программирование для ЭВМ Минск-32
.pdfПрограмма отнесена к основной области с нулевым базисом, зарезервированы три ячейки для запоминания информации внеш ней программы (строки 010 и 020). Далее начинаются операторы, вычисляющие у . Для уменьшения количества операторов формула преобразована к виду
у={<дх + ЬЛ)х-\.
Оператор в строке 030 вычисляет 6х, следующий оператор при бавляет к результату 5,1, затем сумма (6х + 5,1) умножается на х, наконец, из полученного числа вычитается 1, а результат записы вается в ячейку У. Оператор в строке 070 производит выход из про: граммы. Предполагается, что значение х засылалось в ячейку А' вне этой программы. Программа приведена на стр. 109.
Все коэффициенты трехчлена записаны в программе как лите ралы. При трансляции каждому из них будет отведена ячейка па мяти, адрес которой будет поставлен в соответствующем опера торе.
Пример 2. |
Составить |
программу |
для |
вычисления |
значения |
|
y = 6x2 + 5,lx—1 |
при условии, что значение х вычислено |
какой-то |
||||
другой программой и помещено в ячейку X общей области, имею |
||||||
щей название |
П 0 Л Е . Значение у |
также должно быть помещено з |
||||
ячейку Y той же общей |
области |
для |
использования его другими |
|||
программами. |
Для каждого коэффициента |
отведем |
отдельную |
ячейку памяти и зададим его с помощью оператора КЧ. Программа
приводится |
ниже. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Строка Этикетка |
|
Коп |
|
|
|
|
|
|
|
|
|
|
|
|
Лвресо |
|
|
|
и |
|
|
|
замечо/ |
|||||||||||||
9 |
, \Н |
12, |
, |
, |
,16 |
"| |
, |
, |
,21 |
22, |
і |
| » | |
t |
і |
і |
№ |
|
і |
і |
1 |
| Ю | |
і |
|
і |
|
і |
|
,40, |
, |
|||||||
0 |
\1\0 |
і |
і |
і |
і |
S,A,*, |
|
, |
Ол |
Л 1 |
' |
1 |
, |
, |
, |
1 |
, |
, |
і |
, |
і |
|
і |
|
| |
|
| |
| |
j |
, |
||||||
0 |
,2,0 |
В,Х,0Л, |
|
Р,9,В, |
|
, . |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
||||
|
, |
3, |
-, |
, |
| |
і |
і |
і |
і |
і |
г |
і |
і |
. |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
j |
і |
і |
|||||||||
О |
,3,0 |
1 |
1 |
1 |
1 |
У,П. |
., |
Ш,£,С,Т\Ь,;,Х, |
|
|
і |
і |
і |
і |
і |
і |
|
|
|
|
|
j |
|
|||||||||||||
0 |
,4,0 |
1 |
1 |
1 |
1 |
С,П,Р, |
|
, |
Кi5,11 |
|
I |
, |
, |
, |
|
|
|
|
|
|
, |
|
, |
|
, |
|
, |
|
, |
, |
|
, |
||||
0 |
,5,0 |
1 |
1 |
1 |
1 |
У,П,Р, |
|
, |
л |
1 |
1 |
1 |
j |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
I |
1 |
1 |
I |
1 |
1 |
1 |
1 |
|||||||
О |
,6,0 |
1 |
1 |
1 |
1 |
в,п,в, |
|
, |
0,й,и,н\; |
|
,У, . |
, . |
і |
і |
г |
і |
|
і |
|
, |
|
. |
|
і |
|
і |
j |
|
, |
|||||||
0 |
,7,0 |
1 |
1 |
1 |
1 |
В |
к |
|
|
в-,Х,ег,Щ; |
,0, |
|
, |
, |
, |
, |
, |
. , |
|
|
! |
|
, , |
|
, , |
! , |
||||||||||
€ |
,9,0 |
Ш,Е,С,Т,Ь |
к,ч, |
|
, |
, |
6,', |
|
і |
J . |
і |
і |
, |
і |
і |
і |
і |
і |
і |
|
і |
|
і |
|
і |
|
і |
|
і . |
|
||||||
0,9,0 |
К,5,1, |
|
, |
1 |
1 1 |
1 |
|
5 |
|
t |
|
j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j |
|
|
||
1,0,0 |
0,й,И,Н, |
|
1 |
1 |
1 |
1 |
* |
111 • |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
1 |
і |
і |
||||||||||||
t,f,0 |
П,0,П,Е, |
|
В.А,3-, |
|
, |
/,; |
,0,6M, |
|
. |
і |
, . |
і |
і |
• |
і |
і . |
• |
• |
• |
і |
• |
|||||||||||||||
1 |
,2,0 |
X, |
, |
, |
, |
|
|
|
|
' |
i |
. . |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j • |
|
|
||
1 |
,3,0 |
*!,..) |
1 1 |
1 |
1-і-1 - |
' |
l |
1 |
1 1 1 |
1 |
1 |
1 1 |
1 |
1 |
1 |
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
І 1 |
Операторы, вычисляющие у, не отличаются от соответствующих операторов программы предыдущего примера. Так как строки 080, 090, 100 содержат операторы с одинаковыми кодами, то код КЧ записан только в первом из них. То же можно сказать об операто рах РЗ В в строках 120 и 130.
Все программы, которые используют X или У из общей области,
(10
должны иметь общую область с таким же наименованием |
П2ШЕ |
и с таким же расположением X и У в ней. Номер базиса, |
закреп |
ляемого за этой областью, может быть различным в разных про граммах.
Пример |
3. Составить |
программу для вычисления значения то |
|||||||||||||||||||||||||||||
го же многочлена, что и в примерах |
1 и 2, при условии, что адреса |
||||||||||||||||||||||||||||||
величин х и у являются |
параметрами, |
которые |
передаются |
про |
|||||||||||||||||||||||||||
грамме |
при обращении |
|
к ней. Эти адреса |
|
расположены |
|
в |
одной |
|||||||||||||||||||||||
ячейке в виде X; У. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
СтрокаЗтикетко |
Hon |
|
|
|
|
|
|
|
|
|
|
|
|
Доресо |
|
и |
|
зомечаг |
|
||||||||||||
S |
, ,гУ |
|
, |
|
\ ,<6 |
t?\ 1 |
I |
\П |
12 \ |
, |
,21, |
, |
, |
, |
ДО |
, |
| |
, |
, Л , |
, |
| |
, |
,40, , |
|
|||||||
0 |
,1,0 |
l |
i |
l |
t |
|
5 , А , » , |
|
і |
0, |
, |
, |
j |
і |
і |
і |
і |
і |
і |
. |
і |
| |
і |
і |
і |
і |
і |
j |
і |
|
|
0 |
,2,0 |
В,х,0^Д, |
|
Р,3,в, |
|
, |
3 , |
, |
, |
j |
, |
, |
, |
, |
, |
, |
, |
, |
• |
, . |
, . |
, |
j |
, |
|
||||||
0 |
,3,0 |
А,Д,Р, |
|
|
|
і |
1 1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
,4,0 |
t |
i |
l |
t |
|
П,А,У, |
|
, |
' |
•; |
,А,Д\Р< |
|
і |
і |
. |
і |
і |
і |
і |
і |
і |
і |
|
. |
і |
J |
і |
|
||
0 |
,5,0 |
|
|
|
|
|
У,П, |
і |
. |
+ |
,6, |
|
•,; |
.31> ,oі |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
|
|||
О |
,6,0 |
і |
і |
|
і |
і |
С,П,Р, |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j |
|
|
О |
,7,0 |
i |
i |
t |
i |
|
У,П,Р, |
|
, |
£ |
і і |
< 0 i |
1 |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
|
||
0 |
,8,0 |
і |
і |
|
і |
і |
в,п,в, |
|
, |
* , i , - 1 ; ' ? . , ,o, |
|
, |
і |
і |
і |
і |
і |
і |
, |
і |
, |
і |
і |
і |
|
||||||
О |
,9,0 |
і |
і |
|
і |
і |
8,Ы,Х, |
|
, |
B,X,0M\; |
|
I/> |
І |
І |
І |
> |
І |
І |
І |
І |
І |
І |
І |
І |
j |
І |
|
||||
! |
,0,0 |
і |
і |
|
і |
і |
1 1 |
1 |
1 |
|
. і |
і |
> |
, |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
.i |
|
В этой программе оператор в строке 030 резервирует ячейку для приема параметров из внешней программы. Выполнение про граммы начинается с оператора строки 040, который пересылает абсолютные адреса х и у в первую ячейку уровня на место базис ных адресов. В дальнейшем х адресуется как нулевая ячейка отно сительно базиса с номером 3, а у — как нулевая ячейка относитель но базиса с номером 2. Назовем составленную программу ПРИМЗ . Обращение к этой программе имеет вид:
Эгикетно |
|
Hon |
|
|
|
|
|
|
|
|
|
|
|
|
|
//феса |
|
и |
|
заме |
|||||||
Г?\ |
, |
і |
,16 |
17і |
, |
і |
,21 |
22, |
|
, |
|
|
, |
, |
і |
ДО |
і |
і |
1 |
hW |
|
|
|
|
Щ |
||
1 1 1 1 |
|
Н,П, |
|
і |
, |
В |
\H |
|
y,TLP,J |
|
,1, |
і |
і |
|
|
|
|
|
і |
і |
, |
. |
j |
||||
, |
1 |
1 1 |
|
|
|
1 |
і |
A |
,P,Г\;\P\E,3-, |
|
|
|
і |
і |
. |
, |
, |
, . . |
і . |
. |
, |
||||||
, 1 1 1 |
|
1 1 1 1 |
|
і Г . 1 |
i T T і i |
~ і і " і |
і і |
і і і Г |
|||||||||||||||||||
а,н,у,т,р |
0,n,P, |
|
, |
П,Р,И,^іг, |
|
|
ї |
ї |
|
|
|
|
|
і |
|
і |
і |
і |
і |
! |
|||||||
і |
і |
і |
і |
H\0,P, |
|
, |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 1 1 J 1 1 1 . |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
1 1 1 _ L |
1 1 1 1 |
|
|
|
|
|
|
|
|
|
|
|
|
j |
|||||||||||||
" Т ~ і — г т ~ і |
і 1 1 1 |
— 1 — Ґ " ^ |
|
|
і — і — Г і ~ ~ і — і — і і — і — Г і 7 ~ Г ~ 7 |
||||||||||||||||||||||
А,РіГ, |
|
і |
P J |
, |
B , |
1 |
/ , |
, |
, |
1 |
|
|
|
|
|
|
|
|
• . |
|
• |
і |
• |
[ |
|||
~~Г~ГТТ~1 |
|
1-І |
I |
I |
|
і |
і |
, |
• |
і |
і |
; |
, — |
|
|
|
|
|
ї |
ї |
! |
~Т~І |
|||||
Р,£.3. |
|
, |
РЛ,В. |
|
|
, |
/ . |
. . |
! . |
|
, |
і |
і |
і |
і |
і |
і |
і |
§ |
і |
|
і |
і |
і І |
|||
|
|
|
|
1 |
I |
I |
I |
|
|
|
і |
j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
і |
1 . 1 1 |
|
1 |
1 |
1 |
1 |
|
і |
і . |
і • |
і |
і |
і |
і |
і |
і |
і |
і |
• |
і |
і |
і |
і |
j |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Предполагается, что аргумент пересылается внешней програм мой в ячейку АРГ, а результат используется из ячейки РЕЗ . АРГ и РЕЗ могут быть определены и другим способом.
111
Пример 4. Составить |
программу |
для решения |
системы |
двух |
|
линейных алгебраических |
уравнений |
|
|
|
|
|
a0x+aiy |
= |
a2 |
|
|
|
а3х+^у |
= |
а5 |
|
|
при условии, что. Д=аоач—а.аз^О, по формулам |
|
|
|||
а2а4—а,а5 |
|
аоа5—а2а» |
|
|
|
Предполагается, что параметрами программы |
являются |
абсо |
лютные адреса х и у (АХ и АУ соответственно) и абсолютный ад рес АО коэффициента а0. Остальные коэффициенты расположены з следующих ячейках в порядке возрастания номеров их индексов. Коэффициенты будут иметь относительно АО адреса от 0 до 5. Па
раметры расположены |
в двух |
|
последовательных |
|
ячейках |
|
в |
виде |
||||||||||||||||||||||||||||||||
АО; АХ и 0; АУ. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Программа приводится ниже. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Стропа Этикетка |
|
Hon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лфеса |
|
|
и |
|
замечания |
|
|
||||||||||||||||
9 і ,11 |
/г, |
, |
і |
,іб |
17, |
і |
і ,21 |
22, |
, |
,2Ji |
, |
, |
, |
да |
і , |
і |
iSi, |
, |
, |
|
, |
,40, |
, |
, |
, |
|
|
|
|
|||||||||||
О |
,1,0 |
1 |
1 |
1 1 |
Б,А,3-, |
, |
0 і |
. |
, |
і і |
, |
|
і |
і |
і |
і |
і - і |
і |
і |
і |
і |
і |
, |
j |
|
|
|
|
|
|
|
|
||||||||
о |
,г,о |
в,х jar |
л, |
P,3,B, |
|
, |
31 |
і |
і |
і і |
і |
|
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
, |
|
і |
і і і |
і |
|
і |
, |
|
|
|
|||||||
О |
,3,0 |
А,0,Х, |
|
, |
і |
і |
і і |
1 I |
1 1 1 |
1 1 1 1 1 |
1 1 1 1 1 1 |
1 p 1 |
1 1 |
1 1 , 1 |
|
|||||||||||||||||||||||||
О ,4,0 |
А,Л,Р,У, |
|
|
|
|
|
|
' |
' |
1 1 |
[ |
|
|
|
|
|
|
|
1 1 1 1 1 1 1 |
|
j 1 |
1 |
1 1 1 |
|
|
|
|
|||||||||||||
О ,5,0 |
, |
. 1 |
1 |
, |
П,А,У. |
|
, |
' |
і ; |
,A ,o |
, |
, |
|
, |
, , , , , , і і і і |
|
і |
і |
, |
, |
і |
|
, |
, |
|
|
|
|||||||||||||
О ,6,0 |
, |
1 |
, |
, |
У.П. |
|
, |
і |
3,, |
,3.1 |
J 3 , , |
, / , |
|
<В>Ы,Ч,И,С,Л,Е,Н,И\£, |
|
|
|
|
|
|
|
|
! , , , , , |
|||||||||||||||||
О |
,7,0 |
1 |
1 |
1 1 |
3-, . , , |
Р,А,Б, |
, |
, |
|
і |
, |
|
,Ї,Н,А,М,Е,Н,А,Т |
|
|
|
,£,Л,я\ |
|
, , , |
, |
, |
|
|
|||||||||||||||||
О |
,8,0 |
1 |
• |
1 1 |
У,П, |
|
, |
, |
3 , , |
,0,i |
[ J , , |
, 4 , |
,Д,А,Я, |
|
|
,0,B,E,H,X, |
|
|
|
|
|
|
, |
|
, |
, |
, |
, , |
||||||||||||
О |
,9,0 |
1 |
1 |
1 1 |
в,п,в, |
, |
P |
,A ,Б,; |
'P.А,Б, |
|
|
|
,В,£,Л,И,Ч |
|
,И\Н, |
|
, X , |
|
,И.У |
|
|
|
|
|
|
|||||||||||||||
' |
,0,0 |
1 |
1 |
1 1 |
У,П, |
|
, |
, |
J i , |
,1 ті , J , , , S , |
|
|
|
|
|
,В,Ы,Ч,И,С,Л,Е,Н,И,Е, |
|
|
|
|
|
|
|
|||||||||||||||||
1 ,1,0 |
1 |
1 |
1 |
, |
3-, |
, |
, |
, |
|
|
|
|
і — — — — — — — — — 1 — ' — 1 — 1 — 1 — 1 — 1 — 1 — * • |
|||||||||||||||||||||||||||
fi,A,8, |
1 |
і |
і |
|
і |
і |
і |
і |
і |
ІЛ"І і |
, |
і, |
|
, |
і |
і |
, і і |
, |
|
, |
|
|
||||||||||||||||||
і |
,г,а |
|
|
|
|
y,n, |
|
, |
, |
|
|
, |
, |
|
||||||||||||||||||||||||||
1 |
1 |
1 1 |
|
з |
і, |
,г,;\з,,,4, |
|
|
,И\ |
,з ,А ,п,ихс,ь , |
|
, Е , Г Х , & , |
|
, |
, |
|
||||||||||||||||||||||||
1 |
,3,0 |
1 |
1 |
1 1 |
В,П,Р, |
|
і |
к , А , В , |
j |
і |
і |
|
і |
,Р,ЄГ, |
|
,ЗІА,Д,АІН,Н,0;М\У, |
|
|
|
, |
|
, |
, |
, |
|
|
||||||||||||||
1 |
,ь,о |
1 |
1 1 |
1 |
Д,П |
iB і |
і |
Р , А , Б , - Л г , , , 0 , |
|
|
|
|
|
|
|
А,Д,Р,£,С\У, |
|
|
, |
, . , |
, |
|
||||||||||||||||||
1 |
,5,0 |
1 |
1 |
1 1 |
У,п> |
, |
, |
з , , |
,г,;\з,,,з, |
|
|
,в,ы,ч,и,с,п,Е,Н,И,Е, |
|
|
|
|
І |
І |
, |
|
, |
І |
І |
|
|
|||||||||||||||
1 |
,6,0 |
1 |
1 |
1 1 |
3-, , , , |
R,A,B, |
|
\ |
, |
|
, |
|
|
|
|
|
і |
І ^ І і |
і |
ї |
ї |
|
і |
ї |
ї i |
l |
l |
|
- |
|
|
|
|
|||||||
1 |
,7,0 |
I |
I |
I |
, |
У,П, |
|
, |
, |
3 , , ,0,ЛЗи ,5, |
,Ні |
|
,3,А,П,И,С,Ь, |
|
|
|
|
|
i < f | / " | V i |
|
, |
, , . , |
||||||||||||||||||
1 |
,8,0 |
1 |
1 |
1 1 |
В,П,Р, |
|
і |
R,A,B, |
|
|
J |
|
i |
t |
i |
|
,П\ЄГ, ,3,А ,й,А,Н |
|
,Ні0,м',У, |
|
|
і |
, |
і |
і |
|||||||||||||||
1 |
,9,0 |
1 |
1 |
I 1 |
Д,П,Р, |
|
|
, |
Р,А,Б, |
|
|
ї |
ї ! |
,А,Д,Р,Е |
|
|
,С,У, |
,8, |
|
, Я , ч \ . , |
і |
і |
і |
і |
|
|
||||||||||||||
2,0,0 |
1 |
, 1 |
1 |
|
ЗлС,П, |
, |
А |
,Л,Р,У\ |
: ,0, |
|
, |
, |
і |
, |
, |
,Я,Д,Р,У |
|
|
|
|
|
|
|
І |
, |
|
І |
|
|
|
|
|||||||||
2 it ,0 |
1 |
1 1 1 |
8,Ы,Х, |
, |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
г,2,0 |
1 |
1 |
1 1 |
S,A |
ІЗ-І |
і |
в/ |
,;ї х ,Р,А>0 , д£ \ : , 2 , |
, |
|
Р,Л,6 |
,/Ґ,чі ,А,Я,і і і |
і ,0і ,Ві |
j/!і |
іі Лі ,Сі |
,Ті ,Ь і |
|
|||||||||||||||||||||||
г,3,0 |
P,A,S, |
|
і |
|
P,3-,B, |
|
, |
1 , |
ї |
ї , t |
|
i |
|
l |
|
|
|
|
і і |
і |
і |
і |
і- |
І |
і |
|
і |
і |
і |
і |
|
|
|
|
|
|||||
г ,и , о |
R,A,B, |
, |
1 |
І |
1 |
1 |
1 і |
і |
і |
j і |
і |
|
і |
і |
і |
і |
і |
|
|
|
|
і |
I |
|
j і |
і і |
і |
|
1. |
|
|
|
||||||||
9, |
,11 |
12, і |
і |
і'б |
17, і |
, |
,21 |
22, |
|
і |
i # i і |
і |
і |
да |
і |
і |
і I » I і |
і |
і |
|
<*f>\ |
і |
і |
і |
|
|
|
4.5. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ПРОЦЕССОВ
Алгоритмы решения задач часто таковы, что выбор того или иного пути выполнения алгоритма зависит от значений исходных
данных или |
промежуточных |
результатов. |
Рассмотрим примеры |
|
составления простейших программ такого характера. |
|
|||
Пример |
1. Составить программу нахождения наибольшего""зна |
|||
чения среди |
трех десятичных чисел с фиксированной запятой |
х, у , |
||
г. Найденное значение поместить в ячейку |
с именем МАХ. |
Блок- |
||
схема алгоритма приведена на |
рис. 38, а программа — на стр. |
114. |
Установка базисных адресов1
2 |
X |
с МАХ |
3\ МАХ і у
j | Ht?fTt
4 |
У |
МЛК |
і
в |
^ МАХ |
I |
Выход ^
Рис. 38. Блок-схема программы вы бора максимального числа из трех.
Предполагается, что числа х, у , z расположены в последова тельных ячейках. Абсолютный адрес первой из этих ячеек А, а так же абсолютный адрес ячейки МАХ являются параметрами про граммы и расположены в одной ячейке в виде А; МАХ.
После операторов вычитания записаны операторы ИПЕР1, предназначенные для гашения указателя ПЕРЕП, который в ре зультате вычитания может установиться в единичное состояние.
Ї. Закаа 5093. |
1 [ 3 |
Стропа Этикетка |
|
Kan |
,21 22, |
|
|
|
|
|
|
|
|
|
|
ЛЗреса |
|
| |
и |
| |
| |
замечал |
|
||||||||||||
9, |
,11 |
/г, |
і |
і |
,іб |
17, |
, |
, |
, |
,І5, |
, |
, |
, |
00, |
|
, |
і |
| |
,35, |
|
,щ |
|
, |
|
|||||||||
0 |
\t,0 |
і |
і |
і |
і |
Б,А,3-, |
|
, |
0 |
і |
і |
і |
J |
і |
і |
і |
і |
і |
|
і |
і |
і |
і |
і |
і |
|
і |
і |
|
j |
, |
|
|
0 |
,2,0 |
п,у,с,н, |
|
|
P,3-,B, |
f |
, |
3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
, |
1 |
1 |
1 |
|
! |
, |
, . |
, |
|
|||
0 |
,3,0 |
А,Д,Р, |
|
Г |
1 |
1 1 |
|
t |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
|
||
0 |
,4,0 |
1 |
1 |
1 |
I |
П,А,У, |
|
, |
t,-,A,&\P, |
|
|
, |
, |
, |
, |
, |
, |
! |
, |
, |
. , |
' |
, |
, |
! |
, |
|
||||||
0 |
,5,0 |
1 |
1 |
. |
1 |
n, |
. |
, |
, |
3,, |
,0,iX |
2,,,0, |
, |
\ |
<Б,А ,0,K, |
,3, |
,2, |
, |
|
і |
, |
, |
j |
, |
|
||||||||
0,6,0 |
1 |
1 |
1 |
1 |
B,<P,U,P, |
|
|
3,> |
|
, |
і |
, |
, |
,B,A |
,0,H, |
|
|
|
, |
і |
, |
|
, |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0,7,0 |
1 |
1 |
1 |
1 |
И,П,Е,Р, |
1 |
|
|
|
|
\Г,А,Ш,£,Н,И,£, |
|
|
,П,£,Р,£,П, |
|
|
, |
|
, |
|
|||||||||||||
0,8,0 |
1 |
1 |
t |
1 |
И,П,А, |
|
і |
B,AJSf,K*5, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
0,9,0 |
1 |
1 1 |
1 |
|
п, |
, |
, |
, |
з |
,,,>,; |
|
'г., |
,o, |
|
,6,л |
|
,0,к, |
|
| 4 | |
, |
|
, |
, |
, |
! |
, |
|
||||||
1,0.0 |
Б,Л,0,К,5 |
|
V, |
, . |
, |
^ |
1 |
' lO 1 |
. |
! |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
I |
J |
|
||||||
1,1.0 |
і |
t |
і |
і |
В,<Р,й.Р, |
|
3,, |
,2, |
|
j |
,. |
і . |
і |
і |
|
і |
і |
і |
і |
і |
і |
|
і |
і |
і |
і |
і |
|
|||||
1 |
,1.0 |
і |
і |
і |
і |
И,П,Е,Р, |
1 |
*, |
+ ,1, |
|
\Г\А,Ш,Е |
,Н,И,Б, |
|
,П,£,Р,£,Р, |
|
|
, |
j |
, |
|
|||||||||||||
1 |
,3,0 |
і |
і |
і |
і |
И,П,Л, |
|
, |
B.AJfJfWt |
|
і |
і |
і |
1 |
|
1 |
і |
1 |
t |
і |
і |
|
і |
і |
I |
j |
і |
|
|||||
1 |
,i,0 |
і |
і |
і |
і |
П, |
, . |
, |
і |
3 |
,, |
2,:'.2,,,0, |
|
|
,Б,А,0,Ы, |
|
,S, |
|
і |
|
, |
і |
і ! |
, |
|
||||||||
1 |
,5.0 |
Б,Л,0,К,7 |
|
в.ы.х, |
|
, |
П,У,С,ку, |
|
|
I |
/ |
I |
t |
|
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
J •' |
|||||||
1 |
,s,o |
і |
і |
і |
і |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
,7,0 |
, Г |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
—1—1 |
1 |
. L |
. L .L..1...I. |
l . . l _ . l . . l . . l . |
|
1 |
|
|
1. |
1 |
I |
1. |
Если не предусмотреть запись этих операторов, то программа не будет работать в тех случаях, когда исходные числа имеют разные знаки и сумма их абсолютных величин вызывает переполнение. Разветвления реализованы операторами ИПЛ . Программа выпол
нилась бы быстрее, если использовать оператор ВФ. |
|
||||
Пример |
2. Составить программу, которая в зависимости |
от зна |
|||
ка числа |
х пересылает в разряды 0-+6 ячейки |
ЗНАК символ « + » |
|||
при х>0, |
«—» |
при х<0 |
и пробел при х=0. |
Остальные разряды |
|
ячейки ЗНАК |
сохранить. |
Предполагается, что |
абсолютные |
адреса |
АХ числа х и ячейки ЗНАК соответственно являются параметра ми программы и расположены в одной ячейке в виде АХ; ЗНАК.
Строка Этике ГКО |
Коп |
|
|
|
|
|
|
|
|
, |
да |
і |
ларесо |
|
и |
, |
, |
замечания |
, у>5\ |
||||||||||||||
9 і |
,11 |
12, |
, |
, |
,16 17, |
, і |
,21 22, |
, |
,25, |
, |
, |
і |
і |
,35, |
, |
,40, |
, |
, |
|||||||||||||||
0 |
,1,0 |
і |
і |
і |
і |
Б,Я,3, |
, |
0 |
, |
. |
1 |
[ |
1 |
1 |
1 |
, . . |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
! |
Г |
1 |
1 |
1 |
4 |
|||
0,2,0 |
|
|
|
і |
Р,3,0, |
, |
3 |
, |
і |
і |
| . |
. |
. |
і . |
і |
і |
і |
і |
і |
і |
і |
1 |
і |
| |
і |
і |
і |
і |
і |
||||
0,3,0 |
Д,Д,Р,Е,С |
. ї |
ї . |
|
1 . |
1 |
1 |
1 |
1 |
1 |
. |
1 |
1 |
1 |
1 |
1 . |
1 . |
1 |
. |
1 |
1 |
1 |
1 |
1 |
, |
1 |
|||||||
в, |
4,0 |
і |
і |
• і |
17,К,У, |
, |
1 ,і,Я,Д\Р,Е,С, |
|
|
|
|
|
|
|
|
|
|
, |
і |
і |
j |
і . |
. |
і |
і |
||||||||
0,3,0 |
і |
і |
і |
і |
ч, |
, . |
, |
з,>,о, |
|
|
j |
|
|
|
|
ч,т,£,н,и,г, |
|
|
|
, / , , ! , |
, |
, |
, |
, |
|||||||||
0 |
,$,0 |
• |
t |
i |
i |
И,Н,Р,Н, |
|
Б,17,3, |
|
] |
, |
, |
,П,Р,0,В,Е |
|
,Р ,К,Я, |
|
,Н,Я, |
|
\0, |
|
, |
, |
, |
, |
|||||||||
0,Т,0 |
і |
і |
і |
і |
У,С, |
, |
, |
?,:,С\ИХМ,В, |
|
,Ч,Т,£,Н,И,Е, |
|
|
,17,Р,0,6,£,Л,Я, |
|
|
, |
і |
t |
|||||||||||||||
о,»,о |
6,11,7, |
, |
з,с, |
, |
, |
0,;,?,^0, |
|
|
, |
,3,Я,П,0,С,Ь |
|
, |
,В,' |
,3,Я,Я.К, |
', |
|
, |
, |
, |
||||||||||||||
в,9,0 |
l |
i |
l |
t |
в,ы,х, |
, |
К,Я, |
1,1.1, |
|
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
t |
|||||
1,0,0 |
в,п,з, |
|
, |
И,М,Н, |
, |
Б ,Л,б, |
|
' |
, |
, |
,Я,Н,Н,Л,И,3, |
|
|
,3,К,Р,К,Р'^ |
|
,х, |
|
, |
, |
, |
|||||||||||||
1 |
?\о |
1 |
1 |
1 |
1 |
И,Ч, |
, |
, |
Б ,Л,7,; |
|
С,И,М,В, |
|
,Ч,Т,Е,Н,И,Е, |
|
|
,П,Л,Н}\с,Я, |
|
, |
, |
, |
|||||||||||||
1 |
,1,0 |
6,П,6, |
|
, |
И,Ч, |
, |
, |
Б,Л,7,;\с,0,А1,в,-,7, |
|
|
|
, Ч, 7,£,#,#,£, |
|
|
,М\И,Н\У |
,С,Я х |
|||||||||||||||||
— ' |
! 1 1 |
|
|
|
|
к,г, |
, |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
,3.0 |
1 |
1 |
1 |
1 |
" і |
|
. |
і |
j |
i |
l l |
|
ї ї |
|
I |
.. і |
I |
l |
1 |
1 |
1 |
1 — 1 — j — 1 — — 1 |
1 |
I |
||||||||
1 |
,i,0 |
с,к,м,в, |
|
к,г, |
, |
, |
+ |
, |
1 |
, |
|
1 |
l |
l . . . . . |
|
і |
І |
і |
і |
1 |
1 |
1 |
1 — 1 — t — I — L |
||||||||||
|
|
. . . . |
|
|
|
|
. |
• |
і |
j |
і |
і |
і |
і |
• |
і |
і |
і |
і |
і |
і |
і |
і |
< ! |
і |
і |
і |
і ,1 |
1U
В этой программе оператор Ч в строке 050 читает величину для того, чтобы проанализировать ее на нуль и знак. Поскольку ана лиз не изменяет состояния индикаторов, в блоке 3 не требуется повторного чтения х. Блок-схема алгоритма приведена на рис. 39.
Установка базисных адресов
Чтение плюса
7 Запись символа в ЗНАК
Рис. 39. Блок-схема программы формирования символа по знаку числа.
Используя тот факт, что семиразрядные коды символов + и — (0001010 и 0001011) различаются только единицей в последнем разряде, программу можно записать несколько короче.
Строка Эгикетко
S, ,я m |
і і |
|
|
о ,1,0 |
1 |
1 1 > |
|
о ,г,о |
н,Р,Ч, |
, |
|
0 ,3,0 |
|
|
|
0 ,i,0 |
, |
1 1 |
1 |
0 ,5,0 |
|
|
|
0 ,6,0 |
|
|
|
0,7,0 |
м |
|
ч |
0,8,0 |
6,/),7, |
, |
|
0,9,В |
! |
і 1 |
1 |
1,0,0 |
с,л,з, |
, |
|
l,UO |
1 1 1 1 |
||
1 ,2,0 |
,1 |
1 1 |
|
1 ,3,0 с,к,м,е, |
|
||
1 ,4,0 |
1 |
1 ) |
1 |
Кап
і', і |
; ,и |
12, |
, |
i#i |
, |
і |
, |
П |
, , , tKi |
, |
, |
, |
|«?| |
|
, |
, |
, |
r t f i |
|
, |
, |
| Л \ |
|
1,Я,3\ |
1 |
О, |
і |
і 1 |
і |
і |
|
|
і |
і |
і |
і |
j |
і |
і |
і |
і |
і |
• |
і |
і |
і . |
|
Р,3,і, |
і |
3 і |
і |
і | |
і |
і |
і |
і |
і |
і |
t |
І |
і і |
• |
і |
|
і |
і |
• |
і |
і і |
t |
і |
• 1 1 1 1 f > 1 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 ! j 1 1 1 1 1 1 1 1 L 1
Л\/>,У, |
, |
/, |
;,AJ.\p,C,C, |
|
, |
|
|
|
|
і і |
, |
і |
і |
j і |
і • • і • . |
і |
• |
і |
|
||||||||
Ч, |
і |
, |
, |
3.^0, |
j |
, |
, |
, |
, |
, , |
|
, |
,Ч,Г,1,Н,И,Є, |
|
jДГ |
|
|
|
, |
|
|||||||
И,Н,Р,Н, |
Б,Л,3, |
\ |
, |
, |
, |
і |
, |
і |
,П,Р^,і,і,Р,Н,я\ |
|
|
|
,H,P, ,0, |
, , |
|
, |
, |
, |
|||||||||
ч,с, |
|
, |
, |
г,;,с,ч\м,б, |
|
|
|
|
|
|
ч,г,с,н,и,с, |
|
,n\pjr,b-j,flji, |
|
, |
, |
. |
, |
|||||||||
з,с, |
|
, |
, |
о,:,г,Ла, |
|
, |
, |
і |
і |
і ,3,х,я,и,с,i, |
|
|
,i\ |
|
,',t,/r,x,tr,•, |
|
, |
• » |
|||||||||
В,Ы\Х, |
-і |
н,Х\Ч,; |
t, |
і |
і |
і |
і |
і |
і і і і і і і |
t і і і і і і і і |
|
і |
і |
і |
|||||||||||||
Р,С,М,Р, |
*,<l0,6'l, |
|
, |
, |
, |
, |
, |
,С,Д,В,И,Г, |
|
|
,з,н'^,к,я, |
|
|
|
|
|
|||||||||||
Л,С,Р, |
|
і |
C,*\*,l\ |
|
|
|
|
|
|
,/l,t;<Prfr,P,M,lf,p\f,B,/l,H,*,t, |
|
, * i |
|
||||||||||||||
И, |
, |
і |
, |
B,X,7, |
1 |
і |
і |
і |
і |
і |
і |
і |
і |
і І |
і |
І |
І |
і |
І |
і |
I |
|
|
|
і |
|
|
Н,Т, |
і . |
|
1 |
> < • |
1 1 1 • |
1 |
1 |
I |
1 1 |
1 |
t |
1 t |
j |
1 |
1 1 1 1 |
1 1 |
1 |
1 |
ь |
||||||||
| | і і |
і |
— , |
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t |
8*
4.6. ЦИКЛИЧЕСКИЕ ПРОГРАММЫ И СПОСОБЫ ИХ ОРГАНИЗАЦИИ
Алгоритмы решения задач часто содержат многократно повто ряющиеся участки. Такие участки называются циклами, а програм
мы — циклическими. Каждое |
повторение цикла производится с но |
|
выми значениями некоторых |
переменных |
величин, имеющихся в |
программе. Они называются |
параметрами |
цикла. Для организации |
цикла необходимо задать начальные значения параметров цикла,
правила их изменения и |
условие |
окончания |
цикла. |
- |
Известны различные |
способы построения циклических про |
|||
грамм. Независимо от способа, |
в структуре |
цикла |
можно выде |
лить его подготовительную часть, рабочую часть, изменение пара метров и проверку на окончание.
Подготовительная |
часть цикла, изменение |
параметорв |
и про |
|||
верка |
на окончание |
играют |
вспомогательную |
роль; они |
нужны |
|
только |
для того, |
чтобы рабочая часть цикла |
правильно выполня |
|||
лась необходимое |
количество |
раз. |
|
|
Для увеличения скорости выполнения циклических программ в рабочую часть цикла следует включать только вычисления, в кото рых используются параметры цикла.
Ниже описываются основные способы организации циклов в программах машины «Минск-32»: циклы со счетчиком, циклы с мо нотонно-изменяющейся величиной, итерационные циклы, циклы с переадресацией.
Ц и к л ы со с ч е т ч и к о м обычно строятся тогда, когда ко личество повторений цикла известно. Для организации таких цик лов используется оператор ИС. Одна из ячеек в программе отво дится для счетчика цикла. В нее в подготовительной части цикла засылается количество повторений цикла, уменьшенное на едини цу. Затем записывается рабочая часть Цикла. В конце цикла запи сывается оператор ИС, который использует счетчик.
Пример 1. Составить программу для вычисления с фиксирован ной запятой двенадцатого члена геометрической прогрессии с пер вым членом а и знаменателем g. Вычисления производить по фор
муле ai2 = a-gn. |
Пусть а = 0,9; g=0,89. Исходные |
данные и резуль |
|||
тат разместить в общей области. |
|
|
|
||
Будем |
вычислять gn многократным |
умножением на g. Для ре |
|||
зультата |
вычислений отведем ячейку |
А12. Построим цикл, |
полу |
||
чая в ячейке А12 последовательно ag, |
ag2, agz... |
Программа |
при |
||
ведена на стр. |
117. |
|
|
|
Вприведенной программе операторы пересылки (строки 030 и
040)составляют подготовительную часть цикла. Ячейка СЧЕТ — счетчик цикла.
Первый оператор помещает в эту ячейку число 10 (на еди ницу меньше, чем необходимое количество повторений цикла).
Второй оператор |
запишет в |
ячейку А12 |
значение а. |
Следую |
|
щим |
оператором |
производится |
умножение |
содержимого |
ячейки |
А12 |
(в ней а) на |
содержимое ячейки Q(g), |
а полученное |
произве- |
11S
СJ/ЖО Згинетко |
|
коп |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
S |
і і " |
|
|
|
|
" l |
I |
, |
,l> 2!\ і |
i » l |
, , і |
M і і |
і |
,1S, і |
|
і |
і |
I « I |
, |
, |
, |
, « ! . |
|
so |
|
|
|
|
|
|||||||||||||||||
0 ,1,0 |
і |
і |
і |
і |
1,1,1, |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|||
0 ,1,0 |
Б,Л,1, |
, |
>,I,I, . |
S, |
|
• |
, \ |
|
|
|
|
. . . |
. |
і |
f . |
і |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
||||||||||||
0 ,3,0 |
і |
і |
і |
і |
|
|
|
|
n ,Р,Л,И\ v, і ,c ,v,c,r, |
|
, |
і |
,1,0, |
,s, |
,c\v,r |
|
|
,Г ,і/ |
ц,И, |
, |
, |
, |
|
, |
||||||||||||||||||||||
0 ,4,0 |
, |
, |
, |
, |
|
, |
, |
, |
в,і,л,і\г, |
|
|
, |
, |
, |
, |
, |
, , , |
/ |
) |
, |
, |
, |
і |
, |
|
,/>.і,г, |
|
|
, |
, |
, |
|
|
, |
t |
|
|
|||||||||
0 ,},0 |
б,л,г< |
, |
|
|
|
|
s,t,*,t\p, |
|
|
|
|
|
|
,й,о,, |
|
,й,а, і,f,.,t,a,i,3,-, |
|
|
• .•. . |
|
|
|||||||||||||||||||||||||
0 ,6,0 |
і |
< |
і |
і |
K,C, |
I |
, |
S,/>,e,:,e,V,£,T, |
|
, |
і |
і |
і |
,3, |
i |
f |
| V |
, £ , |
f |
1 , |
o, |
|
|
|
|
|
|
, |
|
|
|
|
||||||||||||||
0 |
,7,0 |
і |
і |
і |
і |
S,t',X, |
, |
6 ,л і ' і ; і |
о і |
, |
, |
і |
, |
, |
і |
, |
, |
, |
, |
|
, |
, |
і |
|
, , |
, |
, |
, |
|
, |
, |
, |
,• |
, |
|
|
|
|
|
|||||||
0 ,1,0 |
|
|
|
|
К,Ч, |
і |
і |
1 і |
01 |
, |
l |
|
|
|
|
• . |
I |
I |
. |
і . |
і |
I |
. . |
і |
і |
і |
|
і |
і |
і |
і |
і |
|
|
|
|
|
|
|
|||||||
0 ,!,0 |
, |
і |
і |
і |
e,/>,3, |
1 г |
\ ' |
|
|
|
, |
1 |
, |
1 |
1 |
1 |
1 |
1 |
1 |
|
, |
1 |
, |
, |
! |
, |
|
|
|
|
|
|
і |
, |
, . |
|
|
|
||||||||
1 ,0,0 |
c,v,i,r, |
p,i,», |
|
1 |
' . |
|
і |
і |
[ . . . |
і |
і |
і |
і |
і |
і |
. |
і |
і |
|
і |
, |
J |
, |
, |
, |
, . |
. |
, |
, |
, . |
|
|
|
|
|
|
||||||||||
f |
,1,0 |
і |
і |
і |
і |
S,*,i, |
|
, |
і |
,\\lir,l>\u, |
, |
, |
і |
, |
, , |
і і |
і |
і |
, |
, |
, |
J |
, |
|
, |
, |
|
, |
, |
, |
, |
, |
, |
, |
|
|
|
|||||||||
' |
:?.0 |
> , |
і |
і |
і |
« , |
" , |
I |
, |
0, • ,9,<P\ |
|
|
|
і |
і |
і |
і |
і |
і |
і |
і |
• |
j |
і |
і |
і |
і • і |
і |
і |
і • |
|
|
|
|
||||||||||||
' ,3,0 |
o, |
, |
, , |
1 |
1 |
1 |
, |
V,-,t,9le, і і |
|
|
|
|
|
|
|
, |
і |
і |
j |
|
|
|
|
|
і |
|
і |
і |
і |
|
|
|
|
|
|
|
||||||||||
l |
,4,0 |
n,>,г, |
|
і |
P,3,3, |
і |
і , |
і |
і |
j |
|
|
|
|
|
і |
, |
, |
, |
, |
і |
|
і |
! |
, |
, |
|
|
|
|
І |
, |
, |
|
|
|
|
|
|
|
|
|||||
' ,1,0 |
. . |
ї |
ї |
1 |
1 |
1 |
1 |
|
1 |
I |
I |
I I |
I |
I I |
I |
I |
I |
I |
I |
I |
|
I l |
|
l |
l |
j |
l |
|
|
|
l |
|
l |
l |
|
l |
l |
l |
I |
|
I |
I |
||||
> ,1,0 |
і |
і |
і |
і |
t |
i |
l |
l |
|
1 |
1 |
1 |
1 |
1 |
1 |
, 1 1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
I |
І |
1 1 |
1 |
1 I |
|
1 |
I |
1 |
1 |
1 1 |
|
|
|
|
|||||||
' ,',o |
і |
і |
і |
і |
1 |
1 1 |
1 |
|
l |
l |
|
l |
j |
l |
f |
|
l |
l |
l |
|
l |
l |
|
|
1 |
I |
I |
|
I l |
l |
|
l |
|
j |
|
l |
|
|
l |
l |
l |
|
l |
l l 1 1 1 |
||
' ,1,0 |
і |
і |
і |
і |
1 |
1 1 |
1 |
|
1 |
1 |
1 I |
1 1 1 1 1 |
1 |
1 |
1 |
I |
1 |
> 1 |
1 |
1 |
j |
1 |
1 |
, |
1 |
1 1 1 |
1 1 1 |
|
|
|
|
|||||||||||||||
' ,9,0 |
• |
• |
, |
і |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j і |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
г,o,o |
, |
, |
, |
, |
. - 1 — 1 . 1 . 1 |
1 |
і |
, |
. |
! |
|
|
|
|
|
|
|
|
|
1 1 |
i |
, |
. і , і 1 1 |
1 |
|
|
|
|
|
|
|
|||||||||||||||
дение ag записывается в ячейку A12. Оператор ИС передаст |
|
управ |
ление оператору УФЗ для повторного выполнения умножения, при чем содержимое ячейки СЧЕТ уменьшится на 1. При втором про хождении цикла содержимое ячейки А12 умножается на g и полу ченное произведение ag2 будет снова помещено в А12 и т. д. Нако
нец, при последнем прохождении цикла в А12 окажется agn |
и, так. |
|||
как счетчик в ячейке СЧЕТ будет исчерпан, то управление |
будет |
|||
передано к оператору ВЫХ. |
|
|
|
|
Вычисление |
степени числа можно |
провести за более короткое |
||
время' за счет |
увеличения количества |
команд в программе. |
|
|
Ц и к л ы с м о н о т о н н о и з м е н я ю щ е й с я |
в е л и ч и н о й |
|||
организуются тогда, когда в программе имеются |
переменные, по- |
|||
величине которых можно принять решение об окончании |
цикла. |
При каждом прохождении цикла такая величина изменяется. Оце
нивая это новое значение величины, можно |
определить момент |
окончания работы цикла. |
|
Пример 2. Составить программу для вычисления значения N1 |
|
в десятичной системе счисления по заданному |
значению N>1. Па |
раметрами программы являются адреса AN и АЫФ величин N и N!r расположенные в одной ячейке в виде AN; AN€>. Предполагается,, что величина N такова, что ЛП не выходит за пределы 109.
Программа приводится на стр. 118- В этой программе рабочая часть цикла состоит из увеличения
на единицу текущего значения N в ячейке Р и умножения на него накопленного значения факториала в ячейке 2,0. Монотонно изме няющейся величиной служит возрастающее значение N. Програм му можно сократить, если вычислить ЛП по убывающему N.
11?
Строка Этикетка |
|
Hon |
|
||||||
9 |
,',11 |
12, |
і |
і |
,15 |
IA |
1 |
I |
,21 |
0 |
\1 \0 |
I |
I |
I |
I |
В\Я\і, |
|
|
, |
0 |
,2,0 |
п ,y ,c |
,к, |
P, 3 l « i |
, |
||||
0 |
,3,0 |
I |
I |
I |
I |
1 |
1 |
- |
1 1 |
0 |
,4,0 |
I |
I |
I |
I |
о,я,у, |
|
, |
|
0 |
,5,0 |
|
,. |
1 1 |
o, |
, |
, |
, |
|
0 |
,6,0 |
I |
I |
I |
I |
^ . 1 1 1 |
|||
0 |
,7,0 |
и,и,к,л, |
|
1, |
1 |
I I |
|||
0 |
,3,0 |
I |
I |
I |
I |
С,Ч>,Д,Р, |
|
||
0 |
,9,0 |
1 |
1 1 |
1 |
3, |
, |
, |
, |
|
1 |
,0,0 |
I |
I |
I |
I |
У\Ц,Д,Р, |
|||
1 ,1 ,0 |
I |
I |
I |
! |
3, , I I |
||||
1 |
,2,0 |
I |
I |
I |
I |
V, |
, |
і |
і |
1 |
,3,0 |
I |
I |
I |
I |
и,н,с, |
|
і |
|
1 |
,4,0 |
I |
I |
I |
I |
3,i1,X, |
, |
||
1 |
,5.0 |
|
|
1 1 |
S,A,). |
|
, |
||
1 |
,6,0 |
p, |
1 |
. 1 |
P,3,B, |
|
1 |
||
1 |
,7,0 |
I |
I |
I |
I |
I |
I |
I |
I |
I ,S,0 |
I |
I |
I |
I |
I |
I |
I |
I |
|
|
|
|
|
|
|
|
|
|
|
Адреса |
|
и |
|
замечания |
|
|
|
|||||||||
22\ |
|
і |
,25, |
і |
і |
і |
\Щ і |
і |
і |
\3Si і |
і |
і |
\Щ |
і |
|
|
і |
,45, |
|
|
|||||||
0, , i ' , - , |
, |
і |
1 1 і |
1 1 l |
1 1 l |
і |
, |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
— |
\ |
|
|
|
|
|
3 1 1 1 1 |
|
|
|
|
|
1 1 1 I 1 1 1- . |
1 . . 1 1 |
|
|
|
|||||||||||||||||
|
|
|
|
1 1 |
|
|
|
1 |
|
|
|
|
|
|
|
1 |
1 1 |
1 |
1 |
1 |
1 |
|
|
|
|||
' |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
1 |
|
|
|
||||||||||
/ 1 |
; ,п,у\с,к, |
|
+ ,3, |
, |
, |
, |
|
|
|
|
|
і |
І |
і |
|
і |
і |
і |
і |
|
|
||||||
*,1 |
|
,Д,;\р,,,0, |
|
|
|
|
|
|
|
, |
і |
і |
і |
, |
j |
і |
|
і |
, |
, |
і |
|
|
|
|||
P, |
|
, |
і |
j |
,^J,H,M, |
|
і * , |
,P, |
і |
, |
і |
і |
і |
j |
і |
|
, |
, |
, |
і |
|
|
|
||||
P., |
|
і -і 1 ,У |
,B,E |
,ЛХИ,Ч |
,E |
,НЛИ,Е |
, |
|
, |
, |
, |
|
, |
, |
, |
, |
|
, |
, |
||||||||
+ |
,1,Д, |
|
1 |
,Т,Е,Н,УХЩ,Е,Г |
|
,P, |
|
,iV, |
і |
і |
і |
j |
і |
|
і |
, |
, |
, |
|
|
|||||||
/ ' |
I |
I |
I |
' |
,Н,Й, |
,£ХД,И,Н,И,ЦХУ, |
|
|
|
і |
і |
і |
|
|
і |
і |
і |
і |
і |
|
|
||||||
P,.,0, |
|
j |
,У ,М,НхЙг,Ж,Є,Н |
|
,И ,E X |
,Н,Я, |
і j |
і |
|
і |
і |
і |
і |
|
|||||||||||||
2 |
, |
> ,0, . |
, T, E, К ,У |
,Щ,Е |
і |
E і |
i / f , |
і |
, |
і |
, |
|
і |
, |
і |
і |
і |
і |
|||||||||
3,,,0, |
|
1 |
і |
,П,Р,Ж,в |
|
, E , P ,K ,Я і |
,Н,Я, |
і |
j |
і |
і |
і |
і |
І |
|||||||||||||
Ц\И,К,Л\\,Р, |
|
|
|
, |
,з,Я\Д,д,н,н,р,£-, |
|
|
|
,m, |
|
j |
, |
, |
, |
, |
, |
|
|
|||||||||
П,У,С,к\ |
|
|
|
|
і |
і і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
|
і |
і |
і |
і |
|
|
|
||
/ , |
;,Р,я\б, |
|
, |
, |
, |
і |
і , |
, |
|
і |
і |
, |
і |
і |
і |
j |
і |
і |
і |
і |
і |
|
|
||||
/ , |
|
,я,V\E,#,*,/?, |
|
|
|
, Д , л , я , |
|
,Г,Е,К,УІШ,Е\Г,О, |
|
|
|
|
,/V, |
|
, |
|
|||||||||||
|
1 , , 1 , 1 1 , 1 1 1 , 1 1 1 |
|
1 I I 1 |
I |
I |
I |
|
I I |
|||||||||||||||||||
|
1 |
1 |
1 |
1 |
1 |
1 1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||
|
1 1 1 1 І І I 1 1 |
|
|
|
|
|
|
|
|
1 1 1 1 1 1 |
|
|
|
И т е р а ц и о н н ы е ц и к л ы |
характеризуются тем, что вычис |
|
ления выполняются |
каждый раз по одним и тем же формулам, но |
|
при этом результат |
вычислений |
используется как исходное данное |
при следующем прохождении цикла. Так, если для некоторых ис ходных данных х, у , z были применены расчетные формулы и в ре
зультате |
были получены Х\ у и |
Z\, то при повторном |
входе в цикл |
||||
*ь Уи Zi будут использоваться |
как исходные |
данные |
для расчета |
||||
*2> У2, *2 и т. д. Окончание работы таких |
циклов |
происходит тогда, |
|||||
когда результаты счета при данном выполнении |
цикла отличаются |
||||||
от предыдущих не больше, чем на некоторую |
заданную величину. |
||||||
Пример |
3. Составить программу |
вычисления |
функции ех при |
||||
помощи степенного ряда |
|
|
|
|
|
|
|
|
ех=1+х+ |
— -+- — |
+••• |
|
|
|
|
Вычисления прекратить, когда очередной член ряда будет мень |
|||||||
ше заданной величины Ю - 6 . Предполагается, |
что х удовлетворяет |
||||||
условию |
е ж < 2 + 6 4 . При составлении программы |
воспользуемся ре |
|||||
куррентными соотношениями для вычисления |
частичной суммы ря |
||||||
да и очередного слагаемого: |
|
|
|
|
|
|
|
|
S n + l = S n + Un+l ', |
|
|
|
|
||
|
|
|
X |
|
|
|
|
|
" n + l = " n - |
n + 1 |
' |
|
|
|
|
Начальные значения: /г = 0; s 0 = l ; |
u 0 |
= l . |
|
|
|
Параметрами программы являются абсолютный адрес Л' (ДА) и
118
абсолютный адрес ех{АЕХР), |
|
|
хранящиеся в одной |
|
ячейке в виде |
|||||||||||||||||||||||||||||||||||||
АХ; |
АЕХР. |
|
Программа приведена |
ниже. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
Операторы установки начальных значений записаны в строках |
||||||||||||||||||||||||||||||||||||||||||
©50 и 060. Оператор Н 0 Р М |
|
запишет нуль в ячейку N (д = 0) |
и еди |
|||||||||||||||||||||||||||||||||||||||
ницу в ячейку |
ЯЛ/, следующую |
за N ( п 0 = 1 ) . Оператор |
3 |
запишет |
||||||||||||||||||||||||||||||||||||||
единицу в A EXP (so=l) . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Строка Этикетка |
. Hon |
|
|
|
|
|
|
|
|
|
|
|
|
|
Ядреса |
|
|
и |
|
|
замечания |
|
|
|
|
|||||||||||||||||
9 |
і |
|// |
12, |
, |
, |
,1617, |
, |
, ,21 22, |
і |
i?5, |
і |
і |
і |
|M| |
і |
і |
і |
|
t36t |
і |
|
і |
, |
,40\ |
, |
, |
, I « I |
|
|
|||||||||||||
о |
\>\0 |
I |
I |
I |
! |
|
|
|
|
0, |
і |
, |
1 |
, |
, |
|
|
|
|
1 |
|
і |
і |
і |
і |
і |
і |
1 |
і |
і |
і |
і |
і |
|
|
|
||||||
0 |
,2,0 |
" i |
l |
l |
! |
|
|
|
|
J |
, |
, |
і |
j |
, |
, |
, |
, |
, |
, |
, |
|
|
|
, |
, |
|
, |
, |
|
, |
, |
|
! |
, |
, |
|
, |
і |
, |
|
|
0 |
,3,0 |
п,А,Р, |
|
, |
P,3,B, |
|
|
, |
/ |
і |
, |
і |
1 |
|
|
|
|
|
, |
|
|
|
|
|
|
|
1 |
і |
|
і |
і і |
і |
I |
|
|
|
|
|||||
0 |
,4,0 |
і |
і |
і |
і |
П,А,И, |
|
і |
1 , : ,n,f^P, |
|
, |
, |
, |
, |
, |
, |
, |
|
|
|
|
|
|
|
|
|
|
J |
і |
і |
і |
і |
L |
|
|
|||||||
0 |
,5,0 |
і |
і |
і |
і |
|
|
|
|
+ \1,-,;\N, |
|
|
, |
, |
,0, |
,8, |
,N,>,1, |
|
|
,в, |
|
,H,N, |
|
« |
|
1 |
, |
1 |
1 |
|||||||||||||
0 |
,6,0 |
|
|
|
|
*, |
, . |
, |
2, |
t ,0, |
і |
, |
,. , |
,/, |
і*, |
|
, A , £ , |
X |
, P , |
|
|
ї |
ї |
, |
, |
|
, |
, |
, |
|
||||||||||||
0 ,7,0 H,A,4,U, |
|
|
0,0,3-, |
, |
+ |
і / |
і • і ; |
і / / , |
і |
і |
і |
,H, + , / |
|
1 |
|
, |
1 |
|
1 |
1 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|||||||||||
0 |
,8,0 |
, |
, |
, |
, |
y,n, |
|
, |
, |
З , , |
,0,\ |
*И,М, |
, |
і |
,И,Ы,- |
| X | |
і |
і |
|
і |
і |
|
і |
І |
і |
і |
і |
і |
|
і |
|
|
||||||||||
0 |
,9,0 |
. |
1 |
1 |
! |
й,п,в, |
|
, |
N,; |
|
,H,N\ |
І |
1 |
, |
,И,( |
,N,+ |
1 f ,) |
1 |
, |
1 |
1 1 |
! |
|
|
|
|
|
|
|
|||||||||||||
1 |
,0,0 |
і |
і |
і |
і |
o,n,в, |
|
|
2 ,,,0,і |
|
2,,,0, |
1 ,SIN,+,H,N, |
|
|
1 |
1 |
1 1 |
j |
1 |
1 , |
1 , |
|
|
|||||||||||||||||||
1 ,1 ,0 |
І |
! |
! ! |
е,м,п, |
|
, |
f |
,P |
,S |
,;\H,N, |
|
, |
,nxP |
,0,B |
,£ |
,P,K,A., |
|
|
|
|
|
, |
! |
. |
, |
, |
, |
! |
, |
|
||||||||||||
1 |
,2,0 |
I |
1 |
1 |
1 |
Н,П,Л, |
і |
H,A,4,U\ |
|
1 |
1 |
t |
1 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
і |
1 і |
і |
|
і |
|
|
|
|||||||||
1 |
,3,0 |
! |
1 |
1 1 |
В,ЬІ,Х, |
|
і |
H, ; 1 1, |
I |
1 |
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 j |
1 1 t |
1 1 |
|
|
||||||||||||||||
1 |
,4,0 |
C,P,S, |
|
і |
к,ч, |
|
, |
, |
1 і- |
ч°г\є, |
|
і |
, |
і |
і |
і |
і |
і |
|
і |
і |
|
, |
|
і |
і |
|
, |
! |
і |
і |
і |
і |
і |
|
|
||||||
1 |
,5,0 |
і |
і |
і |
і |
B,A,3i |
|
, |
I , ; |
, P |
, A \ B , |
|
1 і |
|
1 1 |
1 1 |
1 |
1 |
1 |
! |
1 |
і |
1 |
1 |
1 |
1 1 1 |
1 |
|
|
|||||||||||||
1 |
,6,0 |
N, |
і |
і |
і |
P,'3-,B, і |
/ 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
і |
1 |
1 |
1 |
|
1 1 |
|
|
||||||||||
1 |
,7,0 |
И,Н, |
і |
і |
PiS-,S, |
|
і |
Г 1 , |
1 |
J |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
j |
1 |
1 |
1 1 1 |
|
|
|||||||||||
1 |
,8,0 |
і |
і |
і |
і |
1 |
1 |
I |
1 |
|
1 |
, |
1 |
|
, |
1 |
, |
1 1 |
1 |
1 |
1 |
|
1 |
1 |
|
1 |
|
1 |
1 |
1 |
і |
1 |
1 |
1 1 1 |
|
|
||||||
1 |
,9,0 |
, |
, |
, |
і |
, 1 |
1 |
|
1 |
|
, |
, |
, ! |
|
|
|
|
1 |
, |
1 |
|
1 |
1 |
1 |
1 |
, |
|
1 |
j |
, |
1 |
1 |
1 1 |
|
|
|
||||||
2,0,0 |
, |
, |
, |
і |
1 |
1 |
1 1 |
|
1 |
1 |
1 |
1 1 |
1 |
і |
1 1 |
1 |
t |
і |
|
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
|
|
|||||||
|
і і |
, і і і |
1 1 1 1 |
|
1 1 1 1 1 1 1 1 • 1 і 1 1 1 1 1 i _ i — і — 1 1 1 - 1 1 |
|
|
|||||||||||||||||||||||||||||||||||
Далее начинается циклическая часть программы. Вначале вы |
||||||||||||||||||||||||||||||||||||||||||
числяется |
ы п + 1 по ип |
по оператору |
|
СПЗ |
|
(строка |
070) |
получаем |
||||||||||||||||||||||||||||||||||
п + 1 , |
затем |
оператор |
УП (строка |
080) выполняет |
|
умножение |
ип |
|||||||||||||||||||||||||||||||||||
на х, а оператор ДПВ |
(строка • 090) |
|
проводит |
|
деление |
произведе |
||||||||||||||||||||||||||||||||||||
ния (ип-х) |
|
на п + 1 . Оператор |
СПВ |
|
(строка |
100) позволяет |
полу |
|||||||||||||||||||||||||||||||||||
чить |
|
sn +i |
как sn + U n + i . |
Операторы |
ВМП и ИПЛ |
|
(строки ПО* |
|||||||||||||||||||||||||||||||||||
и 120) выполняют |
проверку на достижение |
|
точности, т. е. проверя |
|||||||||||||||||||||||||||||||||||||||
ют \ип\ |
— Ю _ 6 |
^ 0 . При выполнении |
|
условия |
|
программа |
|
будет за |
||||||||||||||||||||||||||||||||||
кончена, т. е. буде'т выполняться |
оператор |
|
ВЫХ. В противном |
слу |
||||||||||||||||||||||||||||||||||||||
чае происходит возврат на начало цикла. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
Ц и к л ы |
|
с |
п е р е а д р е с а ц и е й |
|
организуются |
|
тогда, |
когда |
при каждом новом прохождении цикла необходимо обрабатывать
содержимое, разных (например, последовательных) |
ячеек |
памяти. |
||
Адреса операндов при этом должны |
меняться. Изменение |
адресов |
||
удобнее |
всего выполнять индексированием (для каждого |
нового |
||
прохождения цикла изменяется содержимое ячейки индекса). |
||||
Пример |
4. Составить программу |
нахождения |
суммы |
двухсот |
чисел с плавающей запятой, расположенных в последовательных
ячейках S, S + l , S + 2 |
S + 199. |
119.