2. Функциональная схема и алгоритм решения задачи.
Рис.2.1. Функциональная схема процесса поиска свободного соединительного пути
Расшифровка обозначений функциональной схемы
МСПЛАВ – массив состояний промежуточных линий АВ;
МСПЛВС – массив состояний промежуточных линий АВ;
МСН – массив состояний направлений;
РВ – регистр вызова;
БЗО – буфер заявок на обслуживания;
БЗ ППК – буфер заявок на формирования последовательности периферийных команд;
БЗ КПЗ – буфер заявок на подключение комплекта посылки сигнала “Занято”;
АК – абонентский комплект;
ПЛ – промежуточные линии.
Алгоритм программы поиска свободного СП и его описание.
1. Чтение номера АК (n1,n2,n3,n4,n5,n6) и номера направления (р1,р2,р3) из БЗО.
2. Чтение из массива МСПЛАВ слова состояния (SАВ) из строки с номером n1n2n3 (номер коммутатора, к которому подключен заданный АК).
3. Чтение из массива МСН слова состояния выходов (SН) из строки, номер которой равен номеру заданного направления (р1,р2,р3).
4. Если в направлении отсутствуют не опробованные выходы, находящиеся всвободном состоянии (SН=0), то перейти к п. 13.
5. Поиск в SН самой левой единицы (ПСЛЕ). Номер найденного разряда (k1,k2,k3) определяет номер коммутатора на звене С, через который можно установить соединение.
Рис.2.2. Схема алгоритма поиска соединительного пути.
6. Чтение из массива МСПЛВС слова состояния SН из строки с номером k1k2k3,равным номеру коммутатора на звенеС, через который можно установить соединение.
7. Определить слово соединительного пути (ССП) путем логического умножения SАВ и SВС: ССП= SАВ&SВС.
8. Если ССП=0, то записать нуль в разряд k1k2k3 слова SН и перейти к п. 4.
9. Осуществить операцию ПСЛЕ для ССП. Номер найденного разряда (самая левая единица) дает номер коммутатора на звене В, через который можно установить соединение.
10. Записать в РВ для данного АК следующую информацию:
• номер входа в КС;
• номер ПЛАВ;
• номер ПЛВС;
• номер выхода из КС.
11. Для отметки выбранного пути занятым заменить 1 на 0:
• в массиве МСПЛАВ - разряд m1m2m3 в слове n1n2n3;
• в массиве МСПЛВС - разряд m1m2m3 в слове k1k2k3;
• в массиве МСН - разряд m1m2m3 в слове p1p2p3.
12. Записать заявку в БЗППК и перейти к п. 14.
13. Записать заявку в БЗКПЗ.
14. Если есть другие заявки в БЗО, то перейти к п. 1.
15. Конец выполнения программы.
3. Обоснование выбора языка программирования.
Для реализации данной задачи я выбрал язык программирования DELPHI, т.к. он имеет ряд преимуществ перед другими языками:
§ Данный язык использует технологию визуального программирования.
Визуальная среда принимает на себя все заботы на создание типовых окон и элементов. Она предлагает программисту без особых сложностей встроить в приложение тот или иной объект, приписать ему определенные свойства и сформировать схему поведения объекта при возникновении той или иной ситуации. Прилагательное визуальный при этом означает, что большинство процедур по заготовке объектов и определении их свойств выражается принципом «делаю, что вижу». Ни одного оператора для описания этих целей прописывать не приходится.
§ Наименьшие затраты времени и сил на создание windows-приложений.
§ В системе присутствует более современный и мощный компилятор, по сравнению с алгоритмическими языками.
§ После выполнения работы получается всего один файл программы с расширением ехе. При программировании на алгоритмическом языке пришлось бы организовывать сложную структуру интерфейсов под ОС Windows, которая уже сама по себе была бы больше, чем вся остальная программа. Писать же программу под ОС DOS давно неактуально.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.