SlideShare una empresa de Scribd logo
1 de 21
КОМП’ЮТЕРНІ
ПРОГРАМИ І МОВИ
ПРОГРАМУВАННЯ
8 клас. Заняття 1. Частина 2.
основи подійно- та об'єктно-орієнтованого
програмування
Пригадаємо
• Інтегроване середовище програмування – це система
програмування, що поєднує редактор для зручного введення і
редагування програми, транслятор і налагоджувач помилок.
основи подійно- та об'єктно-орієнтованого
програмування
Компілятор
Синтаксичний
контроль всього
тексту програми
Генератор
машинного
кодуВхідна
програма
Робоча
програма
Повідомлення
про помилки
Інтерпретатор
Покроковий синтаксичний контроль і
виконання тексту програмиВхідна
програма
Повідомлення
про помилки
Компілятор
транслює
(переводить)
програму в
машинний код
Інтерпретатор
безпосередньо
виконує написану
програму
Класифікація мов програмування
основи подійно- та об'єктно-орієнтованого
програмування
МОВИ
ПРОГРАМУВАННЯ
За орієнтацією на
клас задач
універсальні спеціалізовані
- мова розмітки
- мова скриптів
За принципами
програмування
- процедурні (імперативні)
- непроцедурні
- об’єктно-орієнтовані
За ступенем залежності від
апаратних засобів
- низького рівня
- високого рівня
- надвисокого рівня
ПАРАДИГМИ
ПРОГРАМУВАННЯ
Парадигма – набір теорій, стандартів і методів, які
спільно представляють собою спосіб бачення світу.
основи подійно- та об'єктно-орієнтованого
програмування
Парадигма програмування
• Парадигма програмування - це сукупність ідей і
понять, що визначають стиль написання
комп'ютерних програм (підхід до програмування).
основи подійно- та об'єктно-орієнтованого
програмування
Це спосіб концептуалізації, який
визначає, яким чином потрібно
проводити обчислення, та як має
бути структурована та
організована робота комп’ютера по
реалізації цих обчислень.
Ще раз про класифікацію МП
основи подійно- та об'єктно-орієнтованого
програмування
МОВИ ПРОГРАМУВАННЯ
ІМПЕРАТИВНІ
(алгоритмічні мови)
Процедурні МП
(Fortran, Pascal,
C, …)
Об’єктно-
орієнтовані МП
(C++, Delphi, …)
ДЕКЛАРАТИВНІ
(неалгоритмічні мови)
Мови логічного
програмування
(Prolog,
Mercury,…)
Мови
функціонального
програмування
(Lisp, Haskell, …)
Парадигми програмування
• Процедурне програмування. Програми містять код основної програми і
одну або більше процедур. Процедурами також названі: функції, процедури,
підпрограми. Процедури можуть бути викликані в будь-якому місці з основної
програми, а також і з інших процедур.
• Функціональне програмування. Програми написані за допомогою
використання коду математичних функцій. Значення функцій розглядаються як
окремі об'єкти, які не змінюються, а перетворюються в нові значення.
• Логічне програмування. Програми описуються виключно в термінах
математичної логіки. Основним поняття є відношення. Логічна програма являє
собою набір логічних декларацій, що описують проблему, яку необхідно вирішити.
• Об'єктно-орієнтоване програмування. Програма є сукупністю
взаємодіючих об'єктів, які мають поля даних і пов'язаних з ними процедур, відомих
як методи. Об'єкти, які є екземплярами класів, використовуються для взаємодії
один з одним для розробки додатків і комп'ютерних програм.
основи подійно- та об'єктно-орієнтованого
програмування
 Перша МП високо рівня –
Фортран в 1954-57 Дж.Бекусом,
для того щоб математики могли
програмувати на рівні формул.
 Перша ООП МП - Smalltalk
1969 (початок розробки) Аланом
Кеєм .
Еволюція мов програмування
основи подійно- та об'єктно-орієнтованого
програмування
Машинні коди Асемблер
Процедурне
програмування
Об’єктно-
орієнтоване
програмування
Аспектно-
орієнтоване
програмування
• Імперативні МП
o Об’єктно-орієнтовані МП
* Функціональні МП
^ Логічні МП
Більшість сучасних мов програмування
мультипарадигмальні
основи подійно- та об'єктно-орієнтованого
програмування
ОБ’ЄКТНО-ОРІЄНТОВАНЕ
ПРОГРАМУВАННЯ
Парадигма програмування, в якому основними
концепціями є поняття об’єктів і класів.
основи подійно- та об'єктно-орієнтованого
програмування
Алан Кертис Кей – батько ООП
• Будь-який елемент розв'язуваної задачі
(будинок, собака, послуга, хімічна
реакція, місто, космічний корабель, ...)
може являти собою об'єкт.
• Об'єкт як зберігає інформацію, так і
здатний її перетворювати.
• Об'єкт можна уявити собі як
швейцарський ніж: він є набором різних
ножів і «відмичок» (зберігання), але в той
же самий час їм ми можемо різати або
відкривати щось (перетворення).
основи подійно- та об'єктно-орієнтованого
програмування
Фундаментальні характеристики ООП (1993 рік):
Об’єктно-орієнтоване програмування
• Об’єктно-орієнтоване програмування (ООП) -
одна з парадигм програмування, яка розглядає
програму як множину «об’єктів», що взаємодіють між
собою:
• кожний об’єкт здатний отримувати повідомлення, обробляти
дані та надсилати повідомлення іншим об’єктам;
• кожен об’єкт - своєрідний незалежний автомат з окремим
призначенням та відповідальністю.
основи подійно- та об'єктно-орієнтованого
програмування
• Основу ООП складають три основні
концепції:
• інкапсуляція,
• наслідування або успадкування
• поліморфізм.
Інкапсуляція (приховуючи непотрібне)
• Інкапсуляцією (лат. en capsula) називається
упаковка даних і/або функцій в єдиний
компонент.
основи подійно- та об'єктно-орієнтованого
програмування
• Значення речей, які ви не хочете,
щоб інші люди/класи знали,
повинні бути приховані.
• Наприклад, вчителю не потрібно
знати, як учень готувався до уроку.
Він більше зацікавлений в
кінцевому результаті.
• Основна мета інкапсуляції – захист об'єктів від
несанкціонованого доступу до даних.
Інкапсуляція. Класи. Об’єкти.
• В результаті інкапсуляції (механізму об'єднання даних і процедур
по обробці цих даних) створюється «об'єкт».
основи подійно- та об'єктно-орієнтованого
програмування
• Об'єкт ― це конкретна
реалізація класу.
• Наприклад,
• клас – це те як кіт
влаштований;
• об'єкт – це кіт «Василь».
• Клас ― це множина об’єктів, що мають спільну
структуру і поведінку.
Класи. Об’єкти.
• Клас ― це програма або набір інструкцій для створення конкретного
типу об’єктів. Клас визначає як об'єкт буде вести себе і те, що
об'єкт буде містити.
• Об’єкт – це самодостатній компонент, який складається з методів і
властивостей, що роблять певний тип даних корисними. Об’єкт
визначає поведінку класу.
• Об'єкти складаються з атрибутів і методів. Атрибути є
характеристиками, які визначають об'єкт; значення, що містяться в
атрибутах диференціації об'єктів того ж класу один від одного.
• Атрибут – це характеристики, які визначають об'єкт; значення, що
містяться в атрибутах диференціюють об'єкти того ж класу один від
одного.
• Метод – це операції які об'єкт може виконувати; він визначає поведінку
об’єкту і як об'єкт може взаємодіяти із зовнішнім світом.
основи подійно- та об'єктно-орієнтованого
програмування
Класи. Об’єкти.
основи подійно- та об'єктно-орієнтованого
програмування
КЛАС
Класифікація
предметів за
спільними
структурою,
властивостями,
діями
БУДІВЛЯ СОБАКА КОМП’ЮТЕР
ОБ’ЄКТ
Конкретний предмет
(екземпляр), який
належить до якось з
класів Емпая Стейт Лессі Твій комп’ютер
СТРУКТУРА (клас) Кількість поверхів… 4 лапи і хвіст,… ЦП, ОП, …
ВЛАСТИВІСТЬ Адреса і години праці Власне ім’я Назва моделі
МЕТОД (ДІЇ) «Розумна будівля» Гавкає Power
Наслідування (моделювання схожості)
• Наслідування – це механізм, коли
один об'єкт набуває всі властивості і
поведінку батьківського об'єкта,
тобто успадковує.
основи подійно- та об'єктно-орієнтованого
програмування
• Наслідування забезпечує повторне використання коду.
• Наслідування використовується для досягнення виконання
поліморфізму.
• Клас-нащадок(дочірній) може додати власні методи і властивості, а
також користуватися батьківськими методами і властивостями.
• Наслідування дозволяє будувати ієрархію класів.
Поліморфізм (функція та сама, а
поведінка різна)
• Поліморфізм – (від гр. «Багато форм») коли
одна задача виконується різними способами.
основи подійно- та об'єктно-орієнтованого
програмування
Наприклад, всі тварини можуть
пересуватися, а деякі навіть видавати
звуки.
При такому описі будь якої тварини (риби,
ворони, коня, …) її інтерфейс (те, що
доступно при використанні класу зовні) містить
в собі методи пересування і видання
звуку.
Сила поліморфізму в тому, що різні випадки можна лікувати однаково.
Абстракція (усунути непотрібне,
підсилюючи основне)
• Абстракція полягає в тому, щоб
витягти основні відомості про
об'єкт чи групу предметів,
ігноруючи при цьому несуттєве
деталі. Тільки суттєва інформація
доступна користувачеві.
основи подійно- та об'єктно-орієнтованого
програмування
Власник кота Ветлікар
• З точки зору програмування, абстракція означає загальний доступ
іншим об'єктам тільки до тих даних, які мають відношення до них.
• Використовуючи абстракції можна моделювати об'єкти реального світу.
• Принцип абстракції полягає в тому, щоб зосередитися на головному і
відкинути недоречне.
Резюме
• Об'єкт є екземпляром класу.
• Інкапсуляція забезпечує безпеку зберігання даних і
методів від випадкових змін.
• Наслідування – це відносини батькодитина, які в
основному застосовуються для повторного
використання коду.
• Визначення поліморфізму полягає в тому, що poli
означає багато і morphos – форми.
• Абстракція забезпечує повторне використання коду.
• Абстракція робить програму відкритою для
модифікацій і доповнень.
основи подійно- та об'єктно-орієнтованого
програмування
В словник
основи подійно- та об'єктно-орієнтованого
програмування

