- •Програма
- •Комп’ютерна програма
- •Програмування
- •Програми як системи
- •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 Опис вкладеного повторення і з’єднання у програмних специфікаціях
- •Приклади складення специфікацій
- •Задачі для самостійного розв’язання
3.2. Мови специфікації
Для записування специфікацій можуть використовуватись різні мови. Ми рекомендуємо використовувати:
підмножини природної мови, які називають псевдокодами;
графічні форми, які називаються блок-схемами.
3.2.1. Псевдокод
У псевдокоді для подання дій використовуються слова (дієслова), змішані зі словами природної мови. Зазвичай для подання дій у псевдокодах використовуються такі слова:
ПРИСВОЇТИ, УСТАНОВИТИ, ОБЧИСЛИТИ, УВЕСТИ і т.д. – для перетворювальних дій;
ЯКЩО-ТО-ІНАКШЕ, ЯКЩО–ТО – для управляючої дії чергування;
ПОВТОРЮВАТИ – для управляючої дії повторення.
Управляюча дія поєднання не має спеціального слова і подається низкою речень, що йдуть одне за одним і описують відповідні дії.
Зазвичай специфікація у псевдокоді записується між словами ПОЧАТОК і КІНЕЦЬ. Слова, що описують дію, деталізовувану на наступному кроці, на даному кроці підкреслюються.
Наведемо приклад специфікації записаної за допомогою псевдокоду.
Задано два значення А та В. Поміняти місцями А та В.
1. Визначимо основні дії:
початок
обмін А з В
кінець
2. Деталізуємо дію обміну:
початок
зберегти значення А
помістити значення B в А
відновити значення А в В
кінець
3. Деталізуємо дію обміну:
початок
Temp := A
A:= B
B:= Temp
Кінець,
де Temp, не позначення місця де тимчасово зберігається значення А.
3.2.2. Графічні форми. Блок-схеми
Описуючі дії у специфікації, застосовують спеціальні позначення. Для опису перетворювальних дій використовують прямокутник, усередині якого розміщується текст, який описує цю дію (рис. 3.2).
Рис. 3.2. Схема перетворювальної дії
Для опису поєднання дій використовується послідовність сполучених лінями прямокутників (рис. 3.3.).
Рис. 3.3. Схема поєднання дій
Для опису чергування дій застосовуються дві схеми – основну та похідну (рис. 3.4, 3.5).
Рис. 3.4. Основна схема чергування дій
Рис. 3.5. Похідна схема чергування дій
Тут у ромбі розміщується умова чергування С а в прямокутниках дії А, В, що чергуються.
Для опису повторення дій також використовують дві схеми – основну і похідну (рис. 3.6, 3.7).
Рис. 3.6. Основна схема повторення дій
Рис. 3.7. Похідна схема повторення дій
Тут у ромбі розміщується умова закінчення повторення С, а у прямокутнику – повторювана на кожному кроці дія А.
Спільним для зазначених схем є таке:
кожна зі схем використовується у специфікації і має сенс лише цілком;
кожна схема має лише один вхід і один вихід, за допомогою яких вона сполучається послідовно з іншими схемами, що й зображується графічно;
при зображенні схем для полегшення читання та розуміння специфікації необхідно чітко додержуватися прийнятого накреслення схем і розміщувати їх з гори вниз.
Розглянемо специфікування кількох задач.
Задача 1. Задано два не рівні між собою значення А і В. Знайти серед них максимальне значення.
Визначимо основні дії – сформулюємо задачу.
Псевдокод:
Початок
Пошук максимального
Кінець
Графічну схему розглянуто на рис. 3.8.
Рис. 3.8. Формулювання задачі
Деталізуємо дію за допомогою основної схеми чергування (рис. 3.8).
Псевдокод:
Початок
Якщо А >В
то
max : = A
інакше
max : = В
Кінець
Графічну схему зображено на рис. 3.9.
Рис. 3.9. Деталізація дії за допомогою основної схеми
чергування дій
Подальша деталізація не потрібна.
Задача 2. Задано два значення А та В. Знайти максимальне значення серед їхньої суми S і добутку М.
1. Визначимо основну дію
Псевдокод:
Початок
Знайти максимальне значення mах серед суми S і добутку М
Кінець
Графічну схему зображено на рис. 3.10.
Рис. 3.10. Формування задачі
2. Деталізуємо перетворювальну дію (рис. 3.10).
Псевдокод:
Початок
Обчислення суми S і добутку М;
Знаходження mах;
Кінець
Графічну схему зображено на рис.3.11.
Рис. 3.11. Деталізація перетворювальної дії за допомогою
двох перетворювальних дій
Деталізуємо дії зі знаходження суми та добутку.
Псевдокод:
Початок
S : = А + В;
М : = А * В;
Знаходження max;
Кінець
Графічну схему зображено на рис. 3.12.
Рис. 3.12. Деталізація дій зі знаходження суми та добутку
3. Деталізуємо дії зі знаходження max (рис. 3.12).
Псевдокод:
Початок
S : = А + В;
М : = А * В;
Якщо S > М
то
mах : = S
інакше
перевірка на рівність S і М
все якщо
Кінець
Графічну схему зображено на рис. 3.13.
Рис. 3.13. Деталізація дії зі знаходження max
Деталізуємо дію з перевірки на рівність (рис. 3.13).
Псевдокод:
Початок
S : = А + В;
М : = А * В;
Якщо S > М
то
max : = S
інакше
FLAG : = 0
Якщо S : = М,
то
FLAG : = 1
Інакше
max : = М
все якщо
Кінець
Графічну схему зображено на рис. 3.14.
Рис. 3.14. Деталізація дій із перевірки на рівність
Зауважимо, що на кожному кроці схема деталізації перемальовується повністю.
