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

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

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

б)

для

представления

 

порядка — прямой

 

код с одним

знако­

вым

разрядом

 

(11-й

разряд)

и пятью

 

цифровыми

12-го

по 16-й).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Представить

следующие

двоичные

числа

 

в

коде

этой

ма­

шины:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

, 0,101,

 

 

 

 

11)

0,100111 • 10 1 "°о,

 

 

 

 

 

2)

—0,11,

 

 

 

 

12)

0,111 • 1 0 ~ 1 Ш ,

 

 

 

 

 

 

3)

0,1001 • 10',

 

 

13)

—0,10101 • ю - 1 0

1 1

0 ,

 

 

 

 

 

4)

0,11011 • Ю-1 »,

 

 

14)

0,100100101

• Ю 1

1 0 0

1 ,

 

 

 

5)

—0,1011 • Ю - ' 1 ,

 

 

15)

0,100001 • 1 0 - ' 0 1 ,

 

 

 

 

 

6)

—0,1101 • 10"",

 

 

16)

—0,10010111011 • 1 0 ' " ° ,

 

 

 

7)

0,10010111

. 1 0 , C ! 0 ,

 

 

17)

0,101100101

• 1 0 1 0 1 0 1 ,

 

 

 

8)

0,11101100100011,

 

 

18)

—0,111110001 • Ю -

1 0 0

0 ,

 

 

 

9)

—0,1101101101 • 1 0 - u o

l

i ,

19)

—0,1110011000011,

 

 

 

 

 

10)

—0,1000011000111,

 

 

20)

0,100000111 • Ю -

1 .

 

 

 

 

107. Пусть некоторая машина оперирует с двоичными норма­

лизованными числами. Д л я

представления

этих

чисел

в'ячейках

памяти принят

следующий

код:

 

 

 

 

 

 

 

 

 

а)

для

представления

мантиссы — прямой

код с одним

знако­

вым разрядом (1-й разряд)

и одиннадцатью

 

цифровыми

(со 2-го

по 12-й);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

для

представления

порядка — условный

 

код, определяемый

формулой

64 - j - р

порядок числа).

Под

этот код

отводятся

разряды с

13-го по 19-й.

 

 

 

 

 

 

 

 

 

 

 

Представить

следующие

двоичные

числа

 

в

коде

этой

ма-'

шины:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

0,1001,

 

 

 

 

11) —0,101101101. ю - 1 ,

 

 

 

 

2)

—0,1101,

 

 

 

 

12)

0,11011011011

• Ю 1 1 0 , -

 

 

 

3)

0,11011 • 101 0 ,

 

 

13)

—0,10001001111

• 1 0 1

1 U U ,

 

 

 

4)

—0,100011 • Ю - 1 1 ,

 

 

14) О Д О О П О О О П Ы О - 1 " 1 1 1 .

 

 

 

5)

—0,1100001 • 101 "»,

 

 

15)

0,111110101100011,

 

 

 

 

6) 0 . 1 1 1 0 Ы 0 - 1 » 1 ,

 

 

16)

—0,1001011101111,

 

 

 

 

 

7) О . Ю О Ю О Ы О 1 ,

 

 

17)

0,1000001 • Ш и

° ' \

 

 

 

 

8)0 , 1 0 0 Ц 0 0 Ы 0 - 1 П 1 1 0 , 18) —0,1001111 • Ю - 1 " 0 0 1 ,

9)

—0,100010001 • Ю ' » 0 0 0 0 ,

19)

0,1 • 10 1 1 1 ,

10)

0,1010101 - lO - 1 0 0 1 ,

20)

—0,111 • 1 0 ' 1 1 0 0 0 .

108.

Пусть некоторая

машина оперирует с двоичными норма­

лизованными числами. Для . представления этих чисел в ячейках памяти машины принят следующий код:

а) для представления

мантиссы — прямой модифицированный

код с двумя знаковыми

разрядами (1-й и 2-й) и десятью цифро­

выми разрядами (с 3-го

по 12-й);

б)

для представления

порядка — прямой

 

 

код с одним

знако­

вым разрядом (13-й) и пятью.цифровыми (с Н - го по 18-й).

 

Представить

следующие

двоичные

числа

в

 

коде этой

машины:

1)

0,1101,

 

 

 

11)

—11100011100011,

 

 

 

 

 

 

 

 

 

2)

—0,1011,

 

 

 

12)

 

0,1110011-101,

 

 

 

 

 

 

 

 

 

3)

0,00010101,

 

13)

—0,100001 • ю - 1 » ,

 

 

 

 

 

 

 

 

 

4)

—0,00001111,

 

14)

—0,1100001 • 1 0 ш ,

 

 

 

 

 

 

 

 

 

5)

0,10001 • 10'°<>,

 

15)

 

0,10001111

• 1 0 ш ,

 

 

 

 

 

 

 

 

6)

—0,111001 • 1 0 1 0 ° \

 

16)

—0,11110001 . ю - 1 1

0

,

 

 

 

 

 

 

 

7)

0,1110001 • Ю - 1 1 0 1

,

17)

 

0,110001111 • Ю - 1

1

1

1

,

 

 

 

 

 

8)

101011,0001,

 

18)

—0,110011001

- Ю 1 0

0

0

0 ,

 

 

 

 

 

9)

—110011001,11,

 

19)

 

0,00000101

- 1 0 й ,

 

 

 

 

 

 

 

 

 

10)

101110010011,

 

20)

—10,0001 • 10-юо.

 

 

 

 

 

 

 

 

 

109. Пусть

некоторая

машина

оперирует

 

с двоичными

норма­

лизованными

числами. Д л я

представления этих

чисел

в

ячейках

памяти машины принят следующийкод:

 

 

 

 

 

 

 

 

 

а)

для представления

мантиссы — обратный

код с

одним

зна­

ковым

разрядом

(1-й

разряд) и

одиннадцатью

цифровыми

(со

2-го по 12-й);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б) для представления

порядка — обратный

 

код с одним

зна­

ковым

разрядом

(13-й

разряд)

и

пятью

цифровыми

14-го

по 18-й).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Представить

следующие

двоичные

числа

в коде этой

машины:

1)

0,111011001,

 

11)

0,00100001 • ю - ' » 1 ,

 

 

 

 

 

 

2)

—0,10001011,

 

-12)

-10101,1111 .

 

 

 

 

 

 

 

 

 

3)

0,000101101,

 

13)

0,10000111 • Ю - ' 0 0

0

1 ,

 

 

 

 

 

4)

—0,000001101,

 

14)

—0,110000011 • 10"" 1 ,

 

 

 

 

 

5)

1011100110110,

 

15)

1010,00001 • 10 1 1 0 ,

 

 

 

 

 

 

 

6)

—1111000,

 

 

16)

Ю - ю п

 

 

 

 

 

 

 

 

 

 

 

7)

0,10111101 • 1 0 1 0 0 1 ,

17) — 1 0 й 1 0 ,

 

 

 

 

 

 

 

 

 

 

 

8)

—0,1110001 - Ю " 1 0 0 ,

 

18)

0,111101101 •101,

 

 

 

 

 

 

 

9)0,110110001 • Ю Л 19) —0,100011001 . ю - 1 ,

10)

—0,0001110011 • 10"° ,

20)

0,11111001 • 1

0 ю і а -

 

 

 

ПО. Пусть некоторая машина оперирует с двоичными норма­

лизованными числами. Дл я представления

этих

чисел

в ячейках

памяти машины принят следующий код:

 

 

 

 

а)

для представления

мантиссы — обратный

код с

одним

зна­

ковым

разрядом

(1-й

разряд)

и

одиннадцатью цифровыми (со

2-го по 12-й);

 

 

 

 

 

 

 

 

 

б)

для представления

порядка — прямой код с одним знако­

вым

разрядом

(13-й

разряд)

и

пятью

цифровыми

14-го

по 18-й).

Представить следующие двоичные числа в коде этой машины:

1)

0,10001 • Ю - 1 0 1

1

,

11)

—1,00001 • l O " 1 1 0 ,

2)

—0,1100011 • Ю 1

1

0 ,

12)

11,000101 • Ю - 1 0 0 ,

3)

0,101,

 

 

13)

—1001,111 • ю - 1 0 ,

4)

—0,11011,

 

 

14)

0,100010001 • 1 0 1 1 \

5)

1000010001,

 

 

15)

0,001 • 10'»,

G)

—101110101,

 

 

16)

—0,00011 • 10""°,

7)

0,000001011,

 

 

17)

0,01001 •

1 0 " т ,

8)

—0,101100111 • Ю - 1 0 » ,

18)

—0,0011101

• 10'°,

9)

—0,00001101,

 

 

19)

0,1111001 • Ю - 1 ,

10)

100,1001 - 10 1 0 1 ,

20)

—0,11111 • 101 .

111. Пусть некоторая машина оперирует с двоичными норма­

лизованными числами. Д л я

представления этих чисел в ячейках

памяти

машины принят

следующий код:

 

 

 

 

 

 

а)

для представления

мантиссы — обратный

код

с двумя

зна­

ковыми

разрядами

(1-й

и 2-й

разряды)

и

десятью цифровыми

(с 3-го по 12-й);

 

 

 

 

 

 

 

 

 

 

 

б)

для представления

порядка — обратный

код

с двумя

зна­

ковыми

разрядами

(с 13-го по

14-й

разряды)

 

и четырьмя

цифро­

выми

(с 15-го по 18-й).

 

 

 

 

 

 

 

 

 

 

Представить следующие двоичные

числа в коде

этой

машины:

1)

 

0,100011,

 

11)

—0,000111-1 О1 0 ,

 

 

 

 

 

2)

—0,11100101,

 

12)

 

0,00010001 •

10'°',

 

 

 

 

 

3)

 

0,100001 • ю - " 0 0 ,

