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

Использование базы данных статистики последовательного соединения мобильных узлов беспроводной сети с использованием средств программирования Delphi и языка ADO. Оптимизация, отладка и тестирование программы AD-HOC сетей, решение аномалий в узлах сети.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.06.2012
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

// Label1.Visible:=True;

flag:=False;

ks:=StrToInt(LabeledEdit2.Text);

StringGrid2.RowCount:=ks+1;

for i:=1 to StringGrid2.RowCount-1 do

for j:=0 to StringGrid2.ColCount-1 do

StringGrid2.Cells[j,i]:='';

if ks>4 then

StringGrid2.Width:=266

else

StringGrid2.Width:=247;

end;

//чтоб нельзя было использовать паузу

Button1.Enabled:=False;

N13.Enabled:=False;

if Timer1.Enabled then

begin

Button1.Caption:='Продолжить';

Timer1.Enabled:=false;

CheckBox1.Enabled:=True;

end

else

begin

Button1.Caption:='Пауза';

Timer1.Enabled:=true;

CheckBox1.Enabled:=False;

CheckBox1.Checked:=False;

CheckBox1Click(Sender);

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

var i:integer;

begin

Button1.Enabled:=False;

Button4.Enabled:=False;

Button2.Enabled:=True;

N4.Enabled:=False;

N14.Enabled:=False;

N3.Enabled:=False;

N13.Enabled:=False;

N2.Enabled:=True;

N12.Enabled:=True;

LabeledEdit1.Enabled:=True;

LabeledEdit2.Enabled:=True;

//GroupBox

LabeledEdit3.Enabled:=True;

LabeledEdit4.Enabled:=True;

Edit1.Enabled:=True;

Edit2.Enabled:=True;

Edit3.Enabled:=True;

Edit4.Enabled:=True;

Button5.Enabled:=True;

if Button4.Caption='Очистить' then

begin

N4.Caption:='Стоп';

N14.Caption:='Стоп';

for i:=1 to StringGrid1.RowCount-1 do

begin

StringGrid1.Cells[0,i]:='';

StringGrid1.Cells[1,i]:='';

StringGrid1.Cells[2,i]:='';

StringGrid1.Cells[3,i]:='';

StringGrid1.Cells[4,i]:='';

StringGrid1.Cells[5,i]:='';

StringGrid1.Cells[6,i]:='';

end;

Button4.Caption:='Стоп';

Exit;

end;

Timer1.Enabled:=false;

TimeEnd:=TimeToStr(Time);

Label1.Caption:=Label1.Caption+#13+'Конец: ' + TimeEnd;

CheckBox1.Enabled:=True;

// MessageDlg('Преждевременная остановка испытания!'+#13+'Полученные данные не будут сохранены!',mtInformation,[mbOk],0);

try

if N7.Enabled then

