Автор: Пользователь скрыл имя, 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
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
Блок - схема алгоритма func1, func2, func3:
Пример вызова функций func1, func 2, func 3:
krug.func1 ocenka1, porog1, generator1
krug.func2 ocenka2, porog2, generator2
krug.func3 ocenka3, porog3, generator3
krug_step()- функция проверяющая количество пройденных шагов и дающая характеристику поведения:
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
Функция перерисовки:
Private Sub Form_Paint()
Dim h As Integer
Dim w As Integer
Dim i As Integer
Dim d As Integer
Dim r As Integer
Dim x As Integer
Dim y As Integer
h = Client.Height
w = Client.Width
q = Val(txtGlubina.Text)
d = h / 2 / q
If w > d Then
r = d / 2
Else: r = w / 2
End If
x = w / 1.3
y = h / 4
For i = 0 To q - 1
Circle (x, y + i * d), r, vbGreen
If i = sostoianie And deistvie = 0 Then
For j = 0 To r
Circle (x, y + i * d), j, vbGreen
Next
End If
Next
End Sub
Внутри процедуры Form_Paint()используется стандартная
библиотечная функция рисование окружности- Circle (x, y + i * d), r, vbBlack.
Пример вызова функции Form_Paint():Client.Refresh
Указания по использованию программы:
Для того что бы воспользоваться данным программой необходимо выполнить следующие действия:
На первой машине запустить Сервер и Клиент1, на двух следующих Клиент2, Клиент3. В поле Remote Host на втором и третьем клиенте указать IP-адрес сервера.
Заполнить соответствующие
Во время эксперимента в поле Текущая оценка и штраф каждого клиента будут появляться три числа: оценка, вероятность штрафа и 0 или 1.
По окончанию в поле Behaviour is будет выведен результат эксперимента (то есть характеристика поведения при заданных параметрах).
Результаты эксперимента:
Параментры
№ экспе-римента |
Количество шагов | Время | Глубина | Порог1 | Порог 2 | Порог 3 | Кол1 | Кол2 | Кол3 | Результаты |
1
2 3 4 5 |
150
150 150 50 100 |
50
50 50 500 50 |
4
4 4 4 4 |
0,5
0,1 0,9 0,1 0,9 |
0,5
0,9 0,1 0,1 0,9 |
0,5
0,5 0,4 0,1 0,9 |
41
120 10 30 23 |
64
10 113 20 44 |
45
20 27 0 33 |
эффективно
Не эффективно Не эффективно Не эффективно эффективно |
Диаграмма классов для Сilent1:
Диаграмма
классов для Сilent2:
Диаграмма классов для Сilent3:
Диаграмма классов для Server:
Ш. Заключение
Недостатки:
1. Для изменения данных необходимо перезапустить программу.
2. Не возможно добавить дополнительное действие (ветки) в процесс моделирования без внесения изменений в текст программы.
Достоинства:
3.2. Пути совершенствования разработанного программного продукта.
1. Возможное улучшение быстродействия работы алгоритма;
2. Модернизация программы для возможности переноса ее на другую платформу.
Для проведения повтор эксперимента необходимо
выполнить перезапуск модулей.
IV.
Используемая литература.