13)

— Ю - ' 0 0 ,

 

 

 

 

 

 

 

4)

—0,1101111 • 10'°°°,

14)

 

10"»,

 

 

 

 

 

 

 

5)

—0,11101 • ю - 1

0 1 ,

15)

 

0,10101101 1 • Ю " 1

0 0

1

 

 

 

6)

 

0,00000101,

 

.16)

—0,11010110 1 • 10',

 

 

 

 

 

1)

—0,000110011,

 

17)

 

1011101011 1,

 

 

 

 

 

 

8)

 

1000,0001,

 

18)

—110000001,

 

 

 

 

 

 

9)—10101,1001, 19)

0)0,00110101 • 1 0 - " ° , 20) — 1011,1011 • юI- 1 0 ,10,001 • 10-•и

112. Пусть некоторая машина оперирует с двоичными норма­ лизованными числами. Дл я представления этих чисел в ячейках памяти машины принят следующий код:

а) для представления мантиссы — дополнительный код с одним знаковым разрядом (1-й разряд) и одиннадцатью цифровыми (со 2-го по 12-й);

б) для представления порядка — дополнительный код с одним знаковым разрядом (13-й разряд) и пятью цифровыми^ 14-го по 18-й).

Представить

следующие двоичные

числа в коде этой машины:

1)

0,000001,

5)

10111,

9)

0 , 1 1 0 1 1 0 Ы 0 - 1 0 0 ,

2)

—0,0100101,

6)

—110001,

10)

—0,1000111 • 1 0 1 0 0 ° ,

3)

0,1001,

7)

10,0010101,

11)

0,1001111 • 10">и ,

4)

—0,1101,

8)

—111,001,

12)

—0,11100001 • 10"'«',

13)

101,101101 • 1 0 1 0

1 1 ,

17)

0,010111101 • 1 0 1 0 0 1 ,

14)

—110,0001 • Ю - " 0 1

,

18)

-0,00001111 • 10">,

15)

0,000100101 • 1 0 1 0 \

19)

0,1000110111 • 10',

16)

—0,00000101 • 1 0 й ,

20)

0,1110001111 • ю - 1 1 .

113. Пусть некоторая машина оперирует с двоичными

норма­

лизованными числами. Д л я

представления

этих

чисел

в

ячейках

памяти

машины

принят следующий

код:

 

 

 

 

 

 

 

а) для представления мантиссы—дополнительный

код с двумя

знаковыми разрядами (1-й и

2-й

разряды)

и десятью

 

цифровыми

(с 3-го по 12-й);

 

 

 

 

 

 

 

 

 

 

 

 

 

б) для представления порядка — дополнительный

код с одним

знаковым разрядом (13-й

разряд)

и пятью

цифровыми

(с 14-го

по 18-й).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Представить

следующие

двоичные числа

 

в коде

этой машины:

1)

 

0,10101 • Ю 1 0 1

,

11)

 

0,10110101 • 10 t 0 1 ,

 

 

 

 

 

 

2)

 

0,001011 • Ю " 1 1 0 ,

12)

 

10,001001 • 10'°°,

 

 

 

 

 

 

 

3)

 

0,10111,

 

 

13)

—100,111 • ю - " » ,

 

 

 

 

 

 

 

4)

 

-0,1110111

• 10'°,

14)

—1,0001 • Ю - 1 ,

 

 

 

 

 

 

 

5)

 

—0,100001 • Ю - 1 1 1 ,

15)

 

101,1011011 • ю - 1

0

,

 

 

 

 

 

6)

 

0,0000101,

 

16)

 

-1,10000111 • ю - 1 1

0

,

 

 

 

 

 

7)

 

—0,00011111,

 

17)

 

0,10100111101 • 10 1 » 0 1 ,

 

 

 

 

 

8)

 

10100111,

 

 

18)

 

-0,000011101 • ю - 1

0 1 ,

 

 

 

 

 

9)

 

—111110101,

 

19)

 

0,00000111 • 10 1 » 1 0 ,

 

 

 

 

 

10.)

 

—0,10110011,

 

20)

 

0,111111 • ю - 1 1 1 .

 

 

 

 

 

 

 

114. Представить в десятично-двоичном

коде следующие деся­

тичные

числа:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

 

125,

6)

—0,0009,

 

П )

- 1,577,

 

16)

—0.9S7,

 

 

2)

—99,

7)

439,46,

 

12)

 

0,9008,

 

17)" —789,5,

 

 

3)

 

0,385,

8)

—568,807,

13)

 

0,0123,

 

18)

3429,1,

 

 

4)

—0,497,

9)

370,05,

 

14)

—101,458,

 

19)

—0,0066,

 

 

5)

 

0,00198,

10)

90,8462,

15)

 

8765,

 

20)

49,986.

 

 

115. Определить десятичные числа по их десятично-двоичным

кодам:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

 

01001000100000011

 

11)

10001000110010111

{п =

2),

 

2)

 

11000000001100001

