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

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

.pdf
Скачиваний:
16
Добавлен:
24.10.2023
Размер:
10.77 Mб
Скачать

 

§

13.

Составление

циклических

программ

 

 

 

 

 

П р и р е ш е н и и

многих задач" в ы ч и с л и т е л ь н ы й

п р о ц е с с

имеет

ц и к л и ч е с к и й

х а р а к т е р .

Это значит, что" р е ш е н и е

з а д а ч и

состоит

в м н о г о к р а т н о м

п о в т о р е ­

нии в ы ч и с л е н и й

по

одним и

тем ж е

ф о р м у л а м

с п о д с т а н о в к о й

в

них

 

к а ж д ы й

р а з н о в ы х

ч и с л о в ы х

з н а ч е н и й н е к о т о р ы х

величин .

 

 

 

 

 

 

 

 

К а ж д о м у ц и к л у

в ы ч и с л и т е л ь н о г о

процесса с о о т в е т с т в у е т

цикл

п р о г р а м ­

мы . Ц и к л о м ' п р о г р а м м ы н а з ы в а е т с я ее у ч а с т о к , м н о г о к р а т н о

и с п о л ь з у е м ы й

в п р о ц е с с е р е ш е н и я

задачи .

Этот у ч а с т о к

з а к а н ч и в а е т с я

п е р е д а ч е й

у п р а в ­

л е н и я на

его начало, если к

этому

моменту у с л о в и е

окончания

цикла

е щ е

не в ы п о л н е н о .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р а з л и ч а ю т д в а

типа ц и к л о в : и т е р а ц и о н н ы й

цикл

и ц и к л

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

И т е р а ц и о н н ы м

 

ц и к л о м

н а з ы в а ю т

цикл,

не

 

с о д е р ж а щ и й

 

и з м е н я е м ы х

команд . Схема т а к о г о цикла

с о д е р ж и т

л и ш ь

о п е р а т о р ы

счета

 

п л о г и ч е с к и е

о п е р а т о р ы .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ц и к л , команды

к о т о р о г о п е р е а д р е с у ю т с я

при

к а ж д о м

в ы п о л н е н и и

цикла,

н а з ы в а ю т

ц и к л о м

с

п е р е а д р е с а ц п е й .

Схема

т а к о г о

цикла,

в

о т л и ч и е

от

и т е р а ц и о н н о г о , о б я з а т е л ь н о с о д е р ж и т в а р ь и р у ю щ и е о п е р а т о р ы , и з м е н я ю ­

щ и е

і

команды э т о г о ц и к л а .

 

 

 

 

 

 

В н е к о т о р ы х

случаях

о к а з ы в а е т с я

н е о б х о д и м ы м

в о с с т а н о в и т ь п е р в о н а ч а л ь ­

ный

вид к о м а н д

цикла,

и з м е н я е м ы х

в р е з у л ь т а т е

п е р с а д р е с а ц п н . Восстанов ­

ление

о с у щ е с т в л я е т с я

в а р ь и р у ю щ и м и о п е р а т о р а м и ,

не

в х о д я щ и м и

в ц и к л .

Т а к о й

цикл иногда н а з ы в а ю т циклом

с п е р е а д р е с а ц п е й

и

в о с с т а н о в л е

н и е м .

 

 

200*. Составить программу, содержащую итерационный

цикл

и вычисляющую значение величины

 

 

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

 

 

 

 

п=1

 

 

 

 

 

 

 

201.

Составить

программу,

содержащую итерационный

цикл

и

вычисляющую значение величины у = п\

по формуле п\

=\

- 2 ...

...

 

[п — 1) • п

для

11 = 1.

 

 

 

 

 

 

 

 

202.

Составить

программу,

содержащую итерационный

цикл

и

вычисляющую значение величины

 

 

 

 

 

 

 

 

 

 

л = |

 

 

 

 

 

 

Где4г =

( 1 + і ) х ( І і + 2 ) х ( з ї + з ) х . . . х ( ^ -

+

/г),л!

=

=

 

1 X 2 х з

х ...

х м - п х « .

 

 

 

 

 

 

 

203. Составить программу, содержащую итерационный цикл

для

вычисления

величины

sin (1 Од;),

используя

формулу

sin(пх) =

