Міністерство освіти та науки України

Український державний університет водного господарства і
природокористування

Кафедра електротехніки і автоматики

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

з дисципліни:

Програмування і алгоритмічні мови

На тему:

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

Виконав:

Студент 1 курсу

ФПМ і КІС,АУТП-12

Шимків М.Б.

Перевірив:

Пастушенко В.Й.

Рівне 2002

Завдання

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

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

Кафедра

Дисципліна

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

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

ЗАВДАННЯ

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

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

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

Похожие записи