(п

 

12)

00100010100111001

( л =

0)

 

3)

 

0100101010010

 

 

13)

10000100110000111

(/1

=

0)

 

4)

 

10001001001010111

 

14)

10101100001110010

( я =

4)

 

5)

 

0011001010100

 

( я

 

15)

00100010110010110

( л = 3 )

 

6)

 

1000000110101 .

( я = 0);

16)

00000000010000100

(п —

0)

 

7)

 

00011010001111000

( я = 2 )

17)

1011110001001

 

= 2 )

 

8)

 

00000000001101001

(п =

0)

18)

00101100000001001

( я =

1)

 

9)

 

10111010110001000

( / > = 1)

19)

00010001100101000

(к =

0);

 

10)

 

01001100110000100

(л =

3)

20)

10100100110000101

(л =

3).

 

§ 8. Неарифметические

операции над двоичными

кодами

В м а ш и н а х ,

р а б о т а ю щ и х в

д в о и ч н о й системе

счисления,

н а и б о л е е р а с ­

п р о с т р а н е н н ы м и

н е а р и ф м е т и ч е с к и м и о п е р а ц и я м и

я в л я ю т с я о п е р а ц и и сдвига,

п о р а з р я д н о г о л о г и ч е с к о г о с л о ж е н и я , . п о р а з р я д н о г о л о г и ч е с к о г о у м н о ж е н и я , с р а в н е н и я и п е р е н о с а .

 

С д в и г .

С д в и г о м

 

д в о и ч н о г о

кода

a =

at

..:

at

... dn

на ft р а з р я д о в

(ft ц е л о е

число)

н а з ы в а е т с я о п е р а ц и я ,

о п р е д е л я е м а я

ф о р м у л о й

 

 

 

 

С: =

(

я , - + £

при

1 =ё і

-\-

k

п,

 

 

 

 

 

 

 

 

<

0

при

о с т а л ь н ы х

з н а ч е н и я х

і -f- ft,

 

 

 

 

 

 

(

где

с,- =

1,

2,

 

п)

 

— ц и ф р ы

р е з у л ь т а т а .

 

 

 

 

 

 

П о р а з р я д н о е

 

л о г и ч е с к о е

 

с л о ж е н и е .

П о р а з р я д н ы м л о г и ч е ­

ским

с л о ж е н и е м

д в о и ч н ы х

к о д о в

 

 

 

 

 

 

 

 

 

 

 

 

a

=

a I

f l a ...

ui ...

ап

и

 

b =

bLbs

...

і ;

. . .

bn

н а з ы в а е т с я

о п е р а ц и я ,

о п р е д е л я е м а я

с,- (/ = 1, 2,

и) ц и ф р ы д в о и ч н о г о к о д а

0; V Ь; о п и с ы в а е т с я т а б л .

8.1.

ф о р м у л о й

С; =

tf; \ J

b;.

З д е с ь

e = CjC2

... Сі ...

сп,

а

о п е р а ц и я

 

 

 

 

 

Т а б л и ц а

8.1

 

.

 

Т а б л и ц а

8.2

 

 

 

 

 

 

Логическое сложение

 

 

Логическое

умножение

 

 

 

 

 

 

 

 

О

V

0 =

0

 

 

 

 

О Д

0 =

0

 

 

 

 

 

 

 

 

 

 

0

V

1 =

1

 

 

 

 

0

А

1

= 0

 

 

 

 

 

 

 

 

 

 

1

V

0 = 1

 

 

 

 

1

Л

0 =

0

 

 

 

 

 

 

 

 

 

 

1

\/

1 =

1

 

 

 

 

1

Л

1 =

1

 

 

 

 

 

 

 

П о р а з р я д н о е

л о г и ч е с к о е

у м н о ж е н и е .

П о р а з р я д н ы м

логи ­

ч е с к и м у м н о ж е н и е м

д в о и ч н ы х

к о д о в

a =

ala„...ai...an

 

 

и

b =

Ьф3...

bi...

bn

н а з ы в а е т с я

о п е р а ц и я ,

о п р е д е л я е м а я

ф о р м у л о й

с,- =

о,- Д

Ь;.

~~ З д е с ь

c'i(i

= \,

2,

 

п) — ц и ф р ы

д в о и ч н о г о

кода

с — с^»

...

с,-

...

с,„

а

Операция

а,-

Д&;

о п и с ы в а е т с я

табл .

8.2.

 

 

 

 

 

 

 

а1 й, « ... a-t

...

ап

 

 

С р а в н е н и е .

С р а в н е н и е м

д в о и ч н ы х

к о д о в

а =

и

Ь — Ьф„ ...

