Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/37: Рейтинг темы: голосов - 37, средняя оценка - 4.59
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842

Предмет "Надежность информационных систем". Нужно ваше мнение.

12.09.2009, 19:36. Показов 8003. Ответов 66
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, выполняю курсовую работу по надежности информационных систем. Дана схема системы с 20 элементами (см. рисунок). Необходимо выделить группы элементов, отказ которых приведет к отказу системы. У меня получилось 48 групп. Интересно, что выйдет у вас?

PS: Необходимо для собственной проверки.

PPS: Возможно запостил не в тот раздел. Модераторы, если что, поправьте пожалуйста.
Миниатюры
Предмет "Надежность информационных систем". Нужно ваше мнение.  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2009, 19:36
Ответы с готовыми решениями:

Надежность информационных систем
Ребята, помогите с задачкой. Нужно найти вероятности безотказной работы системы p1,p2,p3,p4 любым методом. Задача по дисциплине...

Надежность информационных систем
Помогите пожалуйста с решением задания. Для каждого из трёх последовательно соединённых элементов известен закон распределения времени...

Надежность информационных систем
(Расчет характеристик надежности невосстанавливаемых резервируемых изделий с двумя видами отказов) Для повышения надежности схемы...

66
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
15.09.2009, 08:02
Студворк — интернет-сервис помощи студентам
Будет дохрена END, OR)
Используй язык C - будет } и ||
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
20.09.2009, 12:58  [ТС]
odip, Спасибо. Поискал информацию по поводу моей курсовой, нашел этот метод расчета (метод минимальных сечений). Пересмотрел все варианты, которые нашел сам - убрал лишние. После сравнил с твоим решением в посте #18. Все варианты совпали. Еще раз спасибо!

PS: Надо будет на досуге попробовать реализовать эту программу на C#.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
20.09.2009, 18:14
Ура!
Теперь буду знать как этот метод называется, а то я его за пару часов изобрел

И все равно странно что нужно вручную считать.
Я вот не уверен нашел бы все эти варианты вручную.
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
27.09.2009, 21:09  [ТС]
Общался с одногруппниками - сказали, что можно написать программу для поиска решения. При сдаче балл повысят, если все правильно.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
27.09.2009, 21:11
А если неправильно программа считает, но решение данной задачи правильное - то что ?
Бал понизят ?
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
27.09.2009, 23:11  [ТС]
Скорее всего программу не учтут при сдаче. Там еще числовые значения есть для каждого элемента - скорее всего необходимо, чтобы она еще все рассчитывала.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
27.09.2009, 23:23
Там еще числовые значения есть для каждого элемента
Зачем еще значения ?
необходимо, чтобы она еще все рассчитывала
А так ты вручную считаешь ?

И кстати без программы у тебя ответ был точно неправильный
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
01.10.2009, 17:19
Привет кто на форуме!

тоже с курсачем мучаюсь, по надежности, канечно схемка не похожа на ту что выше. но вот я смотрю, смотрю, с дельфями знаком постольку по скольку... а с си и подавно рядом не проходил. руки не доходят...

но вот меня удивляет одно. почему все рвутся решать частную задачу. на мой взгляд проще написать универсал...

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

если интересует, могу выложить код проги и представление входящего файла. ток на vb6.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
01.10.2009, 17:48
Вот тебе основной кусок кода, который считает.
Что непонятно ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
for ( ind= 0; ind<INDEX_SIZE; ind++ ) {
        if ( st[ind] == STATE_BLOCK ) {
                min_flag= 1;
                for ( i= 0; i<SW_SIZE; i++ ) {
                        ind2= ind|mask[i]; if ( ind2 == ind ) { continue; }
                        if ( st[ind2] == STATE_WORK ) {
                        } else {
                                min_flag= 0; break;
                        }
                }
                st[ind]= (min_flag ? STATE_BLOCK_MIN : STATE_BLOCK_DERIV);
        }
}
Добавлено через 5 минут
ind - набор битов, в каком состоянии находятся вентили.
st[ind] - какое состояние имеет данный набор битов.
STATE_WORK - вода течет
STATE_BLOCK - вода не течет
STATE_BLOCK_MIN - это минимальное кол-во вентилей
STATE_BLOCK_DERIV - это не минимальное кол-во вентилей - есть еще меньше
mask[i] - просто включен i-тый бит, остальные выключены.

