Об’єктно-орієнтоване програмування
Характеристика об’єктної моделі мови програмування С++. Розгляд процесу визначення класу. Дослідження основних типів даних мови С++. Динамічний розподіл пам’яті. Головний аналіз статичних і динамічних змінних. Особливість обробки динамічних об'єктів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 09.04.2020 |
Размер файла | 75,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ОБ'ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ
Зміст
Вступ
Розділ 1. Об'єктна модель мови програмування С++
Розділ 2. Вбудовані типи даних і класи
Розділ 3. Змінні. Покажчики. Динамічний розподіл пам'яті
3.1 Динамічний розподіл пам'яті. Статичні і динамічні змінні
3.2 Покажчики
3.3 Розподіл динамічної пам'яті
3.4 Доступ до динамічних об'єктів
3.5 Обробка динамічних об'єктів
Висновок
Вступ
Впровадження інноваційних методів автоматизації технологічних та виробничих процесів є одним з найважливіших напрямків економічного росту у сфері промисловості та розвитку науки процвітаючої країни.
У першому розділі розкривається тема об'єктної моделі мови програмування С++ та її ключові поняття.
У другому розділі, розписується вбудовані вбудовані типи даних та їх класи, і їх особливості взагалом.
Також у розділі третьому розписується про динамічний розподіл пам'яті. статичні і динамічні змінні, покажчики, розподіл динамічної пам'яті, доступ до динамічних об'єктів, обробка динамічних об'єктів.
Розділ 1. Об'єктна модель мови програмування С++
Ключовим поняттям в об'єктно-орієнтованому програмуванні на С++ є поняття класу. Клас в С++ - це практична реалізація абстрактного типу даних засобами мови програмування С++. Фактично клас - це визначений програмістом нестандартний тип даних, тому поняття полів і методів класу повністю співпадають з аналогічними поняттями абстрактного типу даних. Процес визначення класу складається з двох частин. Перша частина - це опис класу. В цій частині визначається структура класу, а саме кількість та типи полів(властивостей) класу, кількість методів, кількість та типи вхідних параметрів методів, а також типи результатів виконання методів. Крім того на цьому етапі визначається область видимості полів та методів. Опис класу починається з ключового слова class, за яким слідує назва класу. Він складається з розділів, які виділяються модифікаторами public, private, protected, що є заголовками розділів і визначають їх початок та область бачимості полів та методів, розташованих у розділі. У розділах із заголовками public розміщуються загальнодоступні поля та методи, які використовуються для інтерфейсу об'єктів даного класу з програмою. Доступ до цих полів і методів може бути здійснений прямим зверненням. У розділах із заголовками private розміщуються закриті дані, доступ до яких може бути здійснений лише за допомогою методів самого класу або за допомогою друзів класу. Поняття друзів класу буде розглянуто пізніше. Розділи із заголовками protected містять дані, доступ до яких може бути здійснений за допомогою методів самого класу, за допомогою методів породжених класів або за допомогою друзів класу. Розділ починається заголовком та закінчується заголовком іншого розділу або межею опису класу. Опис класу обмежується заголовком класу та фігурними скобками. „{”, „}”. Кількість розділів не лімітується. Клас може складатися як з одного розділу, так із кількох, порядок розташування розділів довільний в межах опису класу. В описі класу може існувати кілька розділів з однаковими заголовками. Перший розділ опису класу може бути без заголовку. В цьому випадку вважається, що заголовком розділу є модифікатор private. Друга частина визначення класу - це опис методів класу. В цій частині реалізуються засобами мови програмування алгоритми методів класу. Обидві частини є обов'язковими при визначенні класу і жодна з них не може бути пропущена. Опис класу та опис методів класу повинні бути розміщені у одному файлі. Зазвичай їх розміщують у окремих файлах із розширенням „h” і потім включають за допомогою директиви include до кожного з тих файлів проекту, в яких використовуються об'єкти даного класу. Розглянемо приклад визначення класу. Опис класу: class MyClass { int i; //розділ із типом доступу private public: //розділ із типом доступу public int get_i(); void set_i(int); }; Опис методів класу: int MyClass::get_i() { return i; } void MyClass::set_i(int x) { i=x; return; } Якщо методи класу прості і складаються всього лише з кількох операторів, то їх опис можна розмістити прямо у описі класу. class MyClass { int i; //розділ із типом доступу private public: //розділ із типом доступу public int get_i(){ return i; }; void set_i(int) { i=x; return; }; }; Для збільшення швидкодії програми при описі методів класу може використовуватись модифікатор inline (вбудований). Використання цього модифікатора зменшує кількість операцій процесора при визові таких функцій. Однак при цьому збільшується об'єм програми, тому такий модифікатор бажано використовувати тільки з невеликими методи, що складаються лише з кількох операторів. Як у нижченаведеному прикладі. class MyClass { int i; //розділ із типом доступу private public: //розділ із типом доступу public inline int get_i(){ return i; }; inline void set_i(int) { i=x; return; }; }; Як було сказано вище клас - це абстрактний тип даних. Для того щоб використати розроблений клас у програмі необхідно об'явити змінну даного типу. Така змінна буде називатись об'єктом даного класу. Таким чином об'єкт класу - це конкретна змінна (екземпляр) класу (даного типу інформаційної структури). Об'явити об'єкт даного класу можна таким же чином, як і змінну будь-якого іншого стандартного або заданого користувачем типу. Наприклад об'явити об'єкт показаного вище класу MyClass при умові, що даний клас описаний у файлі MyClass.h, який знаходиться у одному каталозі з проектом, можна наступним чином: include “MyClass.h” MyClass MyObj.
Розділ 2. Вбудовані типи даних і класи
Під типом даних (data type) розуміють множину припустимих значень цих даних і множину дозволених операцій над ними. Водночас тип даних визначає і розмір пам'яті, що займають змінні і константи даного типу. Пам'ять виділяється не для типу даних, а виділяється для розміщення змінної або константи заданого типу.
У мові С++ виділяють вбудовані та користувацькі типи даних.
Вбудовані типи - це типи, які підтримує мова програмування.
Вбудовані типи бувають простими (базовими) та похідними, що утворюються від базових.
До простих типів відносяться наступні:
- bool
- int
- char
- float
- double
До похідних типів відносяться наступні
· масиви (int a[5])
· вказівники (int*a)
Існує також порожній тип void (не має значення).
Прості типи мають набір значень і представлень, прив'язаних до архітектури машини, на якій працює транслятор.
У С++ прості типи можуть бути модифіковані за допомогою ключових слів:
- short
- long
- signed
- unsigned
Крім вбудованих типів у мові С++ існують користувацькі типи, які вимагають попереднього оголошення. Як правило, такі типи є складеними
· структура (struct)
· об'єднання (union)
· перерахування (enum)
· класи (сlass)
Перелічимо прості типи даних (від найкоротшого до найдовшого за кількістю інформації). Основні характеристики типів даних мови С++ наведено у таблиці 2.
bool, сhar, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, float, double, long double.
Таблиця 1. Характеристики основних типів даних мови С++
Ім'я типу |
Розмір пам'яті, байтів (16/32-розрядна) |
Діапазон значень для 16-розрядної архітектури |
||
[signed] char |
1 |
-128 |
127 |
|
unsigned char |
1 |
0 |
255 |
|
[signed] short [int] |
2 |
-32 768 |
32 767 |
|
unsigned short [int] |
2 |
0 |
65 535 |
|
[signed] int |
Машинне слово |
-32 768 |
32 767 |
|
unsigned int |
Машинне слово |
0 |
65 535 |
|
[signed] long [int] |
4 |
-2 147 483 648 |
2 147 483 647 |
|
[unsigned] long [int] |
4 |
0 |
4 294 967 295 |
|
float |
4 |
3.4e-38 |
3.4e38 |
|
double |
8 |
1.7e-308 |
1.7e308 |
|
long double |
10 |
3.4e-4932 |
3.4e4932 |
Змінні і константи цілих типів також можуть оголошуватись за допомогою модифікаторів signed і unsigned (знакове, беззнакове). При використанні модифікаторів short і long дозволяється опускати ім'я типу int. Типи з плаваючою точкою або дійсні типи представлені трьома модифікаціями, що характеризують точність представлення дійсних чисел: float -- одиничної точності; double -- подвійної точності; long double -- розширеної точності.
Для визначення розміру об'єкту програми в певних одиницях (для простих типів -- в байтах), використовується оператор sizeof:
cout <<sizeof(int); мова пам'ять динамічний статичний
Діапазони всіх типів змінних (максимальні й мінімальні значення) можна одержати з заголовочного файлу climits (в більш ранніх реалізаціях _ limits.h).
Розділ 3. Змінні. Покажчики. Динамічний розподіл пам'яті
3.1 Динамічний розподіл пам'яті. Статичні і динамічні змінні
Усі розглянуті дотепер програмні об'єкти мали дещо спільне:
· породжувалися вони (виділялася під них пам'ять) перед виконанням програми;
· існували в пам'яті комп'ютера протягом всього часу виконання програми,
· розмір їх значень (у сенсі обсягу машинної пам'яті, необхідної для їх розміщення) протягом виконання програми залишався незмінним.
Такі програмні об'єкти і відповідні їм змінні вважаються в програмуванні статичними (постійними в ОП).
Статичні змінні - це змінні, пам'ять під які виділяється на етапі компіляції і не змінюється в процесі виконання програми.
Статичні об'єкти породжуються за допомогою відповідних оголошень. Наприклад, у мові Pascal опис змінної m у розділі змінних var виду
m:=аrray[1..20] of real;
свідчить про те, що в програмі породжується статична змінна регулярного типу (масив), значенням якої може бути упорядкована послідовність із двадцяти дійсних чисел. Пам'ять під статичні об'єкти виділяється в сегменті даних образу .exe- файлу програми.
Доступ до відповідних областей пам'яті (статичних об'єктів) у програмі здійснюється за іменами (ідентифікаторами) відповідних змінних. При цьому на машинній мові посилання на програмний об'єкт здійснюється шляхом вказання його місця в пам'яті комп'ютера, тобто адреси комірки пам'яті, починаючи з якої цей об'єкт розміщений в пам'яті.
Оскільки статичні об'єкти породжуються до виконання програми і розмір їх значень відомий заздалегідь, то місце в пам'яті комп'ютера, необхідне для зберігання їх значень, виділяється на етапі трансляції програми. Вся робота з розміщення таких об'єктів у пам'яті та формуванню посилань на ці об'єкти в машинній програмі здійснюється транслятором.
Проте використання при програмуванні лише статичних об'єктів не завжди дозволяє отримувати ефективні машинні програми, що буває надзвичайно важливим при вирішенні ряду задач. Справа у тому, що іноді на етапі написання програми не тільки не відомий розмір конкретного програмного об'єкта, але й те чи буде він існувати взагалі. Окрім того, у версіях систем програмування, що працюють під операційною системою MS-DOS, обсяг сегмента даних, що служить для розміщення статичних змінних, обмежений (64 Кб). При необхідності роботи з великими масивами інформації цього може виявитися недостатньо, особливо коли відомо, що вони потрібні не на увесь час виконання програми, а тільки на якусь незначну його частину.
Тому у мовах програмування існує й інший спосіб виділення пам'яті під дані, який називається динамічним.
Динамічні змінні - це змінні, пам'ять під які виділяється та звільняється в міру необхідності в процесі виконання програми.
Якщо наприклад, в заданому тексті, що складається із слів довільної довжини, потрібно знайти перше по порядку слово, що має певну ознаку, то змінна, значенням якої є шукане слово, в процесі виконання програми може взагалі не з'явитися (якщо в тексті немає жодного слова із заданою властивістю), а якщо вона і з'явиться, то заздалегідь невідома довжина слова, що є значенням цієї змінної. Отже, така змінна по своїй суті є динамічним програмним об'єктом.
В цьому випадку можна було обійтися використанням лише статичних змінних. Але тоді для змінної-результату довелося б відвести місце в пам'яті з розрахунку на максимально можливу довжину слова (описавши відповідним чином цю змінну), що може привести до нераціонального використання пам'яті комп'ютера.
Розміщуються динамічні змінні у спеціальній області ОП, яку називають динамічною пам'яттю (купою, Heap-областю). Розмір динамічної пам'яті - фактично уся вільна ОП (сотні кілобайт). Організована вона подібно стеку, але заповнення її йде від нижніх адрес до верхніх (табл.2).
Табл. 2 Карта розподілу ОП при роботі програми
Старші адреси |
Системні програми |
Покажчики |
|
Вільна (не розподілена) пам'ять |
HeapEnd |
||
Динамічна пам'ять (росте нагору ) |
HeapPtr HeapOrg |
||
16 Кб |
Сегмент стека (росте вниз ) |
Sseg:SPtr (SP) |
|
Вільна пам'ять стека |
Sseg:0000 (SS) |
||
64 Кб |
Сегмент даних основної програми |
DSeg:0000(DS) |
|
Сегмент коду модуля System |
СSeg:0000(СS) |
||
64 Кб |
Сегмент коду модуля 1 |
образ |
|
. . . |
.exe- файлу |
||
64 Кб |
Сегмент коду модуля N |
||
64 Кб |
Сегмент коду основної програми |
||
256 байт |
PSP (префікс основної програми) |
PrefixSeg |
|
Молодші адреси |
Turbo Pascal |
Використання динамічних об'єктів надає програмісту ряд додаткових можливостей. По-перше, використання динамічної пам'яті дозволяє суттєво збільшити обсяг оброблюваної інформації. По-друге, якщо потреба в якихось даних відпала до закінчення програми, то зайняту ними пам'ять можна звільнити для іншої інформації. По-третє, використання динамічної пам'яті дозволяє створювати структури даних змінного розміру.
3.2 Покажчики
Використання динамічних об'єктів спричиняє певні труднощі, які полягають, зокрема, у тому, що виникають об'єкти динамічно, у процесі виконання програми, а дії над ними необхідно задавати статично при написанні програми. Окрім того, за замовчуванням, пошук усіх даних здійснюється тільки в сегменті даних.
У мовах програмування зазначена проблема вирішується шляхом використання спеціального посилального типу даних. Посилальний тип - це особливий статичний тип даних, значенням якого є не конкретне дане (число, символ, рядок і т.ін.), а покажчик на який-небудь програмний об'єкт, по якому здійснюється безпосередній доступ до цього об'єкту.
Для опису дій над динамічними об'єктами кожному такому об'єкту в програмі ставиться у відповідність свій статичний покажчик посилального типу у термінах якого і описуються дії над відповідними динамічними змінними. Сам же динамічний об'єкт при необхідності створюється пізніше, під час виконання програми.
Зв'язок покажчика з об'єктом схематично можна представити таким чином:
покажчик динамічний об'єкт (числовий масив)
адреса 56 678 34 78 ...
Таким чином, адресація динамічних змінних відбувається через покажчики.
Розрізняють два види покажчиків: типізовані і нетипізовані (безтипові).
Типізовані покажчики - це покажчик на змінні певного (базового) типу. Їх оголошення різниться у різних мовах програмування. БНФ-нотація оголошення відповідного посилального типу (покажчика) для мови Pascal має вид:
<посилальний тип> ::= ^ <базовий тип>;
Тут знак “^” варто читати як “посилання на ...”.
Значеннями змінних визначеного таким чином посилального типу можуть бути покажчики на динамічні об'єкти, причому лише базового типу. Змінні посилального типу вводяться у вживання аналогічно будь-яким статичним змінним. Наприклад,
type рtr = ^mas;
mas = array[1..10] of real;
var w : ^word; {покажчик на динамічну величину цілого типу}
s : ^string [25]; {покажчик на динамічний рядок }
m : рtr; {покажчик на динамічний масив, тип якого заданий у розділі Type }
При оголошенні посилального типу може використовуватися ідентифікатор типу, що визначається в описовій частині пізніше (mas).
Безтипові покажчики - це покажчики на область пам'яті, в якій може розміщуватися будь-яка інформація, незалежно від її типу.
Розрізняють стандартні безтипові покажчики (HeapPtr, HeapEnd, SPtr, тощо) і безтипові покажчики користувача, що описуються стандартним типом pointer, який вважається сумісним із усіма посилальними типами. Наприклад,
var p : pointer; {нетипізований покажчик}
Розглянемо приклад. Нехай у програмі описані наступні покажчики:
var p,w :^word;
Прослідкуємо зміни їх значень і значень відповідних змінних з покажчиками в результаті послідовного виконання наступних операторів присвоєння :
p^:= 3;
w^:= 58;
p := w;
w = nil;
Для наочності отримані при цьому результати представимо у вигляді схеми (рис. 1).
Рис. 1. Зміна значень покажчиків
Слід звернути увагу, що в даному прикладі після виконання оператора присвоєння р:= w на динамічний об'єкт із значенням 3 не вказує жоден покажчик, тобто він став недоступним для програми. З іншого боку, в результаті виконання цього ж оператора присвоєння не утворюється новий динамічний об'єкт із значенням 58, а покажчик р посилатиметься на вже існуючий динамічний об'єкт, на який посилається і покажчик w.
Важливо чітко розуміти різницю між покажчиком, тобто значенням посилальної змінної, і значенням динамічного об'єкту, тобто значенням відповідної змінної з покажчиком. Якщо замість оператора р:= w у попередньому прикладі виконати оператор р^:= w^, то отримаємо наступний результат:
Оскільки безтипові покажчики користувача (pointer) вважаються сумісним із усіма посилальними типами, то вони також можуть використовуватися у операторах присвоєння. Наприклад, оголошення
var p1 : ^ integer; {покажчик на змінну цілого типу}
p2 : ^ real; {покажчик на дійсне число}
p3 : pointer; {нетипізований покажчик}
допускають присвоєння виду:
p3 := p1; або p3 := p2; , але не p1 := p2.
3.3 Розподіл динамічної пам'яті
Оголошенні покажчика транслятор лише відводить місце в сегменті даних для розміщення його значення. Покажчик при цьому не посилається ні на який динамічний об'єкт.
Створення (породження) динамічного об'єкта відбувається за необхідності в процесі виконання програми. При цьому в Heap-області виділяється блок ОП необхідного розміру (в залежності від типу об'єкта, на який вказує покажчик) і адреса його початку стає значенням покажчика. Керування розміщенням об'єкта в Heap-області здійснюється за допомогою стандартного покажчика HeapPtr (поточної адреси в Heap-області). Щораз при створенні динамічного об'єкта цей покажчик зміщується на число байт, яке відповідає розміру відповідної динамічної змінної.
У мовах програмування породження динамічних об'єктів здійснюється різними програмними засобами. Зокрема, у мові Pascal для цього, зазвичай, використовується стандартна процедура New. Формат звернення до цієї процедури:
New(<покажчик>).
Процедура New резервує в Heap-області місце для розміщення породжуваного динамічного об'єкту і адресу початку цього місця повертає в своєму аргументі-покажчику. При цьому породженому динамічному об'єкту не присвоюється якого-небудь значення, так що для динамічного об'єкту процедура New грає ту ж роль, що і оголошення для статичного об'єкту.
Наприклад,
var w : ^word;
begin
...
New (w);
...
end;
3.4 Доступ до динамічних об'єктів
Динамічні об'єкти, на відміну від статичних, не мають імен в звичайному розумінні цього слова. Звертання до них здійснюється опосередковано - через відповідний покажчик, і називається розіменуванням покажчика (змінною з покажчиком). У мові Pascal БНФ-нотація такого звертання має наступний вид:
<ім'я динамічної змінної> ::= <покажчик>^.
Наприклад,
w^ := 56;
writeln(`Значення -',w^);
Тут w^ означає динамічну змінну, на яку посилається покажчик w («*» - адреса):
w w ^
* 56
Динамічні об'єкти можуть бути складених типів. Тоді звертання до них має ускладнений вигляд. Наприклад,
A ^ [k+5] - значення k+5 елемента динамічного масиву А;
A [k+5] ^ - значення динамічної змінної, на яку вказує k+5 елемент масиву покажчиків;
Rez ^ [i].data - значення поля data i-ої компоненти динамічного масиву Rez;
Rez [i].data^ - значення динамічної змінної, на яку вказує покажчик, що є значенням поля data i-ої компоненти масива Rez.
3.5 Обробка динамічних об'єктів
Подальша робота з динамічними змінними відбувається так само, як і з статичними змінними відповідних типів. Змінні з покажчиком (а саме вони синтаксично виконують роль динамічних змінних) можна використовувати в будь-яких конструкціях мови програмування, де допускається використання статичних змінних того ж типу. Їм можна присвоювати значення, їх можна використовувати в якості операндів у виразах і параметрів підпрограм, тощо. До них можна застосовувати всі ті операції, які допустимі у відповідності із базовим типом.
Наприклад,
var i:integer;
w:^word;
begin
i:= 2;
w^:= w^*6 + i;
end;
Висновок
Отже, ключовим поняттям в об'єктно-орієнтованому програмуванні на С++ є поняття класу. Клас в С ++ - це практична реалізація абстрактного типу даних засобами мови програмування С++. Фактично клас - це визначений програмістом нестандартний тип даних, тому поняття полів і методів класу повністю співпадають з аналогічними поняттями абстрактного типу даних. Процес визначення класу складається з двох частин. Перша частина - це опис класу. В цій частині визначається структура класу, а саме кількість та типи полів(властивостей) класу, кількість методів, кількість та типи вхідних параметрів методів, а також типи результатів виконання методів. Крім того на цьому етапі визначається область видимості полів та методів. Опис класу починається з ключового слова class, за яким слідує назва класу. Він складається з розділів, які виділяються модифікаторами public, private, protected, що є заголовками розділів і визначають їх початок та область бачимості полів та методів, розташованих у розділі. У розділах із заголовками public розміщуються загальнодоступні поля та методи, які використовуються для інтерфейсу об'єктів даного класу з програмою. Доступ до цих полів і методів може бути здійснений прямим зверненням.
В описі класу може існувати кілька розділів з однаковими заголовками. Перший розділ опису класу може бути без заголовку. В цьому випадку вважається, що заголовком розділу є модифікатор private. Друга частина визначення класу - це опис методів класу. В цій частині реалізуються засобами мови програмування алгоритми методів класу. Обидві частини є обов'язковими при визначенні класу і жодна з них не може бути пропущена. Опис класу та опис методів класу повинні бути розміщені у одному файлі.
Для того щоб використати розроблений клас у програмі необхідно об'явити змінну даного типу. Така змінна буде називатись об'єктом даного класу. Таким чином об'єкт класу - це конкретна змінна (екземпляр) класу (даного типу інформаційної структури).
У мові С++ виділяють вбудовані та користувацькі типи даних.
Вбудовані типи - це типи, які підтримує мова програмування.
Вбудовані типи бувають простими (базовими) та похідними, що утворюються від базових.
До простих типів відносяться наступні:
- bool
- int
- char
- float
- double
До похідних типів відносяться наступні
· масиви (int a[5])
· вказівники (int*a)
Існує також порожній тип void (не має значення).
Прості типи мають набір значень і представлень, прив'язаних до архітектури машини, на якій працює транслятор.
У С++ прості типи можуть бути модифіковані за допомогою ключових слів:
- short
- long
- signed
- unsigned
Статичні змінні - це змінні, пам'ять під які виділяється на етапі компіляції і не змінюється в процесі виконання програми.
Динамічні змінні - це змінні, пам'ять під які виділяється та звільняється в міру необхідності в процесі виконання програми.
Типізовані покажчики - це покажчик на змінні певного (базового) типу. Їх оголошення різниться у різних мовах програмування. БНФ-нотація оголошення відповідного посилального типу (покажчика) для мови Pascal має вид.
Безтипові покажчики - це покажчики на область пам'яті, в якій може розміщуватися будь-яка інформація, незалежно від її типу.
Створення (породження) динамічного об'єкта відбувається за необхідності в процесі виконання програми. При цьому в Heap-області виділяється блок ОП необхідного розміру (в залежності від типу об'єкта, на який вказує покажчик) і адреса його початку стає значенням покажчика. Керування розміщенням об'єкта в Heap-області здійснюється за допомогою стандартного покажчика HeapPtr (поточної адреси в Heap-області). Щораз при створенні динамічного об'єкта цей покажчик зміщується на число байт, яке відповідає розміру відповідної динамічної змінної.
Размещено на Allbest.ru
...Подобные документы
Особливості редагування за допомогою текстового редактора NotePad вхідного файлу. C++ як універсальна мова програмування, знайомство с функціями. Характеристика графічних засобів мови С. Аналіз основних понять об’єктно-орієнтованого програмування.
курсовая работа [123,3 K], добавлен 14.03.2013Розробка програми для управління навчальним процесом студентської групи вищого навчального закладу. Об’єктно-орієнтоване проектування об’єктів групи. Створення мови програмування Java. Побудова графічного інтерфейсу. Робота з невеликими базами даних.
курсовая работа [935,3 K], добавлен 21.12.2013Мова C++ є як одна з найпоширеніших сучасних мов програмування. Базові засоби мови С++, її специфічні риси. Технологія складу програм, специфіка організації процесу програмування. Модульне програмування. Особливості об’єктно-орієнтованого програмування.
курсовая работа [49,6 K], добавлен 26.03.2010Динамічні структури даних. Списки та їх різновиди. Практична реалізація динамічних структур на мові програмування С++. Динамічна пам’ять, операції NEW та DELETE. Побудова динамічних структур з використанням стандартних шаблонів: бібліотеки Stack та Queue.
курсовая работа [72,4 K], добавлен 07.09.2010Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.
курсовая работа [510,9 K], добавлен 14.03.2013Методи рішень диференційних рівнянь за допомогою мов програмування і їх графічні можливості. Аналіз динамічних та частотних властивостей електронної системи за допомогою чисельної моделі. Представлення цифрової моделі та блок-схеми алгоритму обчислень.
практическая работа [430,6 K], добавлен 27.05.2015Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.
курсовая работа [211,3 K], добавлен 19.08.2010Ключові поняття мови об’єктно-орієнтованого програмування C++: інкапсуляція, наслідування, абстракція, поліморфізм. Об’ява класів у мові С++. Графічні засоби. Пошук відстані між точками. Опис класів і об’єктів. Програма графічної задачі. Лістинги файлів.
курсовая работа [144,3 K], добавлен 14.03.2013Аналіз розроблення та програмування обчислювального процесу лінійної структури, налагодження програм. Вивчення правил запису констант, числових і символьних змінних, типів даних. Побудова алгоритму розв’язування завдання та креслення його блок-схеми.
реферат [2,1 M], добавлен 22.04.2012Основні відомості про історію розвитку мови Object Pascal, середовища Delphi, їх основні технології та застосування для роботи з файлами. Опис основних особливостей мови, основних елементів програмної мови. Принципи об'єктно-орієнтованого програмування.
курсовая работа [471,5 K], добавлен 12.04.2010Концепції об'єктно-орієнтованого програмування. Конструктори та деструктори. Успадкування класів. Побудова об’єктної моделі. Визначення об'єктів та класів і зв’язків між ними. Реалізація програми в середовищі Visual Studio C++. Інтерфейс програми.
курсовая работа [743,7 K], добавлен 25.01.2016Прототип об'єктно-орієнтованого програмування. Управління процесом реалізації програми. Розвиток апаратних засобів. Об'єктно-орієнтовані мови програмування. Надійність і експлуатаційні якості програм. Візуальне об’єктна-орієнтовне проектування Delphi.
контрольная работа [28,9 K], добавлен 18.05.2009Аналіз сучасного стану технологій програмування. Засоби реалізації об'єктів в мові C++, структура даних і функцій. Розробка програмного продукту - гри "трикутники", з використовуванням моделей, класів і функцій об’єктно-орієнтованого програмування.
курсовая работа [117,8 K], добавлен 14.03.2013Фундаментальні поняття об'єктно-орієнтованого програмування. Система лінійних нерівностей та опуклі багатогранники. Системи лінійних рівнянь лінійної алгебри як частковий випадок систем лінійних обмежень. Використання середовища програмування Delphi7.
курсовая работа [222,7 K], добавлен 20.05.2015Особливості об'єктно-орієнтованого програмування. Розробка програми для елементарних математичних розрахунків, виведення результату на екран та запису у файлі. Сортування слів у рядку. Програма, яка реалізовує ходи шахових фігур. Програма-калькулятор.
отчет по практике [2,0 M], добавлен 19.03.2015Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.
курсовая работа [335,3 K], добавлен 11.01.2015Дослідження динамічних рядів методом найменших квадратів та ковзаючого середнього. Опис логічної структури програми. Стандартні методи та елементи середовища програмування Borland Delphi 2007. Опис функцій складових частин програми і зв'язків між ними.
курсовая работа [135,3 K], добавлен 01.04.2016Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.
лекция [445,0 K], добавлен 24.07.2014Програмування математичної моделі довільної ланки хіміко-технологічної системи та дослідження її динамічних характеристик. Система Mat Lab – середовище програмування. Побудова програмними засобами кривих перехідних процесів, логарифмічних характеристик.
курсовая работа [551,3 K], добавлен 12.01.2011Об'єктно-орієнтована мова Python - сучасна мова програмування, проста у вивченні та використанні. Наявність повної стандартної бібліотеки. Середовища програмування на Python. Механізм функціонування інтерпретатора. Колекції даних, комбіновані оператори.
презентация [753,2 K], добавлен 06.02.2014