Ь( ...

bn

н а з ы в а е т с я

о п е р а ц и я ,

о п р е д е л я е м а я

ф о р м у л о й

с;

=

=

о,- — Л,-.

З д е с ь

с,- (І =

1, 2,

...,

п)

— ц и ф р ы д в о и ч н о г о

кода

С =

СХС2

... С; ... с„,

а о п е р а ц и я

а £ ~ й /

о п и с ы в а е т с я

табл .

8.3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

8.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сравнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0 =

0

 

 

 

 

 

 

 

 

 

 

1 ~ 0 = 1

1І81 § 8.

НЕАРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ НАД ДВОИЧНЫМИ

КОДАМИ

45

П е р е

н о с .

О п е р а ц и е й п е р е н о с а д в о и ч н о г о

кода а —

а^*

...

я г

. . . ап

н а з ы в а е т с я

о п е р а ц и я , о п р е д е л я е м а я ф о р м у л о й с,- =

в;, гд е с; (i =

1,

2,

п)—•

ц и ф р ы д в о и ч н о г о

кода

 

 

 

 

 

С= CiCo . . . С; . . . с„.

116.Выполнить операцию сдвига на k разрядов над следую­ щими двоичными кодами:

1)

110101

(*

= 3),

11)

10111001

(k =; 4 ) ,

2)

101101

(ft = - 3 ) ,

12)

0001011

(ft = - 3 ) ,

3)

100111

(ft

= 4 ) , .

13)

1001111

(ft = - 1 ) ,

4)

000011

(ft

= 5),

14)

100000

(k = - 3 ) ,

5)

10001101

(k = - 7 ) ,

15)

001111

(k

= 5),

6)

0011100

(k

= 2),

16,)

11111

(k = - 2 ) ,

7)

11001101

(k = - 4 ) ,

17)

1000111

(k

= 4),

8)

1011111

(ft

== 6),

18)

1110101-

(*

= —5),

9)

1001

(k = - 4 ) ,

19)

1

(ft

= - 3 ) ,

10)

000101

(ft

= - 5 ) ,

20)

10001

(fe

= 2).

117.

Выполнить операцию

поразрядного логического сложе­

ния над следующими парами

двоичных

 

кодов:

1)

110011

и

111000,

11)

100101110

и

001010011,

2)

101010

и

000000,

12)

111110

и

101100,

3)

11100101

и

10101110,

13)

0010011

и

0101001,

4)

010101

и

101010,

14)

10011000

и

01110110,

5)

1000

и

0101,

15)

10000111

и

01100101,

6)

11011

II

11011,

16)

01110110

и

01010100,

7)

10001

и

11101,

17)

01100101

и

01000011,

8)

0000

II

1001,

18)

01010100

и

00110010,

9)

11111

II

10001,

19)

01000011

и

00100001,

1С)

0000

II

0000,

20)

00110010

и

00010000.

118. Выполнить операцию поразрядного логического умноже­ ния над следующими парами двоичных кодов:

1)

01011001

и

10010111,

11)

001001001

и

010010010,

2)

10011001

и

10001000,

12)

011011011

и

100100100,

3)

01110111

и

01100110,

13)

101101101

и

110110110,

4)

01010101

и

01000100,

14)

111111111

и

000000000,

5)

00110011

и

00100010,

15)

001001010

и

011100100,

6)

00010001

и

00000000,

16)

011011100

и

101110110,

7)

110100111

и

001011000,

17)

101101110

и

111000000,

8)

1011111

и

1011110,

18)

001010001

и

010011010,

9)

00000

и

00001,

19)

011100011

и

100101100,

10)

0000100010

п

0001100100,

20)

101110101

п

110111110.

119. Выполнить операцию сравнения над следующими парами двоичных кодов:

1)

000100010001

и

001000100010,

11)

001010010

и

010011011,

2)

001100110011

н

010001000100,

12)

011100100

и

100101101,

3)

010101010101

н

011001100110,

13)

101110110

и

110111111,

4)

011101110111

и

100010001000,

14)

111000000

и

111001010,

5)

100110011001

п

101010101010,

15)

100111110

п

111011100,

6)

101110111011

и

110011001100,

16)

101101101

и

101100011,

7)

110111011101

н Ш 0 1 1 1 0 Н 1 0 ,

17)

001010011

її

010011100,

8)

11111111

и

00000000,

18)

100101110

и

101110111,

9)

011100101

п 011100101,

19)

110101110

п

011100011,

10)

00000

п

00000,

20)

000001000

н

111000111.

Г Л А В А II

ЭЛЕМЕНТЫ ПРОГРАММИРОВАНИЯ

*

В к а ж д о й п р о г р а м м н о - у п р а в л я е м о й м а ш и н е п р е д у с м а т р и в а е т с я ф и к с и ­

рованный н а б о р

о п е р а ц и й ,

к о т о р ы е она в ы п о л н я е т

под в о з д е й с т в и е м

команд .

К о м а н д ы

с о д е р ж а т

в

себе и н ф о р м а ц и ю

о

том,

к а к у ю о п е р а ц и ю

д о л ш і а

выполнить машина, над к а к и м и числами, что

д е л а т ь с п о л у ч е н н ы м р е з у л ь т а ­

том и к а к а я

команда

д о л ж н а

в ы п о л н я т ь с я