Можно написать иначе, но оказалось что даже такой тупой перебор достаточно быстро считает.
А вот написать функцию is_schema_work() оказалось труднее.
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
01.10.2009, 18:11
Цитата Сообщение от odip Посмотреть сообщение
Вот тебе основной кусок кода, который считает.
Что непонятно ?
По пунктам сказать что не понятно...

я из этого блока, даже с добавленными пояснениями, о значении переменных, практически не понял... можешь словами объяснить, последовательность..?
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
01.10.2009, 18:16
Предыдущий кусок кода (которого тут нет, но можно найти раньше в посте) заполняет массив st[] двумя значениями:
STATE_WORK или STATE_BLOCK.
Используется функция is_schema_work().

Таким образом мы получаем все возможные состояния переключателей (задается значением ind).
И для каждого такого набора переключателей мы знаем - течет вода для этого набора или нет.

Тут все понятно ?
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
01.10.2009, 19:32
щас попробую осмыслить.

ваш пост натолкнул меня на маленькую идейку, попробую реализовать

Добавлено через 52 минуты
объясню почему не могу врубиться... частный случай, все сделано конкретно под него, а если элементов больше или допустим расположение...

поэтому и попросил в общих чертах...

Добавлено через 8 минут
вот допустим код, пока лишку не убрал в коде, которая имеется...

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Dim massPuti() As Integer
Dim sech1() As Boolean
Private countSechEl, countEl, countPuti As Integer
Private sech, puti, k As String
Private endfun As Boolean
Private l As Integer
 
Private Sub Command1_Click()
Dim i, j As Integer
Dim vrem As String
Open App.Path + "\ñâÿçè.txt" For Input As #1
Line Input #1, vrem
countEl = Val(vrem) + 1
ReDim sv(1 To countEl, 1 To countEl)
Line Input #1, vrem
For i = 1 To countEl
  Line Input #1, vrem
  For j = 1 To countEl
    If Mid$(vrem, j + 1, 1) = "+" Then sv(i, j) = True Else sv(i, j) = False
  Next j
Next i
For i = 1 To countEl
  For j = 1 To countEl
    If sv(i, j) = True Then Text1.Text = Text1.Text + "+" Else Text1.Text = Text1.Text + "-"
  Next j
  Text1.Text = Text1.Text + Chr$(13) + Chr$(10)
Next i
Close #1
End Sub
 
Private Sub Command2_Click()
Dim i As Integer
Open App.Path + "\123.txt" For Output As #2
countPuti = 0
ReDim massPuti(countEl, 1)
For i = 1 To countEl
  If sv(i, 1) Then
    puti = Str(i)
    rekursiya (i)
  End If
Next i
'MsgBox countPuti
For i = 1 To countPuti
  For j = 1 To countEl
    If massPuti(j, i) <> 0 Then Text2.Text = Text2.Text + Str$(massPuti(j, i)) Else Exit For
  Next j
  Text2.Text = Text2.Text + Chr$(13) + Chr$(10)
Next i
Close #2
End Sub
 
Private Sub rekursiya(ByVal n As Integer)
Dim i, j As Integer
Dim last, l As Integer
For i = 2 To countEl
  If i <> n And sv(n, i) Then k = Str(i - 1): puti = puti + k: rekursiya (i - 1)
Next i
If k = "" Then
  For j = Len(puti) To 1 Step -1
    If Mid$(puti, j, 1) = " " Then puti = Left$(puti, j - 1): Exit For
  Next j
Else
  countPuti = countPuti + 1
  ReDim Preserve massPuti(countEl, countPuti) As Integer
  
  last = 2
  l = 0
  For j = 2 To Len(puti)
    If Mid$(puti, j, 1) = " " Then
      l = l + 1
      massPuti(l, countPuti) = Mid$(puti, last, j - last)
      last = j + 1
    End If
  Next j
  l = l + 1
  massPuti(l, countPuti) = Mid$(puti, last, j - last)
  For j = Len(puti) To 1 Step -1
    If Mid$(puti, j, 1) = " " Then puti = Left$(puti, j - 1): Exit For
  Next j
  k = ""
End If
End Sub
читает файл связей. по типу такого

"
20
123456789abcdefghjo0
1+ + +
2+ + +
3+ ++
4+ ++
5+ ++
6
7 + +
8 +++
9 +++
a +
b ++
c ++
d +
e
f
g
h
j
o +++
0 ++
++++
"

из-за смещения шрифта может плохо будет видать, но скопировав в блокнот увидишь соотношение.

так вот. я рассчитал пути