if MessageDlg('Преждевременная остановка испытания!'+#13+'Сохранить полученные данные',mtConfirmation,[mbYes,mbNo],0)=mrYes then

AddDate;

Except

MessageDlg('Ошибка при добавление данных в БД',mtError,[mbCancel],0)

end;//}

TimeStart:='';

TimeEnd:='';

Data:='';

end;

procedure TForm1.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

begin

if ((key<'0') or (key>'9')) and (key<>#8) then

key:=#0;

end;

procedure TForm1.Button2Click(Sender: TObject);

var i,rPix:integer;

begin

if StrToInt(LabeledEdit1.Text)>50 then

begin

MessageDlg('Максимальное количество узлов 50',mtInformation,[mbOk],0);

exit;

end;

if StrToInt(LabeledEdit1.Text)<2 then

begin

MessageDlg('Минимальное количество узлов 2',mtInformation,[mbOk],0);

exit;

end;

Button5Click(Sender);

//очитска памяти динамических массивов

// S2:=nil;

for i:=0 to k-1 do

Connect[i]:=nil;

Connect:=nil;

if LabeledEdit1.Text='' then

begin

MessageDlg('Введите количество узлов',mtInformation,[mbOk],0);

exit;

end;

k:=StrToInt(LabeledEdit1.Text);

if k>6 then

StringGrid1.Width:=273

else

StringGrid1.Width:=255;

StringGrid1.RowCount:=k+1;

StringGrid3.RowCount:=k;

if k>=3 then

begin

// создание массива площадей

// SetLength(S2,k);

// создание массива связей

SetLength(Connect,k);

for i:=0 to k-1 do

begin

SetLength(Connect[i],k);

Connect[i,i]:=2;

end;

//очистка зоны проприсовки

Image1.Canvas.Brush.Style:=bsSolid;

Image1.Canvas.Pen.Color:=RGB(255,255,255);

// Image1.Canvas.Brush.Color:=RGB(255,255,255);

Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);

for i:=1 to k do

begin

//задание случайных велечин

Randomize;

x:=random(Image1.Width);

y:=random(Image1.Height);

x1:=random(Image1.Width);

y1:=random(Image1.Height);

// S2[i-1]:=Round(Par[2]+random(Par[3]-Par[2]));

r:=Round(Par[2]+random(Par[3]-Par[2]));//Round(sqrt(S2[i-1]/(2*Pi)));

v:=RoundTo(Par[4]+random*(Par[5]-Par[4]),-1);

//запсиь величин в таблицу

StringGrid1.Cells[0,i]:=IntToStr(i);

StringGrid1.Cells[1,i]:=IntToStr(x);

StringGrid1.Cells[2,i]:=IntToStr(y);

StringGrid1.Cells[3,i]:=IntToStr(x1);

StringGrid1.Cells[4,i]:=IntToStr(y1);

StringGrid1.Cells[5,i]:=FloatToStr(v);

StringGrid1.Cells[6,i]:=IntToStr(r);

//запись начальны параметров

StringGrid3.Cells[0,i-1]:=IntToStr(i);

StringGrid3.Cells[1,i-1]:=IntToStr(x);

StringGrid3.Cells[2,i-1]:=IntToStr(y);

StringGrid3.Cells[3,i-1]:=IntToStr(x1);

StringGrid3.Cells[4,i-1]:=IntToStr(y1);

StringGrid3.Cells[5,i-1]:=FloatToStr(v);

StringGrid3.Cells[6,i-1]:=IntToStr(r);

//прорисовка узла i

// Image1.Canvas.Pen.Width:=1;

Image1.Canvas.Brush.Style:=bsSolid;

Image1.Canvas.Brush.Color:=RGB(255,0,0);

Image1.Canvas.Pen.Color:=RGB(255,0,0);

Image1.Canvas.Ellipse(x-2,y-2,x+2,y+2);

Image1.Canvas.Brush.Style:=bsClear;

Image1.Canvas.TextOut(x,y-10,IntToStr(i));

Image1.Canvas.Pen.Color:=RGB(0,255,0);

rPix:=Round(r/sqrt(Pix));

Image1.Canvas.Ellipse(x-rPix,y-rPix,x+rPix,y+rPix);

end;

Label1.Caption:='';

Button1.Enabled:=True;

LabeledEdit1.Enabled:=False;

Button1.Caption:='Начать';

Button4.Enabled:=True;

Button4.Caption:='Очистить';

Button2.Enabled:=False;

N3.Caption:='Начать';

N13.Caption:='Начать';

N3.Enabled:=True;

N13.Enabled:=True;

N4.Caption:='Очистить';

N14.Caption:='Очистить';

N4.Enabled:=True;

N14.Enabled:=True;

N2.Enabled:=False;

N12.Enabled:=False;

// GroupBox

LabeledEdit3.Enabled:=False;

LabeledEdit4.Enabled:=False;

Edit1.Enabled:=False;

Edit2.Enabled:=False;

Edit3.Enabled:=False;

Edit4.Enabled:=False;

Button5.Enabled:=False;

// S2:=nil;

end

else

begin

MessageDlg('Слишком малое количество узлов!',mtError,[mbOk],0);

Exit;

end;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked then

StringGrid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing]