с л е д у ю щ е й .

 

 

Ч а с т ь этой

и н ф о р м а ц и и

м о ж е т не у к а з ы в а т ь с я

в к о м а н д і х в явном

виде,

а о п р е д е л я т ь с я

по н е к о т о р ы м

ф и к с и р о в а н н ы м

п р а в и л а м , з а л о ж е н н ы м

в

конст ­

р у к ц и и м а ш и н ы .

 

 

 

 

 

 

 

 

П о с л е д о в а т е л ь н о с т ь к о м а н д о б р а з у е т

п р о г р а м м у р е ш е н и я з а д а ч и . В с о в ­

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

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

п р о г р а м м ы

в ы п о л н я ю т с я

в

п о р я д к е в о з р а с т а н и я

их

адресов .

И з м е н е н и е

э т о г о п о р я д к а

п р о и з в о д и т с я

т о л ь к о

по с п е ц и а л ь н ы м

ко ­

мандам

п е р е х о д а

( п е р е д а ч и у п р а в л е н и я ) .

 

П р о г р а м м а

 

в в о д и т с я

в м а ш и н у

п е р е д р е ш е н и е м

задачи,

после

чего все

 

р е ш е н и е

в ы п о л н я е т с я а в т о м а т и ч е с к и .

П р о ц е с с с о с т а в л е н и я п р о г р а м м ы р а з б и в а е т с я на с л е д у ю щ и е э т а п ы :

 

1) с о с т а в л е н и е

плана

в ы ч и с л е н и й

( с о с т а в л е н и е

схемы

п р о г р а м м ы ) ;

 

2) р а с п р е д е л е н и е

я ч е е к

памяти

м а ш и н ы

 

под

исходные

д а н н ы е

з а д а ч и ,

р е ­

з у л ь т а т ы

 

р е ш е н и я з а д а ч и ,

под

 

п р о г р а м м у

и

в с п о м о г а т е л ь н ы е

числа;

 

3) с о с т а в л е н и е

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

 

к о м а н д

д л я к а ж д о г о

этапа

плана.

В п р а к т и к е

п р о г р а м м и р о в а н и я

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

два

 

вида

схем

п р о г р а м м :

о п е р а т о р н ы е

схемы

и блок - схемы .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О п е р а т о р н а я

схема п р е д с т а в л я е т собой

с т р о к у

о п е р а т о р о в ,

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

ю щ и х отдельным

этапам

плана

 

в ы ч и с л е н и й ,

и з н а к о в

перехода,

 

и з о б р а ж а ю ­

щ и х в з а и м о с в я з ь

о п е р а т о р о в .

О б ы ч н о

о п е р а т о р н а я

схема

п р е д с т а в л я е т с я

так

н а з ы в а е м о й

л о г и ч е с к о й

схемой

и о п и с а н и е м

л о г и ч е с к о й

схемы .

Под

л о г и ч е ­

ской

схемой

понимается

строка

с и м в о л о в

о п е р а т о р о в

и з н а к о в

п е р е х о д а .

В описании

л о г и ч е с к о й

схемы

 

д а е т с я

с о д е р ж а н и е

к а ж д о г о

о п е р а т о р а

опе ­

р а т о р н о й

 

схемы .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р а з л и ч а ю т

семь

с у щ е с т в е н н о

р а з л и ч н ы х

типов

о п е р а т о р о в :

 

 

 

 

о п е р а т о р ы счета

( о п е р а т о р ы п р и с в а и в а н и я ) ,

л о г и ч е с к и е

о п е р а т о р ы

( о п е р а т о р ы

п р о в е р к и

условий),

в а р ь и р у ю щ и е

о п е р а т о р ы , о п е р а т о р ы

о б р а щ е н и я , о п е р а ­

торы

обмена, о п е р а т о р ы

останова

и о п е р а т о р ы

начала .

 

 

 

 

 

 

 

В к а ч е с т в е

с и м в о л о в

 

о п е р а т о р о в

и

знаков

п е р е х о д а и с п о л ь з у ю т с я

сле­

д у ю щ и е

 

символы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А : — с и м в о л

о п е р а т о р а

счета;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р —

символ

л о г и ч е с к о г о

 

о п е р а т о р а ;

 

 

 

 

 

 

 

 

 

 

 

 

