Лабораторная работа №4 / Отчёт
.docxБАЛТИЙСКАЯ АКАДЕМИЯ РЫБОПРОМЫСЛОВОГО ФЛОТА
Кафедра АСОиУ
Лабораторная работа №4
Сетевые модели.
Вариант 18
Выполнил: Шнайдер А. Группа: АС-32(2) Проверил: Ампилогов В.А.
Калиниград 2007
Лабораторная работа №4
Тема: Сетевые модели.
Цель работы: знакомство с задачами , использующими сетевые модели представления, изучение различных методов решения в системе компьютерной математики.
Задание:
18. Родители имеют пять детей подросткового возраста, которых ежедневно привлекают к пяти видам домашней работы. Опыт трудового воспитания детей показал, что принудительное (силовое) назначение на работу чревато конфликтами. Поэтому дети сами составили список своих предпочтений, который приведен в следующей таблице.
Ребенок Ральф |
Предпочтительные работы 3, 4 или 5 |
Мэй |
1 |
Бен |
1 или 2 |
Ким |
1,2 или 5 |
Кен |
2 |
Теперь родителям осталось найти такое распределение работ, которое в наибольшей степени учитывало бы предпочтения детей. Найдите максимальное количество таких распределений работ.
Порядок выполнеия:
-
Занесём в исходные данные работы, которые предпочитают дети:
Private Sub Form_Load()
Deti(1) = "345"
Deti(2) = "1"
Deti(3) = "12"
Deti(4) = "125"
Deti(5) = "2"
End Sub
-
Программно сгенерируем все возможные варианты распределения работ:
For i = 12345 To 54321
For j = 1 To 5
If InStr(1, Str(i), Trim(Str(j)), vbBinaryCompare) = 0 Then NeVse = True
Next j
If NeVse = False Then
kol = kol + 1
ReDim Preserve Var(kol)
Var(kol) = Str(i)
End If
NeVse = False
Next i
ReDim Vak(kol)
-
Найдём наибольшее число совпадений в работах с желанием детей:
For i = 1 To kol
For j = 1 To 5
If InStr(1, Deti(j), Mid(Trim(Var(i)), j, 1)) > 0 Then Vak(i) = Vak(i) + 1
Next j
If max < Vak(i) Then max = Vak(i)
Next i
-
Из сгенерированных возможных вариантов выберем те, в которых число совпадений равно их максимальному числу:
For i = 1 To kol
If max = Vak(i) Then List1.AddItem Var(i)
Next i
В результате получаем:
Как видно, можно удовлетворить желание 4-х детей из 5. Таких вариантов распределения 6.
Вывод: Я изучил использование сетевых моделей для решения прикладных задач на примере среды Visual Basic 6.0.