Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
konspekt_lektsiy_z_informatiki.doc
Скачиваний:
17
Добавлен:
05.09.2019
Размер:
5.37 Mб
Скачать

Тема 9. Розв’язання задач за допомогою персонального комп’ютера Лекція 14

Для того, щоб вирішити яку-або задачу на ЕОМ, необхідно провести деяку підготовчу роботу. Наприклад, вибрати один з можливих алгоритмів рішення, однозначно його записати, яким чином-те образом зробити цей алгоритм доступним ЕОМ. Але навіть якщо і є ЕОМ, це ще не значить, що задача з її допомогою вирішена. Що же необхідно виконати для того, щоб таке рішення стало можливим?

Певно, для цього в першу чергу необхідно з’ясувати, а яку саме ми хочемо вирішити задачу? Наприклад, звернемося до квадратного рівняння. Якщо наша задача полягає в рішенні одного такого рівняння – це одне діло, а якщо же нам необхідно вирішити 20 або 1000 таких рівнянь і коефіцієнти всіх цих рівнянь вже відомі – інше. Звичайно, можна звести рішення цієї задачі до попереднього випадку. Але таке рішення, незважаючи на його очевидність, нас може не влаштувати хоча б тому, що всі корені повинні бути виведені в вигляді деякої єдиної таблиці або по яким-або іншим міркуванням необхідно вирішувати цю задачу не шляхом 1000-кратного запуску ЕОМ на рішення, а шляхом одного запуску, але послідовного рішення всіх 1000 рівнянь при одному запуску. Відмінність мов б не істотна, але воно повинно бути врахована в алгоритмі рішення задачі.

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

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

Б) формалізоване (математичне) порушення задачі. Тут змістовне порушення задачі перекладається на мову математичних формул.

Звичайно пункт а виконується особою, зацікавленим в рішенні задачі, так званим замовником, в той час як пункт б виконують фахівці-математики. Вже відомо, що математичний запис – це завжди конкретно, лаконічно і зрозуміло. Але як видно з квадратного рівняння (1.1), навіть математичний запис задачі,що вирішується ще не визначає однозначно алгоритм її рішення. Тому наступний етап полягає в виборі засобу рішення задачі. На цьому етапі необхідно пірняти наявні засоби рішення задач того класу, до якого відноситься задача,що вирішується; оцінити ефективність кожного засобу, перевірити доступність всіх необхідних для рішення даних. Тільки після вибору засобу рішення задачі можна приступати до наступного етапу – етапу алгоритмізації (укладанню алгоритму) рішення задачі. Тут необхідно представити алгоритм в спеціальному вигляді, наприклад, в вигляді блок-схеми або з допомогою псевдокоду. Після цього можна розпочати етап програмування. На даному етапі може зажадатися аналіз алгоритму або яких-те його частин. Після укладання програми її вводять в ЕОМ. Це може здійснюватися або безпосередньо за терміналом ЕОМ, або з заздалегідь підготованих носіїв, на що була перенесена програма. В якості таких носіїв можуть використовуватися перфострічка, магнітна стрічка або магнітний диск. В останній час найбільш часто використовуються магнітні диски або дискети. Цей процес називається етапом підготовки (препарації) програми до виконання.

З раніше сказаного слідує, що виконувати програму треба багаторазово в процесі проведення етапу тестування і відпрацювання. При виконанні цього етапу особливо багато уваги приділяється укладанню тестових прикладів. Ще Раз підкреслимо, що тестовий приклад включає вхідні дані і результати рішення задачі, що обчислюються без застосування тестуємої програми. Бажано в тестовий приклад включати і найбільш важливі проміжні дані. Вони допоможуть при пошуку місця помилки в програмі. Для цього в програмі передбачається висновок на печатку значень проміжних даних під час виконання програми, це робиться з допомогою так званої налагоджувальної печатки. Налагоджувальну печатку слідує ретельно проектувати, бо, з одного боку, проміжні дані допомагають знаходити помилки, але з друга – надмірна кількість проміжних результатів ускладнює розуміння ходу рішення задачі. Слідує відзначити: для того, щоб легше зрозуміти, як працює програма, необхідно проміжні дані постачати деякими коментарями при їхньому висновку.

І останній етап – це виконання програми і аналіз отриманих результатів.

З всіх перерахованих етапів в нинішньому посібникові розглянуті тільки етапи алгоритмізації задачі, тестувані і відпрацювання алгоритму. Інші етапи складають предмет таких дисциплін, як "Технологія програмування", "Проектування машинної обробки", "Операційні системи", "Програмування для ЕОМ".

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