Е(//і,п)

V —

символ

в а р ь и р у ю щ е г о о п е р а т о р а ;

'

 

 

 

 

 

 

 

 

 

 

символ

о п е р а т о р а

о б р а щ е н и я ,

о з н а ч а ю щ и й

 

п е р е х о д

к

о п е р а т о р у

 

 

 

с н о м е р о м

 

т

и

 

обратный

п е р е х о д

(возврат)

после

 

в ы п о л н е н и я

 

 

 

о п е р а т о р а

с

номером

п;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z символ

о п е р а т о р а

обмена;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U с и м в о л

о п е р а т о р а

 

начала;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я символ

о п е р а т о р а

 

останова;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

— з н а к

 

перехода, о з н а ч а ю щ и й

п е р е х о д

либо

к

о п е р а т о р у

с

номс -

 

 

т

ром

п,

либо

к о п е р а т о р у

с н о м е р о м

т;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|_ — знак

 

перехода,

о з н а ч а ю щ и й

п е р е х о д

либо

к

 

о п е р а т о р у ,

р а с п о л о -

 

 

ш

ж е н н о м у

справа

от

данного

с и м в о л а ,

либо

к

 

о п е р а т о р у

с

номе ­

 

 

 

 

 

 

п

ром

 

т;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[~ — знак

 

п е р е х о д а , о з н а ч а ю щ и й

п е р е х о д

либо

к

 

о п е р а т о р у

с

номе ­

 

 

 

ром

я ,

либо

к о п е р а т о р у ,

р а с п о л о ж е н н о м у

с п р а в а

от

д а н н о г о

сим ­

 

 

 

 

вола .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р и

записи

о п е р а т о р н о й

 

схемы

п о л ь з у ю т с я

с л е д у ю щ и м и

д о п о л н и т е л ь ­

н ы м и п р а в и л а м и :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1) п о р я д к о в ы й

н о м е р

о п е р а т о р а

и з о б р а ж а е т с я

нижним

и н д е к с о м ,

н у м е ­

р а ц и я о п е р а т о р о в с к в о з н а я ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

^

2)

если

о п е р а т о р

зависит

от

н е к о т о р ы х

п а р а м е т р о в ,

то

эти

п а р а м е т р ы

п е р е ч и с л я ю т с я

 

в к в а д р а т н ы х

 

с к о б к а х н е п о с р е д с т в е н н о

за

символом

о п е р а ­

тора

