Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информат. экзамен.doc
Скачиваний:
25
Добавлен:
11.02.2016
Размер:
161.79 Кб
Скачать

1. Поняття алгоритму. Властивості алгоритму.

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

Кожен алгоритм повинен мати деякі вхідні дані, які поступово при його реалізації перетворюються в шукані результати (для алгоритмів додавання a+b=c : а, b – вхідні дані, с – шуканий результат).

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

Властивості:

- детермінованість (визначеність) – однозначність результату обчислювального процесу при заданих початкових даних;

- дискретність – розчленованість обчислювального процесу на окремі елементарні кроки, можливість виконання яких не викликає сумніву;

- масовість – забезпечення розв’язання будь-якої задачі з класу однотипних;

- результативність – забезпечення одержання результату через кінцеве число кроків;

- скінченність – завершення роботи алгоритму за скінченну кількість кроків;

- формальність – будь-який виконавець, здатний сприймати і виконувати вказівки алгоритму (навіть не розуміючи його змісту), діючи за алгоритмом, може виконати поставлене завдання. Ця властивість має особливе значення для автоматизації виконання алгоритмів.

3. Покоління та класифікація мов програмування.

Мова програмування – це сукупність набору символів (алфавіту), системи правил утворення (синтаксис) і тлумачення конструкцій із символів (семантика) для задання алгоритмів з використанням символів природної мови.

Мови програмування поділяють на

- мови низького рівня (забезпечують підтримку найпростіших операцій, переважно на рівні системних пристроїв);

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

П'ять поколінь мов програмування

Перше покоління

Початок 1950-х років — мови перших комп'ютерів. Перша мова асемблера, створена за принципом «одна інструкція — один рядок».

Основна відмінна риса: орієнтування на конкретний комп’ютер.

Друге покоління

Кінець 1950-х — початок 1960-х р.р. Розроблено символьний асемблер, в якому з'явилося поняття змінної. Це перша повноцінна мова програмування.

Основна відмінна риса: орієнтування на абстрактний комп'ютер з такою ж системою команд.

Третє покоління

1960-ті р.р. — мови програмування високого рівня. Їхні характеристики:

відносна простота;

незалежність від конкретного комп'ютера;

можливість використання потужних синтаксичних конструкцій.

Четверте покоління

Початок 1970-х р.р. до сьогоднішнього часу. Створюються мови, призначені для реалізації великих проектів. Проблемно-орієнтовані мови, що оперують конкретними поняттями вузької галузі. Як правило, в такі мови вбудовують потужні оператори, що дозволяють одним рядком описувати функції, для опису яких мовами молодших поколінь потрібно було б сотні чи навіть тисячі рядків початкового коду.

Мова п'ятого покоління витіснить чи суттєво потіснить мови третього (напр. Java) і четвертого покоління (напр. SQL) за рахунок значно збільшеної продуктивності праці програміста — в 10-1000 раз. За прогнозами, 5GL буде оперувати мета-мета-даними.

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

Кожен об'єкт має процедури і функції(те що він уміє виконувати, наприклад,завантажувати файл, відображати картинку і т.д.), які служать для роботи з даними об'єкта. Ці процедури і функції називаються методами.

Існування ООП можливе завдяки трьом основним парадигмам на яких базується саме ООП:

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

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

-Поліморфізм означає залежність поведінки від класу, в якому ця поведінка викликається, тобто, два або більше класів можуть реагувати по різному на однакові повідомлення. Це спричинене зміною в одного з класів якогось методу(процедури, функції), шляхом запису іншого алгоритму. Як приклад, деяка комп'ютерна програма при натисканні клавіші Esc завершить роботу, інша ж програма після натискання кнопки Esc тільки відкриє меню даної програми.