Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Московский государственный технический университет радиотехники электроники и автоматики

Работа добавлена на сайт samzan.net:


МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

"Московский государственный технический университет радиотехники,

электроники и автоматики"

МГТУМИРЭА

Факультет  радиотехнических_и_телекоммуникацонных систем

________________________________________________________________________

Кафедра “Радиосистем передачи информации”

КУРСОВАЯ РАБОТА

по дисциплине

«_____________________Информатика____________________________»

Тема курсовой работы «__________Экология рабочей зоны__________»

                                                                   

Студент группы _____РРБ-2-12_______

Морозов М.И.

Руководитель курсовой работы

доцент, к.т.н.

Петрова Н.Я.

Работа представлена к защите

«__»_______2013 г.

(подпись студента)

«Допущен к защите»

«__»_______2013 г.

(подпись руководителя)

Москва 2013

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

"Московский государственный технический университет радиотехники,

электроники и автоматики"

МГТУМИРЭА

Факультет радиотехнических и телекоммуникационных систем

Кафедра радиосистем передачи информации

Утверждаю

Заведующий

кафедрой______________А.А.Парамонов

«____» __________2013 г.

ЗАДАНИЕ

на выполнение  курсовой работы

подисциплине «Информатика»

Студент ___________Морозов_М.И.____________________________Группа__РРБ-2-12___

  1.  Тема:____________________Экология рабочей зоны___________________________

Исходные данные:Используемая мощность предприятия (%). Изменения можно рассматривать на диапазоне 60:20:100.Время суток (1:24),ПДК (~1 вещества).

  1.  Перечень вопросов, подлежащих разработке, и обязательного графического материала:      

1. Постановка задачи (подробное описание и примеры исходных данных)      

2. Декомпозиция поставленной задачи и описание алгоритма ее поэтапного решения

3. Описание каждой подпрограммы с указанием ее входных, выходных переменных.

4. Текст программы на языке  С++.

5.  Визуализация результатов с помощью интерфейсапользователя, выполненного в Matlab.

  1.  Срок представления к защите курсовой работы:до «___» _______2013г.

Задание на курсовую

работу выдал

«___»______2013г.

  ____________________

Петрова Н.Я.

Задание на курсовую

работу получил

«___»______2013г.

__________________

Морозов М.И.

СОДЕРЖАНИЕ

Содержание 6

ФОРМУЛИРОВКА ЗАДАНИЯ…………………………………………………………………7

1.Функции С++ используемые В РЕШЕНИИ ЗАДАЧе 8

1.1 Функция main 8

1.2 Функция FREAD 9

1.3 Функция MENU 10

1.4 ФункцияDdob 12

1.5 ФункцияDvod 13

1.7 Функция FWRTE 14

1.8 Функция IzmPDK 15

ФУНКЦИЯ MATLAB, ИСПОЛЬЗУЕМАЯ В РЕШЕНИИ ЗАДАЧИ 16

ПОЛНЫЙ КОДпрограммы 17

ВЫВОД…………………………………………………………………………………….……21

Список литературы 22


 Формулировка задания.

Разработать программу анализа атмосферы рабочей зоны предприятия для выработки рекомендаций о наиболее оптимальном использовании мощностей предприятия. Предполагается, что предприятие работает круглосуточно и выпуск продукции прямо пропорционален используемым мощностям предприятия. Рекомендации по уменьшению мощностей в определенное время суток и его увеличению в другое время в соответствии с нормами ПДК на основе обработки созданной базы данных должны подтверждаться графиками зависимостей ПДК некоторых вредных веществ от времени суток и от используемых мощностей. В базе данных предусмотреть следующие поля: Используемая мощность предприятия (%). Изменения можно рассматривать на диапазоне 60:20:100.Время суток (1:24),ПДК (~1 вещества).

Функция main.

  Эта функция, запускаемая при старте программы, работает с вводом и выводом данных на экран, а так же запускает алгоритм FREAD и MENU.

int main()

{

int PDK1;

system ("cls");

setlocale (LC_ALL, "rus");

data* D= new data[24];

for (inti=0;i<24;i++)

{

 D[i].v1=-1;

}

FREAD (D,&PDK1);

MENU (D,&PDK1);

return 0;

}


Функция FREAD.

Эта функция выполняет чтение файла и заполнение массива D.

void FREAD(data D[],int* PDK1)

{

System ("cls");

int v1,h;

ifstream F("Kurs.txt");

cout<<"Чтениефайла"<<endl;

F>>*PDK1;

cout<<".";

for (inti=0;i<24;i++)

{

h=-1;

v1=-1;

F>>h;

F>>v1;

If (h!=-1)

{

 D[h].v1=v1;

}

}

cout<<endl;

F.close();

Функция MENU.

 Эта функция выполняет вывод меню на экран и запуск нужного алгоритма.

int MENU(data D[],int* PDK1)

{

int A;

while (1)

 {

system("cls");

cout<<"Выберитедействие:"<<endl<<endl;

cout<<"1.Вывестиданные."<<endl;

cout<<"2.Добавиить запись."<<endl;

cout<<"3.Изменить значения ПДК."<<endl;

cout<<"4.Выход."<<endl<<endl;

cout<<"Ваш выбор:";

 cin>>A;

switch(A)

{

 case 1:

  Dvod (D,*PDK1);

 break;

 case 2:

  Ddob (D,*PDK1)

 break;

 case 3:

  IzmPDK (D,PDK1);

 break;

 case 4:

  cout<<"Выход"<<endl;

  return 0;

 break;

}

 }

}

Функция Ddob.

Эта функция выполняет заполнение, замену и вывод концентрации вещества за отдельный час.

Void Ddob(data D[],int PDK1)

{

System ("cls");

cout<<"Добавиитьзапись"<<endl;

int nh,nv1;

cout<<"Введите час(от 0 до 23):";

cin>>nh;

cout<<"Текущее значение:"<<endl<<endl;

cout<<"Час     Кол.в-ва1"<<endl;

 if (D[nh].v1!=-1)

{

cout<<nh<<"\t"<<D[nh].v1<<"\t\t";

}

else

{

cout<<nh<<"\tНетданных"<<"\t";

}

cout<<endl<<"Введите новые значения(при вводе -1 результат - 'нет данных')"<<endl;

cout<<"Кол.в-ва 1:";

cin>>nv1;

D[nh].v1=nv1;

FWRTE (D,PDK1);

}

Функция Dvod.

Эта функция выполняет вывод на экран концентраций за каждый час, расчёт снижения мощности для исключения вредных выбросов по нормам ПДК.

Void Dvod(data D[],int PDK1)

{

System ("cls");

cout<<"Вывестиданные"<<endl;

cout<<"ПДКдляв-ва 1:"<<PDK1<<endl;

cout<<"Час     Кол.в-ва1"<<endl;

for (inti=0;i<24;i++)

{

double B,C;  

if (D[i].v1!=-1)

{

cout<<i<<"\t"<<D[i].v1<<"\t\t";

}

else

{

cout<<i<<"\tНетданных\t";

}

If (D[i].v1>PDK1)

B=100*PDK1/D[i].v1;

 If (B>60)

   {

cout<<"\tРекомендуемая мощность 60%";  

}

else

{

cout<<"\tРекомендуемая мощность 20%";

   }

   }

   }  

Функция FWRTE.

Эта функциявыполняет ввод данных в файл.

Void FWRTE(data D[],int PDK1)

{

System ("cls");

cout<<"Записьвфайл"<<endl;

ofstream Fo("Kurs.txt");

Fo<<PDK1<<"\t"<<endl;

cout<<"..";

for (inti=0;i<24;i++)

{

 if((D[i].v1!=-1)

 {

 Fo<<i<<"\t"<<D[i].v1<<"\t"<<endl;

 }

 cout<<".";

}

Fo.close();

cout<<endl;

}

 


Функция IzmPDK.

Эта функция запускает алгоритм FWRTE и выводит указания на экран.

Void IzmPDK(data D[],int* PDK1,int* PDK2)

{

System ("cls");

cout<<"ИзменениеПДК"<<endl;

cout<<"Текущее значение:"<<endl;

 cout<<"ПДК для в-ва 1:"<<*PDK1<<endl;

cout<<"Введите новые значения:"<<endl;

cout<<"Для в-ва 1: ";

cin>>*PDK1;

FWRTE (D,*PDK1);

}

 


Функция grafik.

 Эта функция, используемая в MATLAB, строит график зависимости концентрации от времени.

Function grafik

load ('C:\Users\Downloads\MATLAB R2009a Portable\Kurs.txt');

x=[];

y=[];

d=[];

for v=2:1:length(Kurs)

   y=[y,Kurs(v,2)];

end

%y

%d

holdon;

plot(x,y,'b')

plot(x,y,'r')

plot(x,y,'g')

plot(x,y,'y')

      Рис.1

  

 

ПОЛНЫЙ КОД ПРОГРАММЫ С++

#include<fstream.h> - описания и разрешения для всех буферных и потоковых классов.

#include<iostream.h> - основной фаил - библиотека, отвечает за все классы, макросы, тома и    библиотеки, которые используют программы.

#include<stdlib.h> - библиотека, который содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы.


#include<fstream>

#include<iostream>

#include<stdlib.h>

using namespace std;

struct data

{

int v1;

};

int MENU(data D[],int* PDK1);

void Ddob(data D[],int PDK1);

void Dvod(data D[],int PDK1);

void FREAD(data D[],int* PDK1);

void FWRTE(data D[],int PDK1);

void IzmPDK(data D[],int* PDK1);

int main()

{

int PDK1;

system ("cls");

setlocale (LC_ALL, "rus");

data* D= new data[24];

for (inti=0;i<24;i++)

{

 D[i].v1=-1;

}

FREAD (D,&PDK1);

MENU (D,&PDK1);

return 0;

}

void FREAD (data D[],int* PDK1)

{

System ("cls");

int v1,h;

ifstream F("Kurs.txt");

cout<<"Чтениефайла"<<endl;

F>>*PDK1;

cout<<".";

for (inti=0;i<24;i++)

{

h=-1;

v1=-1;

F>>h;

F>>v1;

If (h!=-1)

{

 D[h].v1=v1;

}

}

cout<<endl;

F.close();

}

int MENU(data D[],int* PDK1)

{

int A;

while

 {

System ("cls");

cout<<"Выберитедействие:"<<endl<<endl;

cout<<"1.Вывестиданные."<<endl;

 cout<<"2.Добавиить запись."<<endl;

cout<<"3.Изменить значения ПДК."<<endl;

cout<<"4.Выход."<<endl<<endl;

cout<<"Ваш выбор:";

 cin>>A;

switch (A)

{

 case 1:

  Dvod (D,*PDK1);

 break;

 case 2:

  Ddob (D,*PDK1);

 break;

 case 3:

  IzmPDK (D,PDK1);

 break;

 case 4:

  cout<<"Выход"<<endl;

  return 0;

 break;

}

 }

}

Void Dvod (data D[],int PDK1)

{

System ("cls");

cout<<"Вывестиданные"<<endl;

cout<<"ПДКдляв-ва 1:"<<PDK1<<endl;

cout<<"Час     Кол.в-ва1"<<endl;

for (inti=0;i<24;i++)

{

double B,C;  

if(D[i].v1!=-1)

{

cout<<i<<"\t"<<D[i].v1<<"\t\t";

}

else

{

cout<<i<<"\tНетданных\t";

}

If (D[i].v1>PDK1)

{

B=100*PDK1/D[i].v1;

 If (B>60)

   {

cout<<"\tРекомендуемая мощность 60%";  

}

else

{

cout<<"\tРекомендуемая мощность 20%";

   }

   }

   }  

cout<<endl;

}

System ("pause");

}

Void Ddob(data D[],int PDK1)

{

System ("cls");

cout<<"Добавиитьзапись"<<endl;

int nh,nv1,nv2;

cout<<"Введите час(от 0 до 23):";

cin>>nh;

cout<<"Текущее значение:"<<endl<<endl;

cout<<"Час     Кол.в-ва1"<<endl;

 if(D[nh].v1!=-1)

{

cout<<nh<<"\t"<<D[nh].v1<<"\t\t";

}

else

{

cout<<nh<<"\tНетданных"<<"\t";

}

cout<<endl<<"Введите новые значения(при вводе -1 результат - 'нет данных')"<<endl;

cout<<"Кол.в-ва 1:";

cin>>nv1;

D[nh].v1=nv1;

FWRTE (D,PDK1);

}

void FWRTE (data D[],int PDK1)

{

System ("cls");

cout<<"Записьвфайл"<<endl;

ofstream Fo("Kurs.txt");

Fo<<PDK1<<"\t"<<endl;

cout<<"..";

for (inti=0;i<24;i++)

{

 If ((D[i].v1!=-1)

 {

 Fo<<i<<"\t"<<D[i].v1<<"\t"<<endl;

 }

 cout<<".";

}

Fo.close();

cout<<endl;

}

Void IzmPDK(data D[],int* PDK1,int* PDK2)

{

System ("cls");

cout<<"ИзменениеПДК"<<endl;

cout<<"Текущее значение:"<<endl;

 cout<<"ПДК для в-ва 1:"<<*PDK1<<endl;

cout<<"Введите новые значения:"<<endl;

cout<<"Для в-ва 1: ";

cin>>*PDK1;

FWRTE (D,*PDK1);

}

ВЫВОД:

исходя из проведенной мною работы, на рисунке 1 наглядно видно что при мощности 20% нормы ПДК не превышаются. При мощности в 60% завод, в соответствии с нормами ПДК, обязан работать с 22:00-4:00, с 9:00- 10:00, с 16:00-19:00. При мощности в 100% завод обязан работать с 23:00-3:00 и с17:00-18:00.

Исходя из этого работа завода для максимальной выгоды должна выглядеть следующим образом:

0:00-3:00 – 100%

3:00-4:00 – 60%

4:00-9:00 – 20%

9:00-10:00 – 60%

10:00-16:00 – 20%

16:00-17:00 – 60%

17:00-18:00 - 100%

18:00-19:00 – 60%

19:00-22:00 – 20%

22:00-23:00 – 60%

23:00-0:00 – 100%

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

СПИСОК ЛИТЕРАТУРЫ

1. Лекции и семинары – преподаватель Петрова Н.Я.

2. Интернет – руководства по созданию программ на языке С++ и Mathlab.

3. Форум программистов и сисадминов CyberForum.ru. Раздел помощи.

4. С++ для начинающих ci-plus-plus-snachala.ru




1. щее оптимальному местоположению его в зубном ряду диагностируется как аномалия положения
2. Кодекс административного судопроизводства Украины от 1 сентября 2005 года.html
3. Тема- Виробництво та його основні чинники Задача 1
4. Гигиена воды и водоисточников 1
5. Реферат на тему- ЧИЩЕННЯ ЗМАЩЕННЯ І ЗБЕРІГАННЯ АВТОМАТА Автомат слід завжди тримати у чистоті в
6. Ответы на вопросы государственного экзамена
7. Тема 4. ОРГАНИЗАЦИОННЫЕ ФОРМЫ СТРАТЕГИЧЕСКОГО ПЛАНИРОВАНИЯ 4
8. 6 Введение
9. Реферат- Таможня РФ, полномочия
10. эпидемиологическое заключение- 50
11. Гальперин Петр ЯковлевичК ВОПРОСУ ОБ ИНСТИНКТАХ У ЧЕЛОВЕКАПризнание инстинктов у человека с необходимость
12. Использование гиперссылок при создании Веб-страницы
13. на тему- ldquo;Індивідуальні особливості у здібностях людейrdquo; 1
14. на тему- Правила етикету потискання руки Виконавець- ст.
15. БЖД Рабочая программа Курса Безопасность жизнедеятельностидля студентов непедагогических специаль
16. Асаблівасці фарміравання беларускай нацыi
17. .Установка Windows XP на виртуальную машину Virtul PC 200х.
18. 70 ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО СТАНДАРТАМ Москва ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
19. Они являются непроизвольными и обеспечивают перистальтику органов пищеварения и мочевыводящей системы по
20. ІП пацієнта вік- Стравохід вільно прохідний