Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
19-06-2013_23-10-01 / 1 Информатика.doc
Скачиваний:
13
Добавлен:
27.05.2015
Размер:
320.51 Кб
Скачать

5. Властивості алгоритму

Кожен алгоритм розробляється під конкретного виконавця. Виконавцем алгоритму можуть бути людина, автомат, комп’ютер тощо. Характерною для алгоритму є наявність наступних властивостей:

• дискретність - можливість представлення алгоритму у вигляді послідовності окремих виконуваних, логічно завершених дій-кроків;

• зрозумілість - для виконавця алгоритму;

• точність - точно визначений порядок дотримання дій-кроків від початку до завершення виконання алгоритму;

• детермінована - однозначність результату при заданих вихідних даних;

• результативність - після виконання певного числа кроків алгоритму здобуття конкретного результату - або рішення задачі, або неможливість подальшого продовження алгоритму;

• масовість - можливість вирішення безлічі однотипних завдань шляхом варіювання вихідних даних в певних межах.

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

6 Структура алгоритму (лінійна або з розгалуженнями)

Будь-якої складності алгоритм можна представити у вигляді послідовності функціональних блоків, що позначають певні дії з обробки інформації. Схематично блоки зображуються у вигляді прямокутників, що мають один вхід і один вихід. Всередині блоків вказуються їх умовні імена, які зазвичай визначають їх призначення, або записуються відповідні дії (рис.2).

S

Вхід Вихід

Рис. 2 Функціональний блок

В основу структурного програмування покладені принципи системного підходу при розробці, тестуванні, оформленні і експлуатації алгоритмів і програм. Суть структурного програмування в основному визначається теоремою про структуризацію. У ній стверджується, що, якої б складності не було завдання, алгоритм його вирішення завжди може бути представлений сукупністю базових функціональних блоків, кожен з яких визначає одну з трьох елементарних управляючих структур. До елементарних базових структур відносяться наступні структури: послідовна (лінійна), вибору (розгалуження) і повторення (циклічна).

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

Лінійна структура

Лінійною називається структура, в якій передача управління здійснюється послідовно по ланцюжку від одного функціонального блоку до наступного (рис. 3).

Рис.3 Схема лінійної структури

Кожен блок, залежно від міри деталізації, може бути послідовністю простіших дій і навпаки. Послідовність блоків завжди може бути замінена одним функціональним блоком.