s i n [ ( п — l ) x ] c o s x + s i n x c o s [ ( / i — г д е

sin

х=

1/14,

0 <

л: =s£ я/20.

 

 

 

 

 

'

-

 

 

204. Составить программу, содержащую итерационный

цикл

для

вычисления приближенного значения

интеграла

 

 

 

 

20

используя

формулу трапеций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

я—1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-V0

 

 

'=0

 

 

 

 

 

 

 

 

 

 

 

 

где h =

x i + i

— X;.

При

вычислении

значения

интеграла /

вели­

чину h

взять равной 0,01.

 

 

 

 

 

 

 

 

 

 

 

 

 

205*. Составить программу, содержащую

итерационный

 

цикл

и

вычисляющую

приближенное

значение

величины

 

 

 

 

 

 

 

 

у = = 2 І ( 2 Н — 1 ) ( 2 л

+ 1)

 

"•=!,

2, ...

 

 

 

 

 

Процесс

вычисления

величины

у

закончить,

когда

будет

 

вы­

полнено

неравенство — 0 , 9 ( < Ч 0 ~ 3 .

 

 

 

 

 

 

 

 

 

206.

Составить

программу,

содержащую

итерационный

цикл

и

вычисляющую

приближенное'

значение

величины

 

 

 

 

 

 

 

 

 

 

y='2i-W,

 

 

п=1,

2, .. .

 

 

 

 

 

 

 

 

 

 

 

 

її

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс

вычисления

величины

у

закончить,

когда

будет

вы­

полнено неравенство 1/2"<^10"4 .

 

 

 

 

 

 

 

 

 

 

 

207.

Составить

программу,

содержащую

итерационный

 

цикл

и

вычисляющую

приближенное

значение

величины

 

 

 

 

 

 

 

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс

вычисления

величины

закончить,

когда

будет

вы­

полнено

неравенство ,,(-;4 — r / ) j < 4 0

 

А

 

 

 

 

 

 

 

 

208.

Составить

программу,

содержащую

итерационный

 

цикл

и

вычисляющую

значение

величины

у =

п,

где п — количество

нулей

в двоичном коде, размещенном в ячейке а.

 

 

 

 

 

209*. Составить программу, содержащую

итерационный

 

цикл

и

вычисляющую

значение

величины

у =

п,

где п — количество

единиц в двоичном коде, размещенном в

ячейке а - ( - 1 0 .

 

 

 

210.

Составить

программу,

содержащую

итерационный

цикл

и

вычисляющую

двоичный

код уіУі00уіУі000уіУі0000уіУі000,

 

где

УІУ-2 — старшие

разряды

двоичного

кода

~y =

yiyt

. . . г/з0>

разме­

щенного

в

ячейке

а.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

211*. Составить программу, содержащую

цикл

с переадреса­

цией

для расчета

таблицы

квадратов

и кубов

величины

 

xi(i=-

=

0,

1,

2,

 

100), если х0 =

0,

а

^ 1 =

^

+

0,001.

 

 

 

 

212.

Составить

программу,

содержащую

цикл

с

переадреса­

цией

и

вычисляющую

значения

функций

Pi(x)=x;

 

Рг(х)

=

=

(3.v'2— 1)/2; Р3(х)=г

 

(5л-2 — Зх)/2; для

х =

х0,

хи

хъ

 

 

х ? 0 ,

где

х0

=

0, ХІ.І=ХІ-\-0,05

 

 

(і —0,

1,

2

 

20).

 

 

 

 

 

 

 

 

Результаты вычислений разместить в последовательных

ячей­

ках

памяти

в

следующем

порядке:

 

 

 

 

 

 

 

 

 

 

л"0.

 

Pi

0),

Р*(х0),

 

Ра0),

Хи

 

Рі{хі),

 

Ра(л-і),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ра(Хі),...,

* , „ ,

Р і ( * , 0

) ,

Pj ( J C , 0 ) ,

 

Рал).

 

213.

Составить

программу,

содержащую

цикл

с

переадреса­

цией

 

и

вычисляющую

таблицу

значений

функции

Г(л:)

 

для

0 , 5 ^ . v < l

с

шагом

/г = 0,1 и для 2 < Л ' « £ 2 , 5

с шагом

/г =

0,05.

 

Функция

Г (х)

вычисляется

по следующим

формулам:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для

0,5

 

 

1,

 

 

 

 

 

 

 

 

 

 

 

 

{

(х-

1) Г(*

 

1)для

 

2 < л - < 2 , 5 ,

 

 

 

 

 

 

 

 

 

Г(1) =

Г

(2) =

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

214*. Составить программу, содержащую

цикл

с

переадреса­

цией

и вычисляющую

значение

функции

у = т\п

{)

для

задан­

ной

числовой последовательности х и х.у, ...

, Xj, ...

,Х]0 0

(значе­

ние

функции

y = min

(ХІ) равно

наименьшему

числу

из

заданной

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

чисел).

 

 

 

 

 

 

 

 

 

 

 

 

 

215. Пусть задана числовая последовательность

1,02;

 

1,05;

1,06; 1,08; 2,10 значений величины х.

 

 

 

 

 

 

 

 

 

 

 

Составить

программу,

содержащую

цикл

с

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

вычисляющую значение функции у{х) = 7,2> + х ~ } • 7,78 для за-

данных

значений

величины

х.

 

 

 

 

 

 

 

 

 

216.

Составить

программу,

содержащую

цикл с

переадреса­

цией и

преобразующую

последовательность N,,

Nit

...

,

N60

по­

ложительных и отрицательных чисел так, чтобы в

начале

этой

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

оказались

все

положительные,

а

в

конце —

отрицательные

числа.

 

 

 

 

 

 

 

 

 

 

 

217.

Пусть

в

ячейках

а 4 - 1 ,

а + 2,

. . . ,

а + 1 0

 

содержатся

двоичные коды.

 

 

 

 

 

 

 

 

 

 

 

 

 

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

содержащую

цикл

с

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

вычисляющую

число п,

 

равное

количеству

 

двоичных

кодов,

укоторых 7-й и 15-й разряды содержат единицу.

218.Пусть в последовательных ячейках $ + 1, р* + 2, . . . , р" + 20 содержатся двоичные коды.

Составить программу, содержащую цикл с переадресацией, которая в каждом из указанных кодов меняет местами содержи­ мое 5-го и 15-го разрядов.

225|

 

 

 

 

§ 13. ЦИКЛИЧЕСКИЕ

ПРОГРАММЫ

 

 

 

 

 

83

219.

Пусть двоичный

 

код

Х =

ХІХІ ...

х,ло

 

размещен

в

после­

довательных

ячейках

а,

а + 1 ,

. . . таким образом,

 

что

в

ячейке

а. содержатся

первые

п

цифр кода,

в ячейке

а + 1

следующие п

цифр этого же кода и т.

д. (л — количество

разрядов

в

ячейке

данной

машины).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составить

программу,

содержащую итерационный цикл

и цикл

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

для

вычисления

числа

N,

 

-равного

количеству

нулей в данном двоичном коде ,v.

 

 

 

 

 

 

 

 

 

 

220*. Составить

программу,

содержащую

цикл

с

переадреса-

цней

и

восстановлением,

для

вычисления

таблицы значений

ве;

личины

Zij =

Xiijj,

 

если

 

заданы

xt

и tjj

(/ =

1, 2,

 

. . .

,

10;

 

j=T,

2, . . . , 7).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

221.

Составить программу, содержащую цикл с переадреса­

цией

и

восстановлением,

для

вычисления

значения

величины

 

 

 

 

 

 

 

 

 

 

40

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1=1

у=і

 

 

 

 

 

 

 

 

 

 

222.

Составить программу, содержащую цикл с переадреса­

цией

и

восстановлением,

для

вычисления

функции

у =

max

(a;j),

где

a-ij — элементы

 

матрицы

 

A = (aij)

(г = 1,2,

 

...

,

10;

/ =

= 1,2,

. . .

,

15;

значение

функции

// = т а х ( я , 7 )

равно

наиболь­

шему

из

элементов

матрицы

А).

 

 

 

 

 

 

 

 

 

 

 

223.

Составить

программу,

содержащую

 

цикл

 

с

переадреса­

цией и восстановлением, для транспонирования квадратной мат­

рицы А = {аи)

(і = 1 , 2

20; / = 1 , 2 , . . .

, 20).

 

 

 

П р и м е ч а н и е .

О п е р а ц и я т р а н с п о н и р о в а н и я

м а т р и ц ы з а к л ю ч а е т с я

в з а м е н е

всех с т р о к

м а т р и ц ы

с т о л б ц а м и

этой же м а т р и ц ы

(f-я

с т р о к а

з а м е ­

н я е т с я 1-м

столбцом) .

 

 

 

 

 

 

 

 

224.

Составить

программу,

содержащую

цикл

с

переадреса­

цией и

восстановлением,

для

определения

номера строки

(к) и

номера столбца

(/)

матрицы

А =

и)

