Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей

.pdf
Скачиваний:
26
Добавлен:
23.10.2023
Размер:
8.7 Mб
Скачать

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

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

материала.

-

Т а б л и ц а

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

нет

Т а б л и ц а 43

№ ячеек

Седержимое

 

ячеек

 

 

 

 

°і

 

1

 

“2

 

1

 

°з

 

1

 

“4

 

п

 

Составим программу:

 

 

 

,

 

к а п

А,

Ай

ячеек

 

 

 

N + 1

X

аі

“3

N + 2

+!

■ “1

“2

N + 3

~т~ср

ч

“1

Примечание

Дальше 2 , 3 , . . т.е. последующий сомножитель

«1» пересчета

Затем п\

Т а б л и ц а 44

Аз Примечание

«3 Определение 1Х 2 Х З Х - -. Хп

а1 1 + 1 -»■ «1,2 + 1-+ агп т. д., т. е. определенне последующего сомножителя

N + 4

УПШо

N + 1

Пф(аі),

и) =

0

 

 

 

П {Gtl),

<1) =

1

N + 5

п ч

“3

у = п\ на печать

JV + 6

ост.

 

 

 

 

203

§ 2—5. Программирование экономических задач на трехадресных ЦВМ

Пример 1. Рассмотрим пример подсчета себестоимости изделия, изго­ тавливаемого бригадой из it человек. Каждым рабочим выполняется одна операция. На изделие израсходовано материалов на сумму рублей и покупных деталей на сумму М2 рублей, цеховые и заводские накладные

расходы соответственно составили JVI и N2, а расценки на операцию (-го рабочего — Р і.

Для подсчета себестоимости используем уравнение:

100 + Nt +

N2

П

. ^ Р і + м 1 + м 2

100

 

 

/'=1

Распределим память под исходную информацию следующим образом:

Р і Р 2 . . . Р п М2 (Vt N2 100 п 1

а 1 [а 2 I • • ат 8Рі Рз Рз Рі Рб Ро ?7

Тогда программа будет представлена в следующем виде:

Т а б л и ц а 45

ячеек

к о п

команд

 

N — 1

Вв

JV+ 0

СПІ

N + 1

П

N + 2

п

Л' + 3

+:

N + 4

+ к

N + 5

 

N + 6

+ср

.N + 7

УПш0

N + 10

!+!

N + 11

Ч-І

N + 12

5

N + 13

X

А,

а 2

Аз

Примечание

N + 0

 

 

 

 

 

 

“1

ат + 7

 

 

 

 

 

0000

 

рі

Очистка

рабочих

ячеек

0000

 

Р2

Рі и р2

 

 

 

 

 

 

 

Р2

“1

Р2

Накопление

^ Р і

 

 

 

 

 

 

1

 

N + 3

АН21

N + 3

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

 

 

 

переадресации

 

Рі

р7

Рі

Прибавление + 1

к счет-

 

 

 

чику

 

 

 

Рі

Рв

 

Выработка

ш

 

 

.АН- 3

 

 

 

 

 

Рб

Рз

Рз

100 -J- УѴі — рз

 

Рз

Рі

Рз

100 -j- Ni +

УѴа —> Рз

Рз

рб

Рз

100 +

Ni + N2

 

 

100

 

Рз

 

 

 

 

 

р*

Рз

Рз

ЮО + Л^+ЛО,

 

loo

 

 

 

 

 

 

 

 

1

-*■

Рз

 

204

 

 

 

 

 

 

П р о д о л ж е н и е

 

 

 

 

 

 

 

 

 

ячеек . ' к о п

А ,

А г

А з

Примечание

 

команд

 

 

 

 

 

 

 

 

N +

14

+

Рз

Рі

Рз

 

 

 

 

N +

15

+

Рз

Р з

Рз

Перевод S в десятич-

N +

16

■сп 2

Рз

 

 

ную

систему счисле-

 

 

 

 

 

 

НИЯ'

 

 

 

N +

17

пч

Рз

 

 

Печать

S

 

 

N + 20

ост

 

 

 

 

 

 

 

N + 21

0 0

0000

0001

0000

 

 

 

 

Пример. 2. Рассчитаем

S — стоимость материалов,

требуемых

для

цеха в месяц, если цех изготавливает из К различных типов

материалов

тІС деталей (см. таблицу 46, а). Вес каждой

детали из j типа материала

обозначим через Qj, технологический отход

при изготовлении детали —

через

Ті

п стоимость единицы веса і -го материала — через

Cj.

Тогда

общая стоимость

материалов будет

рассчитана по формуле

 

 

 

 

 

5 = 2

Cj-nij

Qi

 

 

 

 

 

 

 

/=

1

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

46, а

Тип

Количество

Стоимость

 

 

 

 

единицы

Вес одной

Технологиче­

материа­

изготавливаемых

веса материа­

детали

ский отход

ла

 

деталей

 

 

ла

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

Щ

 

с,

Qi

 

Г,

 

2

 

 

пг2

 

с2

Q2

 

г2

 

3

 

 

ms

V

Сз

Qs

 

т3

 

J

ГП]

С/

Qj

Tj

к

/пк

Ск

QK

■тк

1 205

Распределим память под исходные числовые Данные;

Тип материала

1

 

2

 

3

 

Количество изготавли-

 

 

 

 

 

 

ваемых деталей

Щ

 

2

 

3

 

Номера ячеек памяти

 

m

 

m

 

Р -

1

ß +

2

ß +

3

Стоимость единицы веса

 

 

 

 

 

 

материала

Сх

 

c 2

 

C3

Номера ячеек памяти

7 +

1

7 +

2

7 + 3

Вес одной детали

Qi

 

Qa

 

Оз

 

Номера ячеек памяти

 

 

£ +

2

e + .3

Технологический отход

 

 

T2

 

T3

 

Номера ячеек памяти

4 +

1

T) +

2

1) +

