Компьютерное моделирование беспроводных AD-HOC сетей для целей расчета времени связи мобильных абонентов

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

? MS Access для удобства хранения полученных результатов.

Данный программный продукт востребован и широко используется 29 лабораторией Институт проблем управления им. В.А. Трапезникова РАН, занимающейся разработкой методологий проектирования систем прямого цифрового управления.

 

Литература

 

1.Сети UMTS - Москва, издательство Техносфера, 2007г.

2.Нэйл Рэндалл, Барри Сосински - Беспроводные решения - , издательство Техносфера, 2007г.

.Хомоненко А.Д. - Базы Данных: Учебник для высших учебных заведений. КОРОНА принт. 2004 г.

.Иванова Г.С. - Технология программирования - издательство МГТУ имени Н.Э. Баумана, 2006г.

.Поган А.М. - Delphi руководство программиста - Москва, издательство Эксмо, 2006г.

.Осипов Д. - Delphi. Профессиональное программирование - Москва, издательство "Символ-Плюс", 2006 г.

.Майерс Г. - Искусство тестирования программ - Перевод с английского под редакцией Б.А. Позина, Москва, Финансы и статистика

 

Приложение А

 

Структурная схема базы данных

 

Рисунок 2- Вторая Нормальная Форма

 

Рисунок 3 - Третья Нормальная Форма

Приложение Б.

 

Входные формы.

 

Рисунок 4 Входная форма начальных параметров поля

 

Рисунок 5 Входная форма начальных параметров мобильных узлов, их количества и количества возникновения сетей

Приложение В.

 

Выходные формы

 

Рисунок 6 Выходная форма вывода результата моделирования связи мобильных узлов

 

Приложение Г.

беспроводной мобильный программирование сеть

Инструкция пользователя

Рисунок 7 - Главное Меню - Дополнительно

 

Рисунок 8 - Начальные параметры

 

Рисунок 9 - Главное Меню - Файл

 

Рисунок 10 - Главная форма (Обрезанная)

 

Рисунок 11 - Выпадающее меню при нажатие Правой Кнопкой Мыши (ПКМ) на изображение

 

Рисунок 12 Главное меню - База даныых

 

Рисунок 13 Создание новой БД

Рисунок 14 Окно выбора файла

 

Рисунок 15 - Отображение Базы Данных

 

Приложение Д

 

Листинг программы (Unit1).Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, StdCtrls, Grids, XPMan, Buttons, Menus, ComCtrls;//, Keyboard;= class(TForm): TImage;: TStringGrid;: TButton;: TButton;: TButton;: TXPManifest;: TTimer;: TLabel;: TLabeledEdit;: TButton;: TCheckBox;: TStringGrid;: TLabeledEdit;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TPopupMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TStringGrid;: TMenuItem;: TMenuItem;: TGroupBox;: TLabeledEdit;: TLabeledEdit;: TLabel;: TLabel;: TLabel;: TEdit;: TLabel;: TEdit;: TEdit;: TLabel;: TEdit;: TLabel;: TButton;: TButton;: TLabel;: TProgressBar;: TMenuItem;: TMenuItem;: TMenuItem;: TOpenDialog;: TPanel;: TLabeledEdit;: TButton;: TButton;FormCreate(Sender: TObject);Button3Click(Sender: TObject);FormCloseQuery(Sender: TObject; var CanClose: Boolean);Timer1Timer(Sender: TObject);Button1Click(Sender: TObject);Button4Click(Sender: TObject);LabeledEdit1KeyPress(Sender: TObject; var Key: Char);Button2Click(Sender: TObject);CheckBox1Click(Sender: TObject);FormCanResize(Sender: TObject; var NewWidth,: Integer; var Resize: Boolean);Button2MouseDown(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);N16Click(Sender: TObject);N9Click(Sender: TObject);Button6Click(Sender: TObject);Button5Click(Sender: TObject);N11Click(Sender: TObject);Edit3KeyPress(Sender: TObject; var Key: Char);N17Click(Sender: TObject);N18Click(Sender: TObject);N19Click(Sender: TObject);Button7Click(Sender: TObject);Button8Click(Sender: TObject);StringGrid1KeyPress(Sender: TObject; var Key: Char);

{ Private declarations }

{ Public declarations };

var

Form1: TForm1;

// i:Integer;//переменная для циклов

k,ks:Integer;//количество узлов,Количество возникновения сетей

x,y:Integer;// положение узла

x1,y1:Integer;//направление узла