else

StringGrid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect];

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

var s:string;

begin

if Sender=Edit3 then

begin

s:=Edit3.Text;

if ((Key=',')or(Key='.'))and (Pos(',',s)=0)then

if s='' then

begin

Edit3.Text:='0,';

Key:=#0;

Exit;

end

else

begin

Edit3.Text:=s+',';

Key:=#0;

Exit;

end

end

else

begin

s:=Edit4.Text;

if ((Key=',')or(Key='.'))and (Pos(',',s)=0)then

if s='' then

begin

Edit4.Text:='0,';

Key:=#0;

Exit;

end

else

begin

Edit4.Text:=s+',';

Key:=#0;

Exit;

end

end;

if ((Key<'0') or (Key>'9')) and not(Key=#8) then

key:=#0;

end;

procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,

NewHeight: Integer; var Resize: Boolean);

var raz:integer;

begin

if not(Button1.Enabled) and (Button4.Caption='Стоп') and Button4.Enabled then

begin

Resize:=false;

exit;

end;

if (Width=NewWidth) and (Height=NewHeight) then

exit;

if (NewWidth<686) or (NewHeight<623) then

begin

Resize:=false;

exit;

end;

raz:=NewWidth-Width;

ProgressBar1.Left:=ProgressBar1.Left+raz;

Image1.Width:=Image1.Width+raz;

Image1.Height:=Image1.Height+(NewHeight-Height);

StringGrid1.Left:=StringGrid1.Left+raz;

Label1.Left:=Label1.Left+raz;

Label8.Left:=Label8.Left+raz;

CheckBox1.Left:=CheckBox1.Left+raz;

LabeledEdit1.Left:=LabeledEdit1.Left+raz;

Button2.Left:=Button2.Left+raz;

LabeledEdit2.Left:=LabeledEdit2.Left+raz;

Button1.Left:=Button1.Left+raz;

Button4.Left:=Button4.Left+raz;

StringGrid2.Left:=StringGrid2.Left+raz;

Button3.Left:=Button3.Left+raz;

end;

procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

// FS:=Form1.Width;

end;

procedure TForm1.N16Click(Sender: TObject);

begin

if not(Button1.Enabled) and (Button4.Caption='Стоп') and Button4.Enabled then

exit;

if N16.Checked then

begin

StringGrid1.Visible:=True;

Label1.Visible:=True;

CheckBox1.Visible:=True;

LabeledEdit1.Visible:=True;

Button2.Visible:=True;

LabeledEdit2.Visible:=True;

Button1.Visible:=True;

Button4.Visible:=True;

StringGrid2.Visible:=True;

Button3.Visible:=True;

Image1.Width:=Form1.Width-295;

N16.Checked:=False;

end

else

begin

StringGrid1.Visible:=False;

Label1.Visible:=False;

CheckBox1.Visible:=False;

LabeledEdit1.Visible:=False;

Button2.Visible:=False;

LabeledEdit2.Visible:=False;

Button1.Visible:=False;

Button4.Visible:=False;

StringGrid2.Visible:=False;

Button3.Visible:=False;

Image1.Width:=Form1.Width-25;

N16.Checked:=True;

end;

Image1.Height:=Form1.Height-69;

end;

procedure TForm1.N17Click(Sender: TObject);

begin

Form2.Show;

end;

procedure TForm1.N18Click(Sender: TObject);

begin

if OpenDialog.Execute() then

Form2.FormCreate(N18);

end;

procedure TForm1.N19Click(Sender: TObject);

begin

Panel1.Visible:=True;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

if GroupBox1.Visible then

GroupBox1.Visible:=False

else

GroupBox1.Visible:=True;

end;

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);

var s:string;

x,y:Byte;

begin

x:=StringGrid1.Selection.Left;

if x=5 then

begin

y:=StringGrid1.Selection.Top;

s:=StringGrid1.Cells[x,y];

if ((Key=',')or(Key='.'))and (Pos(',',s)=0)then

if s='' then

begin

StringGrid1.Cells[x,y]:='0,';

Key:=#0;

Exit;

end

else

begin

StringGrid1.Cells[x,y]:=s+',';

Key:=#0;

Exit;

end;

end;

if ((key<'0') or (key>'9')) and (key<>#8) then

key:=#0;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

GroupBox1.Visible:=False;

LabeledEdit3.Text:=IntToStr(Par[0]);

LabeledEdit4.Text:=IntToStr(Par[1]);

Edit1.Text:=IntToStr(Par[2]);

Edit2.Text:=IntToStr(Par[3]);

Edit3.Text:=IntToStr(Par[4]);

Edit4.Text:=IntToStr(Par[5]);

end;

procedure TForm1.Button7Click(Sender: TObject);

var Patch:string;

begin

if LabeledEdit5.Text='' then

MessageDlg('Введите имя Базы Данных!',mtConfirmation,[mbOK],0)

else

begin

Patch:=ExtractFilePath(Application.ExeName)+'\БД\';

if not CopyFile(PWideChar(Patch+'#.mdb'),PWideChar(Patch+LabeledEdit5.Text+'.mdb'),True) then

if MessageDlg('База с таким именем уже существует! Перезаписать?',mtConfirmation,[mbNo,mbYes],0)=mrYes then

CopyFile(PWideChar(Patch+'#.mdb'),PWideChar(Patch+LabeledEdit5.Text+'.mdb'),False);

FileSetAttr(Patch+LabeledEdit5.Text+'.mdb',128);

Form2.FormCreate(N19);

Panel1.Visible:=False;

end;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

Panel1.Visible:=False;

end;

procedure TForm1.Button5Click(Sender: TObject);

var q,w:Real;

begin

if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='')

or (LabeledEdit3.Text='') or (LabeledEdit4.Text='')then

begin

MessageDlg('Не все поля начальных параметров заполнены!',mtConfirmation,[mbOK],0);

exit;

end;

if (StrToInt(Edit1.Text)>StrToInt(Edit2.Text)) or (StrToInt(Edit3.Text)>StrToInt(Edit4 .Text))

or (StrToInt(Edit1.Text)=0) or (StrToInt(Edit3.Text)=0) then

begin

MessageDlg('Начальные параметры введены не верно!',mtConfirmation,[mbOK],0);

exit;

end;

if ((StrToInt(LabeledEdit3.Text)>=StrToInt(LabeledEdit4.Text)) and (StrToInt(LabeledEdit3.Text)<StrToInt(Edit2.Text)))

or((StrToInt(LabeledEdit4.Text)>StrToInt(LabeledEdit3.Text)) and (StrToInt(LabeledEdit4.Text)<StrToInt(Edit2.Text))) then

begin

MessageDlg('Максимально возможный радиус не должен превышать максимум из ширины и высоты!',mtConfirmation,[mbOK],0);

exit;

end;

if(StrToInt(LabeledEdit3.Text)>46340) or(StrToInt(LabeledEdit4.Text)>46340) then

begin

MessageDlg('Ширина и высота не должны привышать 46340 м.!',mtConfirmation,[mbOK],0);

exit;

end;

Par[0]:=StrToInt(LabeledEdit3.Text);

Par[1]:=StrToInt(LabeledEdit4.Text);

Par[2]:=StrToInt(Edit1.Text);

Par[3]:=StrToInt(Edit2.Text);

Par[4]:=StrToInt(Edit3.Text);

Par[5]:=StrToInt(Edit4.Text);

Image1.Width:=Form1.Width-300;//293;

Image1.Height:=Form1.Height-70;//68;

w:=Par[1]/Par[0];

q:=Image1.Height/Image1.Width;

repeat

if not(w<q) then

begin

Image1.Width:=Image1.Width-10;