(і — 1,2,

. . . , 5;

/ =

1,2, . . .

, 7),

на пересечении которых находится наибольший по абсолютной величине элемент этой матрицы.

225. Пусть заданы

матрицы

 

 

 

/ а л

flis

«із

а и \

/ & а

ь \

А = а.,]

а.22

"Доз

из

и В

 

а 3 )

азі

а 3 3

а 3 4

 

 

Составить программу, содержащую цикл с переадресацией и восстановлением, для вычисления матрицы D — AXB-

У к а з а н и е . Э л е м е н т ы м а т р и ц ы D в ы ч и с л я ю т с я но ф о р м у л е

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dlj=yaik.bkj

 

 

(i=\, 2, 3; / = 1, 2).

 

 

 

 

 

 

 

к = 1

 

 

 

 

 

 

 

 

 

 

 

 

226. Пусть в

ячейках

a,-(i =

l ,

2, . . . , 20)

содержатся

двоич­

ные

коды

(а,-) =

(а,), (а,-).і

. . . (а,-)л,

где

п — количество

разрядов

в ячейке данной машины.

 

 

 

 

 

 

 

 

 

 

 

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

 

содержащую

цикл

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

и

восстановлением, для вычисления величины т

по формуле

т =

/,

если

(а,-)у- =

