Програма "Калькулятор"

 

Міністерство освіти і науки, молоді та спорту України












На тему «Калькулятор»

З дисципліни «Програмування»
















Черкаси 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.++ дозволяє ефективно реалізацій алгоритмів і структур даних, що корисно для програм, які виконують безліч обчислень.


3. Використання компонентів С++

являє собою компонент С + +, і слугує контейнером для всіх інших компонентів. На формі можна розміщувати візуальні компоненти, що утворюють інтерфейсну частину програми, і невізуальні (системні) компоненти. При додавання компонента слід вибрати його на палітрі компонентів.компонент призначений для розміщення надписів. Розташований він на вкладці Standard Палітри компонентів.компонент призначений для введення тексту. Розташований він на вкладці Standard Палітри компонентів.при створенні програм досить часто потрібно включити в програму головне меню. Цей компонент розташовується на вкладці Standard палітри компонентів. Місце його розміщення на формі не має значення. Після введення назви і натискання клавіші <Enter> фокус у вікні перемішається на наступний пункт, правіше першого. Після одинарного клацання по цьому пункту в інспекторові об'єктів можна зробити налаштування його властивостей. Введіть у властивості Caption для цього пункту меню назву Edit. Так здійснюється нарощування пунктів меню по горизонталі. Для додавання команд у пункти меню необхідно клацнути лівою кнопкою миші по вже створеному пункту меню, наприклад, по пункту File. При цьому нижче пункту з'явиться поле для команди. Після натискання клавіші <Enter> фокус у вікні переміщається на наступне поле команди, нижче першого. Так здійснюється нарощування пунктів команд по вертикалі.компонент призначений для відображення та зберігання текстової інформації у вигляді таблиці. Розташований він на вкладці Additional палітри компонентів.


. Блок-схеми роботи програми


Блок-схема віднімання та додавання

Блок-схема ділення та множення


Програмна реалізація


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

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;x,y,z;oper;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)

{->Text=Edit1->Text+Button1->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button21Click(TObject *Sender)

{->Clear();

}

//---------------------------------------------------------------------------__fastcall TForm1::Button22Click(TObject *Sender)

{->Clear();

}

//---------------------------------------------------------------------------__fastcall TForm1::Button12Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=1;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button2Click(TObject *Sender)

{->Text=Edit1->Text+Button2->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button13Click(TObject *Sender)

{=StrToFloat(Edit1->Text);(oper)

{ case 1: z=x+y;;2: z=x-y;;3: z=x*y;;4: z=x/y;;5: z=1/x;;6: z=(x/100)*y;;7: z=sqrt(x);;

}->Text=FloatToStr(z);

}

//---------------------------------------------------------------------------__fastcall TForm1::Button3Click(TObject *Sender)

{->Text=Edit1->Text+Button3->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button4Click(TObject *Sender)

{->Text=Edit1->Text+Button4->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button5Click(TObject *Sender)

{->Text=Edit1->Text+Button5->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button6Click(TObject *Sender)

{->Text=Edit1->Text+Button6->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button7Click(TObject *Sender)

{->Text=Edit1->Text+Button7->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button8Click(TObject *Sender)

{->Text=Edit1->Text+Button8->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button9Click(TObject *Sender)

{->Text=Edit1->Text+Button9->Caption;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button14Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=2;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button15Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=3;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button17Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=4;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button16Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=5;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button18Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=6;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button19Click(TObject *Sender)

{=StrToFloat(Edit1->Text);=7;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button11Click(TObject *Sender)

{->Text=Edit1->Text+Button11->Caption;

}

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

Висновок


У процесі виконання даного курсового проекту були закріплені знання з використання класів і з використання основ об'єктно-орієнтованого програмування.

Під час написання програми я отримав навички з використання деяких, раніше не використаних мною, компонентів середовища програмування С + + Builder 6.

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

Список літератури


1. Вычислительная техника и программирование. Под ред. А.В.Ретрова. - М.: Высшая школа, 1990

. Кузнецов А.А. и др. Основы информатики. - М.: Дрофа, 1998

.Кушниренко А.Г. и др. Информатика. - М.: Дрофа, 1998

. Лебедев Г.В., Кушниренко А.Г. 12 лекций по преподаванию курса информатики. - М.: Дрофа, 1998

.Шауцукова Л.З. Информатика 10 - 11. М.: Просвещение, 2000

. Л.И. Шолмов. Язык Си. 1988г.

. Г. Шилдт. C для профессиональных программистов. 1989г.

. Б.В. Керниган, Д.М. Ричи. Язык Си. 1995г.

. Современное проектирование на С++ - Андрей Александреску 2002

. Язык программирования С++ - Бьярн Страуструп

. #"justify">. Основы программирования на С++. Автор: Стэнли Б. Липпман Издательство: Вильямс. Серия: C++ 59с.-2003.

. Язык программирования C++. Вводный курс Автор: Стенли Б. Липпман, Жози Лажойе Издательство: Невский Диалект, 81с; 2001 г.

. #"justify">. #"justify">. #"justify">. #"justify">. Борис Пахомов - C/С++ MS Visual 2008 C++ для начинающих. 120с.

. Бьерн Страуструп "С++".2010. 250с.


Міністерство освіти і науки, молоді та спорту України На тему «Калькулятор» З дисципліни «Прогр

Больше работ по теме:

Предмет: Информационное обеспечение, программирование

Тип работы: Контрольная работа

Новости образования

КОНТАКТНЫЙ EMAIL: MAIL@SKACHAT-REFERATY.RU

Скачать реферат © 2018 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