Image1.Height:=Round(Par[0]/Par[1]*Image1.Width)

end

else

begin

Image1.Height:=Image1.Height-10;

Image1.Width:=Round(Par[1]/Par[0]*Image1.Height);

end;

until (((w>q)and(Image1.Height<=Form1.Height-70))or((w<q)and(Image1.Width<=Form1.Width-300)));

Pix:=(Par[0]*Par[1])/(Image1.Width*Image1.Height);

Label3.Caption:='1 pix = '+FloatToStr(sqrt(Pix))+' (м)';

end;

procedure TForm1.N11Click(Sender: TObject);

begin

ShowMessage('By MMK-P453 Troitskiy Sergey 2010-2011');

end;

end.

Листинг программы (Unit2).

unit Unit2;

interface

uses

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

Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, XPMan;

type

TForm2 = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

DataSource2: TDataSource;

DataSource3: TDataSource;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

ADOTable1Id: TAutoIncField;

ADOTable1DSDesigner: TWideStringField;

ADOTable1DSDesigner2: TWideStringField;

ADOTable1DSDesigner3: TWideStringField;

ADOTable1DSDesigner4: TIntegerField;

ADOTable1DSDesigner5: TIntegerField;

ADOTable1DSDesigner6: TWideStringField;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

XPManifest1: TXPManifest;

Button2: TButton;

DBGrid4: TDBGrid;

Label4: TLabel;

ADOTable4: TADOTable;

DataSource4: TDataSource;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure DBGrid1CellClick(Column: TColumn);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);

var

SR:TSearchRec;

result:Word;

FileName,Patch,PNFile:string;

DateTime:TDateTime;

FileTime : TFileTime;

SystemTime : TSystemTime;

begin

try

if Sender=Form1.N18 then // открытие выбранной Базы Данных

PNFile:=Form1.OpenDialog.FileName

else if Sender=Form1.N19 then // открытие cозданной Базы Данных

PNFile:=ExtractFilePath(Application.ExeName)+'\БД\'+Form1.LabeledEdit5.Text+'.mdb'

else

begin // Нахождение последней Базы Данных которая была изменена в папке БД в каталоге с программой

Patch:=ExtractFilePath(Application.ExeName)+'\БД\';

result:=FindFirst(Patch+'*.mdb',faArchive,SR);

FileName:=SR.Name;

FileTimeToLocalFileTime(sr.FindData.ftLastWriteTime, FileTime);

FileTimeToSystemTime(FileTime, SystemTime);

DateTime:=SystemTimeToDateTime(SystemTime);

while result=0 do

begin

result:=FindNext(SR);

FileTimeToLocalFileTime(sr.FindData.ftLastWriteTime, FileTime);

FileTimeToSystemTime(FileTime, SystemTime);

if SystemTimeToDateTime(SystemTime)>DateTime then

begin

FileName:=SR.Name;

DateTime:=SystemTimeToDateTime(SystemTime);

end;

end;

PNFile:=Patch+FileName;

end;

// соединение и открытие Базы Данных

ADOConnection1.Connected:=False;

ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+PNFile+';Persist Security Info=False';

ADOConnection1.Connected:=True;

ADOTable1.Active:=True;

ADOTable2.Active:=True;

ADOTable3.Active:=True;

ADOTable4.Active:=True;

ADOTable1.FieldByName('Id').Visible:=true;

ADOTable2.FieldByName('Id').Visible:=false;

ADOTable3.FieldByName('Id').Visible:=false;

ADOTable4.FieldByName('Id').Visible:=false;

DBGrid1.Columns[0].Title.Caption:='№';

DBGrid1.Columns[0].Width:=20;

DBGrid3.Columns[1].Width:=138;

// ADOTable3.FieldByName('Путь').Size:=30;

except

MessageDlg('Ошибка при открытие Базы Данных!Доступ ограничен, либо отсутствует!',mtError,[mbOk],0);

ADOConnection1.Connected:=False;