0 для всех /

(/ =

1,

2,

. . . , 20). Если задача не имеет

ни одного

решения,

то

положить

т = 0,

если же задача

имеет

несколько решений, то получить одно из них.

 

 

 

 

227. Пусть в ячейках

а,- (І =

1,

2, . . . , 50) содержатся

двоич­

ные

коды

; ) =

(а,-)і

; )2

. . . (я,-)п,

где

и — количество

разрядов

в ячейке данной машины.

 

 

 

 

 

 

 

 

 

 

 

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

содержащую

цикл

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

и

восстановлением, для вычисления двоичного кода S =

SiS.> . . .

Sn,

цифры которого

вычисляются

по формуле

 

 

 

 

 

 

 

 

 

'50

 

 

m o d

2;

/ = 1 , 2 ,

 

 

 

 

 

 

 

 

2

(»/)/

п.

 

 

 

 

228*. Составить программу, содержащую

цикл с

переадреса­

цией

и восстановлением,

для

вычисления

величины

 

 

 

 

 

 

 

 

 

 

7

1 1 7

 

 

 

 

 

 

 

 

 

 

 

 

z =

2

Z

2>,-i/A-

 

 

 

 

 

 

 

 

 

 

 

 

«=1 ]=\

А=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г Л А В А

III

 

 

 

 

 

 

 

 

 

 

 

НЕКОТОРЫЕ ПРИЕМЫ

ПРОГРАММИРОВАНИЯ

 

 

 

 

 

§ 14.

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

 

 

 

 

 

 

 

 

Использование

 

индексных

регистров

 

 

 

 

 

П у с т ь т р е б у е т с я с о с т а в и т ь п р о г р а м м у дл я в ы ч и с л е н и я т а б л и ц ы з н а ч е н и й

ф у н к ц и и

3 ' = / ( А -

)

ДЛЯ

з н а ч е н и й

дг„

А'2 ,

 

 

хп

н е з а в и с и м о й

п е р е м е н н о й

А- .

З н а ч е н и я

A"I, А'2

 

X;

 

х п

р а з м е с т и м

в я ч е й к а х

а + 1 ,

0 + 2,

•••

