это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Министерство образования Республики Беларусь
Белорусский национальный технический университет
Международный институт дистанционного образования
Кафедра: «Информационные системы и технологии»
КУРСОВАЯ РАБОТА
по дисциплине «Объектно-ориентировочное программирование»
тема работы: Разработка алгоритма и программы для вычисления коэффициента оперативной готовности системы.
МИНСК
2010
Содержание
Введение
1. Постановка задачи
2. Схема алгоритма программы
3. Разработка СИ-программы
4. Исходный текст СИ-программы
5. Исходный текст СИ++-программы
6. Результаты вычислений
Заключение
Список использованной литературы
Одной из основных задач электроники является расчет электрических схем, то есть получение детальной количественной информации о процессах, происходящих в этой схеме. Однако рассчитать произвольную схему, состоящую из реальных электронных компонент, практически невозможно. Мешает расчету то обстоятельство, что попросту не существует методик математического описания поведения реальных электронных компонент (например, транзистора) как единого целого. Имеются значения отдельных параметров и экспериментально снятые зависимости, но связать их в единую точную формулу, полностью описывающую поведение компоненты, в большинстве случаев не представляется возможным.
С другой стороны, исключительно простым математическим аппаратом описываются идеализированные базовые элементы электронных схем (например, идеальный резистор). Однако они не существуют в реальном мире. Так, любой резистор имеет множество паразитных параметров: индуктивность, емкость, температурные зависимости и т.п.
Введение понятия эквивалентная схема позволяет «связать» мир реальных компонент и мир их идеальных приближений. Эквивалентная схема представляет собой цепь только из идеальных компонент, которая функционирует примерно также, как и исходная схема. В эквивалентной схеме могут быть отражены, при необходимости, различные паразитные эффекты: утечки, внутренние сопротивления и т.д. Эквивалентная схема может составляться как для одного элемента, так и для сложной цепи.
Для цепи эквивалентные сопротивления между зажимами 1 – 11 (r11), 2 – 21(r22), 2 – 3 (r23) определяются по формулам:
;
;
;
Составить программу расчёта и печати значений зависимостей эквивалентных сопротивлений r11, r22, r23 от сопротивлений r4 и r5.
Для расчёта значений зависимостей эквивалентных сопротивлений r11, r22 и r23 от сопротивлений r4 и r5 используем оператор цикла for.
Вычисление значений r11, r22, r23 выполним в виде подпрограмм.
Программа будет содержать следующие переменные:
1. тип int:
i, k – переменные цикла, для хранения значения текущей итерации
2. тип float:
r1, r2, r3, r4[3], r5[3] – для хранения значений сопротивлений.
#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=%.3f, R2=%.3f, R3=%.3f, R4=%.3f, R5=%.3f n", r1, r2, r3, r4[i], r5[k]);
printf("Результаты: R11=%.3f, R22=%.3f, R23=%.3fnn", 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;
}
};
После запуска программы на экране появляются результаты расчёта зависимостей эквивалентных сопротивлений:
Исходные данные: 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с.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!