Más contenido relacionado

La actualidad más candente

презентація безпечний інтернет
презентація безпечний інтернетпрезентація безпечний інтернет
презентація безпечний інтернет
violet1975
 
Презентація:Форматування символів та абзаців
Презентація:Форматування символів та абзацівПрезентація:Форматування символів та абзаців
Презентація:Форматування символів та абзаців
sveta7940
 
Формувальне оцінювання на уроках інформатики 5 го класу -
Формувальне оцінювання на уроках інформатики 5 го класу -Формувальне оцінювання на уроках інформатики 5 го класу -
Формувальне оцінювання на уроках інформатики 5 го класу -
Iren50
 

La actualidad más candente (20)

Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
Поняття мови програмування. Складові мови програмування (інформатика 8 клас)
 
9 клас. Урок 23. Системи опрацювання текстів.Текстовий редактор Word.
9 клас. Урок 23. Системи опрацювання текстів.Текстовий редактор Word.9 клас. Урок 23. Системи опрацювання текстів.Текстовий редактор Word.
9 клас. Урок 23. Системи опрацювання текстів.Текстовий редактор Word.
 
Інформатика-5. Урок 26. Комп'ютерна презентація та її об'єкти
Інформатика-5. Урок 26. Комп'ютерна презентація та її об'єктиІнформатика-5. Урок 26. Комп'ютерна презентація та її об'єкти
Інформатика-5. Урок 26. Комп'ютерна презентація та її об'єкти
 