. . . , а -(- і,...,

a - j - я,

а з н а ч е н и я у и

у.-,

y h

... , у п

п е р е м е н н о й

у

в

я ч е й к а х

р + 1 ,

р + 2, . . . , р + /, . . . . р +

я.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р о ц е с с в ы ч и с л е н и я

т а б л и ц ы

 

з н а ч е н и й

этой

ф у н к ц и и

м о ж н о

о п и с а т ь

с л е д у ю щ е й

о п е р а т о р н о й

схемой:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U ^ - A ,

[i l A . , V 6 ( 0 Р 0 Г Я 7 ,

 

 

 

 

 

 

 

где

Ао в ы ч и с л я е т

г ' = 1 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A j

[ i f — в ы ч и с л я е т

Уі =

/ (А*(-),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А.) в ы ч и с л я е т

і

: =

('-{- 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V B

(0

п е р е а д р е с у е т к о м а н д ы

о п е р а т о р а

А , [/],

 

 

 

 

 

 

 

 

Р 0

п р о в е р я е т

усло'вие

( ' ^ я

и

п е р е д а е т

у п р а в л е н и е

либо

о п е р а т о р у

А 3 Щ (если

/ Ї £ Я ) ,

либо

о п е р а т о р у

Я ;

(если

» > « ) •

 

 

 

 

 

 

 

В

п р о г р а м м е

о п е р а т о р у

А а

[і]

с о о т в е т с т в у е т

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

к о м а н д ,

сред и

к о т о р ы х

имеютс я

п е р е м е н н ы е

к о м а н д ы ,

з а в и с я щ и е

от

п а р а м е т р а

/. При

к а ж д о м в ы п о л н е н и и

цикла

к а ж д а я

 

из

этих

к о м а н д

будет

п е р е а д р е с о в ы в а т ь с я

о п е р а т о р о м V 6 . ( i ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р е ш е н и е

этой

задачи

м о ж н о

в ы п о л н и т ь

и

 

по д р у г о й

схеме,

к о т о р а я

о т л и ч а е т с я

от

п р и в е д е н н о й

тем,

что

о п е р а т о р

А 3

[І] в н а ч а л е

в ы ч и с л я е т н е к о ­

т о р у ю п р о м е ж у т о ч н у ю

 

п е р е м е н н у ю

z

=

Xj,

 

з н а ч е н и е

к о т о р о й

р а з м е щ а е т с я

в я ч е й к е

а,

а з а т е м — з н а ч е н и е

в е л и ч и н ы

Уі—/(г).

 

В

этом

с л у ч а е

я ч е й к у

а

н а з ы в а ю т с т а н д а р т н о й я ч е й к о й . П р и е м п р о г р а м м и р о в а н и я , о с н о в а н н ы й на

и с п о л ь з о в а н и и

с т а н д а р т н ы х

я ч е е к ,

н а з ы в а ю т

в ы н е с е н и е м в е л и ч и н в

стандарт ­

ные ячейки . К о л и ч е с т в о к о м а н д в

о п е р а т о р е

V-

(() б у д е т

о п р е д е л я т ь с я к о л и ­

ч е с т в о м к о м а н д

о п е р а т о р а

А 3 [і],

з а в и с я щ и х

от

п а р а м е т р а ,

и м о ж е т

о к а з а т ь с я

в е с ь м а б о л ь ш и м . В ы н е с е н и е в е л и ч и н в с т а н д а р т н ы е я ч е й к и п о з в о л я е т у м е н ь ­

ш и т ь числ о

к о м а н д , з а в и с я щ и х

от

п а р а м е т р о в ,

п тем

самым

с о к р а т и т ь

к о л и ­

чество

к о м а н д в а р ь и р у ю щ и х

о п е р а т о р о в .

 

 

 

 

 

 

 

 

 

Б о л ь ш и е в о з м о ж н о с т и

для

с о к р а щ е н и я

числа

к о м а н д

в в а р ь и р у ю щ и х

о п е р а т о р а х

дает

н а л и ч и е в

м а ш и н е

и н д е к с н ы х

р е г и с т р о в .

О с н о в н о е

назна ­

чение

и н д е к с н ы х

р е г и с т р о в

состоит

в

том,

ч т о б ы

д о п у с к а т ь

и з м е н е н и е

а д р е с о в

тех

пли

иных к о м а н д

п р о г р а м м ы

в

момент

их

в ы п о л н е н и я , не

п р о ­

изводя

при

этом

и з м е н е н и я

вида

к о м а н д ы

в п а м я т и

м а ш и н ы . Т а к о е

и з м е н е н и е

а д р е с о в

к о м а н д

о с у щ е с т в л я е т с я

б л а г о д а р я

т о м у ,

 

что

к

а д р е с н о й

части

к о м а н д ы, в ы б р а н н о й в у с т р о й с т в о у п р а в л е н н я из о п е р а т и в н о й памяти для ее в ы п о л н е н и я , п р е д в а р и т е л ь н о п р и б а в л я е т с я с о д е р ж и м о е о п р е д е л е н н ы х р е г и ­

с т р о в ,

н а з ы в а е м ы х и н д е к с н ы м и р е г и с т р а м и , в

р е з

у л ь т а т е чего в ы ч и с л я ю т с я

и с п о л н и т е л ь н ы е адреса

этой

к о м а н д ы ,

к о т о р ы е

и

и с п о л ь з у ю т с я

при

в ы п о л ­

нении

данной команды .

С л е д о в а т е л ь н о ,

и с п о л н и т е л ь н ы е

адреса т а к о й

к о м а н д ы

м о г у т

б ы т ь и з м е н е н ы

путем

и з м е н е н и я

с о д е р ж и м о г о

у к а з а н н ы х

индексных

р е г и с т р о в

без

и з м е н е н и я самой

команды в

памяти

м а ш и н ы .

 

 

 

229 *.

Составить

программу

вычисления

значений

функции

у м

=

 

 

 

 

 

• <* -

^

-

 

 

 

 

 

 

в точках

Xj(i

= \,

 

2,

50)

по

заданной

 

операторной схеме

 

 

 

 

 

 

U0 A,Ao[i] V3 (ОРдГЯв.

 

 

 

 

Программу

составить в

двух

вариантах.

 

 

 

 

 

Вариант

1

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

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

 

 

 

 

 

 

 

 

 

Ai вычисляет

значение

параметра

і =

1,

 

 

 

 

Ао[і] вычисляет

 

значения

 

величин

г==хіг

у (z),

t/i =

y{z),

 

i: =

i -|- 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

V 3 (/') приводит команды

оператора

A a [і]

в соответствие

с

новым

 

значением

параметра

і,

 

 

 

 

 

 

 

 

 

Pi — проверяет

выполнение

условия

t'^>50 и передает управ­

 

ление либо оператору А2 [/] (если условие не выполнено),

 

либо оператору Я» (если условие выполнено).

 

 

 

Вариант 2 (в этом варианте прием вынесения величин в стан­

дартные ячейки не используется).

 

 

 

 

 

 

 

 

Aj вычисляет

 

значение

параметра

г — 1 ,

 

 

 

 

А.2 [і] — вычисляет

значения

величин

у І =

у

(*,•), і: =

і - f - 1 ,

 

Va (і) — приводит

команды

оператора

A.»[t) в соответствие

с новым

 

значением

параметра

і,

 

 

 

 

 

 

 

 

 

Р 4

проверяет

выполнение

условия

г'^>50 и передает управ­

 

ление

либо

оператору

А., [і]

(если

условие не

выполнено),

 

либо оператору Ял (если условие выполнено).

 

 

Определить

для

каждого

из

приведенных

вариантов

следую­

щие

показатели:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1) количество п команд и вспомогательных констант в про­

грамме;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) количество т команд, выполняемых машиной при решении

поставленной

 

задачи.

 

 

 

 

 

 

 

 

 

 

 

 

Сравнить

между

собой

оба

варианта

по

каждому

из

показа­

телей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

230 *. Составить

программу

вычисления

значений

функции

у(х)

— ахАГЬ

 

в точках х:

 

 

2

 

100)

по заданной опера­

торной схеме

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U o A , A s U J V s ( t ) P 4 r f l B .

Программу

составить в двух вариантах.

 

Вариант

1

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

величин

в

стандартные

ячейки).

 

 

 

Ai вычисляет

значение

параметра

і =

1,

 

A.3 [f] вычисляет

значения

величин

z =

X{, y{z)=az-\-b,

f/< —

=

y{z),

i:

=

i-\-l,'

 

 

 

 

V;i(t) приводит

команды оператора A.,[/] в соответствие с новым

значением

параметра

і,

 

 

 

Pi проверяе т

выполнение условия t^>100 и передает

управ­

ление либо оператору А3

[i'J

(если

условие

не выполнено),

либо оператору Яд (если условие

выполнено).

 

Вариант 2 (в этом варианте прием вынесения величин в стан­

дартные ячейки не используется).

 

 

 

 

 

А] вычисляет

значение

параметра

i = l ,

 

 

А2 [і]— вычисляет

значения

величин

у;

=

аХі-\-Ь,

і: =

і-\-\,

V 3 (t) приводит

команды оператора

А.2

[/] в соответствие

с новым

значением

параметра

і,

 

 

 

 

 

 

Pi проверяет

выполнение условия

 

100 и передает

управле­

ние либо

оператору A.2 [j] (если условие не выполнено),

либо оператору Я: 1 (если условие выполнено).

 

Определить для каждого

из

приведенных вариантов

следую­

щие показатели:

 

 

 

 

 

 

 

 

 

1) количество п команд и вспомогательных констант в про­

грамме;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) количество т команд, выполняемых машиной при решении

поставленной

задачи.

 

 

 

 

 

 

 

 

 

 

 

 

Сравнить между

собой

оба

варианта

по

каждому

из

 

показа­

телей.

 

числа xt ( t ' = l ,

 

 

 

 

 

 

 

 

 

 

 

231.

Пусть

 

2,

49)

расположены

в

ячейках

В - j -

і памяти.

 

 

 

 

 

 

 

 

 

22

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составить

программу

вычисления

величины

Z =

^Уи

 

г д е

Уі = (4i-l

+ Xit+i +

 

(xh+1

X»;.H +

з ^ - )

X

 

 

 

 

 

 

 

 

 

 

 

X

І Xoi-u-j - j - .

]/x 2 ,' _ j —

 

1

) • .V.2!-_!_B.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программу

составить

в двух вариантах:

 

 

 

 

 

 

 

1) с

вынесением

величин

в

стандартные

ячейки,

 

 

 

 

 

2) без вынесения величин в

стандартные

ячейки.

 

 

 

 

 

232.

Составить

программу

 

определения

первой

производной

от

полинома

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рп{х)

= а0га1х-{-аіі-{-

 

...

-\-anxn

 

 

 

 

для

произвольного

значения

п ( м = ^ 1 0 ) .

 

 

 

 

 

 

 

Программу составить в двух

вариантах:

 

1) с вынесением величин в стандартные

ячейки,

2) без вынесения величин в

стандартные

ячейки.

 

У к а з а н и е .

П е р в а я

п р о и з в о д н а я

Р'п (х)

от

полинома

Рп(х)

ляет

собой полином

Р „ _ , (л- ) = b0

-f- biX -f- &o.v'3

-f- .. . +

й я ^ л ' " - 1 ,

ты

к о т о р о г о в ы ч и с л я ю т с я

по

ф о р м у л е

b-t — (I - j -

1)

fl;+1 (( =

0,

пр е д с т а в ­

ко э ф ф и ц и е н ­

1, ... II1).

 

233.

Пусть

функция у(х)

задана

-таблицей

 

 

 

 

 

 

 

 

 

X

 

 

 

Л'п

 

 

 

х ы

v 30

 

 

 

 

 

 

 

 

У (-V)

 

Уі

 

УЇ

 

 

 

.'/20

Узо

 

 

в которой

Xi

(t =

l ,

2,

 

30)

удовлетворяют

неравенству

 

Составить

программу

вычисления

таблицы

значений этой же

функции

 

в точках х}-

( / = 1 , 2,

. . . ) ,

используя

формулу

линей­

ной

интерполяции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. V / —

Л ' ;

0';-м

 

 

 

 

 

 

 

 

 

 

 

У

(х/)

=уі +

Л 14-1

—УІ),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Xi^Xj^Xi+i.

 

Величина

Xj

вычисляется

по

формуле

 

 

 

 

 

 

 

 

 

(

А

ЄСЛИ

/

=

1,

 

 

 

 

 

 

 

 

 

 

 

 

 

{ A'y_i -f- /г,

если /

ф 1,

 

 

 

если

h задано.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программу

составить

для

двух

 

вариантов:

 

 

 

 

1)

с

вынесением

величин

в стандартные

ячейки,

 

 

 

2)

без

вынесения

величин

в

стандартные

ячейки.

 

 

 

234.

Пусть

в ячейках

a , - ' ( i = l ,

 

2,

 

26)

размещены

двоич­

ные

коды

(а); . Составить

программу

вычисления величин

 

 

 

 

 

 

г, = [(a),- Л

 

V

[(*)* ~

 

Л

(*)/,

 

 

где

Д ,

V

и ~

знаки

соответствующих

операций поразрядного

логического

умножения,

поразрядного

логического

сложения,

поразрядного

сравнения.

 

 

 

 

 

 

 

 

 

 

 

 

Программу

составить,

в двух

вариантах:

 

 

 

 

 

1)

с

вынесением

величин

в стандартные

ячейки,

 

 

 

2)

без вынесения

величин

в

стандартные

ячейки.

 

 

 

235.

Пусть

заданы

матрицы

 

 

 

 

 

 

 

 

 

\a.2 1 а:,у/'

J

\ а 2 , а.^'/'

239]

 

