Файл: Белоногов Г.Г. Автоматизированные информационные системы.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 151
Скачиваний: 3
лишь в том случае, если поиск ведется в оперативной
памяти).
Часть клеток матрицы информационной таблицы обычно бывает пустой. Это может происходить по двум причинам. Во-первых, объект и класс характеристик, указанный на входе таблицы, могут быть несовместимы. Это означает, что данному объекту несвойственна ха рактеристика, сформулированная в наименовании клас са. Во-вторых, могут отсутствовать сведения по ряду характеристик. Поэтому при записи информационных таблиц в памяти машины целесообразно применять спе циальные меры по экономии места. Одной из таких мер может быть введение логической шкалы перед каждой строкой или перед каждым столбцом матрицы (в зависи мости от того, в каком порядке проводилась ее линейная развертка). Логическая шкала содержит столько двоич ных знаков, сколько клеток в матрице информационной таблицы. Символом 0 в шкале обозначаются клетки ин формационной таблицы, которые соответствуют несовме стимым парам кодов объектов и характеристик. Осталь ные клетки матрицы обозначаются символом 1. После логической шкалы записывается массив отсылочных адресов к значениям характеристик, который содержит
столько позиций, сколько единиц имеется в логической шкале. Если сведения по какому-либо значению характе ристики отсутствуют, то вместо отсылочного адреса про ставляется нулевой код. В дальнейшем при пополнении сведений об объектах этот код может быть заменен на отсылочный адрес к значению характеристики. Буквенные коды значений характеристик, входящих в состав строки или столбца информационной таблицы, записываются в порядке их поступления. В начале каждого буквенного кода указывается количество ячеек памяти, занимаемое значением характеристики.
Порядок записи в памяти ЭВМ одной строки значе ний характеристик иллюстрирует табл. 12.3. В разделе а) таблицы приведены условные обозначения, в разделе
б ) — исходная |
структура |
строки, |
а в разделах в), г), |
|||
д ) — основные |
компоненты |
строки |
значений характери |
|||
стик при ее записи |
в |
памяти ЭВМ (логическая |
шкала, |
|||
отсылочные адреса |
к |
значениям |
характеристик |
и б у к |
венные коды значений характеристик). В разделе б) на ряду с буквенными кодами значений характеристик (строки, обозначенные буквой z) для наглядности указа
220
ны также номера столбцов у и количество ячеек п, зани маемое каждым значением характеристики. В разделе г) записаны отсылочные адреса к значениям характери стик, а после каждого адреса в скобках указан порядко вый номер символа 1 в логической шкале, которому этот адрес соответствует (в действительности порядковые но мера отсылочных адресов в памяти ЭВМ нигде не фик-
|
|
|
|
|
|
|
|
Т а б |
и ц а |
12.3 |
|
|
П р и м е р |
записи в |
пам ят и |
машины |
ст ро ка |
|
ч ен ій |
|
|||
|
зн ал |
|
|||||||||
2а) |
Условные |
|
х а ракт е рист ик |
|
|
|
|
||||
обозначения: |
|
|
|
|
|
|
|||||
п — номера столбцов матрицы информационной таблицы; |
|
||||||||||
у |
|
|
|
|
|
характеристик; |
|
|
|
||
— буквенные коды значений |
|
|
ячей |
||||||||
ках) ; — длина |
буквенных |
кодов |
значений |
характеристик (в |
|||||||
н — признак |
несовместимости |
|
объекта |
и характеристики; |
|
||||||
«—» — сведения |
по характеристике отсутствуют. |
объекту х; |
|||||||||
б) |
Исходная |
структура |
строки, |
соответствующая |
|||||||
У |
1 |
|
2 |
3 |
4 |
|
н |
6 |
|
7 |
8 |
п |
|
Zi,2 |
— |
— |
|
^г.з |
|
H |
H |
||
Z |
1 |
|
2 |
|
|
|
|
4 |
|
|
|
|
|
|
12 |
|
13 |
15 |
io |
||||
Z |
9 |
|
10 |
11 |
|
14 |
|||||
У |
|
|
|
|
^1,13 |
— |
|
|
zi, 16 |
||
п |
н |
|
Н |
н |
12 |
|
Zi,l5 |
||||
|
17 |
|
18 |
|
3 |
|
1 |
22 |
|
1 |
2 |
УZ |
|
19 |
20 |
|
21 |
23 |
24 |
||||
п |
Zt.l7 |
|
н |
2г,19 |
Н |
|
^І,21 |
н |
— |
H |
|
У |
1 |
|
26 |
7 |
28 |
|
2 |
30 |
•31 |
32- |
|
Z |
25 |
|
27 |
|
29 |
||||||
п |
— |
|
— |
н |
н |
|
— |
Z t ,30 |
z |
i , 31 |
— |
У |
33 |
|
34' |
|
/ |
|
. . . |
12 |
k ^3 |
|
|
|
|
|
k— 2 |
|
\ |
k |
|||||
|
Н |
|
|
|
|
|
|
|
|||
Z |
П ы |
|
|
|
zi,h - t |
^ i,h ~ 1 |
2 . |
||||
|
|
Ziі |
|
|
|||||||
п |
|
|
2 |
|
1 |
|
|
1 |
|
2 |
221
в) Логическая шкала строки
11 |
1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 |
|
|
|
|
||||||||
1 0 1 0 1 1 0 1 1 1 1 1 0 1 . . . |
1 . . |
|
|
|
|
||||||||
г) Отсылочные |
адреса |
|
|
к |
значениям характеристик |
|
|
|
|
||||
|
|
0001 ( 1) |
|
0002(2) |
0000(3) |
|
|
|
|
|
|||
|
|
0000 (4) |
|
0004(5) |
0008(6) |
|
|
|
|
|
|||
|
|
ООП (7) |
|
0000(8) |
0012(9) |
|
|
|
|
|
|||
|
|
0013(10) |
0015(11) |
0016(12) |
|
|
|
|
|
||||
|
|
0023(13) |
0000(14) |
0000(15) |
|
|
|
|
|
||||
д) Буквенные |
0000(16) |
0000(17) |
0025(18) |
|
|
|
|
|
|||||
коды значений характеристик |
|
|
|
|
|
||||||||
Адрес ячейки |
Значение характерис |
Адрес |
Значение характери |
||||||||||
|
тики |
|
ячейки |
стики |
|||||||||
|
|
|
|||||||||||
0001 |
|
|
|
|
|
|
|
0015 |
|
|
|
|
19 |
0002 |
|
2і2 |
|
0016 |
Zz i |
i, , |
|||||||
0003 |
|
|
0017 |
||||||||||
0004 |
|
2« |
|
|
0018 |
|
|
|
|
, 9 |
|||
0005 |
|
|
|
|
ä |
|
|
0019 |
24,19 |
||||
0006 . |
|
Z |
i |
|
|
|
0020 |
|
|
|
|
|
|
0007 |
|
Z |
i |
s |
|
|
0021 |
|
|
|
|
|
|
0008 |
|
Z |
i |
|
, |
1 2 |
|
0022 |
|
|
|
|
|
0009 |
|
|
|
|
|
|
|
0023 |
|
|
|
|
|
0010 |
|
|
|
|
|
13 |
|
. 0024 |
Z |
i |
|
, 2 |
1 |
ООП |
|
Z |
t |
, |
|
|
0025 |
|
|
|
|
|
|
0012 |
|
Z |
i |
, |
i b |
|
0026 |
Z |
i |
, / |
» |
||
0013 |
|
|
|
|
|
|
|
0027 |
z |
|
i |
, |
30 |
0014 |
|
2 |
l |
, |
IG |
|
|
|
сируются). В одной ячейке размещается несколько от сылочных адресов. Массив буквенных кодов значений характеристик условно изображен в разделе д). Если какое-либо значение характеристики занимает более од ной ячейки памяти, то символ г повторяется несколько
раз (см. например, значения характеристик Zi,2 и 2г-,6 в разделах б) и д) табл. 12.3).
Значения характеристик в матрице информационной таблицы ищутся в следующем порядке. Сначала по но меру строки таблицы выбирается информация, соответ ствующая этой строке (логическая шкала, отсылочные адреса к значениям характеристик и массив буквенных кодов значений характеристик). Затем по номеру столб ца находится соответствующий разряд логической шка лы и его содержимое проверяется на наличие призна-
2 2 2 |
* |
ка 0. Если такой признак имеется, то поиск прекра щается, так как объект и характеристика несовместимы. Если его нет, то суммируются единицы логической шка лы от ее начала до проверяемого разряда включительно. Найденная сумма далее интерпретируется как номер позиции в массиве адресов отсылки к значениям харак теристик и по ней выбирается отсылочный адрес. Если отсылочный адрес равен нулю, то процесс поиска пре кращается из-за отсутствия сведений по искомой харак теристике. Если не равен нулю, то он используется для обращения к буквенному коду искомого значения харак теристики.
Логическая шкала размещается в нескольких ячей ках памяти. Для ускорения процесса поиска в каждой ячейке отводится место для записи числа единиц во всех предшествующих ячейках шкалы и пересчет единиц ве дется только в пределах одной последней ячейки.
Рассмотренный способ представления матриц инфор мационных таблиц с помощью логических шкал и отсы
лочных адресов к значениям |
характеристик является |
по существу модификацией |
гнездового ассоциативно |
адресного способа. Здесь для каждой строки матрицы предусмот-рено свое гнездо адресных отсылок, но, в от личие от обычнрго применения гнездового способа, поиск в гнездах производится не перебором, а путем вычисле
ния адресов |
записи |
необходимых |
адресных отсылок |
к значениям |
характеристик. |
информационных |
|
Гнездовой |
способ |
представления |
таблиц неудобен в том отношении, что изменение соста ва столбцов при развертке таблиц по строкам и изме нение состава строк при развертке их по столбцам свя зано с перемещением массивов адресных отсылок (их раздвижкой или уплотнением). Этого можно избежать, если выбрать в качестве основной единицы хранения информации не строку или столбец таблицы, а элемен тарное сообщение, состоящее из кода объекта, кода ха рактеристики, кода значения характеристики и кода от ношения между объектом, характеристикой и ее значе
нием. |
Тогда информационная таблица |
может |
быть |
представлена в виде массива элементарных |
сооб |
||
щений, |
и добавление или изъятие строки |
или столбца |
сведется к добавлению или изъятию группы элементар ных сообщений. Более того, можно забыть о «табличном происхождении» массива элементарных сообщений и
223