8 клас урок 4
8 клас урок 48 клас урок 4
8 клас урок 4
 
Проектування та верстка веб-сторінок
Проектування та верстка веб-сторінокПроектування та верстка веб-сторінок
Проектування та верстка веб-сторінок
 
6 клас 18 урок. Створення текстового документа. Введення та редагування тексту.
6 клас 18 урок. Створення текстового документа. Введення та редагування тексту.6 клас 18 урок. Створення текстового документа. Введення та редагування тексту.
6 клас 18 урок. Створення текстового документа. Введення та редагування тексту.
 
проект скретч
проект скретчпроект скретч
проект скретч
 
4 клас урок 2 для чого потрібні файли та папки
4 клас урок 2 для чого потрібні файли та папки4 клас урок 2 для чого потрібні файли та папки
4 клас урок 2 для чого потрібні файли та папки
 
презентація безпечний інтернет
презентація безпечний інтернетпрезентація безпечний інтернет
презентація безпечний інтернет
 
Типи веб-сторінок та веб-сайтів
Типи веб-сторінок та веб-сайтівТипи веб-сторінок та веб-сайтів
Типи веб-сторінок та веб-сайтів
 
Презентація:Форматування символів та абзаців
Презентація:Форматування символів та абзацівПрезентація:Форматування символів та абзаців
Презентація:Форматування символів та абзаців
 
Формувальне оцінювання на уроках інформатики 5 го класу -
Формувальне оцінювання на уроках інформатики 5 го класу -Формувальне оцінювання на уроках інформатики 5 го класу -
Формувальне оцінювання на уроках інформатики 5 го класу -
 
огляд 4 кл
огляд 4 клогляд 4 кл
огляд 4 кл
 
Інформаційні технології. Роль інформаційних технологій у житті сучасної людин...
Інформаційні технології. Роль інформаційних технологій у житті сучасної людин...Інформаційні технології. Роль інформаційних технологій у житті сучасної людин...
Інформаційні технології. Роль інформаційних технологій у житті сучасної людин...
 
3 клас урок 13 що таке веб сторінки,веб-сайти та як їх переглядати.
3 клас урок 13 що таке веб сторінки,веб-сайти та як їх переглядати.3 клас урок 13 що таке веб сторінки,веб-сайти та як їх переглядати.
3 клас урок 13 що таке веб сторінки,веб-сайти та як їх переглядати.
 
Розв’язування компетентнісних задач
Розв’язування компетентнісних задачРозв’язування компетентнісних задач
Розв’язування компетентнісних задач
 
ппз для початкової школи
ппз для початкової школи ппз для початкової школи
ппз для початкової школи
 
4 клас урок 32 створення презентацій на основі шаблону
4 клас урок 32 створення презентацій на основі шаблону4 клас урок 32 створення презентацій на основі шаблону
4 клас урок 32 створення презентацій на основі шаблону
 
створення зв’язків між таблицями
створення зв’язків між таблицямистворення зв’язків між таблицями
створення зв’язків між таблицями
 
Про програму Scratch
Про програму ScratchПро програму Scratch
Про програму Scratch
 

Similar a комп’ютерні програми і мови програмування 2

календарне планування 11 клас. інформатика
календарне планування 11 клас. інформатикакалендарне планування 11 клас. інформатика
календарне планування 11 клас. інформатика
Тетяна Шверненко
 
Starchenko pochatsch
Starchenko pochatschStarchenko pochatsch
Starchenko pochatsch
pupilsShostka
 
