Размещено на реф.рф В этой зоне находится другой эталон, сравнение с которым осуществляется в случае, в случае если предыдущий эталон совпал с i-й цифрой номера. В случае если такое совпадение произошло, во втором слове может иметь место один из двух видов информации: номер направлений или адрес массива следующей (i + 1)-й цифры, с эталонами которого нужно последовательно сравнить эту цифру
Рис. 12 Массивы алгоритма последовательного анализа цифр:
А. А„ — адреса, по которым осуществляется переход при несовпадении цифры
и эталонов зон той же i-й цифры; B, B2 — направления или адреса, по которым возможен
переход при совпадении цифры и эталона в зону (i + 1)-й цифры; g — признак перехода
по адресу или окончания поиска направления
Эталон представляет собой десятиразрядное слово с информацией, записанной позиционно. Напомним, что в позиционном коде каждой цифре от 0 до 9 соответствует один двоичный разряд, единичное значение которого свидетельствует о наличии этой цифры в слове.
Модуль, реализующий данный алгоритм, использует в качестве входных данных заявки от алгоритма приема номера (адреса зоны, где накоплены цифры). Результатом его работы является номер направления.
Алгоритм настраивается на базе таблиц, списочных номеров и соответствующих им направлений (рис. 12). Он осуществляет ряд действий, представленных на рис. 13. Алгоритм начинается с запуска. Далее устанавливается индекс i = 0 (оператор 2), соответствующий первой цифре номера. Далее эта цифра читается (оператор 3) и декодируется в позиционный номер (оператор 4), после чего читается эталон (Эi) (оператор 5) и побитно проверяется на совпадение (оператор 6) с позиционным значением номера (N,).
Рис. 13 Алгоритм пересчета номера
В случае если получено совпадение позиционного номера и эталона, то проверяется признак во втором слове эталона (оператор 8). Значение g = 0 говорит о том, что в данном слове записан номер направления, который вносится в рабочую ячейку (оператор 9) и является результатом работы алгоритма. В случае если цифра не совпала с эталоном, то из первого слова эталона читается адрес зоны и эталона, размещенного в этой зоне (оператор 7) и процесс повторяется. При совпадении цифры с эталоном и при g = 1 читается следующая цифра и эталон вторых цифр, адрес которого указан во втором слове зоны (i: = i + 1, оператор 12). При этом проверяется, не превосходит ли индекс (/+1) заданное на сети число цифр (оператор 13). В случае если не превосходит, читается следующая цифра и процесс повторяется. В противном случае отмечается, что набранный номер соответствует несуществующему направлению (оператор 14).
Рассмотрим конкретный пример.
Размещено на реф.рф На рис. 14 показаны сетевые соединения станции, обозначенной цифрой 1. От нее к другим АТС имеется шесть направлений, обозначенных шестизначными номерами. Первые два направления характеризуются одним знаком, одно направление — двумя знаками, остальные два — тремя знаками.
Рис. 14 Пример сети связи с нумерацией направлений
На рис. 15 показаны зоны памяти, соответствующие данной сети.
По адресу I в эталоне значением 1 отмечены позиции 5 и 6, соответствующие первому направлению. Номер данного направления записан во втором слове, признак g = 0. В правой части первого слова содержится адрес второй зоны (адрес 2), используемый при несовпадении цифр с эталоном. Значением 1 в эталоне адреса 2 отмечены позиции 7 и 8, соответствующие второму направлению. Адрес 3 в этой зоне указывает, куда нужно перейти при несовпадении эталона и цифры. Признак g = 1 в слове с адресом 3 указывает, что в случае совпадения позиционного номера цифры и хотя бы одного разряда эталона нужно перейти в эталон массива вторых цифр по адресу 5. Такой переход диктуется тем, что первая цифра со значением 1 не дает возможности определить направление, поскольку четыре направления (с третьего по шестое) характеризуются номерами, начинающимися с 1 (рис. 14). В конце каждого массива цифр стоит эталон, содержащий все единицы. Он гарантирует, что цифры, не пересчитанные в номер направления или не переадресованные к другим ячейкам, не приведут станцию в тупиковую ситуацию. Таким цифрам приписывается индекс ʼʼнесуществующее направлениеʼʼ. Действия для подобных исходных данных уже отображены общим алгоритмом анализа (см. рис. 13).
При запуске в работу этого алгоритма указывается место, в котором находится информация, подлежащая декодированию. Наиболее распространенный случай — пересчет набранного номера в номер направления установления соединения. В этом случае дается заявка с указанием области памяти процесса, где находится информация, и указанием места͵ в ĸᴏᴛᴏᴩᴏᴇ следует записать номер найденного направления.
Рис. 15 Пример отображения участка сети в зонах памяти В зонах памяти отображается сеть, показанная на рис. 14