( н а п р и м е р ,

А 2

[/, у']);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3)

если

в а р ь и р у ю щ и й

о п е р а т о р

и з м е н я е т

о п е р а т о р ы

 

схемы в

з а в и с и м о ­

сти

от

и з м е н е н и я

н е к о т о р ы х

 

п а р а м е т р о в ,

то

. эти

п а р а м е т р ы

п е р е ч и с л я ю т с я

в к р у г л ы х

скобках

н е п о с р е д с т в е н н о

за с и м в о л о м

в а р ь и р у ю щ е г о

о п е р а т о р а

( н а п р и м е р ,

V 6

(і,

у));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4)

если

н е к о т о р ы й о п е р а т о р

п е р е д а е т

у п р а в л е н и е

т о л ь к о с л е д у ю щ е м у

справа

о п е р а т о р у ,

то

после

него

знак

п е р е х о д а

не

ставится .

 

 

 

 

Блок - схема

 

п р е д с т а в л я е т

собой д р у г у ю

ф о р м у записи

 

о п е р а т о р н о й

схемы,

в которой

о п е р а т о р ы

и з о б р а ж а ю т с я

в

виде

б л о к о в

р а з л и ч н о й

к о н ф и г у р а ц и и .

З н а к и перехода

и з о б р а ж а ю т с я

с т р е л к а м и ,

а с о д е р ж а н и е

о п е р а т о р а

п р и в о ­

д и т с я

внутри

блока .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Второй

и третий

э т а п ы

п р о г р а м м и р о в а н и я тесно

с в я з а н ы

м е ж д у

собой .

Н е зная

з а р а н е е

к о л и ч е с т в а

к о м а н д

с о с т а в л я е м о й

п р о г р а м м ы ,

о с о б е н н о при

с о с т а в л е н и и б о л ь ш и х п р о г р а м м , т р у д н о р е ш и т ь в о п р о с о р а з м е щ е н и и м а т е ­

риала

в

я ч е й к а х

памяти

м а ш и н ы . В

то

ж е

в р е м я ,

не

р е ш и в

вопроса .о р а з м е ­

щ е н и и материала,

н е л ь з я с о с т а в л я т ь

 

команды

п р о г р а м м ы .

 

 

 

 

Эти

т р у д н о с т и

з н а ч и т е л ь н о у м е н ь ш а ю т с я ,

если

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

п р и е м , на­

з ы в а е м ы й

методом

условных

( с и м в о л и ч е с к и х )

а д р е с о в . "

Он

з а к л ю ч а е т с я

в том,

что

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

всех

 

ячеек

памяти

р а з б и в а е т с я

на

о т д е л ь н ы е

массивы

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

Ячейкам

этих

м а с с и в о в

п р и п и с ы в а ю т с я

у с л о в н ы е

 

номера

(условные

адреса) .

 

О б ы ч н о

в к а ч е с т в е

у с л о в н ы х

а д р е с о в

я ч е е к массива

и с п о л ь з у ю т

б у к в е н н о - ч и с л о в ы е

адреса, и м е ю щ и е

вид: A -f- /,

где Д — б у к в а , і—число

(г =

1,2,...).

 

 

 

 

 

 

 

 

 

 

П о с л е

в ы б о р а

системы

у с л о в н ы х

а д р е с о в

с о с т а в л я е т с я

таблица

р а с п р е ­

д е л е н и я

памяти, с о д е р ж а щ а я

.величины

и

у с л о в н ы е

адреса

ячеек,

отведен ­

ные под

эти в е л и ч и н ы .

З а т е м

с о с т а в л я ю т с я к о м а н д ы

для

о п е р а т о р о в

схемы

программы-.в

у с л о в н ы х

адресах . З а т е м

п о д с ч и т ы в а е м а

к о л и ч е с т в о

команд

в п р о г р а м м е ,

о к о н ч а т е л ь н о

р е ш а е т с я

в о п р о с

о р а с п р е д е л е н и и

памяти, после

чего у с л о в н ы е

адреса в

командах з а м е н я ю т с я

на д е й с т в и т е л ь н ы е .

 

 

§ 9.

Строение

команды

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

отдельных

команд

 

В

машинах, р а б о т а ю щ и х

в д в о и ч н о й

системе

счисления,

команды

п р е д ­

с т а в л я ю т с я

 

в виде д в о и ч н ы х

к о д о в . К о д

к о м а н д ы

р а з б и в а е т с я на о п р е д е л е н ­

ные

части,

к а ж д а я

из которых

с л у ж и т для

з а д а н и я

о п р е д е л е н н о г о

вида

и н ф о р м а ц и и .

О б ы ч н о

в ы д е л я ю т

т а к и е части

команд,

как

код

о п е р а ц и и и

а д р е с н у ю

часть .

 

 

 

 

 

 

 

 

 

 

К о д о п е р а ц и и

у к а з ы в а е т м а ш и н е ,

к а к у ю

о п е р а ц и ю она

д о л ж н а выполнить .

В адресной части

команды

у к а з ы в а ю т с я

адреса

чисел,

над

к о т о р ы м и

необхо ­

д и м о в ы п о л н и т ь

о п е р а ц и ю

и адрес

р е з у л ь т а т а .

 

 

 

 

 

 

Под а д р е с а м и

п о н и м а ю т с я

п о р я д к о в ы е

н о м е р а ячеек

 

п а м я т и

м а ш и н ы ,

п р е д н а з н а ч е н н ы е

для х р а п е н и я

чисел и

к о м а н д .

 

 

 

 

 

 

П р и записи

п р о г р а м м ы

на

бланках

к о м а н д ы

ч а щ е

всего

п р е д с т а в л я ю т с я

в о с ь м е р и ч н ы м и

числами и

з н а ч и т е л ь н о

р е ж е числами

в

д р у г и х

с и с т е м а х

счисления .

 

 

 

 

 

 

 

 

 

 

 

 

 

В з а в и с и м о с т и

от к о л и ч е с т в а а д р е с о в , с о д е р ж а щ и х с я

в

а д р е с н о й

части

команды, м а ш и н ы

д е л я т с я

на

т р е х а д р е с н ы е ,

д в у х а д р е с н ы е

и о д н о а д р е с н ы е .

120 *. Пусть некоторая трехадресная машина

имеет

следую­

щую

структуру

команд:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в

 

 

А\

 

 

А2

 

A3

 

 

 

 

где в

— к о д операции,

а

Л І ,

А2

и

A3 — адреса.

 

 

 

При написании команд на бланках коды операций

изобра­

жаются двузначными восьмеричными числами, а

адреса — трех­

значными восьмеричными

числами.

Фрагмент системы команд этой

машины

приведен в табл.

9.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

9.1

 

 

 

Фрагмент

системы команд

 

 

 

 

 

 

 

Код

 

 

 

 

 

Назначение адресов

 

 

 

Команда

 

 

 

 

 

 

 

 

 

 

 

 

опе­

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рации

 

 

41

 

 

 

 

А2

 

 

A3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сложение

01

Адрес

числа

а

Адрес

числа

Ь

Адрес

числа

с

с

=

а -г- Ь

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычитание '

02

Адрес

числа

а

Адрес

числа

b

Адрес

числа

с

с =

а — Ь

 

 

 

 

 

 

 

 

 

 

 

 

 

Умножение

03

Адрес

числа

а

Адрес

числа

b •

Адрес

числа

с

c —

axb

 

 

 

 

 

 

 

 

 

 

 

 

 

Деление .

04

Адрес

числа

а

Адрес

числа

b

Адрес

числа

с

с =

а : b

 

 

 

 

 

 

 

 

 

 

 

 

 

Перенос

05

Адрес

числа

а

На

выполнение

Адрес

числа

с

 

с = а

 

 

 

 

 

 

о п е р а ц и и не

 

 

 

 

 

 

 

 

 

 

 

в л и я е т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Извлечение

06

Адрес

числа

а

На

в ы п о л н е н и е

Адрес

числа

с

к в а д р а т н о г о

 

 

 

 

 

 

операции не

 

 

 

 

 

к о р н я

 

 

 

 

 

 

 

в л и я е т

 

 

 

 

с = Уа

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