Курсова робота на тему: «ТЕХНОЛОГІЇ ПРОГРАМУВАННЯ»

Зміст

Вступ.    3

Парадигма програмування.    4

Поняття об’єкта, класу об’єктів.    6

Основні поняття об’єктно-орієнтованого програмування    7

Основні терміни та визначення моделі проектування    9

Література    344

 

Вступ. Як у будь-якому виді діяльності в програмуванні існує своя технологія: – це знання, правила, навички та інструменти, що дозволяють одержувати гарантований якісний результат. Але саме по собі дотримання ряду правил не дає гарантію якості результату. Це пояснюється специфікою програмування. По–перше, це не наука, де знання якої–небудь формули дозволяє однозначно вирішити задачу, підставивши в неї вихідні дані й одержавши результат. По–друге, ці правила необхідно дотримувати не стільки на папері, скільки в голові. Тобто технологія програмування – це швидше за все спосіб організації процесу обмірковування програми, ніж її запису. Зі сказаного випливає, що якщо людина, яка пише програму – мислить, то вона вже дотримується певної технології програмування, навіть не підозрюючи про це. Найпростіший метод полягає в написанні програми відразу від початку до кінця, без використання яких–небудь загальних принципів, тобто “як заманеться”.

Розглянемо найбільш відомі з технологій:

– метод “північно–західного” кута (мається на увазі аркуш паперу або екран монітора). Програма пишеться відразу від початку до кінця, без використання яких–небудь загальних принципів;

– технологія структурного програмування, у ній передбачається дотримувати принципів модульності, нисхідного і покрокового проектування програм, одночасного проектування програм і структур даних.

– технологія об’єктного програмування – пов’язана з використанням понять об’єктів та їхніх класів при проектуванні програми.

Парадигма програмування.
Проблема “Що є первинним – курка чи яйце?” стосовно до програмування звучить як парадигма: “Що є первинним: алгоритм (процедура, функція) чи оброблювані ними дані”. У традиційній технології програмування взаємовідносини процедури – дані мають більш–менш вільний характер, причому процедури (функції) є ведучими у цій зв’язці: як правило, функція викликає функцію, передаючи дані один одному по ланцюгу. Відповідно, технологія структурного проектування програм насамперед приділяє увагу розробці алгоритму.

У технології ООП взаємовідносини даних і алгоритму мають більш регулярний характер: по-перше, клас (базове поняття цієї технології) поєднує в собі дані (структурована змінна) і методи (функції). По-друге, схема взаємодії функцій і даних принципово інша. Метод (функція), який викликається для одного об’єкта, як правило, не викликає іншу функцію безпосередньо. Для початку він повинен мати доступ до іншого об’єкту (створити, одержати вказівник, використовувати внутрішній об’єкт у поточному і т.д.), після чого він вже може викликати для нього один з відомих методів. Таким чином, структура програми визначається взаємодією об’єктів різних класів між собою. Як правило, має місце ієрархія класів, а технологія ООП може бути названою ще як програмування “від класу до класу”.

Функційне програмування — парадигма програмування, яка розглядає програму як обчислення математичних функцій та уникає стани та змінні дані. Функційне програмування наголошує на застосуванні функцій, на відміну від імперативного програмування, яке наголошує на змінах в стані та виконанні послідовностей команд.

Іншими словами, функційне програмування є способом створення програм, в яких єдиною дією є виклик функції, єдиним способом розбиття програми є створення нового імені функції та задання для цього імені виразу, що обчислює значення функції, а єдиним правилом композиції є оператор суперпозиції функцій. Жодних комірок пам’яті, операторів присвоєння, циклів, ні, тим більше, блок схем чи передачі управління.

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

Основну увагу функційним мовам програмування, особливо, «чисто функційним», приділили академічні дослідники. Однак, до відомих функційних мов програмування, які використовуються в промисловості та комерційному програмуванні належить Erlang (паралельні програми), R (статистика), Mathematica (символьні обчислення)), J та K (фінансовий аналіз), та спеціалізовані мови програмування наприклад XSLT. Істотний вплив на функціональне програмування здійснило лямбда-числення, мова програмування APL, мова програмування Lisp та, новіша мова програмування Haskell.

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

Імперативні мови програмування протиставляються функціональним і логічним мовам програмування. Функціональні мови, наприклад, Haskell, не є послідовністю інструкцій і не мають глобального стану. Логічні мови програмування, такі як Prolog, зазвичай визначають що треба обчислити, а не як це треба робити.Поняття об’єкта, класу об’єктів.
Центральними в ООП є поняття класу та об’єкта. Образно кажучи, ООП полягає не стільки у використанні класів і об’єктів у програмі, скільки в заміні принципу програмування “від функції до функції” принципом програмування “від класу до класу”.

Технологія ООП насамперед накладає обмеження на способи представлення даних у програмі. Будь-яка програма відображає в них стан фізичних предметів або абстрактних понять (назвемо їх об’єктами програмування), для роботи з якими вона призначена. У традиційній технології варіанти представлення даних можуть бути різними. В гіршому випадку програміст може “рівномірно розмазати” дані про деякий об’єкт програмування по всій програмі. На противагу цьому всі дані про об’єкт програмування і його зв’язки з іншими об’єктами можна об’єднати в одну структуровану змінну. У першому наближенні її можна назвати об’єктом. Крім того, з об’єктом зв’язується набір дій, які названі ще методами. З погляду мови програмування це функції, що одержують як обов’язковий параметр – вказівник на об’єкт. Технологія ООП забороняє працювати з об’єктом інакше, ніж через методи, тобто внутрішня структура об’єкта прихована від зовнішнього користувача. Опис великої кількості однотипних об’єктів називається класом.

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

Клас – опис великої кількості таких об’єктів та виконуваних над ними дій.

Це означення можна проілюструвати засобами класичного Сі:

struct myclass

{ int data1;


};void method1(struct myclass *this,…)

{ … this–>data1 … }

void method2(struct myclass *this,…)

{ … this–>data1 … }

struct myclass obj1, obj2;

… method1(&obj1,…); … method2(&obj2,…);

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

ЗАВАНТАЖИТИ

Для скачування файлів необхідно або Зареєструватись

Tehnologii Programuvanna (355.0 KiB, Завантажень: 8)

Сторінка: 1 2 3 4 5 6 7 8
завантаження...
WordPress: 24.27MB | MySQL:26 | 0,327sec