Программа поиска соединительного пути в 3-х звенной КС (режим индивидуального искания). Функциональная схема и алгоритм решения задачи

Страницы работы

Содержание работы

Министерство по связи и информатизации РФ

СибГУТИ

Кафедра АЭС

Курсовой проект

Программа поиска соединительного пути в 3-х звенной КС (режим индивидуального искания).

Выполнил:

группа АП-95

Проверил:

Новосибирск, 2003г.


Содержание.

1. Содержательная постановка задачи.

2. Функциональная схема и алгоритм решения задачи

3. Обоснование выбора языка программирования.

4. Алгоритм решения программы.

5. Анализ полученных результатов.


1. Содержательная постановка задачи.

Поиск пути сводится к нахождению свободных ПЛ и выходов КП. Свободные соединительные пути отыскиваются с учетом информации о состоянии элементов коммутационного оборудования (КО) – промежуточных  линий. Можно также использовать в качестве элементов КО выходы из коммутаторов. Каждому элементу коммутационного оборудования отводится в оперативной памяти один разряд (1бит).

1-свободен;

0-занят.

Номер разряда всегда определяется номером элемента коммутационного оборудования, состояние которого отражается в данном разряде.

Информация о состоянии всех элементов КО группируется в памяти системы управления в массивах состояния (МС).

Объем МС каждого типа определяется числом элементов КО.

В задании указано, что поиск пути осуществляется в режиме индивидуального искания, то есть отыскивается путь до заданного выхода.


2. Функциональная схема и алгоритм решения задачи.

Рис. Функциональная схема.

Рис. Алгоритм решения задачи.
3. Обоснование выбора языка программирования.

В качестве средства описания процессов поиска пути был выбран язык визуального программирования Delphi6.0. Преимущество визуального программирования в том, что оно позволяет относительно легко создавать наглядные приложения с удобным пользовательским интерфейсом. Суть программы, конечно, можно раскрыть, используя и другие языки, но работать с приложениями «под DOS» намного менее приятно. А использовать что-нибудь специфическое вроде Java, или J2EE не вижу смысла. Если только речь не идет о тех случаях, когда выбор языковых средств ограничен. Например, программирование для мобильных телефонов. Выбор именно Delphi непринципиален,  но здесь вполне приемлем.


4. Алгоритм решения программы.


5. Анализ полученных результатов.

Сформировали произвольную коммутационную систему, где на звене А 4 коммутатора, на звене 3 коммутатора и на звене С 5 коммутаторов. На звене с в каждом коммутаторе имеется 5 выходов. К ним например могут подключаться абонентские комплекты. Для нас тип коммутационного оборудования, подключенного к выходам на звене С не важен. Мы анализируем только состояние выходов в данный момент.

На вход 2-го коммутатора на звене А приходит запрос на поиск пути от него до 5-ого выхода из 4-ого коммутатора  на звене С.

Начинается поиск пути. Проверяется на занятость выход, имеющий младший номер. Выход под номером 1 имеет состояние «1», значит он свободен.

Переходим на звено В. Рассматриваем первый коммутатор, так как Ма=1.

Нас интересует 4-ый коммутатор на звене  С, поэтому смотрится состояние 4-ого выхода из коммутатора звена В. Он занят.

Возвращаемся назад и рассматриваем выход из коммутатора звена А под номером 2. Он тоже имеет состояние равное 1 (свободен). Ма=2.

Переходим снова на звено В. Смотрим 4-ый выход во втором коммутаторе. Он свободен, значит Кв=2,Мв=4.

Обращаемся к звену С. 5-ый выход на 4-ом коммутаторе, до которого требуется найти путь, свободен. Значит выдаем признак найденного пути. В нашей программе – это сообщение пользователю (см. рисунок ниже). Отмечаем крестиками на рисунке найденный путь.

При занятии найденного пути состояние выходов, задействованных на нем, изменится на «0» (рисунок ниже). И при поиске других путей для следующих ППК эти выходы не могут быть задействованы до их освобождения.


Приложение. Текст программы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, ExtCtrls, StdCtrls, ComCtrls, Buttons;

type

TForm1 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Sg1: TStringGrid;

Sg2: TStringGrid;

Sg3: TStringGrid;

UpDown1: TUpDown;

StaticText1: TStaticText;

BitBtn1: TBitBtn;

StaticText2: TStaticText;

Похожие материалы

Информация о работе