и каким бы ни был входной файл, составленный по определенным правилам, имею ввиду список элементов... главное при составлении не запутаться, лишь для этого пока во входном файле стоят нумераторы, т.е. 123...abcd

вот это общее решение...

думаю щас с VB почти все знакомы, код простой
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
01.10.2009, 19:35
с входным файликом здесь проблемка. проще увидеть его во вложении воочию
Вложения
Тип файла: txt связи.txt (551 байт, 19 просмотров)
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
02.10.2009, 10:24
Чтобы было видно текст без смещения - вкладываешь его в тег CODE (#) !
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
02.10.2009, 14:56
на этом форуме недавно, поэтому пока не знал, пасиб
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
02.10.2009, 20:33  [ТС]
Цитата Сообщение от odip Посмотреть сообщение
Зачем еще значения ?
значения - интенсивность отказов элементов в схеме

Цитата Сообщение от odip Посмотреть сообщение
А так ты вручную считаешь ?
Вся работа выполняется вручную. Расчеты выполняются вручную , с помощью Excel или MathCad.

Для примера приведу функцию алгебры логики (с нее и начинаются все расчеты)
Кликните здесь для просмотра всего текста
y(x) = (x1 v x6 v x11 v x16)(x1 v x6 v x11 v x12 v x17)(x1 v x6 v x11 v x18)(x1 v x6 v x8v x9 v x11 v x13 v x14 v x19)(x1 v x6 v x8 v x11 v x13 v x20)(x2 v x7 v x16)(x2 v x7 v x12v x17)(x2 v x7 v x18)(x2 v x7 v x8v x9 v x13 v x14 v x19)(x2 v x7 v x8v x13 v x20)(x3 v x8 v x13v x16)(x3 v x8 v x12v x13 v x17)(x3 v x8 v x13v x18)(x3 v x9 v x14v x19)(x3 v x20)(x4 v x8 v x13v x16)(x4 v x8 v x12v x13 v x17)(x4 v x8 v x13v x18)(x4 v x9 v x14v x19)(x4 v x20)(x5 v x8 v x10v x13 v x15 v x16)(x5 v x8 v x10v x12 v x13 v x15 v x17)(x5 v x8 v x10 v x13 v x15 v x18)(x5 v x9 v x10v x14 v x15 v x19)(x5 v x10 v x15v x20).

Она же после раскрытия части скобок:
Кликните здесь для просмотра всего текста
y(x) = (x1 v x1x6 v x1x11 v x1x12 v x1x17 v x6x1 v x6 v x6x11 v x6x12 v x6x17 v x11x1 v x11x6 v x11 v x11x12 v x11x17 v x16x1 v x16x6 v x16x11 v x16x12 v x16x17)(x1 v x1x6 v x1x8 v x1x9 v x1x11 v x1x13 v x1x14 v x1x19 v x6x1 v x6x8 v x6x9 v x6 v x6x11 v x6x13 v x6x14 v x6x19 v x11x1 v x11x6 v x11x8 v x11x9 v x11 v x11x13 v x11x14 v x11x19 v x18x1 v x18x6 v x18x8 v x18x9 v x18x11 v x13x18 v x14x18 v x18x19)(x1x2 v x1x7 v x1x16 v x6x2 v x6x7 v x6x16 v x8x2 v x8x7 v x8x16 v x11x2 v x11x7 v x11x16 v x13x2 v x13x7 v x13x16 v x20x2 v x20x7 v x20x16)(x2 v x2x7 v x2x18 v x7x2 v x7 v x7x18 v x12x2 v x12x7 v x12x18 v x17x2 v x17x7 v x17x18)(x2 v x2x7 v x2x8 v x2x13 v x2x20 v x7x2 v x7 v x7x8 v x7x13 v x7x20 v x8x2 v x8x7 v x8 v x8x13 v x8x20 v x9x2 v x9x7 v x9x8 v x9x13 v x9x20 v x13x2 v x13x7 v x13x8 v x13 v x13x20 v x14x2 v x14x7 v x14x8 v x14x13 v x14x20 v x19x2 v x19x7 v x19x8 v x19x13 v x19x20)(x3 v x3x8 v x3x12 v x3x13 v x3x17 v x8x3 v x8 v x8x12 v x8x13 v x8x17 v x13x3 v x13x8 v x13 v x13x12 v x13x17 v x16x3 v x16x8 v x16x12 v x16x13 v x16x17)(x3 v x3x9 v x3x14 v x3x19 v x8x3 v x8x9 v x8x14 v x8x19 v x13x3 v x13x9 v x13x14 v x13x19 v x18x3 v x18x9 v x18x14 v x18x19)(x3x4 v x3x8 v x3x13 v x3x16 v x20x4 v x20x8 v x20x13 v x20x16)(x4 v x4x8 v x4x13 v x4x18 v x8x4 v x8 v x8x13 v x8x18 v x12x4 v x12x8 v x12x13 v x12x18 v x13x4 v x13x8 v x13v x13x18 v x17x4 v x17x8 v x17x13 v x17x18)(x4 v x4x20 v x9x4 v x9x20 v x14x4 v x14x20 v x19x4 v x19x20)(x5 v x5x8 v x5x10 v x5x12 v x5x13 v x5x15 v x5x17 v x8x5 v x8 v x8x10 v x8x12 v x8x13 v x8x15 v x8x17 v x10x5 v x10x8 v x10 v x10x12 v x10x13 v x10x15 v x10x17 v x13x5 v x13x8 v x13x10 v x13x12 v x13 v x13x15 v x13x17 v x15x5 v x15x8 v x15x10 v x15x12 v x15x13 v x15 v x15x17 v x16x5 v x16x8 v x16x10 v x16x12 v x16x13 v x16x15 v x16x17)(x5 v x5x9 v x5x10 v x5x14 v x5x15 v x5x19 v x8x5 v x8x9 v x8x10 v x8x14 v x8x15 v x8x19 v x10x5 v x10x9 v x10 v x10x14 v x10x15 v x10x19 v x13x5 v x13x9 v x13x10 v x13x14 v x13x15 v x13x19 v x15x5 v x15x10 v x15x9 v x15x14 v x15 v x15x19 v x18x5 v x18x9 v x18x10 v x18x14 v x18x15 v x18x19)(x5 v x10 v x15v x20).


Половина курсовой в таком духе.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
02.10.2009, 21:24
Расчеты выполняются вручную , с помощью Excel или MathCad.
Это называется вручную ?

V - этот значок обозначает OR ?
А умножение между скобками - это AND ?
0
1 / 1 / 0
Регистрация: 01.10.2009
Сообщений: 17
02.10.2009, 22:39
kirill29,
Если ты решил написаь программу, как допестим и я, то препод тебе зкажет, а почему именно так а не иначе...

я пытаюсь решить все в общем...

и также, как выше написавшие, оставил кусок своего кода... мне не жалко, лишь бы другим помогло
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
02.10.2009, 23:26  [ТС]
Цитата Сообщение от odip Посмотреть сообщение
V - этот значок обозначает OR ?
А умножение между скобками - это AND ?
да.

Кстати, в продолжении темы по поводу дополнительного написания программы для курсовой: вот то, что должно выполнять разработанное приложение
Разработать приложение, позволяющее визуально создавать структурные схемы надёжности, а также определять y(x), на платформе .NET, которое должно позволять:
- добавлять и удалять элементы из схемы;
- добавлять и удалять связи одного элемента с другим;
- произвольно размещать элементы;
- производить операции выравнивания элементов (по крайнему элементу);
- сохранять структурную схему надёжность в файл и считывать данные;
- определять ФАЛ y(x) через минимальные сечения (используя дерево отказов);
- определять функцию надёжности h(r) по найденной ФАЛ.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
02.10.2009, 23:35
Суровая курсовая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2009, 23:35

Нужно сделать дубликат жесткого диска - нужно ваше мнение!
Здравствуйте! Ситуация такая... Я уже довольно давно успешно юзаю жесткий диск и на нем у меня установлена графическая Убунта с...

Нужно ваше мнение
Кто-нибудь оцените сайт, чего не хватает подскажите, какие недочёты по дизайну, кто то точно лучше нашего разбирается :-)

Нужно ваше мнение
Здравствуйте! Оцените, пожалуйста, дизайн и функциональность сайта - бесплатная система для трекинга рабочего времени - Anuko Time...

Нужно ваше мнение..
Всем добрый вечер. Появилась на днях следующая проблема. У меня перестали индексировать сайт поисковики, я не могу найти причины кроме...

Нужно Ваше мнение
Доброе утро!!! С недавнего времени решил заняться написанием сайта. В СЕО я полный НУБ. ЧИТАЮ, ЧИТАЮ, ЧИТАЮ книги и материалы по раскрутке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru