
- •Програма
- •Комп’ютерна програма
- •Програмування
- •Програми як системи
- •1.5. Класифікація програм
- •1.6. Питання для самоперевірки
- •1.7. Завдання для самостійної роботи
- •2.1. Продукти, продукція та програмне забезпечення
- •2.1.1. Продукти інженерії програмного забезпечення
- •2.1.2. Продукція інженерії програмного забезпечення
- •2.1.3. Програмне забезпечення
- •2.2. Модель життєвого циклу
- •2.3. Інженерія програмного забезпечення
- •2.4. Ресурси для створення програмного забезпечення
- •2.4.1. Мови програмування
- •2.4.2. Системи, середовища програмування, середовища для розробки програмного забезпечення
- •2.5. Питання для самоперевірки
- •2.6 Питання для самостійної роботи
- •2.7 Лабораторні роботи Лабораторна робота 2.1 створення та редагування програм в інтегрованих середовищах програмування
- •Теоретичні відомості
- •Опції головного меню для створення та редагування програм
- •Завдання
- •Завдання
- •3.1. Розробка програмних специфікацій
- •3.1.1. Ресурс. Метод
- •3.1.2. Специфікація
- •3.1.3. Специфікування. Процес
- •3.2. Мови специфікації
- •3.2.1. Псевдокод
- •3.2.2. Графічні форми. Блок-схеми
- •3.3. Прагматичні рекомендації
- •3.4. Питання для самоперевірки
- •3.5. Завдання для самостійного виконання
- •3.6. Задачі для досліджень
- •3.7. Практичні заняття
- •Практичне заняття 1 Опис перетворюючих дій у програмних специфікаціях
- •Приклад складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 6 Опис управляючої дії чергування, вкладеної в дію повторення, у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
- •Практичне заняття 7 Опис вкладеного повторення і з’єднання у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
1.5. Класифікація програм
Існує підхід запропонований М. Леманом згідно з яким усі комп’ютерні програми можна поділити на три типи: S (Specification), P (Problem) і E (Еnvironment) [14].
S
-програма
– це така програма, функція якої відома
й визначена однозначно специфікацією
задачі. Наприклад, програма, що малює
прямокутник на екрані в заданій області
або програма, що обчислює функцію області
зміни значень. Місце S-програми
в реальному світі ілюструє рис. 1.3. При
цьому постановка задачі, програма та
її розв’язання пов’язані із зовнішнім
світом, проте такий зв'язок випадковий.
Для S-програм характерна повна визначеність вихідної задачі, вимог і значень, а тому S-програми після створення не змінюються. А якщо S-програма змінюється, то зміни не повинні порушити відповідності вхід/вихід, оскільки інакше вона розв’язуватиме іншу задачу, і це буде інша програма.
Рис. 1.3 Місце S-програми в реальному світі
Р-програма – це така програма яка розв’язує задачу, що не має точної постановки. Тому специфікація задачі та розв’язання наближені, уособлюючи абстрактну модель реальної ситуації, і після порівняння з вимогами реального світу уточнюватимуться через зміну програми. Проте це буде не нова, а стара програма. Місце Р-програми в реальному світи ілюструє рис. 1.4.
Рис. 1.4. Місце Р-програми в реальному світі
Прикладом є програма що обчислює прогноз погоди. У такій програмі результати розрахунків порівнюються з реальними даними про погоду, а методи прогнозування вдосконалюються зі змінною самої програми.
Е-програма – це програма, яка розв’язує таку задачу, що потребує її присутності в контексті реального світу. У процесі використання Е-програми в реальному світі становлення до неї зазвичай змінюється і постає потреба змінити програму. При цьому змінена Е-програма, так само як і Р-програма, не буде новою програмою. Прикладом такої програми являється програма керування тренажером для реального об’єкту. Місце Е-програми в реальному світи ілюструє рис. 1.5.
Зазначені відмінності між типами програм є принциповими й можуть впливати на стосунки між замовником програми і виконавцем – розробником, вибір типу життєвого циклу або обсяг фінансування. Наприклад, формуючу стосунки із замовником розробник залежно від типу програми (у разі Р- і Е-програм) має передбачити у проекті неодмінні зміни програм.
Рис. 1.5 Місце Е-програми в реальному світі
Зазвичай
Р
і
Е
програми називають програмами-застосуваннями,
або комп’ютерними застосуваннями, або
програмними
системами.
1.6. Питання для самоперевірки
Поясніть загальні принципи роботи сучасної ЕОМ і наведіть структурну схему ЕОМ за Нейманом.
Дайте визначення програми, комп’ютерної програми.
Які властивості притаманні комп’ютерній програмі.
Що таке програмування? Хто такий програміст?
Дайте визначення мови програмування.
Які властивості має програма як система?
Наведіть класифікацію програм. Дайте характеристику S - P - та E-програм.
Що таке інтерфейс програми?
Як утворюється межа програми?
Поясність особливості двох типів зв’язків, які притаманні програмі.
Назвіть англійського вченого який вперше запропонував обчислювальну машину.
Назвіть першого програміста у світі.
Наведіть коли, де, і ким було створено першу ЕОМ в Європі.
Наведіть коли, де, і ким було створено першу ЕОМ в континентальній Європі.
Наведіть положення класифікування операторів О. А. Ляпуновим.
Назвіть першого програміста в колишньому СРСР.
Наведіть приклад алгоритму.