Form1.N7.Enabled:=False;

end;

end;

procedure TForm2.FormDestroy(Sender: TObject);

begin

Form1.N7.Enabled:=False;

end;

procedure TForm2.DBGrid1CellClick(Column: TColumn);

begin

if ADOTable1.Fields[0].AsString<>'' then

begin

ADOTable2.Filtered:=False;

ADOTable3.Filtered:=False;

ADOTable4.Filtered:=False;

DOTable2.Filter:='Испытание='+ADOTable1.FieldByName('Id').AsString;

DOTable3.Filter:='Испытание='+ADOTable1.FieldByName('Id').AsString;

DOTable4.Filter:='Испытание='+ADOTable1.FieldByName('Id').AsString;

ADOTable2.Filtered:=True;

ADOTable3.Filtered:=True;

ADOTable4.Filtered:=True;

end;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

if ADOTable2.Filtered then

begin

ADOTable2.Filtered:=False;

ADOTable3.Filtered:=False;

ADOTable4.Filtered:=False;

end;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form2.Close;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Моделирование поведения узлов беспроводной ad hoc сети при равномерном движении на плоскости. Разработка базы данных для хранения полученных графов и организация ее взаимодействия с другими приложениями, осуществляющими создание моделей и их анализ.

    дипломная работа [1,9 M], добавлен 22.02.2016

  • Беспроводная технология передачи информации. Развитие беспроводных локальных сетей. Стандарт безопасности WEP. Процедура WEP-шифрования. Взлом беспроводной сети. Режим скрытого идентификатора сети. Типы и протоколы аутентификации. Взлом беспроводной сети.

    реферат [51,8 K], добавлен 17.12.2010

  • Периоды развития и основные стандарты современных беспроводных сетей. История появления и области применения технологии Bluetooth. Технология и принцип работы технологии беспроводной передачи данных Wi-Fi. WiMAX - стандарт городской беспроводной сети.

    презентация [1,9 M], добавлен 22.01.2014

  • Способы организации беспроводных сетей по стандартам IEEE 802.16. WiMAX как телекоммуникационная технология, разработанная с целью предоставления универсальной беспроводной связи на больших расстояниях. Этапы построения полносвязной городской Wi-Fi сети.

    курсовая работа [1,6 M], добавлен 31.08.2013

  • Типы беспроводных сетей: PAN (персональные), WLAN (беспроводные локальные), WWAN (беспроводные сети широкого действия). Стандарты беспроводной передачи данных. Соединение Ad-Hoc, инфраструктурное соединение, репитер и мост. Безопасность Wi-Fi сетей.

    контрольная работа [2,0 M], добавлен 19.01.2011

  • Разработка технологии защиты информации беспроводных сетей, которая может применяться для повышения защиты компьютера пользователя, корпоративных сетей, малых офисов. Анализ угроз и обеспечения безопасности беспроводной сети. Настройка программы WPA.

    дипломная работа [2,9 M], добавлен 19.06.2014

  • Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.

    дипломная работа [4,6 M], добавлен 22.09.2011

  • Анализ цели проектирования сети. Разработка топологической модели компьютерной сети. Тестирование коммутационного оборудования. Особенности клиентских устройств. Требования к покрытию и скорости передачи данных. Виды угроз безопасности беспроводных сетей.

    дипломная работа [3,3 M], добавлен 22.03.2017

  • Сравнительные характеристика протоколов организации беспроводных сетей. Структура и топология сети ZigBee, спецификация стандарта IEEE 802.15.4. Варианты аппаратных решений ZigBee на кристаллах различных производителей и технология программирования.

    дипломная работа [3,0 M], добавлен 25.10.2013

  • Понятие и суть беспроводных сетей как метода соединения информационных систем, их стандартные архитектуры и роль зоны покрытия. Характеристика современных беспроводных технологий. Безопасность сетей и риски, связанные с их практическим использованием.

    презентация [346,2 K], добавлен 31.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.