Методика створення програм. h2>
Тут ми розглянемо один з найбільш важливих питань: як створювати
програму? p>
До цих пір ми мали справу з відносно невеликими програмами для вирішення
нескладних алгоритмічних проблем. Ми познайомилися з важливістю й роллю
специфікації програми, ясністю формулювання основних кроків алгоритму при
обробці даних, трансляцією цих кроків у ефективні послідовності
операторів програми на мові Pascal, коментуванні програми, перевірки її правильності. Ми переконалися, що
перевіряти правильність програми треба, навіть тоді, коли коректність
використаного алгоритму була доведена. Причому, зауважимо, що внутрішня
організація всіх програм, які ми написали до сих пір, може бути
представлена в a'le Pascal формі як на рис.
13.1. P>
Розробка великої програми відрізняється від розробки малої у двох основних
аспектах. p>
Текст програми для вирішення великої проблеми займає багато більше місця,
ніж одна сторінка. p>
Створення таких програм шляхом написання Pascal програми "з листа" практично неможливо. p>
Як правило, ця розробка передбачає систематичний підхід: p>
опис проблеми; p>
розробка алгоритму; p>
написання програми. p>
Створена програма повинна бути читабельною, ефективної і коректною. p>
Program
Exmpl. H2>
((Q)
Exmpl (R)) p>
(Опис використовуваних пременних у перед і пост умовах) p>
begin p>
(Введення вихідних даних) p>
(Перевірка виконання передумови, p>
тобто коректності початкових даних) p>
if (Дані коректні) then p>
(Q) p>
begin (Обробка даних) p>
(R) p>
(Висновок) p>
end p>
else (Повідомлення про помилку вводу) p>
end p>
Рис. 13.1. Типова внутрішня організація програми. P>
Створення програми - це
систематичний процес, що складається з певних етапів. У результаті цього
процесу ми отримуємо програму. Оскільки ми хочемо отримувати програму p>
ясну для розуміння, тобто читабельну; p>
ефективну, тобто економно витрачаються ресурси виконавця і виконувану ним
швидко; p>
правильну, тобто що не містить помилок; p>
то не будь-який процес створення програми нам підходить. p>
Нам потрібна методика створення ясних,
правильних, ефективних програм. p>
Ясність означає, що будь-який, хто
знаком з мовою Pascal та прикладної
областю, зрозуміє алгоритм, читаючи текст програми, коментарі і специфікацію
проблеми. p>
Ефективність припускає, що алгоритм і програма складені так, щоб
мінімізувати по можливості ресурси обчислювальної системи, необхідні для
її вирішення. p>
Коректність означає, що будь-яке
виконання програми з допустимими вихідними даними дає правильний результат. p>
Під методикою створення будь-якого продукту ми будемо розуміти чітко
певну послідовність етапів, виконавши яку, ми отримаємо бажаний
продукт з потрібними характеристиками. p>
Давайте напишемо невелику програму, зосередивши тепер нашу увагу
саме на процесі її створення. Хай до нас звернулися з проханням написати
програму на Pascal, яка розміщує
компоненти вектора в зростаючому порядку. Нехай після спілкування із замовником нам
вдалося з'ясувати, що: p>
компонентами вектора можуть бути тільки натуральні числа; p>
компонентів завжди 100; p>
всі компоненти попарно різні. p>
Ми вже специфікована вихідні дані для цього завдання в лекції 7. Там
вихідні дані ми специфікована так: p>
Q1
= "I: 1