3

Константы

1

 

К

 

100

Номера ячеек памяти

Qi

 

Qi

 

3

 

 

 

 

Q

 

• . 4 . А К

....

тк

.............

ß + >h

 

c k

 

7 + «8

. . . . . .

Qk

 

E + tig

 

T k

 

ю + n8

Т а б л и ц а 46, б

Программу можно написать в виде:

 

 

 

 

 

 

 

 

ячеек

коп

А,

A2

A3

Примечание

команд

програм­

 

 

 

 

 

 

 

мы

 

 

 

 

 

 

 

 

1

2

3

4

5

 

6

N + 1

П

0000

 

Pi

ичистка рз.,

р2

N + 2

П

oooo

 

Pa

 

 

1

N +

3

 

1) +

1

Qs

Рз

 

Т,

 

 

100

 

 

 

 

 

 

 

 

Д7+ 4

+

Qi

Рз

Рз

 

т,

 

Т о о ~

+ 1

 

 

 

 

 

 

 

N +

5

X

« +

1,

Рз

Рз

( 100

+ I h

 

 

 

 

 

 

 

N +

6

X

ß +

1

Рз

Рз

Вычисляем вес материя-

 

 

 

 

 

 

 

ла под детали /Лу

N + 7

X

7 + 1

Рз

Рз

Вычисляем

стоимость і

 

 

 

 

 

 

 

типа материала

N + 10

+ k

N + 3

N + 22

N + .3

Формирование команд

N + 11

+ k

N + 5

N + 22

fV + 5

программы в ячейках

N +

12

+ k

N + 6

N + 22

N + 6

JV+3,

ЛЧ-5, N+6, •

 

 

 

 

 

 

 

N+7

 

 

206

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р о д о л ж е н и е

 

1

 

2

 

3

 

 

 

4

 

 

5

 

 

 

6

 

 

N + 1 3

 

+ к

N + 7

 

N + 2 2

 

N + 7

 

 

 

 

 

 

N +

14

 

+

 

Р і

 

 

Рз

 

 

Рі

 

Накопление суммы

S

N +

15

 

+'

 

Рі

 

 

Ql

 

 

Р2

 

Прибавление 1 к счет-

N +

16

 

 

 

 

 

 

 

 

 

 

 

 

 

чику

 

 

 

 

+ ср

Р2

 

 

Qi

 

 

 

 

Выработка и>

 

 

N +

17

УПШ„

 

 

 

N + 3

 

 

 

 

Переход к N + 3

 

 

N + 20

пч

 

 

 

 

 

 

 

 

 

 

 

при ш= 0

 

 

 

 

Р і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N + 21

ост

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N +

22

0 0

 

0001

 

'0000

 

0000

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример

3.

 

Рассчитать

зарплату

бригаде

повременщиков

из п

человек по формуле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z i = X i - Y i + B i - V i - D i - P i , '

 

 

 

где

Zi

—.сумма, причитающаяся к выдаче г-му рабочему;

 

 

 

 

 

Х і —.количество часов, проработанное і-м

рабочим;

 

 

 

 

 

Yi

— часовая расценка зарплаты для і-го рабочего;

 

 

 

 

 

Ві — сумма,

причитающаяся

по

больничному листу

і-му

рабочего;

 

 

Ѵі — аванс, полученный і -м рабочим;

 

 

 

 

 

 

 

 

D i — бездетный налог, причитающийся с і -го рабочего;

 

 

 

 

Рі — подоходный налог, причитающийся с

і-го рабочего;

 

 

 

Di и Р і

вычисляются по формуле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1 = 0,06-(*|-У | +

Bi)

di

,

 

 

 

 

где

d i — наличие

детей

у

і -го

рабочего1. При

наличии

детей

d ;- =

О,

при отсутствии 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рі =

 

+

 

 

+ Bi -

100) 0,13.

 

 

 

 

где

Xi-Yi + Ві >

Ш0.

При

Xi-Yi +

 

В і < 1 0 0

принимается

Хі К - +

+

Ві = 100.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і,

Вывести

на

печать

таблицу

в

чисел

в

следующей

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

