Системні вимоги для роботи програми:
1. Процесор: Intel Core i3 2.2 GHz;
2. Мінімальний об’єм оперативної пам'яті: 128 МБ;
. Мінімальний об’єм відео пам’яті: 64 МБ
. Пристрій введення (мишка, клавіатура);
. Пристрій виведення (монітор);
. Операційна система WINDOWSXP\7\VISTA\8\8.1 .
. Необхідне програмне забезпечення Microsoft Visual Studio.
Робота програми розпочинається з відкриття файлу Курсова.exe.
Відкривається пусте вікно, (рисунок 5).
Для початку роботи програми виконайте команду: «Запустити програму»
Після виконання даної команди на дисплей виведуться наші графічні об’єкти, а саме трикутники.
Для зміни координат фігур, треба скористатися командою: «Відкрити файл з даними». У файлі можна змінювати координати вершин трикутників, за бажанням можна додати трикутники .
Для виходу із програми виконати команду : “Вихід”.
Під час виконання курсової роботи я навчився застосовувати
ООП для написання програм. Дослідив основна методи об’єктно-орієнтованого
програмування. Навчився створювати алгоритми по математичних формулах.
Застосовувати ієрархію класів. Здобув знання по роботі з середовищем
програмування Microsoft Visual Studio 2010 . Здобув неоціненний досвід роботи і
використав на практиці знання здобуті на даній дисципліні.
1. Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон. Объектно-ориентированный анализ и проектирование с примерами приложений. М.: Вильямс, 2008.- 720с. Лафоре Р. Объектно-ориентированное программирование на C++ / Р. Лафоре. - Москва: 2005. - 568с.
. Armstrong, «The Quarks of Object-Oriented Development.» In descending order of popularity, the «quarks» are: Inheritance, Object, Class, Encapsulation, Method, Message Passing, Polymorphism, Abstraction Баддю Т. Об’єктно-орієнтоване програмування у дії / Т. Баддю. -Київ: 2006. - 384с.
. Прат С. Лекції та вправи / С. Прат. -Харків: 2003. - 476с.
. Алан Кэй The Early History of Smalltalk. - Apple Computer, ACM SIGPLAN Notices, vol.28, №3, March 1993..
. C++
- Wikipedia, thefreeencyclopedia [Електронний ресурс]. // -
C++:http://uk.wikipedia.org/wiki/C%2B%2B,вільний, - Загол. з екрану.
ДОДАТКИ
#pragma once
#include "Triangle.h"kursova {namespace System;namespace System::ComponentModel;namespace System::Collections;namespace System::Windows::Forms;namespace System::Data;namespace System::Drawing;
/// <summary>
/// Сводка для Form1
/// </summary>ref class Form1 : public System::Windows::Forms::Form
{:(void)
{();
//
//TODO: добавьте код конструктора
//
}:
/// <summary>
/// Освободить все используемые ресурсы.
/// </summary>
~Form1()
{(components)
{components;
}
}: System::Windows::Forms::MenuStrip^ menuStrip1;:: System::Windows::Forms::ToolStripMenuItem^ файлToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ відкритиФайлЗДанимиToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ запуститиПрограмуToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ вийтиToolStripMenuItem;: System::Windows::Forms::ToolStripMenuItem^ проПрограмуToolStripMenuItem;
#pragma region Windows Form Designer generated codeInitializeComponent(void)
{
// налаштування компонентів програми
}
#pragma endregion: System::Void запуститиПрограмуToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{trngl; //Створення об'єкта класа Triangle.set(); //виклик функції отримання даних.searchS(); //виклик функції пошуку площ.Draw(); //виклик функції малювання трикутників.Free(); //вивільнення пам'яті
}: System::Void вийтиToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{>Close();
}: System::Void відкритиФайлЗДанимиToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{("notepad Координати.txt");
}
}
#pragma once
#include "Form1.h"
#include <math.h>namespace kursova;class Triangle
{:(void);*x1,*x2,*x3,*y1,*y2,*y3*S,*P,Sc;*a,*c,*b,color;i;j,x,y,k,l;* Dani;set()
{=0;= fopen ("Координати.txt", "r"); //зчитуємо дані з файлу(EOF(Dani)!=true)
{= (int*)realloc (x1,i+1); //динамічно створюємо масив= (int*)realloc (x2,i+1);= (int*)realloc (x3,i+1);= (int*)realloc (y1,i+1);= (int*)realloc (y2,i+1);= (int*)realloc (y3,i+1);= (int*)realloc (c,i+1);= (int*)realloc (a,i+1);(Dani, "%12d %16d %21d %25d %30d %34d %40d %44d %c", &x1[i], &x2[i], &x3[i], &y1[i], &y2[i],&y3[i],&c[i],&a[i],); //записуємо дані в масив++;
}
};searchS()
{(j=0;j<i,j++)
{=x3[j]-x1[j]; //шукаємо координати сторони b=y3[j]-y1[j];[j]=Sqrt(x*x+y*y); //шукаэмо довжину сторони b[j]=((a[j]+b[j]+c[j])/2); // шукаєм периметр[j]=Sqrt(P[j]*(P[j]-a[j])*(P[j]-b[j])*(P[j]-c[j])); //шукаєм площу=Sc+S[j]; //шукаєм середню площу фігур
}=Sc/i; //шукаєм середню площу фігур= (int*)realloc (S,i+1);[i]=Sc;(k=0;k<-1-,k++)(j=0;j<i,j++) //сортуємо площі
{(S[j]>S[j+1]
{(S[j],S[j+1]);
}
}(j=0;j<i+1,j++) //шукаєм найближчу площу до середньої
{(S[j]=Sc)
{(Sc-S[j-1]>S[j+1]-Sc)
{=j+1; //запамятовуємо номер найближчої площі
}
{=j-1; //запамятовуємо номер найближчої площі
}
}
};draw()
{F1=gcnew Form1();(j=0;j<i,j++)
{(j=color)
{(k=0;k<3;k++)
{->lineShape[k]->BorderColor="MenuHighlight"; //міняєм колір найближчого трикутника на блакитний і малюєм його лінії->lineShape[k]->X1 = x1[j];->lineShape[k]->X2 = x2[j];->lineShape[k]->Y1 = y1[j];->lineShape[k]->Y2 = y2[j];=k;
}
}
{(k=l;k<l+3;k++)
{->lineShape[k]->BorderColor="ControlText"; //міняєм колір звичайних трикутників на чорний і малюєм їх лінії->lineShape[k]->X1 = x1[j];->lineShape[k]->X2 = x2[j];->lineShape[k]->Y1 = y1[j];->lineShape[k]->Y2 = y2[j];=k;
}
}
}
};
};