Головна |
термін алгоритм походить від імені узбецького вченого 9в. Аль-Хорезмі, який в своїй праці "Арифметичний трактат", перекладеному в 12в. з арабського на латинь, виклав правила арифметичних дій над числами. Ці правила і називали алгоритмами. Таким чином, правила віднімання, додавання, множення, побудови геометричних фігур - все це алгоритми.
З плином часу це поняття розширювалося і тепер, алгоритмами називають певну послідовність дій, що приводить до певного результату.
Розглянемо приклад:
Дано: вулиця з рухом, пішохідний перехід.
Знайти: перехід на іншу сторону вулиці.
1) зупинитися на тротуарі;
2) подивитися наліво;
3) якщо транспорту немає, то йти до середини дороги і зупинитися, інакше чекати поки проїде транспорт, потім йти до середини дороги і зупинитися;
4) подивитися направо;
5) якщо транспорту немає, то йти до тротуару протилежного боку вулиці, інакше чекати поки проїде транспорт, потім йти до тротуару протилежного боку вулиці;
6) кінець.
Властивості алгоритмів:
1. Дискретність (розбиття на послідовність окремих кроків)
2. Зрозумілість
3. детермінованість або однозначність (не повинно бути кроків, які можна сприйняти неоднозначно)
4. Результативність
5. Масовість
Способи запису алгоритмів:
1. словесний
O природна мова (кулінарний рецепт)
O мову програмування
2. графічний (блок-схеми)
Жоден алгоритм не може працювати без виконавця - Людини, тварини або машини який розуміє команди і виконує їх формально, Тобто не задумуючись.
У кожного виконавця є своя система команд виконавця (СКІ). Якщо з яких-небудь причин він не може виконати команду, надходить повідомлення «не можу». Якщо команда не входить в СКІ, надходить повідомлення «не розумію».
Основні поняття об'єктно-орієнтованого програмування
Мова програмування - Це штучно створена мова для запису алгоритму за допомогою ЕОМ. програма - Алгоритм, записаний на мові програмування.
Мови програмування:
1. неструктурний (Basic)
2. структурний (Pascal);
3. логічний (Prolog);
4. об'єктно-орієнтована (Delphi);
5. функціональний (Lisp («чорний ящик»)).
Перевага ООП в наочному поданні програми за допомогою об'єктів (кнопок, рядків для введення інформації і ін.). Кожен об'єкт належить певному класу. Наприклад, кнопка (Button1) належить класу кнопок TButton. До класу входить як завгодно багато об'єктів, об'єднаних в одну групу згідно їх властивостями і поведінки в середовищі оточення, в якому вони існують і взаємодіють.
TButton
Button1 | Button2 | Button3 | ... | ButtonN |
Найчастіше об'єкти включають в свою програму шляхом візуального програмування, використовуючи заготовки - компоненти.
Компонент класу TButton
Кожен об'єкт має властивості, подіями і методами.
Властивості характеризують відмінні риси компонента (Name (Ім'я), Caption (Тема) і ін.).
Події - повідомлення, яке компонент приймає від додатка, якщо під час роботи програми виконується певна дія (наприклад, натискання на кнопку).
Методи - програмний код, що обробляє значення властивостей.
Клас характеризується:
- Спадкування - будь-який клас може бути породжений від іншого класу. Породжений клас автоматично успадковує поля, методи і властивості свого батька і може додавати нові.
- Інкапсуляція. Клас являє собою єдність трьох сутностей - полів, методів і властивостей. Об'єднання цих сутностей в єдине ціле і називається инкапсуляцией. Являє собою приховування окремих деталей внутрішнього устрою класів від зовнішніх по відношенню до нього об'єктів або користувачів.
- Поліморфізм - це властивість класів вирішувати схожі за змістом проблеми різними способами. Дії, що виконуються однойменними методами, можуть відрізнятися в залежності від того, якого з класів належить той чи інший метод.
Перевірочна робота №1. Алгоритми і виконавці. Основні поняття ООП
Варіант №1.
1. Від імені якого вченого стався термін алгоритм? ___
2. Перерахуйте властивості алгоритму
a. ___
b. ___
c. ___
d. ___
e. ___
3. Дайте визначення виконавця
___
4. Що ми розуміємо під мовою програмування? ___
5. Наведіть приклад класу і об'єкту йому належить. ___
Варіант №2 *.
1. Дайте визначення алгоритму. ___
2. Перерахуйте способи запису алгоритму у вигляді схеми
___ | ___ | |
___ | ___ |
3. Що таке СКІ? ___
4. Що таке програма? ___
5. Чим володіє об'єкт?
___ | ___ | ___ |
Лабораторна робота №1 | Розташування об'єктів на формі | Лабораторна робота №2 | Додаткові можливості при роботі з об'єктами Edit, Memo. Кнопка із зображенням BitBtn | Лабораторна робота №3. MainMenu - головне меню форми | Арифметичні операції в ООП | Лабораторна робота № 4 | Стандартні арифметичні функції | Прапорці (CheckBox) і перемикачі (RadioButton). умовний оператор | Лабораторна робота №7 |