книги из ГПНТБ / Бухтияров А.М. Сборник задач по программированию учеб. пособие для студентов высш. техн. учеб. заведений
.pdf
|
§ |
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, ... II—1).
|
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. |
Подпрограммы |
|
|
|
|
|
|
||||||
|
П о д п о д п р о г р а м м о й |
п о н и м а е т с я часть |
п р о г р а м м ы , |
п р е д с т а в л я ю щ а я с о б о й |
||||||||||||||||||||
в ы ч и с л е н и е |
г р у п п ы |
величин, |
н а з ы в а е м ы х |
в ы х о д н ы м и |
|
п а р а м е т р а м и |
п о д п р о |
|||||||||||||||||
г р а м м ы , |
по |
д р у г о й |
г р у п п е |
в е л и ч и н , |
|
н а з ы в а е м ы х |
входными |
п а р а м е т р а м и |
п о д п р о г р а м м ы .