Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення


НазваПарадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення
Дата конвертації15.03.2013
Розмір484 b.
ТипПрезентации


Парадигма програмування — це спосіб мислення

  • Парадигма програмування — це спосіб мислення

  • розробника програми. Розглянемо три основних

  • парадигми — процедурне, об’єктне (модульне) і

  • об’єктно-орієнтоване (ієрархічне) програмування. Всі

  • вони підтримуються мовою програмування С++, яка

  • розвинулася з мови процедурного програмування С.

  • Процедурне програмування

  • Процедурне програмування подає програму у вигляді

  • набору алгоритмів, для оформлення яких можуть

  • застосовуватися іменовані програмні блоки -

  • процедури і функції.


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

  • Для процедур і функцій передбачається наявність

  • механізмів передачі параметрів і поверненні результату.

  • Спочатку процедурне програмування користувалося

  • довільними засобами керування, в тому числі, переходом

  • за міткою — одним з найбільш вживаних операторів

  • керування в Фортрані. Ось приклад програмного тексту

  • C КВАДРАТНИЙ КОРІНЬ З ДІЙСНОГО ЧИСЛА

  • REAL FUCTION ROOT (A)

  • S=A

  • IF (A.EQ.0) GO TO 20

  • T=(S+A/S)*.5

  • IF (ABS((T-S)/T).LE.1.E-6) GO TO 20

  • S=T

  • GO TO 10

  • 20 ROOT=S

  • END



В 1968 році голландський вчений Е.Дейкстра вперше

  • В 1968 році голландський вчений Е.Дейкстра вперше

  • звернув увагу на проблеми, що виникають у

  • програмах з неконтрольованими переходами, в 1970

  • році проголосив новий напрямок, який він назвав

  • структур(ова)ним програмуванням. Структурне

  • програмування — це варіант процедурного, що

  • вживає три типи структур керування: послідовне

  • виконання дій, розгалуження і цикл. Фортран не

  • підтримував цю парадигму — в наборі його засобів не

  • було циклів за умовами. Починаючи з Алголу, а

  • особливо в Паскалі, цикли стають основним засобом

  • організації обчислень в програмі.



Автор Паскалю, професор Н.Вірт, відібрав до

  • Автор Паскалю, професор Н.Вірт, відібрав до

  • створюваної ним мови програмування лише прості в

  • поясненні і легкі в реалізації конструкції. Завдяки

  • сильній типізації програми в Паскалі відзначаються

  • надійністю, вони мобільні завдяки закладеній в них

  • концепції Паскаль-машини, їх легко читати і розуміти

  • завдяки дисципліні програмування, продиктованої

  • вжитою парадигмою.

  • Але разом з цим застосування Паскалю гальмувалося

  • саме складністю виходу за межі віртуальної машини,

  • потребою ефективного використання наявної апаратури.

  • Головним критерієм, вжитим Б.Керніганом і Д.Річі до

  • створеної ними мови С, стала саме гнучкість

  • використання особливостей конкретної апаратури і

  • ефективність виконання програм.



З ростом обсягу програм і складності даних з'явилася

  • З ростом обсягу програм і складності даних з'явилася

  • нова проблема структурної організації даних, найбільш

  • ємко висловлена Віртовською формулою “алгоритми +

  • структури даних = програми”.

  •   Поняття модуля як абстракції даних було вперше

  • запропоноване Парнасом у 1972 році. У найбільш

  • повному виді поняття абстракції даних було реалізоване в

  • мові програмування Модула-2.   Головна ідея полягає в

  • забезпеченні доступу до даних, не залежному від їх

  • конкретного представлення. Самі дані і програми їх

  • обробки вбудовуються (інкапсулюються) в окремій

  • одиниці програми.



Об'єктно-орієнтована парадигма наділила класи

  • Об'єктно-орієнтована парадигма наділила класи

  • ієрархією. Об'єктно-орієнтоване програмування за

  • метафорою Б.Страуструпа, автора С++ — однієї з

  • найпопулярніших мов об'єктно-орієнтованого

  • програмування, — це високоінтелектуальний синонім

  • доброго програмування.   Дійсно, алгоритми, реалізовані в

  • процедурному програмуванні, надто конкретні. Будь-яка

  • модифікація — це вже новий алгоритм і таким чином

  • кількість процедур і функцій, що знаходяться у вжитку,

  • надмірно зростає. Модульне програмування групує

  • алгоритми в модулі, одночасно інкапсулюючи структури

  • даних. Тепер залишається зробити наступний крок —

  • побудувати ієрархію модулів або класів.



Таких ієрархій може бути дві. Перша з них — бути

  • Таких ієрархій може бути дві. Перша з них — бути

  • частиною чогось. Наприклад, грань є частиною

  • многогранника, ребро — частиною грані, вершина —

  • частиною ребра. Інша ієрархія — бути узагальненням або

  • конкретизацією. Наприклад, овал і многокутник служать

  • конкретизацією плоскої фігури, чотирикутник —

  • конкретизацією многокутника, подальшими

  • конкретизаціями чотирикутника можуть служити

  • паралелограм, прямокутник, ромб, квадрат. Той факт, що

  • квадрат, ромб, прямокутник є повноцінними

  • паралелограмами дозволяє їм користуватися усіма

  • програмними засобами, створеними для паралелограма,

  • паралелограм в свою чергу є повноцінним

  • чотирикутником і так далі.



