Розробка програмного забезпечення комп'ютерної системи управління процесом випалювання будівельних матеріалів з використанням об'єктно-орієнтованого програмування
Класифікація об'єктно-орієнтованих мов програмування. Розробка алгоритмічного та програмного забезпечення комп'ютерної системи управління процесом випалювання будівельних матеріалів. Тестування програмного забезпечення, оцінка його ефективності.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 25.04.2015 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
if (fclose (bf)! =0) return - 7;
wnum++;
}
}
if (fclose (f)! =0) return - 8;
bf = OpenDB ("oldata",&header);
if (bf) {
fclose (bf);
if (remove ("oldata")! =0) return - 9;
}
else fclose (bf);
if (rename (f_name,"oldata")! =0) return - 10;
if (rename ("buferfile",f_name)! =0) return - 11;
return 1;
}
// *********************** //
int CreateSTPF (const char *path)
{
FILE *f;
RecSTDP rec;
int result;
f=fopen (path,"wb");
if (! f) return FALSE;
SetRecSTDP (&rec);
result = (fwrite (&rec,sizeof (RecSTDP),1,f) ==1);
fclose (f);
return result;
}
int ReadSTPF (const char *path, RecSTDP *recp) //
{
FILE *f;
f=fopen (path,"rb");
if (! f) return FALSE;
int rez= (fread (recp, sizeof (RecSTDP), 1, f) ==1);
fclose (f);
return rez;
}
void SetRecSTDP (RecSTDP *rec) {
rec->Tfire_min=960;
rec->Tfire_max=1135;
rec->Theat_min=580;
rec->Theat_max=600;
rec->Tcool_min=620;
rec->Tcool_max=640;
rec->Pfire_min=1.4;
rec->Pfire_max=1.9;
rec->Pheat_min=-3.5;
rec->Pheat_max=1.4;
rec->Pcool_min=2;
rec->Pcool_max=2.7;
rec->Mres_min=10;
rec->Mres_max=15;
rec->Mair_min=3;
rec->Mair_max=5;
}
int GetMarka (const int *arrey) {
int min = GetMin (arrey);
int ser = SerArufm (arrey);
if (ser<min) return ser;
else return min;
}
int GetMin (const int *arrey) {
int min=arrey [0];
for (int i=1; i<5; ++i) {
if (min>arrey [i]) min=arrey [i];
}
min/=25;
min*=25;
if (min<50) return 0;
return min;
}
int SerArufm (const int *arrey) {
int rez=0;
for (int i=0; i<5; ++i) rez+=arrey [i];
rez/=125;
rez*=25;
if (rez<75) return 0;
return rez;
}
int Grafik (float *y, float min, float max, int kilk, char *name)
{
float minznach, maxznach;
minznach= MIN (y, kilk);
maxznach= MAX (y, kilk);
if (minznach>min) minznach=min;
if (maxznach<max) maxznach=max;
float delta = maxznach-minznach;
delta/=8;
minznach-=delta;
maxznach+=delta;
float *ycoord =setycoord (y,minznach,maxznach,kilk);
float ymax=gety (max, minznach, maxznach);
float ymin=gety (min, minznach, maxznach);
int knum=1;
InitGraphika ();
setbkcolor (3);
cleardevice ();
setcolor (15);
line (40,0,40,460);
line (40,460,640,460);
int i;
for (i=60; i<640; i+=60) line (i,455, i,465);
for (i=0; i<460; i+=46) line (37, i,43, i);
char mes [10] [10];
float kurzn=maxznach;
for (i=0; i<10; ++i) sprintf (mes [i],"% -6.2f",kurzn-=delta);
for (i=0; i<10; ++i) outtextxy (0, i*46+40,mes [i]);
for (i=0; i<10; ++i) {
sprintf (mes [0],"%5d",knum+i);
outtextxy (i*60+25,470,mes [0]);
}
outtextxy (160,8,name);
kurzn=0;
if (kilk<11) {
setcolor (1);
line (40,ymin,640,ymin);
line (40,ymax,640,ymax);
for (i=0; i<kilk-1; ++i) drawLine (i*60+60,ycoord [i], i*60+120,ycoord [i+1],ymin,ymax);
getch ();
}
else{
char chs;
int maxzn=kilk-10;
knum=0;
do{
setcolor (15);
setfillstyle (1,3);
bar (40,465,640,480);
bar (45,0,640,455);
for (i=0; i<10; ++i) {
sprintf (mes [0],"%5d",knum+i+1);
outtextxy (i*60+25,470,mes [0]);
}
outtextxy (160,8,name);
outtextxy (160,16,"Use 'a' / 'd' to list graph ENTER to exit");
setcolor (1);
line (40,ymin,640,ymin);
line (40,ymax,640,ymax);
for (i=0; i<9; ++i) DrawLine (i*60+60, ycoord [i+knum], i*60+120, ycoord [i+knum+1], ymin,ymax);
chs=getch ();
switch (chs) {
case 'a': if (knum>0) - -knum; break;
case 'd': if (knum<maxzn) ++knum; break;
default: break;
}
}while (chs! =13);
}
closegraph ();
free (ycoord);
return 0;
}
void InitGraphika () {/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
/* initialize graphics mode */
initgraph (&gdriver, &gmode,". \bgi");
/* read result of initialization */
errorcode = graphresult ();
if (errorcode! = grOk) /* an error occurred */
{
printf ("Graphics error: %s\n", grapherrormsg (errorcode));
printf ("Press any key to halt: ");
getch ();
exit (1); /* return with error code */
}
}
float MAX (float *m, int n) {
float z;
z=m [0];
for (int i=1; i<n; i++) if (m [i] >z) z=m [i];
return z;
}
float MIN (float *m, int n) {
float z;
z=m [0];
for (int i=1; i<n; i++) if (m [i] <z) z=m [i];
return z;
}
float* setycoord (float *mas, float min, float max, int num) {
float *rez;
rez= (float*) calloc (num,sizeof (float));
for (int i=0; i<num; ++i) rez [i] = gety (mas [i], min, max);
return rez;
}
float gety (float cur, float min, float max) {
float rez=460;
rez*= (max-cur) / (max-min);
return rez;
}
void drawLine (float X1, float Y1, float X2, float Y2, float ymin, float ymax) {
int x1=X1, y1=Y1, x2=X2, y2=Y2;
const int deltaX = abs (x2 - x1);
const int deltaY = abs (y2 - y1);
const int signX = x1 < x2? 1: - 1;
const int signY = y1 < y2? 1: - 1;
int color;
int error = deltaX - deltaY;
if (y2>ymin||y2<ymax) color=RED;
else color = YELLOW;
putpixel (x2, y2, color);
while (x1! = x2 || y1! = y2) {
if (y1>ymin||y1<ymax) color=RED;
else color = YELLOW;
putpixel (x1, y1, color);
const int error2 = error * 2;
//
if (error2 > - deltaY) {
error - = deltaY;
x1 += signX;
}
if (error2 < deltaX) {
error += deltaX;
y1 += signY;
}
}
}
Лістинг "ZAST. CPP" Додаток В
#include <dos. h>
#include <stdlib. h>
#include <conio. h>
#include <graphics. h>
#include <stdio. h>
class CShape{
public:
virtual void Draw () {};
};
class CPoint: public CShape{
protected:
int x;
int y;
int color;
public:
CPoint (int X, int Y, int Color) {x=X; y=Y; color=Color; }
void Draw () {putpixel (x,y,color); }
};
class CCircle: public CPoint{
protected:
int r;
public:
CCircle (int X, int Y, int R, int Color): CPoint (X, Y, Color) {r=R; }
void Draw () {setcolor (color); setfillstyle (1, color); fillellipse (x, y, r, r); }
};
class CRectangle: public CPoint{
protected:
int x1;
int y1;
public:
CRectangle (int X, int Y, int X1, int Y1, int Color): CPoint (X, Y, Color) {x1=X1; y1=Y1; }
void Draw () {setcolor (color); setfillstyle (1, color); bar (x, y, x1, y1); }
};
class CMoveblePoint: public CPoint{
protected:
int dx;
int xmodif;
int modcol;
public:
CMoveblePoint (int X, int Y, int Dx, int Xm, int Mc, int col): CPoint (X,Y,col) {dx=Dx; xmodif=Xm; modcol=Mc; }
void Draw () {x+=dx; if (x>xmodif) color=modcol; putpixel (x,y,color); }
};
class CMCircle: public CMoveblePoint{
protected:
int r;
public:
CMCircle (int X, int Y, int R, int Dx, int Xm, int Mc, int Color): CMoveblePoint (X, Y, Dx, Xm, Mc, Color) {r=R; }
void Draw () {x+=dx; if (x>xmodif) color=modcol; setcolor (color); setfillstyle (1, color); fillellipse (x, y, r, r); }
};
class CMRectangle: public CMoveblePoint{
protected:
int x1;
int y1;
public:
CMRectangle (int X, int Y, int X1, int Y1, int Dx, int Xm, int Mc, int Color): CMoveblePoint (X, Y, Dx, Xm, Mc, Color) {x1=X1; y1=Y1; }
void Draw () {x+=dx; x1+=dx; if (x>xmodif) color=modcol; setcolor (color); setfillstyle (1, color); bar (x, y, x1, y1); }
};
class CMLine: public CMRectangle{
public:
CMLine (int X, int Y, int X1, int Y1, int Dx, int Xm, int Mc, int Color): CMRectangle (X, Y, X1, Y1, Dx, Xm, Mc, Color) {};
void Draw () {x+=dx; x1+=dx; if (x>xmodif) color=modcol; setcolor (color); line (x, y, x1, y1); }
};
void InitGraph ();
CShape* CreateShape (); // створює масив фігур
void DrawShape (CShape *ArrCShape); // виводить фігури на екран
void OutInfo (); // виводить інформацію на екран
void CloseGraph (CShape *ArrCShape); // завершує графічний режим
int Zastavka ();
int Zastavka ()
{
InitGraph ();
CShape *arr= CreateShape ();
DrawShape (arr);
OutInfo ();
CloseGraph (arr);
return 0;
}
void InitGraph ()
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
/* initialize graphics mode */
initgraph (&gdriver, &gmode,". \bgi");
/* read result of initialization */
errorcode = graphresult ();
if (errorcode! = grOk) /* an error occurred */
{
printf ("Graphics error: %s\n", grapherrormsg (errorcode));
printf ("Press any key to halt: ");
getch ();
exit (1); /* return with error code */
}
}
CShape* CreateShape () {
int i=0;
CShape *p [100];
p [i++] =new CRectangle (0, 0, getmaxx (), getmaxy (),
9);
p [i++] =new CCircle (0, 0, 80, 14);
p [i++] =new CCircle (250, 50, 25, 15);
p [i++] =new CCircle (275, 35, 25, 15);
p [i++] =new CCircle (285, 65, 25, 15);
p [i++] =new CCircle (310, 50, 25, 15);
p [i++] =new CCircle (450, 50, 25, 15);
p [i++] =new CCircle (475, 45, 25, 15);
p [i++] =new CCircle (485, 55, 25, 15);
p [i++] =new CCircle (510, 50, 25, 15);
p [i++] =new CRectangle (0,399,getmaxx (),getmaxy (),BLACK);
p [i++] =new CRectangle (275,299,300,399,BLUE);
p [i++] =new CRectangle (285,309,300,399,RED);
// telega
p [i++] =new CMRectangle (5,380,95,385, 20,600,0,DARKGRAY);
p [i++] =new CMCircle (25, 392, 7, 20,600,0, LIGHTGRAY);
p [i++] =new CMCircle (75, 392, 7, 20,600,0, LIGHTGRAY);
p [i++] =new CMRectangle (10,343,90,379, 20,300,RED,YELLOW);
p [i++] =new CMLine (10,352,90,352, 20,600,RED,DARKGRAY);
p [i++] =new CMLine (10,361,90,361, 20,600,RED,DARKGRAY);
p [i++] =new CMLine (10,370,90,370, 20,600,RED,DARKGRAY);
int j,k;
k=1;
for (j=20; j<90; j+=10) {
if (k>0) {
p [i++] =new CMLine (j,343,j,352, 20,600,RED,DARKGRAY);
p [i++] =new CMLine (j,361,j,370, 20,600,RED,DARKGRAY);
}
else{
p [i++] =new CMLine (j,352,j,361, 20,600,RED,DARKGRAY);
p [i++] =new CMLine (j,370,j,379, 20,600,RED,DARKGRAY);
}
k=k*-1;
}
// end telega
p [i++] =new CRectangle (300,299,400,399,BLUE);
return p;
}
void DrawShape (CShape *ArrCShape) {
int t=0;
// Out rezult
while (t<25) {
t++;
i=0;
while ( (i<100) && (ArrCShape [i]! =NULL)) {
ArrCShape [i] - > Draw ();
i++;
}
delay (50);
}
}
void OutInfo () {
setcolor (LIGHTGREEN);
int style=7;
int size=3;
settextstyle (style, HORIZ_DIR, size);
outtextxy (200, 100, "Kursova robota");
outtextxy (100, 150, "Compuret system control proccec");
outtextxy (150, 200, "burning of bricks");
outtextxy (250, 250, "ZHUK O. S.3si-11");
getch ();
}
void CloseGraph (CShape *ArrCShape) {
while ( (i<100) && (ArrCShape [i]! =NULL)) {
delete ArrCShape [i];
i++;
}
сlosegraph ();
}
Лістинг "MAIN. CPP" Додаток Д
#include "\. \ready\workbd\winow. cpp"
#include "\. \ready\workbd\ZAST. CPP"
int main () {
Zastavka ();
menu ();
return 1;
}
Размещено на Allbest.ru
Подобные документы
Основні функціональні можливості програми для забезпечення комп'ютерної системи дистанційного управління приладами. Функція пульта дистанційного керування мартфонів. Реалізація пультів дистанційного управління на основі апаратно-програмного комплексу.
дипломная работа [1,7 M], добавлен 09.07.2015Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.
курсовая работа [502,5 K], добавлен 01.04.2016Опис підрозділу гнучких виробничих систем (ГВС) як об‘єкта управління. Проектування алгоритмічного забезпечення системи оперативного управління. Складання розкладу роботи технологічного обладнання. Розробка програмного забезпечення підсистем СОУ ГВС.
курсовая работа [2,0 M], добавлен 11.07.2012Аналіз предметної області, опис проекту бази даних, моделей майбутнього програмного забезпечення гри для персонального комп'ютера "Міста". Функціональні можливості програмного забезпечення, які необхідно реалізувати. Інтерфейс програмного забезпечення.
курсовая работа [2,3 M], добавлен 02.06.2016Принципи об'єктно-орієнтованого підходу. Розробка програмного комплексу з використанням цього алгоритму і користувальницьких класів на мові програмування С++. Реалізація простого відкритого успадкування. Тестування працездатності системи класів.
курсовая работа [98,0 K], добавлен 06.05.2014Побудова апаратної структури для серверу, встановлення операційної системи і програмного забезпечення, розробка веб-сайту. Розрахунок річної суми економічного ефекту від впровадження комп’ютерної мережі. Проектування освітлення, засобів пожежогасіння.
дипломная работа [5,6 M], добавлен 02.07.2015Класифікація програмного забезпечення, системне та прикладне забезпечення, інструментальні системи. Програмна складова комп'ютерної системи, опис алгоритмів розв'язання певної задачі. Класифікація операційних систем, основні групи прикладних програм.
презентация [945,0 K], добавлен 01.04.2013Проблеми розробки компонентного програмного забезпечення автоматизованих систем управління. Сучасні компонентні технології обробки інформації. Аналіз вибраного середовища проектування програмного забезпечення: мова програмування PHP та Apache HTTP-сервер.
дипломная работа [2,8 M], добавлен 11.05.2012Особливості об'єктно-орієнтованого програмування. Розробка програми для елементарних математичних розрахунків, виведення результату на екран та запису у файлі. Сортування слів у рядку. Програма, яка реалізовує ходи шахових фігур. Програма-калькулятор.
отчет по практике [2,0 M], добавлен 19.03.2015