Хі, Yі, Ві ,

Ѵі , Di, Р і

и

Zi

порядке изменения і

от 1 до

п.

 

 

 

 

 

Распределим

исходную числовую

информацию

 

 

Порядковый

но­

1

 

 

 

2

 

 

3 . . .

 

/

 

. .

 

п

 

мер рабочего

 

 

 

 

 

 

 

 

 

Количество часов,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проработанное

 

 

 

 

N 2

 

 

 

 

Хі

 

 

Хп

 

і -ім рабочим.

 

 

 

 

 

 

 

 

 

 

 

Номера

ячеей (па­

а +

1

 

а + 2

а +

3 . . .

 

 

 

a +

 

мяти

 

 

 

 

“ -г Те

 

207

Часовая расцен­

 

 

 

 

ка для

г-га ра­

 

 

 

 

бочего

 

 

 

Yi

 

.Номера ячеек па­

 

 

ß +

2

мяти

 

ß +

i

Сумма по

боль­

Вг

 

 

 

ничному! листу

 

 

 

Номера ячеек па­

 

 

 

 

мяти

 

7 +

1

7 +

2

Наличие детей

di

 

do

Номера ячеек па­

т) +

1

т) +

2

мяти

 

Аванс

 

Ѵі

 

^2

 

Номера ячеек па­

 

 

£ +

2

мяти

 

е +

1

Константы

 

0,06

 

8,2

 

Номера ячеек па­

 

 

 

 

мяти

 

Яі

 

Яі

 

Продолжение таблицы

Уз...

Уі

 

Yn

ß + 3 . . .

ß + Ja

. . .

ß + mt

Вз...

Bi

 

Bn

7 + 3 . ..

7 + Ів

• • •

7 +

^З' • *

di

• . .

dn

Т) + з . ..

4 + Ja

 

11 + та

va...

Vt

. . .

v„

£ + 3 . ..

£ + Ja

. . .

t -f ma

0,13

100

1

n

<?3

Яі

Яь

Яо

 

Составляем программу в

условных адресах:

 

 

 

 

 

Т а б л и ц а 47

 

 

 

 

 

ячеек

к о п

А ,

Аг

Аз

Примечание

програм­

 

 

 

 

 

мы:

 

 

 

 

 

г

2

3

4

5

6

N + 1

П

0000

 

Рі

Очистка ячейки рі

N + 2

X

а + 1

ß + 1

Р2

Х ѵ У і ^ р,

N + 3

+1

Рг

7 + 1

Рз

Х і ’Уі + Ві р а

N + 4

Рз

Е + 1

Рз

X f Y i + £(• — Ѵі

N + 5

X

Р2

Яі

Рі

 

N + 6

X

?і

Т + І

Рі

D i - Ра

N + 7

Рз

Pi

Рз

* і-Г { + Д | - V | - D i

N + 10

Р2

Яі

Рб

ш =.0, если

 

 

 

 

 

Xi-Yi + Ві > 100

N + 11

УПш,

 

N + 1 4

 

 

N + 12

X

Рб

Яз

Рб

 

208

1

N + 13

N + 14

N + 1 5

N + 16

N + 17

IV + 20

N + 21

N + 22

N + 23 77 + 24

N + 2 5

N + 25

77+27 N + 30

N + 31

N + 32

N + 33 77 + 34

N + 35

N + 36

N + 37

2

+1

П

+

ПЧ

пч

ПЧ

пч

пч

пч

пч

пч

+*

+к

+к

+к

+ср

УПш0

ост

0 0

0 0

3

Рб

<?2

Рз

Рі

Pi

а + 1 ß + 1 7 + 1 3 + 1 Р4

Рб

Рз

N + 2

N + 3

N + 4

N + 6

Рі

0001

0000

4

5

<72

Рб

 

Ре

°3

Рі

7 7 + 3 6

77 + 2

N +

17

N + 3

7/ +

37

77 + 4

/V +

37

N + 5

<7о

Pi

N + 2

 

0001

0000

0001

0000

П р о д о л ж е и и е

6

Pi -> Рб

Пересылка, 8,2 в р6 -2”г —*• Рз

Прибавление 1 к счет­ чику

Печать. Порядковый № рабочего

Печать X і

Печать Уг Печать 5; Печать Г; Печать Di

Печать Я; Печать

Формирование команд ві ячейках

77+ 2, 77+ 3, А7 + 4. N + 6

§ 2—6. Запись циклических программ на АЛГОЛе

Напомним, что для организации циклов в АЛГОЛе может попользоваться оператор цикла типа арифметической про­ грессии вида:

fori/: = Ег step Е2until Е3doS.

Здесь оператор S выполняется многократно при значени­ ях переменной V равных значениям выражений

Еи Ei + Es, Е\ +'2Е2, Е і + 3Е2, ...

Причем из этого ряда берутся только те значения, которые меньше или равны Е3 при положительном Е2 и больше или равны Ез при отрицательном Е2.

14 -32

209

Соседние файлы в папке книги из ГПНТБ