Цей принцип (reusable знову вживаний ) став одним з

  • Цей принцип (reusable знову вживаний ) став одним з

  • найважливіших досягнень об'єктно-орієнтованої

  • парадигми. Знову вживаючи вже існуюче програмне

  • забезпечення в більш конкретизованих умовах, ми

  • дописуємо лише ту його частину, яка стосується

  • особливостей наявної конкретизації. Цей принцип дістав

  • назву programming by difference або дописування програм.

  • Об'єктно-орієнтована парадигма доводить до логічної

  • завершеності принцип моделювання реального світу.

  • Програма складається з об'єктів, що відповідають

  • реальним поняттям або предметам. Виконання програми

  • зводиться до взаємодії об'єктів, яке служить абстракцією

  • реальної взаємодії їх прототипів.



Сьогодні в сімействі мов об'єктно-орієнтованого

  • Сьогодні в сімействі мов об'єктно-орієнтованого

  • програмування три найбільш відомих представника:

  • С++, Java і C #. Java і C # виросли з С++. Вони мають

  • свою сферу застосування в розподіленому

  • програмуванні .

  •   Ще одна перевага С++ — його мультипарадигменність.

  • С++ підтримує традиційні для модульного

  • програмування механізми абстракції даних, доповнені

  • можливостями об’єктно-орієнтованої парадигми.

  • С++ містить в собі мову С (з деякими застереженнями),

  • а тому підтримує процедурну парадигму. Ось приклад

  • функції для обчислення квадратного кореня в С/С++:



double root (double x, double eps)

  • double root (double x, double eps)

  • {

  • double s=0.5*x;

  • double t;

  • do

  • {

  • t=s;

  • s=(s+x/s)*0.5;

  • }

  • while ((fabs(s-t)/s)>eps);

  • return s;

  • };



Структура дозволяє нам збирати разом декілька видів

  • Структура дозволяє нам збирати разом декілька видів

  • інформації, представленої її полями. Так структура

  • Employee є абстракцією службовця, до членів якої

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

  • інформацію — атрибути об'єкту

  •  const short kMaxNameSize = 20;

  • struct Employee {

  • char name [kMaxNameSize];

  • unsigned int id;

  • float salary; } 

  •   Над об'єктами типу Employee виконують якісь дії, наприклад,

  • створюють, роздруковують, нараховують зарплату, тощо. Ці

  • дії забезпечуються функціями, які було б логічно теж

  • розмістити в структурі. Тоді їх називають методами .



Структури дають нам досить простий тип інкапсуляції

  • Структури дають нам досить простий тип інкапсуляції

  • ( encapsulation ) — об'єднання елементів з метою створення

  • нової сутності. Приклад —точки площини разом з операціями

  • додавання, порівняння, тощо

  •  struct Point

  • {

  • // Атрибути

  • double _x;

  • double _y;

  • // Методи

  • Point operator+(Point);

  • bool operator==(Point);

  • double modulus ();

  • double phi ();

  • }

  •  



Інкапсуляція ділить об'єкт на дві частини: інтерфейс

  • Інкапсуляція ділить об'єкт на дві частини: інтерфейс

  • і реалізацію. Вище ми записали інтерфейс, а так

  • записується реалізація методів. Читаємо: оператор

  • додавання + із структури Point.

  •  Point Point::operator+(Point v)

  • {

  • Point w;

  • w._x = _x + v._x;

  • w._y = _y + v._y;

  • return w;

  • }



Схожі:

Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconПедагогічна технологія критичного мислення
...
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconК пед н., професора Крижка В. В. – “Аксіологічна парадигма управління освітою”; к пед н., професора Крижка В. В. – “Аксіологічна парадигма управління освітою”
Буянов П. Г., Богданова М. М., Куделіна О. В., Вусик Г. Л., Голік О. Б., Глазова С. М., Греб М. М., Красножон О. Б., Мельникова Ю....
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconКурс «Програмування» Курс «Програмування»
Язык программирования си для персонального компьютера/ Под общ ред. П. И. Садчикова. М.: Радио и связь, 1990. 384 с
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconМетоди об'єктно-орієнтованого програмування 2007 Бублик В. В. Кафедра мультимедійних систем, кімн. 204/1
Надійне і якісне програмування, досягнуте за допомогою гнучкого проектування, кристалізується у взірцях для наслідування
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconКомунікативно-функціональна парадигма синхронних і діахронних студій мовних і мовленнєвих одиниць

Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconПрограма для створення карт знань Карти пам'яті (англ. Mind map) спосіб зображення процесу загального системного мислення за допомогою схем
Максименко В. А., методист нмц викладання інформатики, інформаційно-комунікаційних технологій та дистанційного навчання
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconНімецька класична філософія Феномен німецької класичної філософії
Німеччини кінця XVIII початку XIX ст., яка підняла на високий рівень теоретичний спосіб мислення. Це філософія представників філософської...
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconНімецька класична філософія Феномен німецької класичної філософії
Німеччини кінця XVIII початку XIX ст., яка підняла на високий рівень теоретичний спосіб мислення. Це філософія представників філософської...
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconНімецька класична філософія Феномен німецької класичної філософії
Німеччини кінця XVIII початку XIX ст., яка підняла на високий рівень теоретичний спосіб мислення. Це філософія представників філософської...
Парадигма програмування — це спосіб мислення Парадигма програмування — це спосіб мислення iconРозвиток критичного мислення на уроках хімії з досвіду роботи вчителя хімії Березанської зош І – ІІІ ст
Критичне мислення процес обмірковування власних думок та причин виникнення певної точки зору, що передбачає послідовний ланцюжок...

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка