Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы / Практическая работа 2.doc
Скачиваний:
68
Добавлен:
26.03.2015
Размер:
1.06 Mб
Скачать

Пример выполнения задачи.

Проводились испытания на надёжность объектов. Испытания проводились до отказа всех объектов. При этом время выхода из строя каждого объекта исчислялось со времени начала испытания. Определить вероятности безотказной работы на каждом интервале времени, интенсивности отказов на этих интервалах, среднее время наработки на отказ (время безотказной работы), построить графики зависимости вероятности безотказной работы и интенсивности отказов во времени. Результаты вычислений привести в таблицу.

Решение.

№ интервала времени

от начала испытаний, часов

, часов

, шт

P(t)

, часов

1

500

250

160

40

0,8

4,4

2105

2

1000

750

126

34

0,63

4,76

3

1500

1250

106

20

0,53

3,45

4

2000

1750

91

15

0,455

3,04

5

2500

2250

84

7

0,42

1,6

6

3000

2750

76

8

0,38

2

7

3500

3250

62

14

0,31

4,05

8

4000

3750

37

25

0,185

10

9

4500

4250

0

37

0

40

*Жирным шрифтом выделены входные данные

  1. Определяем средние промежутки времени: ;;;;;;;;.

  2. Определяем количество оставшихся в строю объектов к моментам времени :;;;;;;;;

  3. Определяем вероятности безотказной работы на каждом промежутке времени: ;;;;;;;;.

  4. Определяем интенсивности отказов на каждом промежутке времени: ;;;;;;;;.

  5. Определяем среднее время наработки на отказ.

  6. Строим графики зависимости безотказной работы и интенсивности отказов во времени. График изменения интенсивности отказов во времени

Порядок выполнения работы

  1. Запускаем программу С++.

  2. Создаем новый файл FileNew…(<Ctrl>+<N>)

  3. В диалоговом окне «New» на вкладкеFilesвыбираемC++SourceFile, задаем имя файлу и его расположение.

  4. Пишем код программы для расчета вычислений: Подключаем необходимые заголовочные файлы 1. #include "iostream.h" Пишем главную функцию программы 2. int main() 3. { Объявляем переменные, которые нам даны по заданию 4. int N=200; 5. const int n=9; 6. int t_i[n]={500,1000,1500,2000,2500,3000,3500,4000,4500}; 7. int delta_n_i[n]={40,34,20,15,7,8,14,25,37};

  5. Объявляем переменные и массивы, которые нам понадобятся для расчетов и сразу обнуляем переменные 8. double T_M=0; 9. double t_i_cp[n]; 10. double n_t_i[n]; 11. double P_t[n]; 12. double lyamb_t[n];

  6. Обнуляем значения массивов 13. for(int i=0;i<n;i++) 14. { 15. t_i_cp[i]=0; 16. n_t_i[i]=0; 17. P_t[i]=0; 18. lyamb_t[i]=0; 19. }

  7. Зная формулы, определяющие средние промежутки времени: ; , при , где— количество объектов, над которыми проводились испытания. . запрограммируйте расчеты t_i_cp[0]=(t_i[0]+0)/2; for(i=1;i<n;i++) { t_i_cp[i]=(t_i[i]+t_i[i-1])/2; }

  8. Определяем количество оставшихся в строю объектов к моментам времени, по формуле. int sum=0; for(i=0;i<n;i++) { for(int j=i;j<=i;j++) { sum=sum+delta_n_i[j]; } n_t_i[i]=N-sum; }

  9. По формуле определяем вероятности безотказной работы на каждом промежутке времени: for(i=0;i<n;i++) { P_t[i]=n_t_i[i]/N; }

  10. Определяем интенсивности отказов на каждом промежутке времени зная формулы: для первого элемента — , где,; для всех остальных элементов —, где,, при; lyamb_t[0]=delta_n_i[0]/(((N+n_t_i[0])/2)*t_i[0]); for(i=1;i<n;i++) { if(i==n-1) lyamb_t[i]=delta_n_i[i]/(((n_t_i[i-1]+n_t_i[i])/2)*(t_i[i]-t_i[i-1])); else lyamb_t[i]=delta_n_i[i]/(((n_t_i[i-1]+n_t_i[i])/2)*(t_i[i]-t_i[i-1])); }

  11. Определяем среднее время наработки на отказ по формуле: for(i=0;i<n;i++) { T_M+=delta_n_i[i]*t_i_cp[i]; }

  12. Выводим полученные данные на экран: cout<<"i\t"<<"t_i\t"<<"t_i_cp\t"<<"n_t_i\t"<<"d_n_i\t"<<"P_t\t"<<"lyamb_t\n"; for(i=0;i<n;i++) { cout<<i<<"\t"<<t_i[i]<<"\t"<<t_i_cp[i]<<"\t"; cout<<n_t_i[i]<<"\t"<<delta_n_i[i]<<"\t"<<P_t[i]<<"\t"<<lyamb_t[i]<<"\n"; } T_M=T_M/N; cout<<"T_M = "<<T_M<<"\n"; return 0; }

  13. Если программа успешно выполняется, то по завершению должно вернуть ноль 25. return 0; 26. }

  14. Откомпилируйте проект, исправьте все ошибки и предупреждения.

  15. Создайте исполнительный файл, с возможностью вывода данных на экран.