Алгоритм в інформатиці та основи алгоритмізації

Алгоритм в інформатиці та основи алгоритмізації

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

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


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

Уточнимо розуміння визначення "алгоритм в інформатиці". Це не так легко. З цією метою сформульовані загальні властивості алгоритму. Інформатика дозволяє на їх основі відрізняти алгоритми від інших інструкцій.

Цей набір інструкцій має властивості:

  • дискретності;
  • результативності;
  • масовості;
  • визначеності.

Розглянемо їх окремо.

Дискретність

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

Визначення

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


Результативність (кінцівка)

Завдання має вирішуватися за деяку обмежену кількість етапів.

Масовість

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

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

Недоліки визначення

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

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

Побутові приклади

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

  • кип 'ятіння води;
  • відкриття дверей квартири;
  • перехід вулиці.

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


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

Різновиди

Види алгоритмів відрізняються від виду діяльності, цілей і шляхів їх вирішення.

Вони бувають:

  • Механічними. Такі набори команд заздалегідь визначені (наприклад, робота двигуна). Вони виконуються в єдиній послідовності.
  • Гнучкими (стохастичними або евристичними). Перші задають кілька шляхів вирішення завдання, а другі вирішують завдання на основі аналогій і асоціацій.
  • Лінійними. Команди в цьому випадку виконуються по черзі одна за одною.
  • Розгалуженими. З умовами, за підсумками перевірки яких виконується одна з декількох ймовірних гілок.
  • Циклічними. Які використовують багаторазове повторення декількох операцій. Зазвичай такі набори команд застосовуються при переборі варіантів.

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

Структурна схема алгоритму - запис його кроків у формі блоків, об 'єднаних один з одним стрілками. Один блок - це один крок набору інструкцій.


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

Вимоги до алгоритму

Сформульовані у вигляді правил.

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

Друге - для свого виконання потребує пам 'яті, де розташовуються дані. Пам 'ять складається з іменованих комірок, які називають змінними.

Третє - дискретність. Він складений з команд, число яких звичайно.


Четверте - детермінованість. На кожному етапі відомо, який крок буде йти слідом.

П 'яте - результативність. Завершитися він повинен за обмежену кількість кроків, причому треба позначити, що повинно вийти в результаті його роботи.