Розробка алгоритму і програми для обчислення коефіцієнта оперативної готовності системи

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

скачати


Міністерство освіти Республіки Білорусь

Білоруський національний технічний університет

Міжнародний інститут дистанційної освіти

Кафедра: «Інформаційні системи та технології»

Курсова робота

з дисципліни «Об'єктно-орієнтовне програмування»

тема роботи: Розробка алгоритму і програми для обчислення коефіцієнта оперативної готовності системи.

МІНСЬК

2010

Зміст

Введення

1. Постановка завдання

2. Схема алгоритму програми

3. Розробка СІ-програми

4. Оригінальний текст СІ-програми

5. Оригінальний текст СІ + +-програми

6. Результати обчислень

Висновок

Список використаної літератури

Введення

Однією з основних задач електроніки є розрахунок електричних схем, тобто отримання детальної кількісної інформації про процеси, що відбуваються у цій схемі. Однак розрахувати довільну схему, що складається з реальних електронних компонент, практично неможливо. Заважає розрахунку та обставина, що просто не існує методик математичного опису поведінки реальних електронних компонент (наприклад, транзистора) як єдиного цілого. Є значення окремих параметрів і експериментально зняті залежності, але пов'язати їх в єдину точну формулу, повністю описує поведінку компоненти, в більшості випадків не представляється можливим.

З іншого боку, виключно простим математичним апаратом описуються ідеалізовані базові елементи електронних схем (наприклад, ідеальний резистор). Однак вони не існують в реальному світі. Так, будь-резистор має безліч паразитних параметрів: індуктивність, ємність, температурні залежності і т.п.

Введення поняття еквівалентна схема дозволяє «зв'язати» світ реальних компонент і світ їх ідеальних наближень. Еквівалентна схема представляє собою ланцюг тільки з ідеальних компонент, яка функціонує приблизно також, як і вихідна схема. У еквівалентній схемі можуть бути відображені, при необхідності, різні паразитні ефекти: витоку, внутрішні опору і т.д. Еквівалентна схема може складатися як для одного елемента, так і для складного ланцюга.

1. Постановка завдання

Для ланцюга еквівалентні опори між затискачами 1 - 1 1 (r 11), 2 - 2 1 (r 22), 2 - 3 (r 23) визначаються за формулами:

;

;

;

Скласти програму розрахунку та друку значень залежностей еквівалентних опорів r 11, r 22, r 23 від опорів r 4 і r 5.

2. Схема алгоритму програми

2. Розробка СІ-програми

Для розрахунку значень залежностей еквівалентних опорів r 11, r 22 і r 23 від опорів r 4 і r 5 використовуємо оператор циклу for.

Обчислення значень r 11, r 22, r 23 виконаємо у вигляді підпрограм.

Програма буде містити наступні змінні:

1. Тип int:

i, k - змінні циклу, для зберігання значення поточної ітерації

2. тип float:

r 1, r 2, r 3, r 4 [3], r 5 [3] - для зберігання значень опорів.

4. Оригінальний текст СІ-програми

# Include <stdio.h>

# Include <conio.h>

float r11 (float r1, float r2, float r3, float r4, float r5)

{

float r11_;

r11_ = r1 + (r2 * (r3 + (r4 * r5) / (r4 + r5 )))/( r2 + (r3 + (r4 * r5) / (r4 + r5)));

return r11_;

}

float r22 (float r2, float r3, float r4, float r5)

{

float r22_;

r22_ = ((r2 + r3) * (r4 * r5) / (r4 + r5)) / (r2 + r3 + (r4 * r5) / (r4 + r5));

return r22_;

}

float r23 (float r2, float r3, float r4, float r5)

{

float r23_;

r23_ = (r3 * (r2 + (r4 * r5) / (r4 + r5 )))/( r3 + (r2 + (r4 * r5) / (r4 + r5)));

return r23_;

}

int main ()

{

float r1 = 60, r2 = 180, r3 = 10.5;

float r4 [3] = {6.3, 7.5, 8.7};

float r5 [3] = {50, 100, 150};

int i, k;

for (i = 0; i <3; i + +)

{

for (k = 0; k <3; k + +)

{

pritnf ("Вихідні дані: R1 =% .3 f, R2 =% .3 f, R3 =% .3 f, R4 =% .3 f, R5 =% .3 f \ n", r1, r2, r3, r4 [i], r5 [k]);

printf ("Результати: R11 =% .3 f, R22 =% .3 f, R23 =% .3 f \ n \ n", r11 (r1, r2, r3, r4 [i], r5 ​​[k]), r22 (r2 , r3, r4 [i], r5 ​​[k]), r23 (r2, r3, r4 [i], r5 ​​[k]));

}

}

printf ("Обчислення закінчені. Натисніть будь-яку клавішу.");

while (! kbhit ());

return 0;

}

5. Оригінальний текст на мові С + +

# Include <iostream.h> / / Бібліотека потокового введення-виведення

# Include <conio.h> / / Бібліотека консольного вводу-виводу

class resist {

private:

float r1;

float r2;

float r3;

float r4 [3];

float r5 [3];

public:

resist ()

{

r1 = 60;

r2 = 180;

r3 = 10.5;

r4 [0] = 6.3;

r4 [1] = 7.5;

r4 [2] = 8.7;

r5 [0] = 50;

r5 [1] = 100;

r5 [2] = 150;

};

~ Resist (){};

float r11 (int i, int k)

{

float r11_; / / Оголошуємо змінну

r11_ = r1 + (r2 * (r3 + (r4 [i] * r5 [k]) / (r4 [i] + r5 [k ])))/( r2 + (r3 + (r4 [i] * r5 [ k]) / (r4 [i] + r5 [k ]))); / / Виробляємо розрахунок по формулою

return r11_;

};

float r22 (int i, int k)

{

float r22_; / / Оголошуємо змінну

r22_ = ((r2 + r3) * (r4 [i] * r5 [k]) / (r4 [i] + r5 [k ]))/( r2 + r3 + (r4 [i] * r5 [k]) / (r4 [i] + r5 [k])); / / Виробляємо розрахунок по формулою

return r22_; / / Повертаємо результат

};

float r23 (int i, int k)

{

float r23_; / / Оголошуємо змінну

r23_ = (r3 * (r2 + (r4 [i] * r5 [k]) / (r4 [i] + r5 [k ])))/( r3 + (r2 + (r4 [i] * r5 [k] ) / (r4 [i] + r5 [k ]))); / / Виробляємо розрахунок по формулою

return r23_;

};

void show (int i, int k)

{

cout <<"Вихідні дані: R1 = "<<r1 <<", R2 = "<<r2 <<", R3 = "<<r3 <<", R4 = "<<r4 [i] <<", R5 = "<< r5 [k] <<endl;

cout <<"Результати: R11 =" <<r11 (i, k) <<", R22 =" <<r22 (i, k) <<", R23 =" <<r23 (i, k) <<endl ;

}

};

6. Результати обчислень

Після запуску програми на екрані з'являються результати розрахунку залежностей еквівалентних опорів:

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 6.300, R5 = 50.000

Результати: R11 = 74.774, R22 = 5.435, R23 = 9.938

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 6.300, R5 = 100.000

Результати: R11 = 75.053, R22 = 5.748, R23 = 9.939

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 6.300, R5 = 150.000

Результати: R11 = 75.153, R22 = 5.860, R23 = 9.939

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 7.500, R5 = 50.000

Результати: R11 = 75.551, R22 = 6.306, R23 = 9.940

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 7.500, R5 = 100.000

Результати: R11 = 75.930, R22 = 6.730, R23 = 9.942

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 7.500, R5 = 150.000

Результати: R11 = 76.068, R22 = 6.885, R23 = 9.942

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 8.700, R5 = 50.000

Результати: R11 = 76.290, R22 = 7.133, R23 = 9.943

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 8.700, R5 = 100.000

Результати: R11 = 76.779, R22 = 7.681, R23 = 9.945

Вихідні дані: R1 = 60.000, R2 = 180.000, R3 = 10.500, R4 = 8.700, R5 = 150.000

Результати: R11 = 76.959, R22 = 7.883, R23 = 9.945

Обчислення закінчені. Натисніть будь-яку клавішу.

Висновок

У ході виконання курсової роботи були виконані розрахунки еквівалентних опорів для електричного кола. Ці розрахунки вкрай важливі, оскільки дозволяють обчислити фізичні параметри реальної електричного кола за допомогою перетворення її до еквівалентної, спрощеною, "придатної" для розрахунку.

Дві створені програми на мовах програмування Сі та С + + ідентичні за загальним змістом між собою, відмінності зводяться до наступних:

1. Бібліотеки для роботи з відображенням даних на дисплей комп'ютера в Сі це stdio. H в С + + iostream. H.

2. Використання функцій printf в Сі і cout в С + + для виводу інформації на консоль.

3. Додавання класів в С + +.

Список використаної літератури

1. М. Елліс, Б. Строуструп. Довідкове керівництво по мові C + + з коментарями: Пер. з англ. - Москва: Світ, 1992. 445с.

2. Стенлі Б. Липпман. C + + для початківців: Пер. з англ. 2тт. - Москва: Унітех; Рязань: Геліон, 1992, 304-345сс.

3. Бруно Бабе. Просто і ясно про Borland C + +: Пер. з англ. - Москва: БІНОМ, 1994. 400с.

4. В.В. Подбельський. Мова C + +: Навчальний посібник. - Москва: Фінанси і статистика, 1995. 560с.

5. ІРЕ Пол. Об'єктно-орієнтоване програмування з використанням C + +: Пер. з англ. - Київ: НІІПФ ДіаСофт Лтд, 1995. 480с.

6. Т. Фейсон. Об'єктно-орієнтоване програмування на Borland C + + 4.5: Пер. з англ. - Київ: Діалектика, 1996. 544с.

7. Т. Сван. Освоєння Borland C + + 4.5: Пер. з англ. - Київ: Діалектика, 1996. 544с.

8. Г. Шілдт. Самовчитель C + +: Пер. з англ. - Санкт-Петербург: BHV-Санкт-Петербург, 1998. 620С.

9. У. Севітч. C + + в прикладах: Пер. з англ. - Москва: ЕКОМ, 1997. 736с.

10. К. Джамса. Вчимося програмувати на мові C + +: Пер. з англ. - Москва: Світ, 1997. 320с.

11. В.А. Скляров. Мова C + + та об'єктно-орієнтоване програмування: Довідкове видання. - Мінськ: Вишейшая школа, 1997. 480с.

12. Х. Дейтел, П. Дейтел. Як програмувати на C + +: Пер. з англ. - Москва: ЗАТ "Видавництво БИНОМ", 1998. 1024с.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
30.4кб. | скачати


Схожі роботи:
Розробка програми захисту інформації від несанкціонованого доступу на базі алгоритму шифрування
Розробка алгоритму роботи і реалізація інтелектуальної інформаційної системи
Розробка програми обчислення визначених інтегралів за формулою лівих прямокутників
Розробка алгоритму та інструментарію для виявлення професійної компетентності психолога організації
Пристрій для вимірювання температури в індустріальних системах і розробка програми для виведення
Уточнення алгоритму обчислення виразу
Розробка програмного модуля для обчислення інтеграла
Розробка пакета прикладних програм для обчислення визначника матриці
Розробка програми для квадратної матриці
© Усі права захищені
написати до нас