Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsiya_4.doc
Скачиваний:
4
Добавлен:
21.11.2019
Размер:
75.78 Кб
Скачать

3. Алгоритми та їх властивості.

Алгоритм (латинізов. Algorithmi, від імені узбецького математика 9 ст. аль-Хорезмі) — система правил виконання обчислювального процесу, що обов'язково приводить до розв'язання певного класу задач після скінченного числа операцій[1]. При написанні комп'ютерних програм алгоритм описує логічну послідовність операцій. Для візуального зображення алгоритмів часто використовують блок-схеми.

Поняття алгоритму належить до первісних понять математики, таких, як поняття множини чи натурального числа. Обчислювальні процеси алгоритмічного характеру (арифметичні дії над цілими числами, знаходження найбільшого спільного дільника двох чисел і т. п.) відомі людству з глибокої давнини. Проте в явному вигляді поняття алгоритму сформувалося лише на початку 20 століття.

Під алгоритмом звичайно розуміють скінченну множину точно визначених правил для чисто механічного розв’язку задач певного класу. Алгоритми мають наступні характерні властивості:

Скінченність - алгоритм є скінченним об'єктом, що є необхідною умовою його механічної реалізовності;

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

Дискретність - розчленованість процесу виконання алгоритму на окремі кроки; це означає, що алгоритмічний процес здійснюється в дискретному часі;

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

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

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

Способи опису алгоритму:

  • формульний

  • словесний

  • графічний

  • табличний

  • алгоритмічний

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

Алгоритмічна мова:

1. формальна мова, призначена для записування алгоритмів.

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

2. Мова програмування АЛГОЛ - сімейство імперативних мов програмування, перша версія розроблена в середині 1950-х, і стала де факто стандартною мовою публікації алгоритмів на наступні 30 років.

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

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

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

Алгоритмізація - складання покрокового опису процесу рішення завдання.

Вимоги, пропоновані до алгоритму:

  • Однозначність;

  • масовість;

  • детермінованість;

  • коректність;

  • ефективність.

8

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