Компьютерное моделирование беспроводных 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