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

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

12.09.2009, 19:36. Показов 7494. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru