Файл: Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.06.2024

Просмотров: 95

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Пример 5. Составить программу, вычисления функции у = х п

Используем метод счетчика. Будем к содержимому ячейки р2, пер­ воначальный код которой равен нулю , последовательно прибавлять еди­ ничку из ячейки а2, пока (р2) не станет равным га — 2 (так как первые две команды позволяют получить Xs).

Распределяем память для исходного числового материала.

 

Т а б л и ц а 36

№ ячеек

Исходный числовой

 

материал

“і

X

“2

1

“3

га—2

Составляем рабочую 3-адресную

программу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

37

к о п

А,

Аг

Аз

 

 

Примечание

 

ячеек

 

 

 

 

 

 

 

 

 

 

 

 

 

Л +

1

X

“1

аі

Рі

X2

?!

 

 

 

N +

2

X

Рі

°1

Рі

X3 ........ х п ->■Рі

 

 

N + 3

+'

Р2

“2

Р2

1, ....

га — 2 -і- р2

 

N +

4

“Ъср

Р2

а3

 

(Ра) т=(о3).

ш=

0

 

N + 5

1

 

N + 2

 

(Ра) =

 

(аз).

*> =

1

 

УГЧ

 

 

 

 

 

 

 

 

N + 6

п ч

Рі

 

 

(р) на

печать

 

 

N +

7

о ст .

 

 

 

 

 

 

 

 

 

N +

10

0 0

0000

0000

0000

і)=Л7+10 1

номера

 

 

 

 

 

 

 

 

 

1

рабочих

N + 11

0 0

0000

0000

0000

(р2)=Л1+11

J

ячеек

 

Пример 6. Составить программу вычисления функции

У — ахі

для значений л:: хи х2, , . ., хп.

 

 

 

 

 

 

 

 

Используем метод счетчика: к содержимому

ячейки

р2

будем прибав­

лять по единичке, пока не переберем все числа х

(их га). Получаемые про­

изведения ах1, ахг и т. д. выводятся на печать по команде ПЧ.

 

Перебор всех чисел х осуществляется с помощью переадресации по

команде

- f к, N+1, 8, N+1, которая

каждый раз

меняет содержимое

вто­

рого

адреса первой

команды

на единицу (так как

(5) =

00, 0000,

0001,

0000), пока не будут перебраны все числа х.

199



Распределяем ячейки памяти для

исходного числового

материала.

-

Т а б л и ц а

38

№ ячеек

Исходная

 

информация

 

 

 

 

 

 

ао

 

 

 

а

 

 

 

 

 

 

 

 

“1

 

 

 

А'і

 

 

 

 

 

 

 

 

“2

 

 

 

*2

 

 

 

 

 

 

 

 

Я

 

 

 

 

 

 

 

 

 

 

 

 

ап

 

 

 

Х п

 

 

 

 

 

 

 

 

Рі

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

п

 

 

 

 

 

Составляем рабочую трехадресную

программу.

 

 

 

 

 

 

 

 

 

 

 

 

і

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а 39

 

коп

А,

Аг

 

А з

 

• Примечание

ячеек

 

 

 

 

 

 

 

 

 

 

 

 

 

N +

1

X

“ 0

“ 1

 

Рі

ахі -

Рі

 

 

 

N + 2

пч

Рі

 

 

N + 1

і) на печать

 

 

N + 3

+ к

N + 1

 

 

 

 

 

 

 

 

Л Г +

4

+

Р2

Р і

 

Рз

 

 

 

 

 

 

І Ѵ +

5

+ ср

Р2

8.

 

 

(Рг) ¥=(°і).

=

0

 

 

 

 

 

 

 

(Рг)

=

(®і).

=

1

N + &

УПЧо

 

W + 1

 

 

 

 

 

 

 

 

N + 7

ост.

 

 

 

 

В для переадресации

/V +

10

0 0

0000

0001

 

0000

Л Г +

11

00

0000

0000

 

0001

Р і

 

 

 

 

 

IV +

12

00

0000

0000

 

