Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи програмування. Лекія 1.doc
Скачиваний:
6
Добавлен:
10.11.2019
Размер:
29.39 Mб
Скачать

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. Задано два не рівні між собою значення А і В. Знайти серед них максимальне значення.

  1. Визначимо основні дії – сформулюємо задачу.

Псевдокод:

Початок

Пошук максимального

Кінець

Графічну схему розглянуто на рис. 3.8.

Рис. 3.8. Формулювання задачі

  1. Деталізуємо дію за допомогою основної схеми чергування (рис. 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. Деталізація дій із перевірки на рівність

Зауважимо, що на кожному кроці схема деталізації перемальовується повністю.