презентація програми скор.Ppt
презентація програми скор.Pptпрезентація програми скор.Ppt
презентація програми скор.Ppt
Marina Marina
 
вивчення теми основи алгоритмізації та програмування
вивчення теми основи алгоритмізації та програмуваннявивчення теми основи алгоритмізації та програмування
вивчення теми основи алгоритмізації та програмування
Tamara Emec
 
Мови програмування
Мови програмуванняМови програмування
Мови програмування
Alyona Tribko
 

Similar a комп’ютерні програми і мови програмування 2 (20)

Informatika 10-klas-rudenko-2018-prof
Informatika 10-klas-rudenko-2018-profInformatika 10-klas-rudenko-2018-prof
Informatika 10-klas-rudenko-2018-prof
 
10 in rud_2018_prof
10 in rud_2018_prof10 in rud_2018_prof
10 in rud_2018_prof
 
викладання інформатики в початковій школі
викладання інформатики в початковій школівикладання інформатики в початковій школі
викладання інформатики в початковій школі
 
урок 6
урок 6урок 6
урок 6
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
 
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1
 
поняття мови програмування
поняття мови програмуванняпоняття мови програмування
поняття мови програмування
 
Основи подійно- та об’єктно-орієнтованого програмування
Основи подійно- та об’єктно-орієнтованого програмуванняОснови подійно- та об’єктно-орієнтованого програмування
Основи подійно- та об’єктно-орієнтованого програмування
 
календарне планування 11 клас. інформатика
календарне планування 11 клас. інформатикакалендарне планування 11 клас. інформатика
календарне планування 11 клас. інформатика
 
Starchenkopochatsch
StarchenkopochatschStarchenkopochatsch
Starchenkopochatsch
 
Starchenko pochatsch
Starchenko pochatschStarchenko pochatsch
Starchenko pochatsch
 
методика вивчення теми ос
методика вивчення теми осметодика вивчення теми ос
методика вивчення теми ос
 
Навчальна програма Інформатика 4 клас
Навчальна програма Інформатика 4 клас Навчальна програма Інформатика 4 клас
Навчальна програма Інформатика 4 клас
 
04
0404
04
 
презентація програми скор.Ppt
презентація програми скор.Pptпрезентація програми скор.Ppt
презентація програми скор.Ppt
 
Нова програма з інформатики 5-9
Нова програма з інформатики 5-9Нова програма з інформатики 5-9
Нова програма з інформатики 5-9
 
вивчення теми основи алгоритмізації та програмування
вивчення теми основи алгоритмізації та програмуваннявивчення теми основи алгоритмізації та програмування
вивчення теми основи алгоритмізації та програмування
 
скретч 3 клас
скретч 3 класскретч 3 клас
скретч 3 клас
 
Less33
Less33Less33
Less33
 
Мови програмування
Мови програмуванняМови програмування
Мови програмування
 

Más de Захарова Олена

типи посилань на комірки в електронних таблицях
типи посилань на комірки в електронних таблицяхтипи посилань на комірки в електронних таблицях
типи посилань на комірки в електронних таблицях
Захарова Олена
 

Más de Захарова Олена (20)

Корисні посилання під рукою
Корисні посилання під рукоюКорисні посилання під рукою
Корисні посилання під рукою
 
Створення стрічки часу
Створення стрічки часуСтворення стрічки часу
Створення стрічки часу
 
типи посилань на комірки в електронних таблицях
типи посилань на комірки в електронних таблицяхтипи посилань на комірки в електронних таблицях
типи посилань на комірки в електронних таблицях
 
Html 1
Html  1Html  1
Html 1
 
Резюме
РезюмеРезюме
Резюме
 
форматування тексту
форматування текстуформатування тексту
форматування тексту
 
Інформація та інформаційні процеси
Інформація та інформаційні процесиІнформація та інформаційні процеси
Інформація та інформаційні процеси
 
