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

60. Поняття алгоритму. Базові алгоритмічні структури. Алгоритмізація обчислювальних процесів. Знайомство з vba поняття алгоритму

Для пояснення поняття “алгоритм” важливе значення має визначення поняття “виконавець алгоритму”. Алгоритм формулюється в розрахунку на конкретного виконавця, наприклад людину, спеціально дресировану тварину, особливу машину - автомат і т.д.

Алгоритм є керівництвом до дії для виконавця, тому значення слова “алгоритм” близько за змістом до значення слів “указівка” або “розпорядження”. Можна сказати, що

алгоритм — зрозуміле і точне розпорядження (указівка) виконавцеві зробити визначену послідовність дій для досягнення зазначеної мети або рішення поставленої задачі.

Сказане не є визначенням у математичному змісті, а лише відбиває інтуїтивне розуміння алгоритму, що склалося за довгі роки.

Основні особливості алгоритму

  1. Алгоритм має деяке число вхідних величин - аргументів, що задаються до початку роботи.

Ціль виконання алгоритму - одержання результату (результатів), що має цілком визначене відношення до вихідних даних.

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

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

Цю властивість алгоритму звичайно називають масовістю.

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

  1. Щоб алгоритм можна було виконати, він повинний бути зрозумілий виконавцеві.

Зрозумілість алгоритму означає знання виконавця про те, що треба робити для виконання цього алгоритму.

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

  1. Алгоритм представлений у вигляді послідовності кроків. Говорять, що алгоритм має дискретну структуру. Отже, його виконання розчленовується на виконання окремих його кроків (виконання кожного чергового кроку починається після завершення попереднього).

  2. Виконання алгоритму закінчується після виконання кінцевого числа кроків. При виконанні алгоритму деякі його кроки можуть повторюватися багаторазово.

У математиці існують обчислювальні процедури, що мають алгоритмічний характер, але не володіють властивістю кінцівки.

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

  1. Кожен крок алгоритму повинний бути чітко і недвозначно визначений і не повинний допускати довільного трактування виконавцем. Іншими словами, алгоритм розрахований на чисто механічне виконання. Ця дуже важлива особливість означає, зокрема, що якщо той самий алгоритм доручити для виконання різним виконавцям, то вони прийдуть до тому самому результату, аби ці виконавці розуміли алгоритм. Саме визначеність алгоритму дає можливість доручити його виконання автомату, що не володіє “здоровим глуздом”.

  2. Кожен крок алгоритму повинний бути виконаний точно і за кінцевий час.

Звичайно окремі вказівки виконавцеві, що містяться в кожному кроці алгоритму, називають командами.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]