Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / 4_кол / К курсовой / Методи побудови алгоритмів та їх аналіз / Інформатика_1 (методи побудови алгоритмівта та їх аналіз).doc
Скачиваний:
87
Добавлен:
30.05.2020
Размер:
2.5 Mб
Скачать

Налагодження алгоритму

Планування, покрокова деталізація та представления алгоритму

Налагодження алгоритму - це процес, який складається з декількох кроків. Коли обрано математичну модель, що відпо-відає умові задачі, визначено методи, які треба застосувати для її реалізації, починається розробка самого алгоритму. Оскіль-ки не завжди доводиться розв'язувати такі прості задачі, як упорядкування заданої послідовності чисел за зростанням, тому й не відразу вдається розробити алгоритм у його кінцевій, остаточній формі.

Як і будь-яка інша робота, розробка алгоритму повинна по-чинатися з планування роботи над ним. Розібравшись з умовою задачі, визначаємося не тільки з методами ЇЇ розв'язування, а й з представлениям вхідних та вихідних даних, тобто з їх струк­турами. Від вибору таких структур певним чином залежить і побудова алгоритму.

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

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

while n <> m do

<замінюємо більше число на різницю більшого і меншого чисел>;

На наступному кроці оформимо в термінах Pascal-програми вибір числа, яке треба замінити відповідною різницею:

while nOmdo if n >m

then Оамінюємо число n> else Оамінюємо число m>;

Тепер залишилося зробити останній крок у деталізації алго­ритму - записати дії заміни відповідних значень mam:

while n <> m do

if n > m

20

then n := n - m else m :=m-n;

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

Як відомо, алгоритм можна представити різними способа­ми: словесно, у вигляді схеми, псевдокоду або програми. Тому й розробка алгоритму задачі певним чином залежить від цього фактору.

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

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

Проміжним етапом між схемою і програмою може бути ви­користання мови псевдокодів, де процес деталізації алгоритму та його уточнения є дуже ефективним.

Після остаточного доведения алгоритму до кінцевого варіан-та можна перевести його на мову програмування, оскільки є повне уявлення про кількість та структуру даних, алгоритміч-них методів, необхідних для реалізації поставлено! задачі, ти-пів даних тощо.

Соседние файлы в папке Методи побудови алгоритмів та їх аналіз