Файл: Садовников, В. И. Потоки информации в системах управления.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 70
Скачиваний: 0
П р и л о ж е н и е 1
Упорядочение данных методом сортировки
по основанию системы счисления
В настоящем приложении рассматривается метод сортировки по основанию системы счисления [Л. 48, 103], который применяется для упорядочения наименований СК, записанных на ОИЯ искусственного уровня (например, § 3-8). Возможен случай, когда наименование компоненты (код компоненты) занимает несколько ячеек памяти. В результате сортировки коды упорядочиваются по величине. Сор тировка может производиться как по всей длине кода, так и по выделенной группе старших разрядов. Для этого с каждым кодом массива, подлежащего сортировке, задаются две константы: п, и I}. Константа п, задает общую длину кода kj, константа /,• определяет число старших разрядов кода, по которым выполняется сортировка. Под kj здесь будем понимать не только код компоненты на ОИЯ искусственного уровня, но и ту информацию, которую может нести с собой данная компонента, например код документа, в котором она записывается, порядковый номер этой компоненты внутри докумен та и др. Сортировка производится по основанию 8. В оперативной памяти отводится 8 групп (карманов) ячеек. На внешнем ЗУ также отводится 8 карманов магнитной ленты (МЛ), причем каждая лен та-карман делится на два участка. Запись рассортированных компо нент производится попеременно на первый и второй участок лентыкармана. Например, при сортировке по нечетным разрядам запись ведется на первый участок, а при сортировке по четным разрядам — на второй.
В каждом коде исходного массива выделяется младший вось меричный разряд, подлежащий сортировке. В зависимости от вели чины разряда весь код компоненты вместе с относящейся к нему информацией записывается в соответствующий карман в МОЗУ. После того как все коды распределены по карманам МЛ, произво дится сортировка содержимого каждого кармана по следующему разряду и т. д.
Перед сортировкой очередного /-го кода по г разряду проверя ется соотношение r>lj. Если это соотношение выполняется, то /-й код записывается в массив, отведенный для записи отсортированных кодов, и в последующей сортировке не участвует.
В, зависимости от дальнейшего использования отсортированные коды могут быть записаны одним из двух рассмотренных ниже способов.
Пусть исходная информация, подлежащая сортировке, представ лена табл. П1-І. В ячейке, предшествующей каждому коду kj, запи сываются константы П] и Ц. Сортировка выполняется по части кода,
обозначенной qj. Оставшаяся часть кода, по которой сортировка не производится, обозначена через г,-. В табл. П1-1 первый и четвертый,
|
|
Т а б л и ц а П1-1 |
п, |
Л |
|
042 |
222 |
201 |
204 |
|
|
205 |
207 |
000 |
|
о, |
N, |
п2 |
it |
|
021 |
223 |
|
212 |
216 |
220 |
|
D, |
/V, |
«3 |
и |
|
021 |
223 |
|
217 |
230 |
231 |
|
Оз |
Л^з |
П і |
и |
|
042 |
222 |
201 |
204 |
|
|
210 |
211 |
216 |
|
о * |
ЛГ* |
|
|
Т а б л и ц а П1-2 |
021 |
223 |
|
212 |
216 |
220 |
|
о 2 |
|
021 |
223 |
|
217 |
230 |
231 |
229
|
|
П р о д о л ж гн и п т а б л . П 12 |
|
D3 |
Кг |
|
|
1 |
042 |
222 |
201 |
204 |
|
|
205 |
207 |
000 |
|
Dy |
Ку |
|
|
1 |
042 |
222 |
201 |
204 |
|
|
210 |
211 |
216 |
|
D4 |
к , |
|
|
1 |
|
|
Т а б л и ц а П1-3 |
021 |
223 |
|
212 |
216 |
220 |
|
0 , |
N„ |
217 |
230 |
231 |
|
D3 |
Na |
|
|
1 |
042 |
222 |
201 |
204 |
|
|
205 |
207 |
000 |
|
Dy |
Ky |
210 |
211 |
216 |
|
Dy |
Ky |
|
|
1 |
•/40