Зворотний зв'язок

Графічне відображення графіка роботи водорегулюючого вузла

Завдання

Розробити програму для графічного відображення схеми та хвильових діаграм струму, напруги та потужності в колі змінного струму з ємністю.

(найменування вищого учбового закладу)

Кафедра

Дисципліна

Спеціальність

Курс _____________Група _____________Семестр

ЗАВДАННЯ

на курсову роботу студента

(прізвище, ім’я, по батькові)

1. Тема роботи

2. Термін здачі студентом закінченої роботи

3. Вихідні дані до роботи

4. Зміст розрахунково-пояснювальної записки (перелік питань, які належать розробці)

5. Перерахунок допоміжного матеріалу

6. Дата видачі завдання

КАЛЕНДАРНИЙ ПЛАН

№ п/пНайменування етапів курсової роботиТермін виконання етапів роботиПримітки

Студент

(підпис)

Керівник

(підпис) (прізвище, ім’я, по батькові)

“______” ___________________ 20 ___ р.

Вступ

Завдяки теперішньому комп'ютерному розвитку людство змогло полегшити собі роботу. Комп'ютеризація під-приємств, наукових, освітніх закладів змогла подолати ряд важких перешкод. Процеси, які раніше неможливо було виконати за десятки років, зараз задопомогою комп'ютера можна виконати ту саму роботу за досить короткий час.

Деякі процеси в різних галузях науки і техніки можна описати і наочно зобразити на екрані комп'ютера,викори-

ставши певні програми.

Завдання цієї курсової роботи полягає в розробці програми, яка показувала б в середовищі BC режим роботи водорегулюю-чого вузла, в залежності від рівня грунтових вод.

Опис вузла

Вузол складається з таких частин:

6,11-трубопровод

1-магістральний канал,

2,4,12,13-шлюзи,

3-аванкамера,

5-колекторні канали,

7-насосна станція,

8,9,10-заслінки,

Шлюзи і заслінки мають електричний привід,яким управляють при допомозі типових шкафів управління. Іформаційне забезпечення вузла включає в себе електродні датчики рівнів грунтових вод, розміщених в вимірювальних колодцях на обох міліорованих масивах, датчики рівнів води в каналах, аванкамері і датчик опадів.

Принцип роботи

Принцип роботи водорегулюючого вузла заключається в слідуючому. При підніманні рівня грунтових вод до верхньої межі з датчика надходить електричний сигнал, в результаті чого відкриваються шлюзи 4,12 і заслінка 10 на напірному трубопроводі 11. Вода з колекторних каналів 5 потрапляє в аван-камеру 3. Коли рівень води в аванкамері досягає верхнього електрода, спрацьовують насосні установки, які перекачують воду по трубопроводі 11 в магістральний канал 1. При опусканні рівня грунтових вод до середнього значення відключаються насосні насосні установки, шлюзи 4,12 і заслінка 10 закриваються.

Якщо рівень грунтових вод знову піднімається до верхнього рівня, то водо-регулюючий вузол знову починає працювати на спад надлишкової води. При спаданні за рахунок сумарного випаровуван-ня рівня грунтових вод до нижнього межі з датчика надходить сигнал, який викликає відкриття шлюзів 2, 13 і заслінок 8, 9. Вода з магістрального каналу потрапляє в аванкамеру і звідти насосами подається в колекторні канали. При підніманні рівня води в каналах до верхньої межі насоси відключаються. Під дією інфільтрації рівень

води спадає, і коли досягає нижнього електрода, включаються насоси. Так за рахунок перiодичної роботи насосів піднімається рівень грунтових вод. Придосяганні ним середнього значення насоси відключаються, шлюзи 2, 13 і заслінки 8, 9 закриваються.

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

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

Текст програми:

#include

#include

#include

#include

#include

#include

void program(void);

void fon(void)

{int i;

setbkcolor(3);

setcolor(14);

for(i=1;i<=640;i+=20)

{ line(0-i,-10,100+i,480); }

setcolor(1);

settextstyle(1,0,5);

outtextxy(450,50,"Kursowa");

outtextxy(450,100,"pobota");

setfillstyle( 1,1);

settextstyle(0,0,1);

fillellipse(160,155,75,20);

outtextxy(165,155,"program");

fillellipse(340,240,75,20);

outtextxy(340,240,"Tytulka");

fillellipse(550,320,75,20);

outtextxy(550,320,"Exit");}

void menu(int t)

{ setcolor(14);

setfillstyle( 1,1);

fillellipse(160,155,75,20);

outtextxy(145,155,"program");

fillellipse(340,240,75,20);

outtextxy(330,240,"Tytulka");

fillellipse(550,320,75,20);

outtextxy(540,320,"Exit");

setcolor(15);

setfillstyle(1,4);

/*аyx ¬Ґ­о*/

if(t==1){ fillellipse(160,155,75,20);

outtextxy(160,155,"program");

}

if(t==2) { fillellipse(340,240,75,20);

outtextxy(340,240,"Tytulka");

}

if(t==3){

fillellipse(550,320,75,20);

outtextxy(550,320,"Exit");

}

}//---------------Фнкція виведення титульної сторінки-----------------

void Titul ()

{

restorecrtmode();

clrscr();

textmode(BW80);

textcolor(7);

cprintf(" Міністерство освіти і науки України");

printf("\n");

cprintf(" Рівненський державний технічний університет");

printf("\n");

cprintf(" Кафедра електротехніки і автоматики");

printf("\n\n\n\n\n");

textcolor(4 + BLINK);

printf(" ");

cprintf("КУКРСОВА РОБОТА);

printf("\n");

textcolor(7);

printf("\t\t");

cprintf(" з курсу:\"Програмування та алгоритмічні мови\"");

printf("\n");

textcolor(7);

printf("\t\t");

cprintf("на тему:\"Графічне відображення режиму роботи\"");

printf("\n");

printf("\t\t\t ");

cprintf("водорегулюючого вузла");

printf("\n\n\n\n\n\n");

textcolor(2);

printf("\t\t\t\t\t\t");

cprintf("Виконав студент ");

printf("\n");

printf("\t\t\t\t\t\t");

cprintf("першого курсу ФПМ і КІС");

printf("\n");

printf("\t\t\t\t\t\t");

cprintf("групи АУТП-2");

printf("\n");

printf("\t\t\t\t\t\t");

cprintf("Шимків Михайло ");

printf("\n\n\n\n");

printf("\t\t\t ");

textcolor(58);

cprintf("РІВНЕ-2002");

textcolor(WHITE + BLINK );

printf("\n\t\t\t");

cprintf(" натисніть будьяку клавішу");

getch();

setgraphmode(getgraphmode());

fon();

menu(2);

}

int main(void)

{

int i=1,q=1;

int j,iii,iiii;

int r=1,re=2,ch;

int gdriver = DETECT, gmode;

initgraph(&gdriver, &gmode, "c:\\bcpp\\bgi");

fon();

menu(1);

n:

z:

a:

g:

while(i>0)

{

ch=getch();

/*Переміщення*/

if(ch==27||(ch==13&&q==3)) goto m;

if(ch==13&&q==2)

{ Titul();

goto n;

}

if(ch==13&&q==1)

{ program();

goto z; }

if(ch==72)

{

if (q==1) q=3;

else q=q-1;

}

else

{if(ch==77)

{

if (q==3) q=1;

else q=q+1; }

else

{if(ch==80)

{

if (q==3) q=1;

else q=q+1;}

else

{if(ch==75)

{

if (q==1) q=3;

else q=q-1;}}

} }

menu(q);

}

m:

closegraph();

}

void povin(void)

{cleardevice();

setfillstyle(1,15);

bar(120,360,140,370);

bar(490,360,510,370);

setfillstyle(1,15);

bar(120,250,140,260);

bar(490,250,510,260);

line(90,410,550,410);

rectangle(120,360,140,370);

line(124,370,124,390);

line(136,370,136,390);

rectangle(490,360,510,370);

line(494,370,494,390);

line(506,370,506,390);

line(136,390,476,390);

line(90,390,124,390);

line(506,390,550,390);

line(486,390,494,390);

line(476,190,476,200);

line(476,220,476,390);

line(486,182,486,200);

line(486,200,476,200);

line(486,220,476,220);

line(486,220,486,390);

line(476,200,486,220);

line(476,220,486,200);

line(124,260,124,360);

line(136,325,136,360);

line(150,355,466,355);

line(150,325,150,355);

line(466,324,466,355);

line(136,325,150,325);

line(136,313,150,313);

line(136,260,136,313);

line(150,285,150,313);

line(150,285,281,285);

line(289,285,466,285);

line(466,285,466,313);

line(466,313,476,313);

line(466,323,476,323);

line(486,313,494,313);

line(486,323,494,323);

rectangle(494,260,506,360);

rectangle(120,250,140,260);

rectangle(490,250,510,260);

rectangle(260,200,310,240);

rectangle(281,240,289,292);

rectangle(278,292,292,297);

line(281,170,281,200);

line(289,170,289,200);

line(136,170,166,170);

line(166,162,186,170);

line(166,170,186,162);

line(166,170,166,162);

line(186,170,186,162);

line(136,162,166,162);

line(186,170,281,170);

line(289,170,325,170);

line(333,170,454,170);

line(474,170,494,170);

line(186,162,454,162);

line(454,162,454,170);

line(474,162,474,170);

line(476,220,476,390);

line(454,170,474,162);

line(454,162,474,170);

line(474,162,494,162);

line(136,170,136,250);

line(325,170,325,190);

line(333,170,333,182);

line(325,190,476,190);

line(333,182,486,182);

line(494,170,494,250);

setfillstyle(1,9);

bar(90,409,550,391);

bar(125,371,135,392);

bar(495,371,505,392);

float c1=0;

while(c1<250)

{setfillstyle(1,9);

bar(0,60-c1/9,640,60-c1/9);

delay(30);c1+=2.6;

setfillstyle(1,9);

bar(0,60,640,110);

line(0,60,640,60);

line(494,60,494,162);

line(506,60,506,250);

line(124,60,124,250);

line(136,60,136,162);

delay(30);c1+=2.6;}

int k=0;

while(k<300)

{

setfillstyle(1,4);

bar(120,250,140,260);

bar(490,250,510,260);

setfillstyle(1,9);

bar(495,k+60,505,k+60);

bar(125,k+60,135,k+60);

delay(25);k++;}

float q=0;

while(q<200)

{rectangle(278,292,292,297);

line(281,282,281,292);

line(289,282,289,292);

setfillstyle(1,9);

bar(135+q,314,150+q,324);

bar(500-q,314,467-q,322);

bar(151+q,286,160+q,354);

bar(465-q,286,450-q,354);

delay(15);q+=0.9;}

float w=0;

while(w<37)

{setfillstyle(1,9);bar(282,293-w,288,278-w);

delay(15);w+=0.8;}

float e=0;

while(e<37)

{ setfillstyle(1,9);

bar(261,239-e,309,238-e);

delay(15);e+=0.8;}

float t=0;

while(t<67)

{setfillstyle(1,9);

bar(282,230-t,288,239-t);

delay(15);t+=0.8;}

float y=0,u=0;

while(y<177)

{setfillstyle(1,9);

bar(276-y/2,163,277+y,169);

delay(10);y+=1.2;

bar(326,170+u/9,332,168+u/9);

delay(15);u+=1.1; }

float z=0;

while(z<96)

{

setfillstyle(1,9);

bar(390+z,183,326+z,189);

delay(15);

z+=0.9;}

float i=0;

while(i<192)

{line(476,200,476,220);

line(486,200,486,220);

line(476,220,476,390);

line(486,220,486,390);

setfillstyle(1,9);

bar(477,i+189,485,i+200);

delay(15);

i+=1;}

float o=0;

while(o<27)

{setfillstyle(1,0);

bar(0,30+o,640,33+o);

delay(20);o+=0.8;}

int x=0;

while(x<300)

{

setfillstyle(1,4);

bar(120,250,140,260);

bar(490,250,510,260);

setfillstyle(1,0);

bar(495,x+60,505,x+60);

bar(125,x+60,135,x+60);

delay(25);x++;}

float a=0;

while(a<200)

{setfillstyle(1,15);

bar(120,250,140,260);

bar(490,250,510,260);

rectangle(278,292,292,297);

line(281,282,281,292);

line(289,282,289,292);

setfillstyle(1,0);

bar(135+a,314,150+a,324);

bar(500-a,314,467-a,322);

bar(151+a,286,160+a,354);

bar(465-a,286,450-a,354);

delay(15);a+=0.9;}

float s=0;

while(s<37)

{setfillstyle(1,0);

bar(282,293-s,288,278-s);

delay(15);s+=0.8;}

float d=0;

while(d<37)

{ setfillstyle(1,0);

bar(261,239-d,309,238-d);

delay(15);d+=0.8;}

float f=0;

while(f<67)

{setfillstyle(1,0);

bar(282,230-f,288,239-f);

delay(15);f+=0.8;}

float g=0;

while(g<177)

{setfillstyle(1,0);

bar(276-g/2,163,277+g,169);

delay(10);g+=1.2;

}

float h=0;

while(h<177)

{setfillstyle(1,0);

bar(326,170+h/9,332,168+h/9);

delay(15);h+=1.1; }

float j=0;

while(j<96)

{

setfillstyle(1,0);

bar(390+j,183,326+j,189);

delay(15);j+=0.9;}

float l=0;

while(l<192)

{line(476,200,476,220);

line(486,200,486,220);

line(476,220,476,390);

line(486,220,486,390);

setfillstyle(1,0);

bar(477,l+189,485,l+200);

delay(15);

l+=1;}

getch(); }

void posuha(void)

{cleardevice();

line(90,410,550,410);

rectangle(120,360,140,370);

line(124,370,124,390);

line(136,370,136,390);

rectangle(490,360,510,370);

line(494,370,494,390);

line(506,370,506,390);

line(136,390,476,390);

line(90,390,124,390);

line(506,390,550,390);

line(486,390,494,390);

line(476,190,476,200);

line(476,220,476,390);

line(486,182,486,200);

line(486,200,476,200);

line(486,220,476,220);

line(486,220,486,390);

line(476,200,486,220);

line(476,220,486,200);

line(124,260,124,360);

line(136,325,136,360);

line(150,355,466,355);

line(150,325,150,355);

line(466,324,466,355);

line(136,325,150,325);

line(136,313,150,313);

line(136,260,136,313);

line(150,285,150,313);

line(150,285,281,285);

line(289,285,466,285);

line(466,285,466,313);

line(466,313,476,313);

line(466,323,476,323);

line(486,313,494,313);

line(486,323,494,323);

rectangle(494,260,506,360);

rectangle(120,250,140,260);

rectangle(490,250,510,260);

rectangle(260,200,310,240);

rectangle(281,240,289,292);

rectangle(278,292,292,297);

line(281,170,281,200);

line(289,170,289,200);

line(136,170,166,170);

line(166,162,186,170);

line(166,170,186,162);

line(166,170,166,162);

line(186,170,186,162);

line(136,162,166,162);

line(186,170,281,170);

line(289,170,325,170);

line(333,170,454,170);

line(474,170,494,170);

line(186,162,454,162);

line(454,162,454,170);

line(474,162,474,170);

line(476,220,476,390);

line(454,170,474,162);

line(454,162,474,170);

line(474,162,494,162);

line(136,170,136,250);

line(325,170,325,190);

line(333,170,333,182);

line(325,190,476,190);

line(333,182,486,182);

line(494,170,494,250);

setfillstyle(1,9);

bar(90,409,550,391);

bar(125,371,135,392);

bar(495,371,505,392);

setfillstyle(1,15);

bar(120,360,140,370);

bar(490,360,510,370);

setfillstyle(1,15);

bar(120,250,140,260);

bar(490,250,510,260);

setfillstyle(1,9);

bar(0,90,640,110);

line(0,60,640,60);

line(494,60,494,162);

line(506,60,506,250);

line(124,60,124,250);

line(136,60,136,162);

setfillstyle(1,4);

bar(120,360,140,370);

bar(490,360,510,370);

int c=0,v=0;

while(c<96)

{

setfillstyle(1,9);

bar(495,359-c,505,356-c);

bar(125,359-c,135,356-c);

delay(25);c++;

bar(135+v/2,314,150+v/2,324);

bar(500-v,314,467-v,322);

bar(151+v/1.3,286,160+v/1.3,354);

bar(465-v,286,450-v,354);

delay(15);v+=2.9;}

float w=0;

while(w<37)

{setfillstyle(1,9);

bar(282,293-w,288,278-w);

delay(15);w+=0.8;}

float e=0;

while(e<37)

{ setfillstyle(1,9);

bar(261,239-e,309,238-e);delay(15);e+=0.8;}

float t=0;

while(t<67)

{

setfillstyle(1,9);

bar(282,230-t,288,239-t);

delay(15);t+=0.8;}

float y=0;

while(y<229)

{setfillstyle(1,9);

line(166,170,186,170);

line(166,162,186,162);

line(454,170,474,170);

line(454,162,474,162);

bar(276-y/1.55,163,277+y,169);

delay(10);y+=1.2;}

float k1=0;

while(k1<187)

{

setfillstyle(1,9);

bar(495,248-k1,505,249-k1);

bar(125,248-k1,135,249-k1);

delay(25);k1+=1.3;}

float k2=0;

while(k2<28)

{

setfillstyle(1,9);

line(494,60,494,162);

line(506,60,506,250);

line(124,60,124,250);

line(136,60,136,162);

bar(0,89-k2,649,89-k2);

delay(10);k2+=0.7; }

int c1=0,v1=0;

while(c1<96)

{setfillstyle(1,15);

bar(120,360,140,370);

bar(490,360,510,370);

setfillstyle(1,0);

bar(495,359-c1,505,356-c1);

bar(125,359-c1,135,356-c1);

delay(25);c1++;

bar(135+v1/2,314,150+v1/2,324);

bar(500-v1,314,467-v1,322);

bar(151+v1/1.3,286,160+v1/1.3,354);

bar(465-v1,286,450-v1,354);

delay(15);v1+=2.9;}

float w1=0;

while(w1<37)

{setfillstyle(1,0);

bar(282,293-w1,288,278-w1);

delay(15);w1+=0.8;}

float e1=0;

while(e1<37)

{ setfillstyle(1,0);

bar(261,239-e1,309,238-e1);

delay(15);e1+=0.8;}

float t1=0;

while(t1<67)

{setfillstyle(1,0);

bar(282,230-t1,288,239-t1);

delay(15);t1+=0.8;}

float y1=0;

while(y1<229)

{setfillstyle(1,0);

line(166,170,186,170);

line(166,162,186,162);

line(454,170,474,170);

line(454,162,474,162);

bar(276-y1/1.55,163,277+y1,169);

delay(10);y1+=1.2;}

float k3=0;

while(k3<187)

{setfillstyle(1,0);

bar(495,248-k3,505,249-k3);

bar(125,248-k3,135,249-k3);

delay(25);k3+=1.3;}getch();}

void program(){

int x2,x1=0;

setbkcolor(0);

cleardevice();

printf("Введіть рівень води(-100...100)=",x2);

scanf("%d",&x2);

if (x1
{povin();}

else

{posuha();}

cleardevice();

fon();menu(1); }

Висновок

Зараз важко уявити будь-яку галузь математики без комп’ютерів.

Часто доводиться зустрічатись із складними завданнями і проце-

сами ,виконання яких потребує багато часу і зусиль.Для полегшен-ня цих завдань створюються програми такого типу,як дана курсова робота. Завдяки цій курсовій роботі я закріпив здобуті теоретичні знання з курсу “Програмування та алгоритмічні мови”,навчився застосувати їх при вирішенні питань виробничого характеру. Склав програму, яка графічно відображає режим роботи водорегулюючо- го вузла.

Література

1.Герберт Шілдт,” Самоучитель на С и С++”,

“Ирина”, BHV,Санкт-Пітербу


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат