Автор: Пользователь скрыл имя, 17 Января 2012 в 08:49, курсовая работа
В данной работе проведено моделирование поведение индивида в стационарных средах. Осуществляется это на трех машинном комплексе, функции каждой из четырех машин фиксированы - три клиента моделирует одну из веток исходного автомата, четвертая является сервером, который обрабатывает данные приходящие от клиентов.
Данное техническое устройство обеспечивает целесообразное поведение в стационарной среде.
Введение………………………………………………………………….3
Выбор и обоснование средств информационной системы……………4
2.1. Требования к системе и ее контекст. Диаграмма использования UML…………………………………………………………………………5
2.2. Состав технических устройств (ЭВМ, устройства связи), система интерфейсов……………………………………………………………………….5
2.3. Способы взаимодействия пользователя с системой, организация вычислительных процессов………………………………………………………6
2.4. Состав информационного и программного обеспечения…………...8
2.4.1. Структура и форматы данных………………………………………8
2.4.2. Описание процедур………………………………………………...9
Указания по использованию программы…………………………15
Результаты эксперимента…………………………………………16
Взаимодействие процедур и данных……………………………...17
Ш. Заключение…………………………………………………………………...19
3.1.Достоинства и недостатки разработанной информационной системы…………………………………………………………………………...19
3.2. Пути совершенствования разработанного программного продукта…………………………………………………………………………..19
3.3. Рекомендации пользователю………………………………………...19
IV. Используемая литература…………………………………………………...20
Приложение……………………………………………………………………....21
End Sub
Private Sub socet2_ConnectionRequest(ByVal requestID As Long)
If socet2.State <> sckClosed Then
socet2.Close
socet2.Accept (requestID)
End If
lblClient2.Caption = "Клиент2@50002"
labelKlient2.Caption = "Соединение установлено"
End Sub
Private Sub socet3_ConnectionRequest(ByVal requestID As Long)
If socet3.State <> sckClosed Then
socet3.Close
socet3.Accept (requestID)
End If
lblClient3.Caption = "Клиент3@50003"
labelKlient3.Caption = "Соединение установлено"
End Sub
Private Sub socet1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Dim data() As String
If (work = True) Then
If (krug.deistvie = 0) Then
socet1.GetData strData
labelKlient1.Caption = strData
labelClient.Caption = "Клиент1 data arrived: " + "total bytes are " + Str(bytesTotal)
data = Split(strData, ";")
ocenka1 = Val(data(0))
porog1 = Val(data(1))
generator1 = Val(data(2))
krug.func1 ocenka1, porog1, generator1
End If
End If
End Sub
Private Sub socet2_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Dim data() As String
If (work = True) Then
If (krug.deistvie = 1) Then
socet2.GetData strData
labelKlient2.Caption = strData
labelClient.Caption = "client2 data arrived: " + "total bytes are " + Str(bytesTotal)
data = Split(strData, ";")
ocenka2 = Val(data(0))
porog2 = Val(data(1))
generator2 = Val(data(2))
krug.func2 ocenka2, porog2, generator2
End If
End If
End Sub
Private Sub socet3_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Dim data() As String
If (work = True) Then
If (krug.deistvie = 2) Then
socet3.GetData strData
labelKlient3.Caption = strData
labelClient.Caption = "client3 data arrived: " + "total bytes are " + Str(bytesTotal)
data = Split(strData, ";")
ocenka3 = Val(data(0))
porog3 = Val(data(1))
generator3 = Val(data(2))
krug.func3 ocenka3, porog3, generator3
End If
End If
End Sub
Private Sub socet1_close()
work = False
labelClient = "connection closed by client1"
socet1.Close
End Sub
Private Sub socet2_close()
work = False
labelClient = "connection closed by client2"
socet2.Close
End Sub
Private Sub socet3_close()
work = False
labelClient = "connection closed by client3"
socet3.Close
End Sub
Private Sub btnLetOut_Click()
Set krug = New Class1
krug.deistvie = 0
krug.sostoianie = 0
krug.steps = Val(txtSteps.Text)
work = True
End Sub
Private Sub krug_step()
If krug.steps > 0 Then
socet1.SendData Str(krug.deistvie) + ";" + Str(krug.sostoianie)
socet2.SendData Str(krug.deistvie) + ";" + Str(krug.sostoianie)
socet3.SendData Str(krug.deistvie) + ";" + Str(krug.sostoianie)
btnLetOut.Caption = "Шаги: " + Str(krug.shag) + " : " + Str(krug.shag1) + " : " + Str(krug.shag2) + " : " + Str(krug.shag3)
krug.steps = krug.steps - 1
Else
If ((porog1 + porog2 + porog3) / 3) > (krug.shag / Val(txtSteps.Text)) Then
Server.txtReasonability = "Эффективно"
Else
Server.txtReasonability = "Не эффективно"
End If
socet1.Close
socet2.Close
socet3.Close
labelClient.Caption = "Эксперимент закончен!!!"
End If
End Sub
Class1:
Public Event step()
Private varaction As Integer
Private varsost As Integer
Private mvarsteps As Integer
Private mvarshag As Integer
Private varshag1 As Integer
Private varshag2 As Integer
Private varshag3 As Integer
Public Property Let shag(ByVal vData As Integer)
mvarshag = vData
End Property
Public Property Get shag() As Integer
shag = mvarshag
End Property
Public Property Let shag1(ByVal vData As Integer)
varshag1 = vData
End Property
Public Property Get shag1() As Integer
shag1 = varshag1
End Property
Public Property Let shag2(ByVal vData As Integer)
varshag2 = vData
End Property
Public Property Get shag2() As Integer
shag2 = varshag2
End Property
Public Property Let shag3(ByVal vData As Integer)
varshag3 = vData
End Property
Public Property Get shag3() As Integer
shag3 = varshag3
End Property
Public Property Let steps(ByVal vData As Integer)
mvarsteps = vData
End Property
Public Property Get steps() As Integer
steps = mvarsteps
End Property
Public Sub func1(ByVal ocenkasost As Double, ByVal ver As Double, ByVal iNum As Integer)
If ocenkasost > ver Then
If sostoianie < glubina Then
sostoianie = sostoianie + 1
shag = shag + 1
shag1 = shag1 + 1
Else
shag = shag + 1
shag1 = shag1 + 1
End If
Else
If iNum = 0 Then
If sostoianie > 0 Then
sostoianie = sostoianie - 1
shag = shag + 1
shag1 = shag1 + 1
Else
If deistvie < 2 Then
deistvie = deistvie + 1
Else
deistvie = 0
End If
sostoianie = 0
shag = shag + 1
shag1 = shag1 + 1
End If
Else
shag = shag + 1
shag1 = shag1 + 1
End If
End If
RaiseEvent step
End Sub
Public Sub func2(ByVal ocenkasost As Double, ByVal ver As Double, ByVal iNum As Integer)
If ocenkasost > ver Then
If sostoianie < glubina Then
sostoianie = sostoianie + 1
shag = shag + 1
shag2 = shag2 + 1
Else
shag = shag + 1
shag2 = shag2 + 1
End If
Else
If iNum = 0 Then
If sostoianie > 0 Then
sostoianie = sostoianie - 1
shag = shag + 1
shag2 = shag2 + 1
Else
If deistvie < 2 Then
deistvie = deistvie + 1
Else
deistvie = 0
End If
sostoianie = 0
shag = shag + 1
shag2 = shag2 + 1
End If
Else
shag = shag + 1
shag2 = shag2 + 1
End If
End If
RaiseEvent step
End Sub
Public Sub func3(ByVal ocenkasost As Double, ByVal ver As Double, ByVal iNum As Integer)
If ocenkasost > ver Then
If sostoianie < glubina Then
sostoianie = sostoianie + 1
shag = shag + 1
shag3 = shag3 + 1
Else
shag = shag + 1
shag3 = shag3 + 1
End If
Else
If iNum = 0 Then
If sostoianie > 0 Then
sostoianie = sostoianie - 1
shag = shag + 1
shag3 = shag3 + 1
Else
If deistvie < 2 Then
deistvie = deistvie + 1
Else
deistvie = 0
End If
sostoianie = 0
shag = shag + 1
shag3 = shag3 + 1
End If
Else
shag = shag + 1
shag3 = shag3 + 1
End If
End If
RaiseEvent step
End Sub
Public Property Let sostoianie(ByVal vData As Integer)
varsost = vData
End Property
Public Property Get sostoianie() As Integer