Мій перевернутий клас
Мій перевернутий класМій перевернутий клас
Мій перевернутий клас
 
Powuk inet
Powuk inetPowuk inet
Powuk inet
 
Додавання раціональних чисел
Додавання раціональних чиселДодавання раціональних чисел
Додавання раціональних чисел
 
випадкові події
випадкові подіївипадкові події
випадкові події
 
графика 5 1
графика 5 1графика 5 1
графика 5 1
 
Дії з файлами і папками
Дії з файлами і папкамиДії з файлами і папками
Дії з файлами і папками
 
ос
осос
ос
 
середовище виконання алгоритму
середовище виконання алгоритмусередовище виконання алгоритму
середовище виконання алгоритму
 
алгоритми
алгоритмиалгоритми
алгоритми
 
команди та виконавці
команди та виконавцікоманди та виконавці
команди та виконавці
 
Grafika 9klass
Grafika 9klassGrafika 9klass
Grafika 9klass
 
Grafika 9
Grafika 9Grafika 9
Grafika 9
 
Dizayn prez
Dizayn prezDizayn prez
Dizayn prez
 

Último

Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
OlgaDidenko6
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
JurgenstiX
 

Último (17)

Балади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна ГудаБалади про Робіна Гуда. Аналіз образу Робіна Гуда
Балади про Робіна Гуда. Аналіз образу Робіна Гуда
 
Габон
ГабонГабон
Габон
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptxоцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 
Роль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війніРоль українців у перемозі в Другій світовій війні
Роль українців у перемозі в Другій світовій війні
 

