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

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

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

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

з дисципліни “Програмування і алгоритмічні мови”

на тему: “Розробка програми для відображення динамічних
характеристик перетворювачів інформації”

Виконав
ст. 1 курсу 1 групи

спец. “Автоматизоване

управліня технологічними

процесами ”

Подранецький Оелександр

Керівник Пастушенко В. Й.

Рівне 2002

Завдання

Скласти на одній з алгоритмічних мов програму, що запускається і видає
на екран меню з двох пунктів (табуляція, знаходження кореня, вихід).

На вибір першої опції меню видати на екран таблицю всіх значень функції
трьох аргументів:

де Х (заданий масивом з 5 елементів — ввести з клавіатури), Y заданий
на інтервалі [-2.4;1.8] із кроком h=0.6 і Z (заданий масивом з 7
елементів – ввести з клавіатури).

На вибір другої опції чи меню натисканні користувачем на клавішу ESC
здійснити вихід із програми. найменування вищого учбового закладу)

Кафедра

Дисципліна

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

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

ЗАВДАННЯ

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

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

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

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

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

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

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

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

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

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

Студент

(підпис)

Керівник

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

“______” ___________________ 20 ___ р.

Зміст

Вступ…………………………………………………5

Змістовна постановка задачі……………………………….6

Алгоритм розв’зку задачі……………………………………7

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

Пояснення до програми……………………………………..18

Інструкція користувача………………………………………19

Список використаної літератури…………………………20

Вступ.

База даних – це єдине, централізоване сховище даних певної предметної
діяльності, до якої мають доступ багато програм. Кожна програма має
доступ до конкретних баз даних за допомогою спеціальних програм, які
одержали назву системи управління базами даних.

Бази даних мають декілька рівнів представлення. Найнижчий – це фізичний,
на якому дані представляються байтами на певних типах пристроїв для
запам’ятовування. Фізичний рівень представлення баз даних доступний
тільки для вузького кола спеціалісті.

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

Таким чином, в базах дані розробляються і зберігаються як єдине ціле
вінтересах розв’язування всіх задач предметної області.

Змістовна постановка задачі.

Давач витрат складається із первиного перетворювача витрати і
вимірювального пристрою або передаючого перетворювача. Ервинний
перетворювач (датчик) представляє собою виготовлений із немагнітного
матеріалу учосток труби розміщений між полюсами електромагнітаю.
Вимірювана рідина при протіканні по трубі пересікає силові лінії
магнітного поля. При цьому в рідині, як і в рухомому провіднику
індукується ЕРС, пропорційна середній швидкості потоку, а відповідно,і
об’ємній витраті потоку. Індукована ЕРС знімається двума електродами.

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

База даних повинна включати такі параметри:

Тип

Діаметер

Верхні границі швидкості потоку вимірюємого соредовища

Клас точності

Потужність

Температура

Габаритні розміри

Маса

Виробник

Алгоритм розв’язку.

запит

Створення бази даних

Створення нових записів

редагування

Видалення записів

Пошук записів

Перегляд бази даних

вихід

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

#include

#include

#include

#include

#include

char m1[6][15],*m,*m2;

int ff;

char filename[20];

FILE *pf,*pf1;

float vc[10]={1.25,1.6,2.0,2.5,3.2,4.0,5.0,6.0,8.0,10.0};

int size=104;

struct sp

{

//—-структура запису

int n;

char typ[10];

float d;

float v[10];

float kl;

float pot;

float t1;

float t2;

float g1;

float g2;

float mas;

char post[20];

} st;

//—————————————

//——титулка

void titul()

{

int gdriver=DETECT,gmode,errorcode;

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

errorcode=graphresult();

if(errorcode!=grOk)

{printf(«Graphics error:%s\n»,grapherrormsg(errorcode));

printf(«Press any key to halt:»);

getch();exit(1);}

setcolor(1);

rectangle(10,10,630,467);

settextstyle(0,0,3);

setcolor(2);

outtextxy(160,86,»КУРСОВА РОБОТА»);

settextstyle(0,0,1);

setcolor(4);

outtextxy(280,126,»на тему:»);

settextstyle(0,0,1);

setcolor(6);

outtextxy(200,146,»‘створення бази даних'»);

outtextxy(60,156,» «);

setcolor(8);

outtextxy(440,300,» Виконав:»);

setcolor(7);

outtextxy(440,310,» студент 1-го курсу»);

outtextxy(440,320,» факультет:ПМ i KIС»);

outtextxy(440,330,» спецiальнiсть:АУТП-12″);

outtextxy(440,340,» Подранецький Олександ»);

setcolor(2);

outtextxy(275,450,»РIВНЕ-2002″);

getch();

closegraph();

}

//—————————————

float a,b;

//——функція організації меню

int menu(char m[6][15],int k)

{

int w,i,b;

int graphdriver = DETECT,gmode,errorcode;

printf(«as:%s\n»);

initgraph(&graphdriver,&gmode,»c:\\bc5\\bgi»);

errorcode=graphresult();

if(errorcode!=grOk)

{printf(«Error»);

exit(1);

}

w=1;

setcolor(2);

settextstyle(2,0,30);

outtextxy(50,50,m[0]);

setcolor(15);

for(i=1;i1)

{ setcolor(15);

outtextxy(50,50+(w-1)*50,m[w-1]);

w—;

setcolor(2);

outtextxy(50,50+(w-1)*50,m[w-1]);

}

if (i==80)

if (w«);

scanf(» %f»,&st1.d);

if(st1.d!=0) { printf(«<"); scanf(" %f",&st2.d);} for(j=0;j<10;j++) { printf("введiть верхню межу швидкостi при v=%4.2f ",vc[j]); printf(">«);

scanf(» %f»,&st1.v[j]);

if(st1.v[j]!=0){ printf(«<"); scanf(" %f",&st2.v[j]); } }; printf("введiть клас точностi"); printf(">«);

scanf(» %f»,&st1.kl);

if(st1.kl!=0) { printf(«<"); scanf(" %f",&st2.kl);} printf("введiть потужнiсть"); printf(">«);

scanf(» %f»,&st1.pot);

if(st1.pot!=0) { printf(«<"); scanf(" %f",&st2.pot);} printf("введiть температуру 1 "); printf(">«);

scanf(» %f»,&st1.t1);

if(st1.t1!=0) {printf(«<"); scanf(" %f",&st2.t1); } printf("введiть температуру 2 "); printf(">«);

scanf(» %f»,&st1.t2);

if(st1.t2!=0) { printf(«<"); scanf(" %f",&st2.t2);} printf("введiть габаритний дiаметер "); printf(">«);

scanf(» %f»,&st1.g1);

if(st1.g1!=0) { printf(«<"); scanf(" %f",&st2.g1);} printf("введiть довжину "); printf(">«);

scanf(» %f»,&st1.g2);

if(st1.g2!=0) { printf(«<"); scanf(" %f",&st2.g2); } printf("введiть масу "); printf(">«);

scanf(» %f»,&st1.mas);

if(st1.mas!=0) { printf(«<"); scanf(" %f",&st2.mas); } printf("введiть поставщика "); scanf(" %s",&st1.post); if ((pf=fopen(filename,"r+"))==NULL) {printf("Error");exit(1); }; rewind(pf); fread(&q,2,1,pf); fseek(pf,2,0); for(i=0;i=st2.d)) p=0;

for(j=0;j<10;j++) if(st1.v[j]!=0) if ((st.v[j]<=st1.v[j])||(st.v[j]>=st2.v[j])) p=0;

if(st1.kl!=0) if ((st.kl<=st1.kl)||(st.kl>=st2.kl)) p=0;

if(st1.pot!=0) if ((st.pot<=st1.pot)||(st.pot>=st2.pot)) p=0;

if(st1.t1!=0) if ((st.t1<=st.t1)||(st.t1>=st2.t1)) p=0;

if(st1.t2!=0) if ((st.t2<=st1.t2)||(st.t2>=st2.t2)) p=0;

if(st1.g1!=0) if ((st.g1<=st1.g1)||(st.g1>=st2.g1))p=0;

if(st1.g2!=0) if ((st.g2<=st1.g2)||(st.g2>=st2.g2)) p=0;

if(st1.mas!=0) if ((st.mas<=st1.mas)||(st.mas>=st2.mas)) p=0;

m=st1.post;m2=st.post;

if(st1.post[0]!=’0′) if (por()==0) p=0;

if(p==1)

{

//———-виведення на екран

printf(» \n№ %d»,st.n);

printf(» \nтип %s»,st.typ);

printf(» \nдiаметер %f «,st.d);

for(j=0;j<10;j++) printf(" \nверхня межа швидкостi при v=%4.2f %f",vc[j],st.v[j]); printf("\n клас точностi %f",st.kl); printf(" \nпотужнiсть %f",st.pot); printf("\nтемпература 1 %f",st.t1); printf("\nтемпературу 2 %f",st.t2); printf("\nгабаритний дiаметер %f",st.g1); printf(" \nдовжина %f",st.g2); printf(" \nмаса %f",st.mas); printf(" \nпоставщик %s ",st.post); getch(); } } getch(); fclose(pf); } //----------------------------------------------------------- //----основна функція void main() { int r,q; titul(); ttt: printf("\nстворити нову БД[1]\n вiдкрити БД[2]\n "); scanf(" %d",&q); ff=0; //---запит на відкритя чи створення бази даних switch(q) { case 1: printf("\nвведiть назву новоi БД "); scanf(" %s",&filename); ff=1; break; case 2: printf("\nвведiть назву БД "); scanf(" %s",&filename); break; default: goto ttt; } if(ff==0) if ((pf=fopen(filename,"r+"))==NULL) {printf("Error");goto lll; } printf("ok"); getch(); fclose(pf); //-----назви пунктів меню m1[0][0]='n'; m1[0][1]='e'; m1[0][2]='w'; m1[1][0]='e'; m1[1][1]='d'; m1[1][2]='i'; m1[1][3]='t'; m1[2][0]='s'; m1[2][1]='e'; m1[2][2]='a'; m1[2][3]='r'; m1[2][4]='c'; m1[2][5]='h'; m1[3][0]='d'; m1[3][1]='e'; m1[3][2]='l'; m1[3][3]='e'; m1[3][4]='t'; m1[3][5]='e'; m1[4][0]='d'; m1[4][1]='i'; m1[4][2]='r'; m1[5][0]='e'; m1[5][1]='x'; †???????†??????? //-------організація меню uuu: r=menu(m1,6); closegraph(); clrscr(); switch(r) { case 1: neww(); goto uuu; case 2: if(ff==0) edit(); goto uuu; case 3: if(ff==0) search(); goto uuu; case 4: if(ff==0) delet(); goto uuu; case 5: if(ff==0) dir(); goto uuu; case 6: break; } if ((pf1=fopen("test1.txt","w+"))==NULL) {printf("Error");exit(1); }; fclose(pf1); lll: } Пояснення до програми. Програма складається з восьми функцій, не вроховуючи голвної. Функція “titul” призначена для виводу повної такстової інформації в графічному режимі перед безпосереднім виконанням програми. Функція “menu” організовує меню. Вхідними параметрами є двовимірний масив, в якому записано назви пунктів меню, та дане цілого типу через яке передається кількість пунктів меню. Функція “neww” призначена для створеня нових даних в базі даних, або для створення нової бази даних. Користувач вводить інформацію, яку потрібно додати в базу даних. Оскільки в кінець уже створеного файлу записувати не можна, то програма відкриває іще один файл. В нього переписуються дані збази даних, а в кінець дописуються нові дані. Потім база даних відкривається програмою в режимі запису, і в неї переписується інформація з додаткового файлу. Функція “edit” призначена для редагування даних. Користувач вводить номери записів які потрібно відредагувати, по цим номерам програма знаходить відповідне місце в файлі куди і записується, на місце старої, нова (введена користувачем) інформація. Функція “dir” призначена для перегляду бази даних. Перегляд відбувається наступним чином: на початку файлу зчитується кількість записів, які зберігаються в базі даних. Потім програма через цикл зчитує дані і виводить їх на екран. Фунуція “delete” призначена для видалення даних з бази даних. Користувач вводить номери записів які потрібно знищити. Програма відкриває ще один, допоміжний, файл, в нього переписує базу даних без записів вказаних користувачем. Потім відкриває базу даних в режимі запису і записує туди всі дані з допоміжного файлу. Функція “search” призначена для пошуку даних. Користувач вводить параметри по яким робиться вибірка: якщо дане має тип рядок то користувач повинен ввести також дане типу рядок (можна використовувати символи ‘*’, ‘?’), якщо дане має числовий тип то користувач вводить діапазон з двох чисел. Програма послідовно зчитує дані з бази даних і якщо вони задовільняють умовам то виводить їх на екран. Функція “por” порівнює між собою рядки. Вхідними параметрами є два масиви символьного типу, а вихідним параметром є число яке набуває значань 0, 1 – при рівності і нерівності рядків відповідно. Через головну функцію відбувається взаємозвязок цих всіх функцій. Інструкція користувача. При запуску програми видається запит:відкрити базу даних, створити базу даних. Якщо ми не маємо створеної бази даних або хочемо створити нову базу даних то вибираємо пункт “створити базу даних”. Далі вибираємо опцію меню “new”, вказуємо кількість нових записів і вводимо дані. Якщо ми маємо вже базу даних то для роботи з нею можна користуватися наступними опціями меню. “edit”- за допомогою даної опції можна коректувати дані. Для цьго потрібно спочатку ввести кількість записів які потрібно відредагувати потім номери цих записів. І наступним кроком відредагувати дані. “delete”-за допомогою даної опції можна видаляти дані з бази даних. Потрібно, вибравши спочатку дану опцію, ввести кількість зарписів які потрібно вилучити, а потім нумера даних записів. “search”- для пошуку даних в базі даних по заданих критеріях. Якщо дане поля число то потрібно задати межі цього поля. Якщо дане типу рядок то вводимо також якийсь рядок (можна користуватись символами '*', '?'. “dir”- опція для перегляду бази даних. Список використаної літератури Глинський Я. М. Інформатика: Пробний навч. посібник. Львів 1992. Перхач В. С., Скрипник О.І. Обчислювальна техніка в електроенергетичних розрахунках. Львів 1992. Крис Паппас, Уильям Мюррей Программирование на С и С++. Киев 200 Ця курсова робота люб'язно надана HYPERLINK "http://rivneclub.narod.ru/kontakt.html" Олександром Подранецьким PAGE PAGE 21

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