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

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

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

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

Добавлен: 18.06.2024

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

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

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

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

 

 

 

 

ка для

г-га ра­

 

 

 

 

бочего

 

 

 

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



Пример 1.

Вычислить

 

Z ; =

A + t f

 

где/ =

1 ~ 1000.

Циклическая прогаам-

 

 

0.357

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ма на АЛГОЛе запишется в виде:

 

 

 

 

 

 

 

 

 

 

 

 

begin teal array jt. у,

z

[1:1005];

integen /; for

i: — 1

step

1 until

1000 do

z[Z]: =

(jc[t]

1 2 +

//[/]

f

2)/0,357;

output(г[і\) end.

 

 

 

 

 

 

 

Здесь

 

real

array

x,

у,

г

[1 : 1000]

задает імасснв

действительных

чисел

-VI, у і ,

zi

с индексом

і =1 ~

1000.

 

 

 

 

 

 

 

 

 

 

 

Элемент списка

цикла

1 step

1 until

1000 определяет

последователь­

ность с шагом 1:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2=

1,

2=1 + 1, 2=

1 +

1 + 1, . . J до

 

1000.

 

 

 

Пример 2. Вычислить

 

Z; =

"j/" yj +1 для

і =

1 =

100,

где уі

=

-t? +

+ 0,75 и напечатать

уі и Z;.

 

 

 

 

 

 

 

 

 

 

 

 

 

Циклическая программа на АЛГОЛе:

 

2; for

 

 

 

 

 

 

 

 

 

èegin

real

array х,

 

у,

z

[1:100]-,

infèger

i : =

1

 

step

1 until

100 do

begin y[i] : = x [2]

 

t

3 +

0,75;

output (y\i})\

z [2]: =

sqrt (2Д2] t

2 + 1)

output (Z [/]) end end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 3. Вычислить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x) +

17,9 л:? +

123,

 

 

а <

1

 

 

 

 

 

 

 

Уі =

л:?- 1 ,8 9 5 ,

 

 

 

 

1

<

а <

16

 

 

 

 

 

 

 

ctg

Xi,

 

 

 

 

 

 

 

22

>

16

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

Л' /

+ 0

' 2 5

 

 

 

 

 

 

7ОД

 

 

 

 

 

 

 

- -------------- ,

 

 

 

2= 1

+-

1739,

 

 

 

 

 

 

 

 

 

sin Xi + 2

 

 

 

 

 

 

 

 

 

 

 

 

Напомним, что при решении выражений

такого

типа в АЛГОЛе

используются условные операторы типа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і/ В then

V else 5

 

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

 

 

i f В then

V,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где В — булевское выражение,

 

 

 

 

 

 

 

 

 

 

 

 

 

V —: безусловный оператор,

 

 

 

 

 

 

 

 

 

 

 

 

 

S —іліобой оператор.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тоща программа на АЛГОЛе запишется

в

виде (вначале

вычис­

лим а):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

real

array х,

 

2/(1:1739);

real a;

integer/;

 

 

 

 

 

 

 

 

 

for/:

=

1

step 1 until

1739

do

begin

a: = (* [/]

t

3 +

 

0,25)/(sin(лг[(/])+2);

if 2i <

1 then

2/[Z]: =

JC[Z] t

4 +

17,9 X x[i]

t 3 +

123

else

 

if a > 16

then

y[t\: =

cos (x[/])/sin (JC[i])

else

2/[/]: =

x[i]

t 3 — 1,895;

output y[i])

end end

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

 

 

 

 

 

 

Пример 4. Вычислить

 

у — m 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/= 1

 

 

 

 

 

 

 

 

 

 

 

210


 

Программа на АЛГОЛе:

 

 

 

 

 

 

 

begin

real

array

х,

у[\:п);

integer/;

real

sum,

у,

m; sum: = 0 ;

for/: = 1 step 1 until n do

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sum: =sum + x\i\ end

 

 

 

 

 

 

 

 

 

у: =

m X sum; output (у) end

 

 

 

 

 

 

 

 

Пример 5.

Вычислить у = a.v3 + bx2 +

cx + ,

 

 

где

jc =

1, 2,

3 ... n.

 

 

 

 

 

 

 

 

 

 

На АЛГОЛЕ программа запишется в виде:

 

 

 

 

begin real у, a, b, с,

d;

integer

х;

 

 

 

 

 

for

х: = 1 step

1

until

п do

 

 

 

 

 

 

 

begin

 

 

у: =

яХ-*|3 + 6Х -*|2+сХ д:+^; output

(у) end end

 

 

 

 

 

Пример

6. Написать на АЛГОЛЕ

программу вычисления.

 

Программа запишется в виде:

У = я!

 

 

 

 

 

 

 

 

 

 

 

begin integer п, i, а;

 

 

 

 

 

 

 

 

 

а: =

1;

fori: =

1 step

1

until п do

 

c,

d),

 

 

АЛГОЛЕ.axi;

output

(a) end

 

 

 

 

 

 

а:

 

 

 

 

 

 

 

 

 

 

 

Пример 7. Найти

Z =

min(a,

b,

 

 

 

написать программу на

 

Программа

 

с,

d,

х,

у;

 

 

 

 

 

 

 

begin

real

a,

b,

 

 

 

 

 

 

 

if а

<

b then х: =

a

else

х: = 6;

 

 

 

 

 

if с <

d

then

у: — с else у: =

d;

 

 

 

 

 

 

іi x

< у

then

output

^ )else output (у)

end.

 

 

 

 

Пример 8. Составить программу подсчета себестоимости изделия, ис­

пользуя уравнение примера 1 § 2—б:

 

 

 

 

 

begin

integer

/,

«;

real Ml,

М2,

N1,

N2,

s,

sum;

real array р[1:л];

sum: —0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tor /: = 1 step

1

until

n do

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sum: =

sum + /?[i]

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/

s: = (100 + N1 4- N2)/100

sum +

Afl

+ М2; output (s) end.

 

Пример

9.

Составить

программу

для

расчета

стоимости материалов

в соответствии с формулойx

примера 2 § 2—5:

 

 

begin

integer j ,

k; real S;

 

 

 

 

 

 

 

 

 

 

real

array

C,

Q,

T[\:k\;

 

 

 

 

 

 

 

 

integer

array

m

[I:ft];

 

 

 

 

 

 

 

s: = 0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for /: = 1 step 1 until k do

 

 

 

 

 

 

 

begin s: = s + C [/] x

m [j ] X Q [/] X (I +

T [/]/100)

 

end

output

(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end

211