собой очень кропотливую работу и чаще всего является источником ошибок.
7)Путем соединения частных программ получить общую программу решения задачи.
8)■Провести предварительную проверку правильно сти составленной программы и устранить обнаружен
ные ошибки.
9) С помощью внешних устройств перенести исход ные данные задачи с бланков на перфокарты или пер фоленту, т. е. преобразовать их в форму, пригодную для автоматического ввода в машину.
10) Проверить правильность подготовки перфокарт и перфолент с помощью специальных контрольных устройств.
11) Отладить программу на машине, т. е. при проб ном решении выявить ошибки, которые могли возник нуть при программировании, кодировании и подготовке данных для ввода в машину. Большинство программсложных задач, даже при очень внимательном их со ставлении и подготовке, содержит ошибки.
12)Исправить обнаруженные ошибки.
13)После того как выяснено, что программа рабо тает правильно, остается ввести отлаженную програм му и исходные числовые данные в машину и начать ре
шение задачи.
14) В ходе решения задачи правильность работы машины может контролироваться повторным выполне нием участков программы и выводом из машины ха рактерных промежуточных результатов.
15) Получить результаты решения задачи, автомати чески выданные машиной на устройства вывода (бы стродействующее печатающее устройство или перфора тор результатов) ' - *
16) При выдаче результатов на перфокарты или перфоленту отпечатать их на печатающем устройстве системы внешних устройств машины.
17)Обработать результаты, отпечатанные на бу мажном рулоне, т. е. расшифровать значения данных, и, если необходимо, построить по ним графики.
18)Оформить полученные результаты (сброшюро вать или переплести) и вместе с отчетом по решению задачи выдать заказчику.
37
Приведенный порядок работ, выполняемых прп ре шении задач, показывает, что программирование тре бует от программиста большого напряжения умствен ных сил и неослабного внимания в течение всего вре мени подготовки задачи для решения. Программирова ние сложных задач — работа трудоемкая, сопряженная с возможностью возникновения ошибок на каждом из этапов.
Поэтому в настоящее время ведутся работы в на
правлении |
автоматизации |
процесса программирования |
и создания |
б и б л и о т е к и |
п р о г р а м м . Но для того |
чтобы возложить работу по подготовке и программиро ванию задач на вычислительные машины, необходимо разработать специальные п р о г р а м м и р у ю щ и е прот граммы, по которым • машина сама перерабатывала бы
вводимую в ее запоминающие |
устройства |
информа |
цию о порядке решения задачи. |
С помощью |
програм |
мирующих программ можно автоматизировать выпол нение наиболее трудоемких этапов работы, связанных с составлением программы и переводом программ в код данной машины (этапы 5 и 6).
Организация библиотек наиболее часто применяе мых программ и даже частей программ позволяет (вруч
ную или путем использования в |
машине специальной |
к о м п и л и р у ю щ е й программы) |
объединять части |
стандартных программ и вновь составленных программ в одно целое. Применение компилирующих программ по зволяет автоматизировать этап 7.
Использование аппаратуры, производящей считыва ние информации непосредственно с бланков или печат ного текста, 'позволит автоматизировать процессы пре образования данных для ввода в машину (этап 9). Экспериментальные образцы такой • аппаратуры уже имеются.
Представление чисел в ЭЦМ
Числа в машинах обычно представляются в какойлибо позиционной системе, в которой значение каждо го знака определяется не только формой начертания, но и местом его в записи числа. В позиционной системе цифры выполняют роль коэффициентов при последо
вательно расположенных целых степенях числа, служа щего основанием системы счисления.
В машинах применяется несколько систем счисле ния и изображения чисел. Например, при вводе дан ных в машину и выводе из нее результатов числа обычно записываются в привычной для нас десятичной системе счисления. Числа, над которыми выполняются операции, в большинстве машин представлены не в де сятичной, а двоичной системе. Некоторые машины опе рируют с десятичными цифрами, каждая из которых закодирована в двоичной системе. В машине «Сетунь» используется троичная система счисления. Команды в программах обычно записываются на бланках в восьме ричной системе. Большое количество различных форм записи чисел и кодов объясняется удобствами, которые они дают при выполнении тех или иных видов обработ ки информации.
Название системы .происходит от того числа, кото рое принято за основание счисления. Основание опре деляет соотношение между единицами соседних разря дов, а также количество различных цифр, применяемых для изображения чисел в той или иной системе счис ления.
Десятичная система имеет основанием число 10. В ней используется десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Десятичная система — позиционная, поэтому десятйч
ное число, например 2547, можно |
записать следующим |
|
образом: 2547 = 2000 + 500+40+7 |
или |
2547=2-10® + |
+ 5 • 102+4 • 101+ 7 • 10°. Заметим, |
что |
при представле |
нии целых чисел степени основания системы счисления увеличиваются справа налево, начиная с нулевой для младшего разряда. При представлении смешанного чис
ла, например |
539,285 = |
5 - |
102 + 3 ■ 10г + 9 - |
10°-+ 2 |
- |
• 10—1+ 8 • |
10-2 + 5 - |
10 |
3, при движении |
вправо |
от |
запятой возрастают отрицательные степени основания системы счисления. Таким образом, все числа в десятич ной системе счисления получаются с помощью числа 10 (основания системы счисления), взятого в различных степенях и помноженного на цифры этой системы.
Двоичная система счисления имеет основанием чис ло 2. Все числа в двоичной системе изображаются на борами только двух цифр — 0 и 1. Это обстоятельство значительно облегчает изображение чисел в машине с
39
помощью электрических, магнитных и других элементов. Достаточно, чтобы элементы электронной цифровой ма шины, с помощью которых изображаются разряды чи сел, могли принимать всего два резко отличных друг от друга состояния.
Двоичная система, так же как и десятичная, являет ся позиционной. Поэтому двоичное число, например 1101*, можно представить в виде суммы:
|
1101 = 1 |
• |
23 + |
1 • |
23 + |
0 • |
2Х+ 1 • |
2° = 1 |
• |
8 + |
1 • 4 + |
|
|
|
|
|
+ |
0 ■2 + 1 • |
1 = 13, |
|
|
|
|||
т. е. двоичное |
число |
1101 |
эквивалентно |
десятичному |
||||||||
|
числу 13. |
|
|
|
|
|
|
например |
101,01, |
можно |
||
|
Смешанное двоичное число, |
|||||||||||
записать как сумму: |
|
|
|
|
|
|
|
|
||||
|
101,01 = |
1 • |
22 -+ |
0 • |
21 + |
1 |
2° + |
0 • 2-1 + |
1 • |
2 -2= |
||
|
1 - 4 + 0 - 2 + 1 - 1 + 0 - — + 1 • — = 5- . |
|
||||||||||
|
|
|
|
|
|
S |
2 |
4 |
|
4 |
|
|
|
|
|
|
|
|
|
101,01 |
соответствует |
||||
|
Таким образом, двоичное число |
|||||||||||
десятичному числу 5,25. |
|
|
|
|
|
|
||||||
|
Любое двоичное число имеет свой «эквивалент в де |
|||||||||||
сятичной системе: |
|
|
|
|
|
|
|
|
||||
|
Двоичная |
Десятичная |
Двоичная |
Десятичная |
Двоичная |
Десятичная |
||||||
1 система |
|
система |
система |
система |
система |
система |
||||||
|
0 |
|
0 |
|
1010 |
|
10 |
10100 |
|
20 |
||
|
1 |
|
1 |
|
1011 |
|
и |
10101 |
|
21 |
||
|
10 |
|
2 |
|
1100 |
|
12 |
10110 |
|
22 |
||
|
и |
|
3 |
|
1101 |
|
13 |
10111 |
|
23 |
||
| |
100 |
|
4 |
|
1110 |
|
14 |
11000 |
|
24 |
||
|
101 |
|
5 |
|
1111 |
|
15 |
11001 |
|
25 |
||
|
п о |
|
6 |
|
10000 |
|
16 |
пою |
|
26 |
||
|
111 |
|
7 |
|
10001 |
|
17 |
п о п |
|
27 |
||
|
1000 |
|
8 |
|
10010 |
|
18 |
11100 |
|
28 |
||
|
1001 |
|
9 |
|
10011 |
|
19 |
11101 |
|
29 |
||
|
|
|
|
|
|
|
|
|
И т. |
д. |
|
|
Из этой таблицы видно, что даже при записи не больших чисел в двоичной системе счисления требует ся значительное количество разрядов, т. е. запись двоич-
* 1101 читается не «тысяча сто один», а «единица, единица, ноль, единица».
40
пых чисел |
более громоздка, |
чем десятичных. Можно |
подсчитать, |
что для записи достаточно большого числа |
|
в двоичной |
системе счисления |
требуется разрядов в |
три с лишним раза больше, чем при записи его в десятич ной системе. Однако при оценке способов представле ния чисел в машине надо исходить не из количества разрядов, а из количества цифро-разрядов, т. е. произ ведения количества разрядов, необходимого для записи числа, на количество цифр в системе. Действительно, в цифровой машине каждый разряд числа может прини мать столько дискретных значений, сколько имеет цифр применяемая система счисления. Реализация каждого из этих значений либо требует особого оборудования, либо вызывает усложнение режимов работы элементов.
В этом отношении двоичная система счисления бо лее экономична, чем десятичная. Это можно показать на таком примере. Для изображения десятичных чисел до 999 требуется 10x3 = 30 цифро-разрядов, это же чис ло в двоичной системе счисления записывается как. 1111100111, т. е. требует приблизительно 2X10 = 20 циф ро-разрядов. Десятичные числа до 99 изображаются 10x2 = 20 цифро-разрядами, а эквивалентное ему двоич ное число 1100011 изображается 2X7=14 цифро-разря дами. Если считать, что для изображения каждого циф- ро-разряда требуется один элемент схемы, то можно сделать вывод о выгодности двоичной системы счисле ния по сравнению с десятичной приблизительно в 1,5 раза.
Другое преимущество двоичной системы счисления— простота выполнения арифметических действий. Это то же одна из причин широкого применения ее в вычисли тельных устройствах и логических цепях-.
'При выполнений операции сложения двух д е с я т и ч - и ы х чисел необходимо' помнить все суммы десятичных
цифр, т. е., - например, что |
1+0=1, 5 + 6=11, 7+9=16, |
9+ 9= 18 и т. д. |
д в о и ч н ы х цифр значи |
Таблица сложения двух |
|
тельно проще: |
|
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1 Т+ 1=10
41