Програма "Калькулятор"
Об'єктно-орієнтоване, або об'єктне, програмування. Поняття об'єктів і класів. Розробка програмного забезпечення. Створення операційних систем, прикладних програм, драйверів пристроїв, додатків для вбудованих систем, високопродуктивних серверів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 25.10.2013 |
Размер файла | 135,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство освіти і науки, молоді та спорту України
На тему «Калькулятор»
З дисципліни «Програмування»
Черкаси 2011
Завдання
Скласти і відлагодити програму Калькулятор,що виконує наступні операції:
- Додавання чисел;
- Віднімання чисел;
- Множення чисел;
- Ділення чисел.
Вступ
Об'єктно-орієнтоване, або об'єктне, програмування, в якому основними концепціями є поняття об'єктів і класів.
Багато сучасні мови спеціально створені для полегшення об'єктно-орієнтованого програмування.
Одним з підходів, що забезпечують структурування математичної моделі і спрощення її програмування, є об'єктний підхід, в якому реальний процес або система представляються сукупністю об'єктів, що взаємодіють один з одним. В об'єктно-орієнтованих мовах програмування операції називають методами. Можна виділити п'ять типів операцій: - конструктор, створення і ініціалізація об'єкта; - деструктор, що руйнує об'єкт; - модифікатор, що змінює стан об'єкта; - селектор для доступу до змінних об'єкта без їх зміни; - ітератор для доступу до змісту об'єкта по частинах в певній послідовності . Відома й інша класифікація методів об'єкта, коли виділяють функції управління, реалізації, доступу та допоміжні функції. Під індивідуальністю об'єкта розуміють властивість об'єкта, що дозволяє відрізняти цей об'єкт від усіх інших об'єктів.
Структура і поведінку подібних об'єктів визначають клас об'єктів. Виділення належним чином сукупності об'єктів і відношень між ними дозволяє побудувати об'єктну модель певної предметної області, а на основі такої моделі розробити програмні засоби для дослідження цієї предметної області та прийняття рішень. У мовах програмування передбачаються деякі зумовлені (базові) типи даних, зазвичай це цілі і речові числові типи, символьні і рядкові типи, а в ряді випадків і перетворення даних одного типу в інший. Об'єктно-орієнтовані мови програмування дозволяють поширити вимоги суворої типізації на типи даних, що визначаються програмістом. Об'єктно-орієнтований підхід до проектування програмних виробів передбачає: - проведення об'єктно-орієнтованого аналізу предметної області; - об'єктно-орієнтоване проектування; - розробку програмного вироби з використанням об'єктно-орієнтованої мови програмування.
1. Теоретичні відомості
Калькулятор можна використовувати для виконання простих операцій: додавання, віднімання, множення і ділення. У калькуляторі також передбачені можливості для виконання програмованих, інженерних і статистичних обчислень. Можна робити обчислення, натискаючи на кнопки калькулятора або вводячи символи з клавіатури. Програма написана на об`єктно-орієнтованій системі програмування MS Visual С++. Основою цієї мови, як можна побачити з назви є язик програмування С++.Головною причиною мого вибору стало те, що ця система об'єктно-орієнтована і програмувати інтерфейс користувача на ній досить легко. В MS Visual С++ присутні багато різних компонентів, які надають широкий вибір при проектуванні, що дозволяє найкращим чином налагодити програму під поставлену задачу. Вбудований потужний довідник (MSDN) та різні програми, які допомагають програмісту при написані коду програми. Розробка та опис алгоритму розв'язку задачі Алгоритмом називається директива, яка визначає порядок виконання дій (операцій) над даними з метою отримання шуканого результату. Процес підготовки розв'язку задачі на ЕОМ називається алгоритмізацією. Розробка алгоритму складається з декількох етапів: Вивчення завдання даного для алгоритму задачі. Часто завдання представлене в описовій формі з використанням формул, таблиць, графіків. Необхідно глибоко вивчити процес, що алгоритмізується, виявити закономірності явищ, що його складають. Визначається вхідна вихідна інформація, задаються області зміни аргументів, точність обчислень. Вхідна інформація повинна бути повною. Виконується математична формалізація описової умови задачі. Її мета - побудувати масиви арифметичних і логічних операторів. До масиву логічних операторів входять всі умови що відображають закономірності процесу який алгоритмізуеться.
2. Мова програмування С++
програма клас сервер операційний
Будучи одним з найбільш популярних мов програмування, C++ широко використовується для розробки програмного забезпечення. C++ був розроблений в якості мови програмування, а не як компілятор мову перекладу, і, таким чином, менш ніж ідеально підходить для використання в якості мови-посередника. Також широко використовується для реалізації кінцевому користувачеві програми
Область його застосування включає створення операційних систем, різноманітних прикладних програм, драйверів пристроїв, додатків для вбудованих систем, високопродуктивних серверів, а також розважальних програм (наприклад, відеоігри). Існує декілька реалізацій мови C - як безкоштовних, так і комерційних. Найбільш популярні проект GNU, Microsoft, Intel і Embarcadero (Borland). C зробив величезний вплив на інші мови програмування, в першу чергу на Java і C #.
Принципи роботи C + + . Деякі з них:
Отримати універсальна мова зі статичними типами даних, ефективністю і переносимістю мови C.
Безпосередньо і всебічно підтримувати безліч стилів програмування, у тому числі процедурне програмування, абстракцію даних, об'єктно-орієнтоване програмування та узагальнене програмування.
- Дають програмісту свободу вибору, навіть якщо це дасть йому можливість вибирати неправильно.
- Максимально зберігати сумісність з C, тим самим роблячи можливим легкий перехід від програмування на C.
- Уникання різночитань між C і C + +: будь-яка конструкція, допустима в обох мовах, повинна в кожному з них позначати одне й те саме і приводити до одного й того ж поведінки програми.
- Уникати особливостей, які залежать від платформи або не є універсальними.
- Ніякий мовний засіб не повинен призводити до зниження продуктивності програм, які не використовують його.
- Не вимагає занадто ускладненою середовища програмування.
Крім того, існує величезна кількість бібліотек C + +, що не входять в стандарт. У програмах на C + + можна використовувати багато бібліотек C.
C++ дозволяє ефективно реалізацій алгоритмів і структур даних, що корисно для програм, які виконують безліч обчислень.
3. Використання компонентів С++
Form являє собою компонент С + +, і слугує контейнером для всіх інших компонентів. На формі можна розміщувати візуальні компоненти, що утворюють інтерфейсну частину програми, і невізуальні (системні) компоненти. При додавання компонента слід вибрати його на палітрі компонентів.
Label компонент призначений для розміщення надписів. Розташований він на вкладці Standard Палітри компонентів.
Edit компонент призначений для введення тексту. Розташований він на вкладці Standard Палітри компонентів.
MainMenu при створенні програм досить часто потрібно включити в програму головне меню. Цей компонент розташовується на вкладці Standard палітри компонентів. Місце його розміщення на формі не має значення. Після введення назви і натискання клавіші <Enter> фокус у вікні перемішається на наступний пункт, правіше першого. Після одинарного клацання по цьому пункту в інспекторові об'єктів можна зробити налаштування його властивостей. Введіть у властивості Caption для цього пункту меню назву Edit. Так здійснюється нарощування пунктів меню по горизонталі. Для додавання команд у пункти меню необхідно клацнути лівою кнопкою миші по вже створеному пункту меню, наприклад, по пункту File. При цьому нижче пункту з'явиться поле для команди. Після натискання клавіші <Enter> фокус у вікні переміщається на наступне поле команди, нижче першого. Так здійснюється нарощування пунктів команд по вертикалі.
StringGrid компонент призначений для відображення та зберігання текстової інформації у вигляді таблиці. Розташований він на вкладці Additional палітри компонентів.
4. Блок-схеми роботи програми
Блок-схема віднімання та додавання
Блок-схема ділення та множення
5 Програмна реалізація
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float x,y,z;
int oper;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button1->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button21Click(TObject *Sender)
{
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button22Click(TObject *Sender)
{
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button2->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button13Click(TObject *Sender)
{
y=StrToFloat(Edit1->Text);
switch (oper)
{ case 1: z=x+y;
break;
case 2: z=x-y;
break;
case 3: z=x*y;
break;
case 4: z=x/y;
break;
case 5: z=1/x;
break;
case 6: z=(x/100)*y;
break;
case 7: z=sqrt(x);
break;
}
Edit1->Text=FloatToStr(z);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button3->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button4->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button5->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button6->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button7->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button8->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button9->Caption;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button14Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=2;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button15Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=3;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=4;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=5;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button18Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=6;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button19Click(TObject *Sender)
{
x=StrToFloat(Edit1->Text);
oper=7;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
Edit1->Text=Edit1->Text+Button11->Caption;
}
//--------------------------------------------------------------------------
Висновок
У процесі виконання даного курсового проекту були закріплені знання з використання класів і з використання основ об'єктно-орієнтованого програмування.
- Під час написання програми я отримав навички з використання деяких, раніше не використаних мною, компонентів середовища програмування С + + Builder 6.
- Також при написанні даного курсового проекту я закріпив свої знання в області написання об'єктно-орієнтованих програм, що містять взаємодіючі класи. Були отримані нові знання про створення класів і роботі з ними. Завдяки роботі над програмою були закріплені знання розподілу обов'язків між класами.
- Список літератури
- 1. Вычислительная техника и программирование. Под ред. А.В.Ретрова. - М.: Высшая школа, 1990
- 2. Кузнецов А.А. и др. Основы информатики. - М.: Дрофа, 1998
- 3.Кушниренко А.Г. и др. Информатика. - М.: Дрофа, 1998
- 4. Лебедев Г.В., Кушниренко А.Г. 12 лекций по преподаванию курса информатики. - М.: Дрофа, 1998
- 5.Шауцукова Л.З. Информатика 10 - 11. М.: Просвещение, 2000
- 6. Л.И. Шолмов. Язык Си. 1988г.
- 7. Г. Шилдт. C для профессиональных программистов. 1989г.
- 8. Б.В. Керниган, Д.М. Ричи. Язык Си. 1995г.
- 9. Современное проектирование на С++ - Андрей Александреску 2002
- 10. Язык программирования С++ - Бьярн Страуструп
- 11. http://www.codenet.ru/progr/visualc/vc/
- 12. Основы программирования на С++. Автор: Стэнли Б. Липпман Издательство: Вильямс. Серия: C++ 59с.-2003.
- 13. Язык программирования C++. Вводный курс Автор: Стенли Б. Липпман, Жози Лажойе Издательство: Невский Диалект, 81с; 2001 г.
- 14. http://www.helloworld.ru/texts/comp/lang/visualc/vc2/index.shtml
- 15. http://wm-help.net/books/book/27.html
- 16. http://cppbuilder.ru/articles/0196.php
- 17. http://ishodniki.ru/list/books/c_books/7590.html
- 18. Борис Пахомов - C/С++ MS Visual 2008 C++ для начинающих. 120с.
- 19. Бьерн Страуструп "С++".2010. 250с.
- Размещено на Allbest.ru
Подобные документы
Особливості об'єктно-орієнтованого програмування. Розробка програми для елементарних математичних розрахунків, виведення результату на екран та запису у файлі. Сортування слів у рядку. Програма, яка реалізовує ходи шахових фігур. Програма-калькулятор.
отчет по практике [2,0 M], добавлен 19.03.2015Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.
курсовая работа [211,3 K], добавлен 19.08.2010Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.
курсовая работа [502,5 K], добавлен 01.04.2016Поняття рівнянь регресії та їх практична цінність. Створення програмного продукту на мові об'єктно-орієнтованого програмування з можливістю побудування за експериментальними даними таблиці графіки та обчислювання їх відхилення від експериментальних даних.
курсовая работа [2,5 M], добавлен 24.12.2011Розробка програми для управління навчальним процесом студентської групи вищого навчального закладу. Об’єктно-орієнтоване проектування об’єктів групи. Створення мови програмування Java. Побудова графічного інтерфейсу. Робота з невеликими базами даних.
курсовая работа [935,3 K], добавлен 21.12.2013Розробка програми калькулятора, що може виконувати найголовніші арифметичні операції над двома числами. Вимоги до апаратного і програмного забезпечення. Опис форм та компонентів програми. Розробка алгоритмів програмного забезпечення. Опис коду програми.
курсовая работа [57,1 K], добавлен 31.05.2013Загальні поняття програмного забезпечення (ПЗ) для персонального комп'ютеру (ПК). Розвиток прикладного ПЗ для ПК, пакетів прикладних програм, а також про використання прикладних програм в житті кожного користувача. Розгляд пакетів прикладних програм.
реферат [30,9 K], добавлен 03.03.2010Аналіз технічного забезпечення, вибір інструментального програмного забезпечення та середовища розробки програм. Створення класів для реалізації необхідних функцій для роботи програмного засобу. Розробка інтерфейсу для користувача та лістинг програми.
курсовая работа [343,9 K], добавлен 24.08.2012Розробка програми на мові програмування С++ з використанням об’єктно-орієнтованого програмування, яка включає в себе роботу з файлами, класами, обробку числової інформації і роботу з графікою. Структура класів і об’єктів. Лістинг та алгоритм програми.
курсовая работа [104,4 K], добавлен 14.03.2013Принципи об'єктно-орієнтованого підходу. Розробка програмного комплексу з використанням цього алгоритму і користувальницьких класів на мові програмування С++. Реалізація простого відкритого успадкування. Тестування працездатності системи класів.
курсовая работа [98,0 K], добавлен 06.05.2014