§ IE. ПОДПРОГРАММЫ

 

 

 

 

89

Составить

программу

вычисления

матрицы

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

в которой элемент

&yft =

2 a ! v )

( / = 1 '

2;

А =

1,

2,

5).

Программу

составить

в

двух

вариантах:

 

 

 

 

1) с вынесением

величин в стандартные

ячейки,

 

2) без вынесения величин в

стандартные

ячейки.

 

236 *. Для

ЦВМ

БЭСМ-4.

Составить

программу

пересылки

содержимого

ячеек

a-4-1,

a -f- 2,

. . . , a-j- 50

в

ячейки

p - j - 2, p - j - 3,

p-j-50 в двух

вариантах:

 

 

 

 

1) с использованием

регистра

адреса,

 

 

 

 

 

2)без использования регистра адреса.

237.Для ЦВМ БЭСМ-4. Составить программу преобразования

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

чисел

/V,- ( i = l ,

2,

3,

 

 

20)

в

неубываю­

щую

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

в

двух

вариантах:

,.

 

 

 

 

 

 

1)

с

использованием

регистра

 

адреса,

 

 

 

 

 

 

 

2) без использования регистра адреса.

 

 

 

 

 

 

 

238 *. Для

 

ЦВМ

Р.

Пусть заданы числовые последователь­

ности

Хи

 

Хо,

 

 

xw

и уи

у.,,

 

 

у..

 

 

 

 

 

 

 

zi=xi-{-yi

 

Составить

 

программу

 

вычисления

 

величин

 

 

( i = l ,

2,

 

 

20)

в

двух

вариантах:

 

 

 

 

 

 

 

 

 

1)

с

использованием

счетчика

 

циклов,

 

 

 

 

 

 

 

2) без использования счетчика циклов.

 

 

 

значения xt

 

239 *.

Для

ЦВМ

 

Минск-22.

 

 

Пусть

заданы

(і =

 

1,

2,

. . . ,

 

4),

ijj

(j

=

1, 2, . . . ,

 

5)

и

zk

(k=l,

 

2, . . . ,

6)

величин

x,

у

и

z.

Числа х-,- размещены в ячейках

a-\-i,

 

числа у} — в ячей­

ках

р -|- /

и числа zu — в ячейках

~[-\-k.

 

 

 

tit

 

 

 

 

Составить

 

программу

вычисления

значений

у.й ,

величины

t =

x

 

 

 

. Результаты вычислений разместить в последовательных

ячейках

в

следующем

порядке:

 

 

 

 

 

 

 

 

 

 

 

 

 

А'ь

Уи z

h

' i l l .

Хі,

Уі>

2о,

fjio,

 

 

Л'і, Уі,

2 6 , Гци,

Х\,

у І,

 

 

 

 

 

Zl,

(ці)

•••>

хі,

Уй,

2 0 ,

^ІІІЙ,

 

 

Xit

yB ,

2G ,

tiM.

 

 

Программу

составить

в

двух

 

вариантах:

 

 

 

 

 

 

1)

с

использованием

индексных

регистров;

 

 

 

 

 

 

2)

без

использования

индексных

регистров.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

§

15.

Подпрограммы

 

 

 

 

 

 

 

П о д п о д п р о г р а м м о й

п о н и м а е т с я часть

п р о г р а м м ы ,

п р е д с т а в л я ю щ а я с о б о й

в ы ч и с л е н и е

г р у п п ы

величин,

н а з ы в а е м ы х

в ы х о д н ы м и

 

п а р а м е т р а м и

п о д п р о ­

г р а м м ы ,

по

д р у г о й

г р у п п е

в е л и ч и н ,

 

н а з ы в а е м ы х

входными

п а р а м е т р а м и

п о д п р о г р а м м ы .

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