v:real;//Integer;//скорость:Integer;//радиус

// S1:Integer;//1% площади прямоугольникa

// S2:array of Integer;//площадь зоны действия узла,TimeEnd,Data: String; // Начало и конец испытания: array of array of Byte;//Массив всех связей: array of Byte; // массив отмеченных связей 1 узла

p:Integer;//позиция текущей записи образовавщейся сети

flag:Boolean;//флаг образования сети:array [0..5] of Integer;:Real; //количество квадратных метров в 1 пикселе

// LengthPath:integer;//длина путиUnit2, Math;

{$R *.dfm}TForm1.FormCreate(Sender: TObject);

//var i:Real;:=False;

//i:=1000/3;

//Label1.Caption:=FloatToStr(RoundTo(i,-2));.Caption:=Начать;

//S1:=Round((Image1.Width*Image1.Height)/100);Click(Sender);.InitialDir:=ExtractFilePath(Application.ExeName)+БД\;[0]:=StrToInt(LabeledEdit3.Text);[1]:=StrToInt(LabeledEdit4.Text);[2]:=StrToInt(Edit1.Text);[3]:=StrToInt(Edit2.Text);[4]:=StrToInt(Edit3.Text);[5]:=StrToInt(Edit4.Text);

//ShowMessage(IntToStr(Form1.Height)+ +IntToStr(Monitor.Height));.Width:=Monitor.Width+10;.Height:=Monitor.Height;Click(Sender);.Canvas.Brush.Style:=bsSolid;.Canvas.Pen.Color:=RGB(255,255,255);

// Image1.Canvas.Brush.Color:=RGB(255,255,255);.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);

// при изменение экрана

Form1.Width:=680;

Form1.Height:=575;Click(Sender);

//StringGrid2.Cells[0,0]:=Id;.Cells[0,0]:=Путь;.Cells[1,0]:=Соединение;.Cells[2,0]:=Разрыв;.Cells[3,0]:=Жизнь;.DefaultColWidth:=60;.Cells[0,0]:=№;.Cells[1,0]:=X;.Cells[2,0]:=Y;.Cells[3,0]:=X1;.Cells[4,0]:=Y1;.Cells[5,0]:=V;.Cells[6,0]:=R;;TForm1.Button3Click(Sender: TObject);.Close;;TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);i:integer;MessageDlg(Вы уверены,что хотите выйти?,mtInformation,[mbYes,MbNo],0)=mrNo then:=False

// S2:=nil;i:=0 to k-1 do[i]:=nil;:=nil;;;InfoBeginPatch(i:integer);j,l:integer;,fl:boolean;

//str:String;

begin

// проверка на наличие связи

fl:=true;Length(Net)>1 thenConnect[Net[Length(Net)-1],i]<>1 then:=false;

// Form1.Timer1.Enabled:=False;

// ShowMessage(IntToStr(Net[Length(Net)-2]+1)++IntToStr(i+1));

// Form1.Timer1.Enabled:=true;;fl then(Net,length(Net)+1);[length(Net)-1]:=i;j:=0 to k-1 do:=false;l:=0 to length(Net)-1 doj=Net[l] then:=true;;f then;

;:=str+IntToStr(Net[Length(Net)-1]+1);.Timer1.Enabled:=false;(str);.Timer1.Enabled:=true;}">{str:=;l:=0 to Length(net)-2 do:=str+IntToStr(Net[l]+1)+;:=str+IntToStr(Net[Length(Net)-1]+1);.Timer1.Enabled:=false;(str);.Timer1.Enabled:=true;}

// elseConnect[i,j]=1 then(j);;;;AddDate();i,j:Integer;,w:Real;:TTime;

//выситывание среднего времени жизни пути

=1theni:=1topdoForm1.StringGrid2.Cells[2,i]=then;:=SrTime+StrToTime(Form1.StringGrid2.Cells[3,i]);:=j+1;;j>0then">j:=0;:=StrToTime(00:00:00);p>=1 theni:=1 to p doForm1.StringGrid2.Cells[2,i]= then;:=SrTime+StrToTime(Form1.StringGrid2.Cells[3,i]);:=j+1;;j>0 then

SrTime:=SrTime/j;

//запись в данных таблицу Испытания

Form1.ProgressBar1.Max:=2+Form1.StringGrid3.RowCount+Form1.StringGrid2.RowCount;.ProgressBar1.Min:=0;.ProgressBar1.Position:=0;.Pro