(ООО

р2

номера рабочих ячеек

Пример 7. Составить программу нахождения суммы

 

 

 

 

 

 

 

 

 

3

Н*

 

 

 

 

 

 

 

 

 

S = S1

 

Xі

 

 

 

 

 

 

 

 

 

Х і Ѵ Х і ( Х і — а )

 

 

 

 

 

 

200


Очевидно, что на К-м этапе вычисления слагаемое, имеет вид

 

Вк =

■*к + а

 

 

 

 

XkVxk{Xk— a)

 

 

 

 

 

 

 

 

Разместим данные следующим образом

 

Т а б л и ц а

40

 

 

 

 

 

№ ячейки

н

«2

"3

 

ßl ?2 Рз

 

Содержимое

xt

2

Хз

* * *

а п\

 

Х

 

 

Воспользуемся методом засылки

в стандартную ячейку

ф (5). ф— 3TQ

условный адрес этой ячейки.

 

 

 

 

 

Тогда 3-адресная программа получит вид:

 

Т а б л и ц а

41

 

 

 

 

 

ѣ

 

КОП

ячейки

 

N + 0

+'

N + 1

X

N + 2

X

N +

3

+'

JV +

4

У

N + 5

X.

N '+ 6

 

N + 7

Хі

N + 10

 

N +

11

+

N + 12

+ к

N + 13

+

N +

14

Н“ср

N + 15

УПш0

N +

16

п ч

N + 17

ост

где

 

 

л, Â2

“і

фФ

фРі

Рі Рі

ф

фР2

фРі

Рг

Рз

Рі

Рг

Р4

Рі

N + 0

Б

Ра

Рз

Рб

Рг

 

N + 0

Р4

 

-

 

Лз

ф

Рі

Рі

Pi

Р2

р2

Рз

Рг

Рі

Р4

N + 0

Рб

Примечание

Ячейка перебора чисел -^1» -^2» *3, • ■■ХП

х] - рі

х\ -* Р І

+а “*■Рі

Ѵхі - р2

Х\ ТУхі -*■pa

Хі а -*■ рз

*г/-Х г(*г — а)

Рг

Ві

рі

 

V I

*г + а

 

^

+

а)~* Ра

І

 

 

Формирование команды перебора

Увеличение счетчика на 1

Проверка условия г =я

ш= 0 к N 4- 0

ш= 1 к N + 16 Печать S'

201


 

 

 

 

 

 

Т а б л и ц а

42

 

КОП

 

а 2

^3

Примечание

 

ячеек

 

 

N + 20

00

0000

0000

0000

Рабочие ячейки

 

N +

21

ро

0000

0000

0000

Ріі Ра. Рз. ?і ,

Ре

N +

22

00

0000

0000

0000

 

 

А + 2 3

00

0000

0000

0000

 

 

N + 24

00

0000

0000

0000

Счетчик

 

А +

25

00

0000

0000

0000

Ячейка перебора

ф

8

 

00

0000

0001

0000

Константа для пере-

 

 

 

 

 

 

бора

 

В данном примере команда УѴ 4-12

изменяет

при каждом новом про-

ходе значение второго адреса

команды

А +10

на

единицу.

Метод сравнения с

У-ым членом

последовательности

В ряде случаев удобнее оканчивать цикл не по методу счетчика, а сравнением с і членом последовательности.

Пример 8. Рассмотрим пример 1.

Так

как

Хюо = 100,

т.

е. известен,

то в программе таблицы можно

опустить

команду N +'5

и

заменить в

команде N + 6 первый адрес на

N + 6

+ ер

 

а1

Ч

т. е., сравнивая х% с х ,00=ЮО, что и определит момент окончания цикла.

Пример 9. Рассмотрим пример 2.

 

 

 

Аналогично, опустив команду W +5

в таблице 31 и заменив

в команде

N + 6 второй адрес на

 

 

 

 

+ ср

ч

ч

 

 

(т. е. сравнивая х т = т с

получаемым

в ячейке ах),

определим

момент окончания цикла по

совпадению х і =

т.

 

Пример 10. Вычислить у = п\ Составим блок-схему программы.

-202