комп’ютерні програми і мови програмування 2

  • 1. КОМП’ЮТЕРНІ ПРОГРАМИ І МОВИ ПРОГРАМУВАННЯ 8 клас. Заняття 1. Частина 2. основи подійно- та об'єктно-орієнтованого програмування
  • 2. Пригадаємо • Інтегроване середовище програмування – це система програмування, що поєднує редактор для зручного введення і редагування програми, транслятор і налагоджувач помилок. основи подійно- та об'єктно-орієнтованого програмування Компілятор Синтаксичний контроль всього тексту програми Генератор машинного кодуВхідна програма Робоча програма Повідомлення про помилки Інтерпретатор Покроковий синтаксичний контроль і виконання тексту програмиВхідна програма Повідомлення про помилки Компілятор транслює (переводить) програму в машинний код Інтерпретатор безпосередньо виконує написану програму
  • 3. Класифікація мов програмування основи подійно- та об'єктно-орієнтованого програмування МОВИ ПРОГРАМУВАННЯ За орієнтацією на клас задач універсальні спеціалізовані - мова розмітки - мова скриптів За принципами програмування - процедурні (імперативні) - непроцедурні - об’єктно-орієнтовані За ступенем залежності від апаратних засобів - низького рівня - високого рівня - надвисокого рівня
  • 4. ПАРАДИГМИ ПРОГРАМУВАННЯ Парадигма – набір теорій, стандартів і методів, які спільно представляють собою спосіб бачення світу. основи подійно- та об'єктно-орієнтованого програмування
  • 5. Парадигма програмування • Парадигма програмування - це сукупність ідей і понять, що визначають стиль написання комп'ютерних програм (підхід до програмування). основи подійно- та об'єктно-орієнтованого програмування Це спосіб концептуалізації, який визначає, яким чином потрібно проводити обчислення, та як має бути структурована та організована робота комп’ютера по реалізації цих обчислень.
  • 6. Ще раз про класифікацію МП основи подійно- та об'єктно-орієнтованого програмування МОВИ ПРОГРАМУВАННЯ ІМПЕРАТИВНІ (алгоритмічні мови) Процедурні МП (Fortran, Pascal, C, …) Об’єктно- орієнтовані МП (C++, Delphi, …) ДЕКЛАРАТИВНІ (неалгоритмічні мови) Мови логічного програмування (Prolog, Mercury,…) Мови функціонального програмування (Lisp, Haskell, …)
  • 7. Парадигми програмування • Процедурне програмування. Програми містять код основної програми і одну або більше процедур. Процедурами також названі: функції, процедури, підпрограми. Процедури можуть бути викликані в будь-якому місці з основної програми, а також і з інших процедур. • Функціональне програмування. Програми написані за допомогою використання коду математичних функцій. Значення функцій розглядаються як окремі об'єкти, які не змінюються, а перетворюються в нові значення. • Логічне програмування. Програми описуються виключно в термінах математичної логіки. Основним поняття є відношення. Логічна програма являє собою набір логічних декларацій, що описують проблему, яку необхідно вирішити. • Об'єктно-орієнтоване програмування. Програма є сукупністю взаємодіючих об'єктів, які мають поля даних і пов'язаних з ними процедур, відомих як методи. Об'єкти, які є екземплярами класів, використовуються для взаємодії один з одним для розробки додатків і комп'ютерних програм. основи подійно- та об'єктно-орієнтованого програмування
  • 8.  Перша МП високо рівня – Фортран в 1954-57 Дж.Бекусом, для того щоб математики могли програмувати на рівні формул.  Перша ООП МП - Smalltalk 1969 (початок розробки) Аланом Кеєм . Еволюція мов програмування основи подійно- та об'єктно-орієнтованого програмування Машинні коди Асемблер Процедурне програмування Об’єктно- орієнтоване програмування Аспектно- орієнтоване програмування • Імперативні МП o Об’єктно-орієнтовані МП * Функціональні МП ^ Логічні МП
  • 9. Більшість сучасних мов програмування мультипарадигмальні основи подійно- та об'єктно-орієнтованого програмування
  • 10. ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ Парадигма програмування, в якому основними концепціями є поняття об’єктів і класів. основи подійно- та об'єктно-орієнтованого програмування
  • 11. Алан Кертис Кей – батько ООП • Будь-який елемент розв'язуваної задачі (будинок, собака, послуга, хімічна реакція, місто, космічний корабель, ...) може являти собою об'єкт. • Об'єкт як зберігає інформацію, так і здатний її перетворювати. • Об'єкт можна уявити собі як швейцарський ніж: він є набором різних ножів і «відмичок» (зберігання), але в той же самий час їм ми можемо різати або відкривати щось (перетворення). основи подійно- та об'єктно-орієнтованого програмування Фундаментальні характеристики ООП (1993 рік):
  • 12. Об’єктно-орієнтоване програмування • Об’єктно-орієнтоване програмування (ООП) - одна з парадигм програмування, яка розглядає програму як множину «об’єктів», що взаємодіють між собою: • кожний об’єкт здатний отримувати повідомлення, обробляти дані та надсилати повідомлення іншим об’єктам; • кожен об’єкт - своєрідний незалежний автомат з окремим призначенням та відповідальністю. основи подійно- та об'єктно-орієнтованого програмування • Основу ООП складають три основні концепції: • інкапсуляція, • наслідування або успадкування • поліморфізм.
  • 13. Інкапсуляція (приховуючи непотрібне) • Інкапсуляцією (лат. en capsula) називається упаковка даних і/або функцій в єдиний компонент. основи подійно- та об'єктно-орієнтованого програмування • Значення речей, які ви не хочете, щоб інші люди/класи знали, повинні бути приховані. • Наприклад, вчителю не потрібно знати, як учень готувався до уроку. Він більше зацікавлений в кінцевому результаті. • Основна мета інкапсуляції – захист об'єктів від несанкціонованого доступу до даних.
  • 14. Інкапсуляція. Класи. Об’єкти. • В результаті інкапсуляції (механізму об'єднання даних і процедур по обробці цих даних) створюється «об'єкт». основи подійно- та об'єктно-орієнтованого програмування • Об'єкт ― це конкретна реалізація класу. • Наприклад, • клас – це те як кіт влаштований; • об'єкт – це кіт «Василь». • Клас ― це множина об’єктів, що мають спільну структуру і поведінку.
  • 15. Класи. Об’єкти. • Клас ― це програма або набір інструкцій для створення конкретного типу об’єктів. Клас визначає як об'єкт буде вести себе і те, що об'єкт буде містити. • Об’єкт – це самодостатній компонент, який складається з методів і властивостей, що роблять певний тип даних корисними. Об’єкт визначає поведінку класу. • Об'єкти складаються з атрибутів і методів. Атрибути є характеристиками, які визначають об'єкт; значення, що містяться в атрибутах диференціації об'єктів того ж класу один від одного. • Атрибут – це характеристики, які визначають об'єкт; значення, що містяться в атрибутах диференціюють об'єкти того ж класу один від одного. • Метод – це операції які об'єкт може виконувати; він визначає поведінку об’єкту і як об'єкт може взаємодіяти із зовнішнім світом. основи подійно- та об'єктно-орієнтованого програмування
  • 16. Класи. Об’єкти. основи подійно- та об'єктно-орієнтованого програмування КЛАС Класифікація предметів за спільними структурою, властивостями, діями БУДІВЛЯ СОБАКА КОМП’ЮТЕР ОБ’ЄКТ Конкретний предмет (екземпляр), який належить до якось з класів Емпая Стейт Лессі Твій комп’ютер СТРУКТУРА (клас) Кількість поверхів… 4 лапи і хвіст,… ЦП, ОП, … ВЛАСТИВІСТЬ Адреса і години праці Власне ім’я Назва моделі МЕТОД (ДІЇ) «Розумна будівля» Гавкає Power
  • 17. Наслідування (моделювання схожості) • Наслідування – це механізм, коли один об'єкт набуває всі властивості і поведінку батьківського об'єкта, тобто успадковує. основи подійно- та об'єктно-орієнтованого програмування • Наслідування забезпечує повторне використання коду. • Наслідування використовується для досягнення виконання поліморфізму. • Клас-нащадок(дочірній) може додати власні методи і властивості, а також користуватися батьківськими методами і властивостями. • Наслідування дозволяє будувати ієрархію класів.
  • 18. Поліморфізм (функція та сама, а поведінка різна) • Поліморфізм – (від гр. «Багато форм») коли одна задача виконується різними способами. основи подійно- та об'єктно-орієнтованого програмування Наприклад, всі тварини можуть пересуватися, а деякі навіть видавати звуки. При такому описі будь якої тварини (риби, ворони, коня, …) її інтерфейс (те, що доступно при використанні класу зовні) містить в собі методи пересування і видання звуку. Сила поліморфізму в тому, що різні випадки можна лікувати однаково.
  • 19. Абстракція (усунути непотрібне, підсилюючи основне) • Абстракція полягає в тому, щоб витягти основні відомості про об'єкт чи групу предметів, ігноруючи при цьому несуттєве деталі. Тільки суттєва інформація доступна користувачеві. основи подійно- та об'єктно-орієнтованого програмування Власник кота Ветлікар • З точки зору програмування, абстракція означає загальний доступ іншим об'єктам тільки до тих даних, які мають відношення до них. • Використовуючи абстракції можна моделювати об'єкти реального світу. • Принцип абстракції полягає в тому, щоб зосередитися на головному і відкинути недоречне.
  • 20. Резюме • Об'єкт є екземпляром класу. • Інкапсуляція забезпечує безпеку зберігання даних і методів від випадкових змін. • Наслідування – це відносини батькодитина, які в основному застосовуються для повторного використання коду. • Визначення поліморфізму полягає в тому, що poli означає багато і morphos – форми. • Абстракція забезпечує повторне використання коду. • Абстракція робить програму відкритою для модифікацій і доповнень. основи подійно- та об'єктно-орієнтованого програмування
  • 21. В словник основи подійно- та об'єктно-орієнтованого програмування