Поняття алгоритму

Алгоритм є фундаментальним поняттям інформатики. Відомий середньоазіатський мудрець, вчений, філософ і математик Мухаммед бен Муса аль-Хорезмі у IX ст. детально розробив правила чотирьох арифметичних дій (їх можна назвати алгоритмами арифметичних дій). При перекладі його наукових трактатів вперше з’явився термін «алгоритм» (аль-Хорезмі — Algorithmi).

Алгоритм — це наперед заданий чітки опис скінченної послідовності вказівок, виконання яких дозволяє одержати правильний розв’язок задачі.

Алгоритм повинен відповідати певним вимогам і мати такі властивості:

  • визначеність (детермінованість) — алгоритм має бути чітким і однозначним, кожна команда не повинна допускати довільності тлумачення, кожний крок алгоритму має бути точно визначеним;
  • масовість — алгоритм повинен бути по можливості універсальним, розрахованим на розв’язання однотипних задач з різними вихідними даними;
  • дискретність — визначений алгоритмом обчислювальний процес повинен мати дискретний (перервний) характер, тобто являти собою послідовність окремих завершених кроків — команд або дій;
  • результативність — кожна дія має приводити до певного результату;
  • формальність — будь-який виконавець, діючи за алгоритмом, може реалізувати поставлене завдання;
  • скінченність — розв’язок задачі з використанням алгоритму має бути одержаним за скінченну кількість кроків.

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

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

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

Блок-схемиОсновні типи алгоритмів — це три типові (базові) структури, які можна використовувати для розробки алгоритмів різного ступеня складності: лінійні, розгалуження та цикли.

  • Лінійним алгоритмом називається такий алгоритм, в якому лінійні команди виконуються послідовно одна за одною.
  • Розгалуженим алгоритмом називається алгоритм, що містить хоча б одну умову, в результаті перевірки якої здійснюється перехід до одного з можливих кроків. Процес розгалуження організується за допомогою логічного операторного блока.
  • Циклічний алгоритм містить повторення кілька разів з новими вихідними даними певної послідовності команд, що утворює тіло циклу. У циклі повинна існувати змінна (параметр циклу), яка при кожному наступному виконанні тіла циклу змінює своє значення і визначає кількість повторень.

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

Елемент даних, що має фіксоване значення, яке під час розв’язання задачі не змінюється, називають константою.

Поряд з константами широко використовуються змінні, тобто величини, що мають ідентифікатор і значення, яке може змінюватись залежно від використаних дій. У випадку, коли змінна х приймає значення, наприклад, в інтервалі від 0 до 1, тобто х є [0; 1], і змінюється з постійним кроком hx = 0,1, її значення можна представити послідовністю із 11 чисел:

0; 0,1; 0,2; 0,3; 0,4; 0,5; 0,6; 0,7; 0,8; 0,9; 1.

Ця послідовність може зберігатися в пам’яті комп’ютера двома способами:

  • всі значення змінної х зберігаються по черзі в одній комірці пам’яті і обчислюються самим комп’ютером за заданим законом змінення кроку hх згідно з межами (х є [0; 1]);
  • у пам’яті виділяється стільки комірок, скільки значень приймає змінна, тобто існує масив з 11 послідовних комірок, де для переходу від одного значення до іншого необхідно змінювати номер комірки.

Таким чином, залежно від способу зберігання розрізняють прості змінні та змінні з індексами (масиви).

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

xi (і = 0…n-1), n = 11 або Аij (і = 0…n-1, j = 0…m-1), n = 4, m = 6.

Такі масиви розрізняють за кількістю індексів, яку потрібно вказувати для звернення до їх елементів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *