Рішення логічних задач за допомогою діаграм Ейлера-Венна

Розробка графічного призначеного для користувача інтерфейсу на мові С++. Використання кіл Ейлера. Виведення зображення діаграми для двох та трьох множин. Реалізація проекту в середовищі С++ Builder. Аналіз результатів комп'ютерної реалізації програми.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 11.06.2018
Размер файла 617,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ВСТУП

Розробником мови С++ є Берн Страуструп. В своїй роботі він спирався на досвід творців мов Симула, Модула 2, абстрактних типів даних. Основні роботи велися в дослідницькому центрі компанії Bell Labs.

Безпосередній попередник С++ - мова Сі з класами - з'явилася в 1979 року, а в 1997 року був прийнятий міжнародний стандарт С++, який фактично підвів підсумки його 20-річного розвитку. Ухвалення стандарту забезпечило одноманітність всіх реалізацій мови С++. Не менше важливим результатом стандартизації став той, що в процесі вироблення і затвердження стандарту мова була уточнена і доповнена рядом існуючих можлимвостей.

На сьогодні стандарт затверджений Міжнародною організацією по стандартизації ISO. Його номер ISO/IEC 14882. ISO безкоштовні стандарти не поширює. Його можна отримати на вузлі американського національного комітету із стандартів в інформаційних технологіях:

Мова С++ є універсальною мовою програмування, на додаток до якої розроблений набір різноманітних бібліотек. Тому, строго кажучи, він дозволяє вирішити практично будь-яку задачу програмування. Проте, через різні причини (не завжди технічні) для якихось типів задач він вживається частіше, а для якихось - рідше.

С++ як наступник мови Сі широко використовується в системному програмуванні. На ньому можна писати високоефективні програми, у тому числі операційні системи, драйвери і т.п. Мова С++ - одна з основних мов розробки трансляторів.

Оскільки системне програмне забезпечення часто буває написано на мові Сі або С++, то і програмні інтерфейси до підсистем ОС теж часто пишуть на С++. Відповідно, ті програми, навіть і прикладні, які взаємодіють з операційними системами, написані на мові С++.

Розподілені системи, що функціонують на різних комп'ютерах, також розробляються на мові С++. Цьому сприяє те, що в широко поширених компонентних моделей CORBA і COM є зручні інтерфейси на мові С++.

Обробка складних структур даних - тексту, бізнес-інформації, Internet-сторінок і т.п., - одна з найбільш поширених можливостей застосування мови. В прикладному програмуванні, напевно, простіше назвати ті області, де мова С++ застосовується мало.

Розробка графічного призначеного для користувача інтерфейсу на мові С++ виконується, в основному, тоді, коли необхідно розробляти складні, нестандартні інтерфейси. Прості програми частіше пишуться на мовах Visual Basic, Java і т.п.

Програмування для Internet в основному виробляється на мовах Java, VBScript, Perl.

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

Мову програмування С++ створив Берн Страуструп на базі звичайної Із створеної Денісом Рітчі). С++ є звичайним розширенням мови С. Окрім стандартних команд, сюди увійшли засоби для об'єктно-орієнтованого програмування. С++ беручи в світі мова об'єктно-орієнтованого програмування, суть якої полягає в об'єднанні даних та алгоритмів в єдине ціле.

Програми складені на мові С++ є мобільними, тобто можуть бути виконані на комп'ютерах різних виробників і в різних операційних системах.

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

Програмний код необхідно перекласти на внутрішню мову комп'ютера тобто створити машинний код. Цю операцію виконує компілятор мови програмування.

Алфавіт (або кількість літер) мови програмування C++ грунтується на кількості символів, таблиць, кодів ASCII. Алфавіт C++ включає: рядкові і прописні букви латинського алфавіту (ми їх будемо называти буквами)

цифри від 0 до 9 (назвемо їх буквами-цифрами )

символ ' ' (підкреслення - також вважається буквою)

набір спеціальних символів:

" { > . І [ ] + - % / \ І ' : ? <> = ! & # ~ А **

Та інші символи.

Алфавіт C++ служить для побудови слів, які в C++ називаються лексемами.

Слова - поділяють на ключові слова та ідентифікатори.

Ідентифікатор - це назва (ім'я) яку користувач надає об'єктам наприклад змінним, сталим, функціям. Ідентифікатор може містити в собі букви латинського алфавіту (рядкові чи прописні), цифри чи знак підкреслення. Але завжди починається з букви чи символу підкреслення.

Однакові за змістом малі та великі літери в мові С++ вважаються різними символами. Напріклад: імена MyName та myname позначають різні об'єкти.

Ключові слова - зарезервовані ідентифікатори використовуються для написання команд. Змінити призначення ключового слова в програмі не можна.

Структури - це не що інше, як класи, в яких дозволений доступ до всіх їхніх елементів (доступ до певних атрибутів класу може бути обмежений.

Приклад структури:

//Перша програма на мові С++ //коментарі (назва програми)

#include <iostream.h> #include <назва бібліотечного файлу>

int main() void main ()

{

cout <<"Перша програма на мові С++!"; <тіло функції>

return 0;

}

#include <назва бібліотечного файлу> - з допомогою цього запису приєднуються бібліотечні файли які відповідають за виконання різних частин програми (ввід/вивід інформації на екран, математичні операції і .т.д.)

int main() - обов'язкова функція. Ключове слово Int означає, що: функція main() повертатиме в точку виклику результат цілого типу.

Основною метою курсової роботи є покращення знань з основних понять теорії множин та поглиблення знань з рішення логічних задач за допомогою Діаграм Ейлера-Венна. Написання програми, щоб обчислювала завдання для двох та трьох множин.

множина коло ейлер програма

1. АНАЛІЗ ЗАВДАННЯ ТА РОЗРОБКА МЕТОДУ ВИРІШЕННЯ

1.1 Множина

Множину можна уявити собі як сукупність деяких об'єктів, що об'єднані за якоюсь ознакою. У математиці множини -- це одне з основних неозначуваних понять.

Кожний об'єкт, що входить до множини А, називається елементом цієї множини.

Зазвичай елементи позначають малими латинськими літерами: a, b, c, d тощо.Якщо a належить множині A, то пишуть a ? A (читають: «a належить множині A»). Якщо b не належить множині A, то пишуть b ? A (читають: «b не належить множині A»).

Множина, що не містить жодного елемента, називається порожньою множиною і позначається ?.

Дві множини A і B називають рівними, якщо вони складаються з одних і тих самих елементів, тобто кожний елемент множини A належить множині B, і навпаки, кожний елемент множини B належить множині A.

Якщо множини A і B рівні, то пишуть A = B.

З означення випливає, що множина однозначно визначається своїми елементами.

Для ілюстрації співвідношень між множинами використовують схеми, які називають діаграмами (кругами) Ейлера-Венна.

1.2 Підмножина

Якщо кожен елемент однієї множини A є елементом другої множини B,то кажуть, що перша множина A є підмножиною другої множини B і записують так: A? B (рис 1.2).

Рисунок 1.2 - Діаграма A? B

Використовують також запис A ? B, якщо множина A або є підмножиною множини B, або дорівнює множині B.

1.3 Операції над множинами. Перетин (переріз) множин

Перетином множин AіB називають множину, яка складається з усіх елементів, що належать і множині A, і множині B. Перетин множин A і B позначають так: A?B(рис 1.3).

Рисунок 1.3 - Діаграма A?B

1.4 Об'єднання множин

Об'єднанням множин A і B називають множину, яка складається з усіх елементів, що належать хоча б одній з цих множин: або множині A, або множині B. Об'єднання множин A і B позначають так: A?B(рис 1.4).

Рисунок 1.4 - Діаграма A?B

1.5 Різниця множин

Різницею множин А і В називається множина, яка складається з усіх елементів, які належать множині А і не належать множині В. Різницю A і B позначають так: A?B(рис 1.5).

Рисунок 1.5 - Діаграма A?B

1.6 Доповнення множини

Якщо всі множини, які ми розглядаємо, є підмножинами якоїсь так званої універсальної множини U, то різниця U \ A називається доповненням множини A. Тобто доповненням множини A називається множина, яка складається з усіх елементів, які не належать множині А (але які належать універсальній множині U)(рис 1.6). Доповнення множини A позначають так: (рис).

Рисунок 1.6 - Діаграма U \ A

1.7 Діаграми Венна

Діаграма Венна (англ. Venn diagram) -- діаграма, що показує всі можливі логічні відношення для скінченного набору множин.

Діаграми Венна придумані приблизно в 1880 Джоном Венном.

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

Окрім діаграм Венна, для зображення множин використовують також кола Ейлера. Кола Ейлера використовуються для зображення всіх можливих відношень між різними множинами, в тому числі і таких коли одна множина містить іншу або взагалі відсутні перетини множин. Діаграма Венна зображує, всі можливі перетини множин. Всього таких перетинів буде , де n -- кількість множин. Для трьох множин діаграма Венна звичайно зображується у вигляді трьох кіл з центрами в вершинах рівностороннього трикутника і однаковим радіусом, приблизно рівним довжині сторони трикутника.
При вирішенні цілого ряду завдань Леонард Ейлер використовував ідею зображення множин за допомогою кіл. Однак цим методом ще до Ейлера користувався видатний німецький філософ і математик Ґотфрід Вільгельм Лейбніц (1646-1716). Лейбніц використав їх для геометричної інтерпретації логічних зв'язків між поняттями, але при цьому все ж таки волів використовувати лінійні схеми.

Але досить ґрунтовно розвинув цей метод сам Л. Ейлер. Методом кіл Ейлера користувався і німецький математик Ернст Шредер (1841-1902) у книзі «Алгебра логіки». Особливого розквіту графічні методи досягли в творах англійського логіка Джона Венна (1843-1923), який докладно виклав їх у книзі «Символічна логіка», виданій в Лондоні в 1881 році. Тому такі схеми іноді називають Діаграми Ейлера -- Венна.

1.8 Круги Ейлера

Використання кіл Ейлера приписують Леонарду Ейлеру (1707-1783), який використовував ідею зображення множин за допомогою кіл. Однак цим методом ще до Ейлера користувався видатний німецький філософ і математик Ґотфрід Вільгельм Лейбніц (1646-1716).

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

Леонард Ейлер був геніальним математиком, який умів застосовувати математичні прийоми на практиці. Він успішно використав для вирішення різних завдань ідею зображення понять і класів предметів у вигляді кіл. Вперше Ейлера їх застосував у листах до німецької принцесі. Він писав тоді, що «кола дуже підходять для того, щоб полегшити наші роздуми». І дійсно, з допомогою цих графіків можна легко і наочно розв'язати завдання, для вирішення яких звичайним способом знадобилося б складання системи з декількох рівнянь, наприклад, з трьома невідомими.

Спосіб зображення понять у вигляді кіл дозволяє розвивати уяву і логічне мислення не тільки дітям, але і дорослим (звичайно, для дорослих підійдуть більш складні завдання). Починаючи з 4-5 років дітям доступно рішення найпростіших завдань з колами Ейлера, спочатку з роз'ясненнями дорослих, а потім і самостійно. Оволодіння методом вирішення завдань з допомогою кіл Ейлера формує у дитини здатність аналізувати, зіставляти, узагальнювати та об'єднувати свої знання для більш широкого застосування.

1.9 Побудова Діаграми Ейлера-Венна (рис 1.7)

Рисунок 1.7 - Побудована діаграма Ейлера-Венна

Побудова діаграми Ейлера-Венна починають з розбивки простору U на 2*областей (конституант) за допомогою п фігур (кругів Эйлера), де п - число різних множин, що входять у простір U. При цьому кожна наступна фігура повинна мати одну й тільки одну загальну область із кожної з раніше побудованих областей. Таку розбивку називають символом Венна.

Рисунок 1.8 - Побудована діаграма Ейлера-Венна для трьох множин

Нехай п = 3, тобто U ={M1, M2, M3}. Простір розіб'ється на 23=8 областей. При цьому множина M3 повинна бути так побудована, щоб вона мала одну загальну область із кожною з раніше побудованих областей:

Кожній з областей відповідає перетинання множин. Якщо тепер відзначити деякі області (відповідно до умови деякої задачі), то одержимо діаграму Ейлера-Венна. Об'єднання відзначених областей визначає деяка множина. Наприклад, діаграма Ейлера-Венна відповідає множині:М(M1, M2, M3) = .

2. СТРУКТУРА ПРОГРАМНОГО ПРОЕКТУ

2.1 Виведення зображення діаграми для двох множин

void OnTwoElipse()

{

//Фон

Form1->Shape1->Visible=true;

//Коло А

Form1->Shape2->Visible=true;

Form1->Label4->Visible=true;

Form1->Label1->Visible=true;

//Коло В

Form1->Shape3->Visible=true;

Form1->Label5->Visible=true;

Form1->Label2->Visible=true;

//Перетин кіл А і В

Form1->Label3->Visible=true;

}

2.2 Виведення зображення діаграми для трьох множин з перетином АВС

void OnThreeElipseDrawingOne()

{

//Фон

Form1->Shape4->Visible=true;

//Коло А

Form1->Shape5->Visible=true;

Form1->Label6->Visible=true;

Form1->Label9->Visible=true;

//Коло В

Form1->Shape6->Visible=true;

Form1->Label7->Visible=true;

Form1->Label10->Visible=true;

//Коло С

Form1->Shape7->Visible=true;

Form1->Label8->Visible=true;

Form1->Label11->Visible=true;

//Перетин кіл А і В

Form1->Label12->Visible=true;

//Перетин кіл В і С

Form1->Label13->Visible=true;

// Перетин кіл С і А

Form1->Label14->Visible=true;

//Перетин кіл А,В і С

Form1->Label15->Visible=true;

}

2.3 Виведення зображення діаграми для трьох множин без перетину АВС

void OnThreeElipseDrawingTwo()

{

///На "Фон и Кола:А,В,С" Трьох кіл

Form1->Shape8->Visible=true;

Form1->Shape10->Visible=true;

Form1->Shape11->Visible=true;

Form1->Shape9->Visible=true;

///На "назву кіл: А,В,С" Трьох кіл

Form1->Label18->Visible=true;

Form1->Label17->Visible=true;

Form1->Label16->Visible=true;

///На "Виводження результату :А,В,С,АВ,ВС" Трьох кіл Form1->Label22->Visible=true;

Form1->Label19->Visible=true;

Form1->Label23->Visible=true;

Form1->Label20->Visible=true;

Form1->Label21->Visible=true;

}

2.4 Виключення зображення діаграми для двох множин

void OffTwoElipse()

{

//Фон

Form1->Shape1->Visible=false;

//Коло А

Form1->Shape2->Visible=false;

Form1->Label4->Visible=false;

Form1->Label1->Visible=false;

//Коло В

Form1->Shape3->Visible=false;

Form1->Label5->Visible=false;

Form1->Label2->Visible=false;

//Перетин кіл А і В

Form1->Label3->Visible=false;

}

2.5 Виключення зображення діаграми для трьох множин з перетином АВС

void OffThreeElipseDrawingOne()

{

//Фон

Form1->Shape4->Visible=false;

//Коло А

Form1->Shape5->Visible=false;

Form1->Label6->Visible=false;

Form1->Label9->Visible=false;

//Коло В

Form1->Shape6->Visible=false;

Form1->Label7->Visible=false;

Form1->Label10->Visible=false;

//Коло С

Form1->Shape7->Visible=false;

Form1->Label8->Visible=false;

Form1->Label11->Visible=false;

//Перетин кіл А і В

Form1->Label12->Visible=false;

//Перетин кіл В і С

Form1->Label13->Visible=false;

// Перетин кіл С і А

Form1->Label14->Visible=false;

//Перетин кіл А,В і С

Form1->Label15->Visible=false;

}

2.6 Виключення зображення діаграми для трьох множин без перетину АВС

void OffThreeElipseDrawingTwo()

{

///На "Фон и Кола:А,В,С" Трьох кіл

Form1->Shape8->Visible=false;

Form1->Shape10->Visible=false;

Form1->Shape11->Visible=false;

Form1->Shape9->Visible=false;

//На "назву кіл: А,В,С" Трьох кіл

Form1->Label18->Visible=false;

Form1->Label17->Visible=false;

Form1->Label16->Visible=false;

///На "Виводження результату :А,В,С,АВ,ВС" Трьох кіл Form1->Label22->Visible=false;

Form1->Label19->Visible=false;

Form1->Label23->Visible=false;

Form1->Label20->Visible=false;

Form1->Label21->Visible=false;

}

2.7 Пошук значення Р- порожньої множини для трьох множин

void SearchPThreeElipse ()

{

int U,A,B,C,AB,BC,CA,ABC,A1,B1,C1,P1;

U=StrToInt(Form1->LabeledEdit6->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

ABC=StrToInt(Form1->LabeledEdit14->Text);

A1=A-(AB-ABC)-(CA-ABC)-ABC;

B1=B-(AB-ABC)-(BC-ABC)-ABC;

C1=C-(CA-ABC)-(BC-ABC)-ABC;

P1=U-(A1+B1+C1+AB+BC+ABC);

Form1->Edit2->Text="P = "+IntToStr(P1);

}

2.8 Пошук значення U- універсальна множини для трьох множин

void SearchUThreeElipse ()

{

int P,A,B,C,AB,BC,CA,ABC,A1,B1,C1,U1;

P=StrToInt(Form1->LabeledEdit7->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

ABC=StrToInt(Form1->LabeledEdit14->Text);

A1=A-(AB-ABC)-(CA-ABC)-ABC;

B1=B-(AB-ABC)-(BC-ABC)-ABC;

C1=C-(CA-ABC)-(BC-ABC)-ABC;

U1=P+(A1+B1+C1+AB+BC+ABC);

Form1->Edit1->Text="U = "+IntToStr(U1);

}

2.9 Пошук значення перетину для трьох множин

void SearchABCThreeElipse ()

{

int U,P,A,B,C,AB,BC,CA,A1,B1,C1,AB1,BC1,CA1,ABC1,U1;

U=StrToInt(Form1->LabeledEdit6->Text);

P=StrToInt(Form1->LabeledEdit7->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

U1=U-P;

ABC1=U1-(A-AB+B-BC+C-CA);

Form1->Label15->Caption=IntToStr(ABC1);

}

2.10 Пошук значення Р- порожньої множини для двох множин

void SearchPTwoElipse ()

{

int U,A,B,AB,P1,A1,B1;

U=StrToInt(Form1->LabeledEdit1->Text);

A=StrToInt(Form1->LabeledEdit3->Text);

B=StrToInt(Form1->LabeledEdit4->Text);

AB=StrToInt(Form1->LabeledEdit5->Text);

A1=A-AB;

B1=B-AB;

P1=U-(A1+B1+AB);

Form1->Edit4->Text="P = "+IntToStr(P1);

}

2.11 Пошук значення U- універсальна множини для трьох множин

void SearchUTwoElipse ()

{

int P,A,B,AB,A1,B1,U1;

P=StrToInt(Form1->LabeledEdit2->Text);

A=StrToInt(Form1->LabeledEdit3->Text);

B=StrToInt(Form1->LabeledEdit4->Text);

AB=StrToInt(Form1->LabeledEdit5->Text);

A1=A-AB;

B1=B-AB;

U1=P+(A1+B1+AB);

Form1->Edit3->Text="U = "+IntToStr(U1);

}

2.12 Пошук значення перетину для двох множин

void SearchABTwoElipse ()

{

int U,P,A,B,AB1,U1;

U=StrToInt(Form1->LabeledEdit1->Text);

P=StrToInt(Form1->LabeledEdit2->Text);

A=StrToInt(Form1->LabeledEdit3->Text);

B=StrToInt(Form1->LabeledEdit4->Text);

U1=U-P;

AB1=U1-(A+B);

Form1->Label3->Caption=IntToStr(AB1);

}

2.13 Очищення від ведених даних для трьох множин

void ClearThreeElipse ()

{

Form1->Edit1->Text="0";

Form1->Edit2->Text="0";

Form1->LabeledEdit6->Text="0";

Form1->LabeledEdit7->Text="0";

Form1->LabeledEdit8->Text="0";

Form1->LabeledEdit9->Text="0";

Form1->LabeledEdit10->Text="0";

Form1->LabeledEdit11->Text="0";

Form1->LabeledEdit12->Text="0";

Form1->LabeledEdit13->Text="0";

Form1->LabeledEdit14->Text="0";

}

2.14 Очищення від ведених даних для двох множин

void ClearTwoElipse ()

{

Form1->Edit3->Text="0";

Form1->Edit4->Text="0";

Form1->LabeledEdit1->Text="0";

Form1->LabeledEdit2->Text="0";

Form1->LabeledEdit3->Text="0";

Form1->LabeledEdit4->Text="0";

Form1->LabeledEdit5->Text="0";

}

2.15 Кнопка для обчислення двох множин

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int U,P,A,B,AB;

U=StrToInt(LabeledEdit1->Text);

P=StrToInt(LabeledEdit2->Text);

A=StrToInt(LabeledEdit3->Text);

B=StrToInt(LabeledEdit4->Text);

AB=StrToInt(LabeledEdit5->Text);

///Для виведення даних

Label1->Caption=IntToStr(A-AB);

Label2->Caption=IntToStr(B-AB);

if (AB>0) Label3->Caption=IntToStr(AB);

if (U>0) Edit3->Text="U = "+IntToStr(U);

if (P>0) Edit4->Text="P = "+IntToStr(P);

if (RadioButton4->Checked==true) SearchABTwoElipse();

if (RadioButton5->Checked==true) SearchUTwoElipse();

if (RadioButton6->Checked==true) SearchPTwoElipse();

///Для виведення малюнка кіл

OnTwoElipse();

///Виключення Трьох кіл

OffThreeElipseDrawingOne();

///Виключення Трьох кіл (2 мал.)

OffThreeElipseDrawingTwo();

}

2.16 Кнопка для обчислення трьох множин

void __fastcall TForm1::Button2Click(TObject *Sender)

{

int U,P,A,B,C,AB,BC,CA,ABC;

U=StrToInt(Form1->LabeledEdit6->Text);

P=StrToInt(Form1->LabeledEdit7->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

ABC=StrToInt(Form1->LabeledEdit14->Text);

///Для виведення даних

Label9->Caption=IntToStr(A-(AB-ABC)-(CA-ABC)-ABC);

Label10->Caption=IntToStr(B-(AB-ABC)-(BC-ABC)-ABC);

Label11->Caption=IntToStr(C-(CA-ABC)-(BC-ABC)-ABC);

Label12->Caption=IntToStr(AB-ABC);

Label13->Caption=IntToStr(BC-ABC);

Label14->Caption=IntToStr(CA-ABC);

if (ABC>0)Label15->Caption=IntToStr(ABC);

if (CA==0 && ABC==0)

{

OnThreeElipseDrawingTwo();

Label22->Caption=IntToStr(A-AB);

Label19->Caption=IntToStr(B-(B-AB)-(B-BC));

Label23->Caption=IntToStr(C-BC);

Label20->Caption=IntToStr(AB);

Label21->Caption=IntToStr(BC);

}

if (U>0) Edit1->Text="U = "+IntToStr(U);

if (P>0) Edit2->Text="P = "+IntToStr(P);

if (RadioButton1->Checked==true) SearchABCThreeElipse();

if (RadioButton2->Checked==true) SearchUThreeElipse();

if (RadioButton3->Checked==true) SearchPThreeElipse();

///Для виведення малюнка кіл

OnThreeElipseDrawingOne();

///Виключення двох кіл

OffTwoElipse();

}

2.17 Кнопка для очищення даних

void __fastcall TForm1::Button3Click(TObject *Sender)

{

///Для очищення 2 зміних

ClearTwoElipse ();

///Для очищення 3 зміних

ClearThreeElipse ();

///Виключення двох кіл

OffTwoElipse();

/////Виключення Трьох кіл (1 мал.)

OffThreeElipseDrawingOne();

/////Виключення Трьох кіл (2 мал.)

OffThreeElipseDrawingTwo();

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

///Для включення змін

LabeledEdit2->Enabled=true;

LabeledEdit5->Enabled=true;

LabeledEdit1->Enabled=true;

LabeledEdit7->Enabled=true;

LabeledEdit14->Enabled=true;

LabeledEdit6->Enabled=true;

}

2.18 RadioButton для обчислення перетину трьох множин

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

LabeledEdit14->Enabled=false;

LabeledEdit7->Enabled=true;

LabeledEdit6->Enabled=true;

LabeledEdit14->Text="0";

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

}

2.19 RadioButton для обчислення універсальної множини

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

LabeledEdit6->Enabled=false;

LabeledEdit14->Enabled=true;

LabeledEdit7->Enabled=true;

LabeledEdit6->Text="0";

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

}

2.20 RadioButton для обчислення порожньої множини

void __fastcall TForm1::RadioButton3Click(TObject *Sender)

{

LabeledEdit7->Enabled=false;

LabeledEdit14->Enabled=true;

LabeledEdit6->Enabled=true;

LabeledEdit7->Text="0";

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

}

2.21 RadioButton для обчислення перетину двох множин

void __fastcall TForm1::RadioButton4Click(TObject *Sender)

{

LabeledEdit5->Enabled=false;

LabeledEdit1->Enabled=true;

LabeledEdit6->Enabled=true;

LabeledEdit5->Text="0";

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

}

2.22 RadioButton для обчислення універсальної множини

void __fastcall TForm1::RadioButton5Click(TObject *Sender)

{

LabeledEdit1->Enabled=false;

LabeledEdit2->Enabled=true;

LabeledEdit5->Enabled=true;

LabeledEdit1->Text="0";

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

}

2.23 RadioButton для обчислення порожньої множини

void __fastcall TForm1::RadioButton6Click(TObject *Sender)

{

LabeledEdit2->Enabled=false;

LabeledEdit5->Enabled=true;

LabeledEdit1->Enabled=true;

LabeledEdit2->Text="0";

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

}

2.24 Код для того щоб не водилися літери та більше однієї коми

void __fastcall TForm1::LabeledEdit6KeyPress(TObject *Sender, char &Key)

{

if ((Key>='0')&&(Key<='9')) {/*Key = NULL;*/} // числа

else if (Key==8) {} // <-

else if ((Key=='.') || (Key == ',')) // кома

{

if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) Key = 0;

else // якщо ще нема

Key = DecimalSeparator;

}

else Key = 0; // не числа }

3 реалізація проекту в середовищі С++ Builder

3.1 Компоненти Form1 (рис. 3.1)

Компоненти Shape1-11 - для відображення діаграм.

Компонента PageControl1-для розміщення компонентів.

Компоненти Label1-3-використовується для виведення результатів двох множин.

Компоненти Label4-5-Для позначення двох множин.

Компоненти Label6-8-Для позначення трьох множин з перетином ABC.

Компоненти Label9-15-використовується для виведення результатів трьох множин з перетином ABC.

Компоненти Label16-18-Для позначення трьох множин без перетину ABC.

Компоненти Label19-23-використовується для виведення результатів трьох множин без перетину ABC.

Рисунок 3.1 - Компоненти Form1

3.2 Компоненти PageControl1

3.2.1 Компоненти TabSheet1 (рис.3.2)

Компонента Button1- для введення даних и виведення результату.

Компонента Button4- для очищення даних.

Компонента Edit4-використовується для виведення результату P.

Компонента Edit3-використовується для виведення результату U.

Компонента GroupBox2-Для розміщення компенетівRadioButton.

Компонента RadioButton4 -Для виклику функції пошуку AB двох множин.

Компонента RadioButton5 -Для виклику функції пошуку U двох множин.

Компонента RadioButton6-Для виклику функції пошуку Р двох множин.

Компонента LabeledEdit1-5 -для введення даних двох множин.

Рисунок 3.2 - Компоненти TabSheet1

3.3 Компоненти TabSheet2 (рис. 3.3)

Компонента Button2- для введення даних и виведення результату.

Компонента Button3- для очищення даних.

Компонента Edit2-використовується для виведення результату P.

Компонента Edit1-використовується для виведення результату U.

Компонента GroupBox1-Для розміщення компенетівRadioButton.

Компонента RadioButton1 -Для виклику функції пошуку ABС.

Компонента RadioButton2 -Для виклику функції пошуку U трьох множин.

Компонента RadioButton3-Для виклику функції пошуку Р трьох множин.

КомпонентиLabeledEdit7-14 -для введення даних трьох множин.

Рисунок 3.3 - Компоненти TabSheet2

4 аналіз результатів комп'ютерної реалізації програми

4.1 Запуск програми (рис. 4.1)

Рисунок 4.1 - Головна форма

4.2 Розрахунок двох множин (рис. 4.2)

Рисунок 4.2 -Діаграма двох множин

4.3 Розрахунок двох множин та пошук значення універсальної множини (рис. 4.3)

Рисунок 4.3-Пошук універсальної множини

4.4 Розрахунок двох множин та пошук значення порожньої множини (рис. 4.4)

Рисунок 4.4-Пошук порожньої множини

4.5 Розрахунок двох множин та пошук значення перетину множин (рис. 4.5)

Рисунок 4.5-Пошук перетину множин

4.6 Розрахунок трьох множин з перетином всіх множин (рис. 4.6)

Рисунок 4.6-Діаграма трьох множин з перетином всіх трьох множин

4.7 Розрахунок трьох множин та пошук значення універсальної множини (рис. 4.7)

Рисунок 4.7-Пошук універсальної множини

4.8 Розрахунок трьох множин та пошук значення порожньої множини (рис. 4.8)

Рисунок 4.8-Пошук порожньої множини

4.9 Розрахунок трьох множин та пошук значення перетину всіх трьох множин(рис. 4.9)

Рисунок 4.9-Пошук перетину всіх трьох множин

4.10 Розрахунок трьох множин без перетином всіх множин (рис. 4.10)

Рисунок 4.10-Діаграма трьох множин без перетину всіх трьох множин

ВИСНОВКИ

Виконавши цю курсову роботу, я покращив свої знання з теорії множин , вдосконалив навички із системного програмування в середовищі C++ Builder. Отримав практичні навички з рішення логічних задач за допомогою діаграм Ейлера-Венна.

ПЕРЕЛІК ПОСИЛАНЬ

1. Войтенко В.В. Морозов А.В. Теорія та практика (мова С++). - Житомир, 2002.

2. Винник В. Ю. Основи програмування мовою Сі++. - Житомир, 2008.

3. Павловская Т.А. С/С++. Программирование на языке высокого уровня. - СПб.: Питер, 2003. - 461с.

4. http://www.cplusplus.com - Сайт з найновіщою довідкою по С++

5. http://cppstudio.com - Сайт з ресурсами по вивченню С++

ДОДАТОК А

//---------------------------------------------------------------------------

#include <vcl.h>

#include <math.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "sLabel"

#pragma resource "*.dfm"

TForm1 *Form1;

void OnTwoElipse()

{

Form1->Shape1->Visible=true;

Form1->Shape2->Visible=true;

Form1->Label4->Visible=true;

Form1->Label1->Visible=true;

Form1->Shape3->Visible=true;

Form1->Label5->Visible=true;

Form1->Label2->Visible=true;

Form1->Label3->Visible=true;

}

void OnThreeElipseDrawingOne()

{

Form1->Shape4->Visible=true;

Form1->Shape5->Visible=true;

Form1->Label6->Visible=true;

Form1->Label9->Visible=true;

Form1->Shape6->Visible=true;

Form1->Label7->Visible=true;

Form1->Label10->Visible=true;

Form1->Shape7->Visible=true;

Form1->Label8->Visible=true;

Form1->Label11->Visible=true;

Form1->Label12->Visible=true;

Form1->Label13->Visible=true;

Form1->Label14->Visible=true;

Form1->Label15->Visible=true;

}

void OnThreeElipseDrawingTwo()

{

Form1->Shape8->Visible=true;

Form1->Shape10->Visible=true;

Form1->Shape11->Visible=true;

Form1->Shape9->Visible=true;

Form1->Label18->Visible=true;

Form1->Label17->Visible=true;

Form1->Label16->Visible=true;

Form1->Label22->Visible=true;

Form1->Label19->Visible=true;

Form1->Label23->Visible=true;

Form1->Label20->Visible=true;

Form1->Label21->Visible=true;

}

void OffTwoElipse()

{

Form1->Shape2->Visible=false;

Form1->Label4->Visible=false;

Form1->Label1->Visible=false;

Form1->Shape3->Visible=false;

Form1->Label5->Visible=false;

Form1->Label2->Visible=false;

Form1->Label3->Visible=false;

}

void OffThreeElipseDrawingOne()

{

Form1->Shape4->Visible=false;

Form1->Shape5->Visible=false;

Form1->Label6->Visible=false;

Form1->Label9->Visible=false;

Form1->Shape6->Visible=false;

Form1->Label7->Visible=false;

Form1->Label10->Visible=false;

Form1->Shape7->Visible=false;

Form1->Label8->Visible=false;

Form1->Label11->Visible=false;

Form1->Label12->Visible=false;

Form1->Label13->Visible=false;

Form1->Label14->Visible=false;

Form1->Label15->Visible=false;

}

void OffThreeElipseDrawingTwo()

{

Form1->Shape8->Visible=false;

Form1->Shape10->Visible=false;

Form1->Shape11->Visible=false;

Form1->Shape9->Visible=false;

Form1->Label18->Visible=false;

Form1->Label17->Visible=false;

Form1->Label16->Visible=false;

Form1->Label22->Visible=false;

Form1->Label19->Visible=false;

Form1->Label23->Visible=false;

Form1->Label20->Visible=false;

Form1->Label21->Visible=false;

}

void SearchPThreeElipse ()

{

int U,A,B,C,AB,BC,CA,ABC,A1,B1,C1,P1;

U=StrToInt(Form1->LabeledEdit6->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

ABC=StrToInt(Form1->LabeledEdit14->Text);

A1=A-(AB-ABC)-(CA-ABC)-ABC;

B1=B-(AB-ABC)-(BC-ABC)-ABC;

C1=C-(CA-ABC)-(BC-ABC)-ABC;

P1=U-(A1+B1+C1+AB+BC+ABC);

Form1->Edit2->Text="P = "+IntToStr(P1);

}

void SearchUThreeElipse ()

{

int P,A,B,C,AB,BC,CA,ABC,A1,B1,C1,U1;

P=StrToInt(Form1->LabeledEdit7->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

ABC=StrToInt(Form1->LabeledEdit14->Text);

A1=A-(AB-ABC)-(CA-ABC)-ABC;

B1=B-(AB-ABC)-(BC-ABC)-ABC;

C1=C-(CA-ABC)-(BC-ABC)-ABC;

U1=P+(A1+B1+C1+AB+BC+ABC);

Form1->Edit1->Text="U = "+IntToStr(U1);

}

void SearchABCThreeElipse ()

{

int U,P,A,B,C,AB,BC,CA,A1,B1,C1,AB1,BC1,CA1,ABC1,U1;

U=StrToInt(Form1->LabeledEdit6->Text);

P=StrToInt(Form1->LabeledEdit7->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

U1=U-P;

ABC1=U1-(A-AB+B-BC+C-CA);

Form1->Label15->Caption=IntToStr(ABC1);

}

void SearchPTwoElipse ()

{

int U,A,B,AB,P1,A1,B1;

U=StrToInt(Form1->LabeledEdit1->Text);

A=StrToInt(Form1->LabeledEdit3->Text);

B=StrToInt(Form1->LabeledEdit4->Text);

AB=StrToInt(Form1->LabeledEdit5->Text);

A1=A-AB;

B1=B-AB;

P1=U-(A1+B1+AB);

Form1->Edit4->Text="P = "+IntToStr(P1);

}

void SearchUTwoElipse ()

{

int P,A,B,AB,A1,B1,U1;

P=StrToInt(Form1->LabeledEdit2->Text);

A=StrToInt(Form1->LabeledEdit3->Text);

B=StrToInt(Form1->LabeledEdit4->Text);

AB=StrToInt(Form1->LabeledEdit5->Text);

A1=A-AB;

B1=B-AB;

U1=P+(A1+B1+AB);

Form1->Edit3->Text="U = "+IntToStr(U1);

}

void SearchABTwoElipse ()

{

int U,P,A,B,AB1,U1;

U=StrToInt(Form1->LabeledEdit1->Text);

P=StrToInt(Form1->LabeledEdit2->Text);

A=StrToInt(Form1->LabeledEdit3->Text);

B=StrToInt(Form1->LabeledEdit4->Text);

U1=U-P;

AB1=U1-(A+B);

Form1->Label3->Caption=IntToStr(AB1);

}

void ClearThreeElipse ()

{

Form1->Edit1->Text="0";

Form1->Edit2->Text="0";

Form1->LabeledEdit6->Text="0";

Form1->LabeledEdit7->Text="0";

Form1->LabeledEdit8->Text="0";

Form1->LabeledEdit9->Text="0";

Form1->LabeledEdit10->Text="0";

Form1->LabeledEdit11->Text="0";

Form1->LabeledEdit12->Text="0";

Form1->LabeledEdit13->Text="0";

Form1->LabeledEdit14->Text="0";

}

void ClearTwoElipse ()

{

Form1->Edit3->Text="0";

Form1->Edit4->Text="0";

Form1->LabeledEdit1->Text="0";

Form1->LabeledEdit2->Text="0";

Form1->LabeledEdit3->Text="0";

Form1->LabeledEdit4->Text="0";

Form1->LabeledEdit5->Text="0";

}

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int U,P,A,B,AB;

U=StrToInt(LabeledEdit1->Text);

P=StrToInt(LabeledEdit2->Text);

A=StrToInt(LabeledEdit3->Text);

B=StrToInt(LabeledEdit4->Text);

AB=StrToInt(LabeledEdit5->Text);

Label1->Caption=IntToStr(A-AB);

Label2->Caption=IntToStr(B-AB);

if (AB>0) Label3->Caption=IntToStr(AB);

if (U>0) Edit3->Text="U = "+IntToStr(U);

if (P>0) Edit4->Text="P = "+IntToStr(P);

if (RadioButton4->Checked==true) SearchABTwoElipse();

if (RadioButton5->Checked==true) SearchUTwoElipse();

if (RadioButton6->Checked==true) SearchPTwoElipse();

OnTwoElipse();

OffThreeElipseDrawingOne();

OffThreeElipseDrawingTwo();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

int U,P,A,B,C,AB,BC,CA,ABC;

U=StrToInt(Form1->LabeledEdit6->Text);

P=StrToInt(Form1->LabeledEdit7->Text);

A=StrToInt(Form1->LabeledEdit8->Text);

B=StrToInt(Form1->LabeledEdit9->Text);

C=StrToInt(Form1->LabeledEdit10->Text);

AB=StrToInt(Form1->LabeledEdit11->Text);

BC=StrToInt(Form1->LabeledEdit12->Text);

CA=StrToInt(Form1->LabeledEdit13->Text);

ABC=StrToInt(Form1->LabeledEdit14->Text);

Label9->Caption=IntToStr(A-(AB-ABC)-(CA-ABC)-ABC);

Label10->Caption=IntToStr(B-(AB-ABC)-(BC-ABC)-ABC);

Label11->Caption=IntToStr(C-(CA-ABC)-(BC-ABC)-ABC);

Label12->Caption=IntToStr(AB-ABC);

Label13->Caption=IntToStr(BC-ABC);

Label14->Caption=IntToStr(CA-ABC);

if (ABC>0)Label15->Caption=IntToStr(ABC);

if (CA==0 && ABC==0)

{

OnThreeElipseDrawingTwo();

Label22->Caption=IntToStr(A-AB);

Label19->Caption=IntToStr(B-(B-AB)-(B-BC));

Label23->Caption=IntToStr(C-BC);

Label20->Caption=IntToStr(AB);

Label21->Caption=IntToStr(BC);

}

if (U>0) Edit1->Text="U = "+IntToStr(U);

if (P>0) Edit2->Text="P = "+IntToStr(P);

if (RadioButton1->Checked==true) SearchABCThreeElipse();

if (RadioButton2->Checked==true) SearchUThreeElipse();

if (RadioButton3->Checked==true) SearchPThreeElipse();

OnThreeElipseDrawingOne();

OffTwoElipse();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

ClearTwoElipse ();

ClearThreeElipse ();

OffTwoElipse();

OffThreeElipseDrawingOne();

OffThreeElipseDrawingTwo();

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

LabeledEdit2->Enabled=true;

LabeledEdit5->Enabled=true;

LabeledEdit1->Enabled=true;

LabeledEdit7->Enabled=true;

LabeledEdit14->Enabled=true;

LabeledEdit6->Enabled=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

LabeledEdit14->Enabled=false;

LabeledEdit7->Enabled=true;

LabeledEdit6->Enabled=true;

LabeledEdit14->Text="0";

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

LabeledEdit6->Enabled=false;

LabeledEdit14->Enabled=true;

LabeledEdit7->Enabled=true;

LabeledEdit6->Text="0";

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton3Click(TObject *Sender)

{

LabeledEdit7->Enabled=false;

LabeledEdit14->Enabled=true;

LabeledEdit6->Enabled=true;

LabeledEdit7->Text="0";

RadioButton4->Checked= false;

RadioButton5->Checked= false;

RadioButton6->Checked= false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton4Click(TObject *Sender)

{

LabeledEdit5->Enabled=false;

LabeledEdit1->Enabled=true;

LabeledEdit2->Enabled=true;

LabeledEdit5->Text="0";

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton5Click(TObject *Sender)

{

LabeledEdit1->Enabled=false;

LabeledEdit2->Enabled=true;

LabeledEdit5->Enabled=true;

LabeledEdit1->Text="0";

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::RadioButton6Click(TObject *Sender)

{

LabeledEdit2->Enabled=false;

LabeledEdit5->Enabled=true;

LabeledEdit1->Enabled=true;

LabeledEdit2->Text="0";

RadioButton1->Checked= false;

RadioButton2->Checked= false;

RadioButton3->Checked= false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::LabeledEdit6KeyPress(TObject *Sender, char &Key)

{

if ((Key>='0')&&(Key<='9')) {/*Key = NULL;*/} // числа

else if (Key==8) {} // <-

else if ((Key=='.') || (Key == ',')) // кома

{

if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) // якщо кома вже є

Key = 0;

else // якщо ще нема

Key = DecimalSeparator;

}

else Key = 0; // не числа

}

//---------------------------------------------------------------------------

Размещено на Allbest.ru


Подобные документы

  • Програми, які виводять на екран характеристики комп'ютера. Розробка програми "Монітор використання ресурсів комп’ютера" на мові програмування ASM-86. Алгоритм програми та її реалізація. Системні вимоги, інструкція для користувача, лістинг програми.

    курсовая работа [22,2 K], добавлен 08.08.2009

  • Побудова інформаційно-математичної моделі задачі. Визначення структури даних. Розробка інтерфейсу програми з користувачем. Реалізація проекту у візуальному середовищі. Аналіз та тестування програми. Розгляд результатів та інструкція з експлуатації.

    курсовая работа [4,2 M], добавлен 07.05.2009

  • Розробка принципової електричної схеми системи управління конвеєрною лінією, яка складається з трьох послідовних конвеєрів. Реалізація алгоритму роботи на мові сходинкових діаграм LD. Розробка керуючої програми для мікроконтролерів Zelio Logic та ОВЕН.

    курсовая работа [230,2 K], добавлен 15.06.2015

  • Розроблення графічних схем класів та алгоритмів. Контрольний приклад та аналіз результатів комп’ютерної реалізації програми, її лістінг. Проектування інтерфейсу користувача. Послідовність побудування класів "Особа", "Службовець" й "Організація".

    курсовая работа [839,0 K], добавлен 16.06.2014

  • Побудова інформаційно-математичної моделі та алгоритм задачі. Визначення структури даних. Розробка інтерфейсу програми з користувачем. Складання коду програми. Реалізація проекту у візуальному середовищі. Тестування та інструкція з експлуатації програми.

    курсовая работа [1,3 M], добавлен 14.04.2009

  • Розробка алгоритму по виявленню і локалізації особи на зображенні у візуальному середовищі Delphi. Розробка програми по виділенню областей кольору шкіри особи, крапок, ліній і яскравості зображення. Опис структури програми і інтерфейсу користувача.

    курсовая работа [3,9 M], добавлен 07.01.2014

  • Розробка програми на мові програмування С++ в середовищі Borland C++ Builder, яка надає можливість відкривати певну програму в певний час або через певний час. Проектування блок-схеми та інтерфейсу користувача. Підключення бібліотек, опис змінних.

    дипломная работа [90,0 K], добавлен 21.01.2013

  • Розробка динамічних та статичних зображень для сайту за допомогою відеоредактора Adobe After EffectCS6 та графічного редактора Adobe Photosop CS6. Розробка структури сайту. Багатоваріантний аналіз розв’язку задачі. Створення анімованого логотипу.

    курсовая работа [1,8 M], добавлен 07.12.2014

  • Загальні відомості та геометричний зміст розв'язання задачі Коші. Використання методу Ейлера для розв'язання звичайних диференціальних рівнянь першого порядку. Розробка блок-схеми та реалізація алгоритму в середовищі програмування Borland Delphi 7.0.

    курсовая работа [398,1 K], добавлен 14.10.2012

  • Методи первинної обробки даних - згладжування та характеристика сплайнів. Загальна характеристика об'єктно-орієнтованої мови Java. Принципи побудови графічного інтерфейсу. Розробка алгоритму програми та інтерфейсу користувача програмного продукту.

    дипломная работа [3,3 M], добавлен 10.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.