Зі словом «алгоритм» стикалися багато.Адже з ним тісно пов'язане життя людей. Що це таке? Які бувають способи опису алгоритмів, види алгоритмів? Для чого вони потрібні? Дана стаття допоможе у всьому цьому розібратися і розкласти все по своїх місцях.
Сам термін позначає зрозумілу і точнупослідовність простих кроків, які виконавець повинен пройти для того, щоб вирішити поставлену перед ним задачу. Саме слово «алгоритм» бере своє походження від імені відомого східного вченого-математика Аль-Хорезмі. Саме він сформулював всі правила, за якими виконуються арифметичні дії. На самому початку під цим поняттям розуміли лише правила, які стосуються основних чотирьох арифметичних дій, виробленим над числами. А вже потім поняття стало використовуватися для позначення послідовності кроків, що призводять до вирішення завдання. При обчислювальному процесі дані є тими об'єктами, до яких алгоритм застосовується. При вирішенні задачі обчислення вихідні дані перетворюються в результатні.
Процес розробки алгоритму є дужетворчим, незважаючи на свою простоту. Якщо скласти його може людина, то виконувати здатна і техніка. Причому сьогодні це не тільки комп'ютер, але також і телефони, планшети, термінали і навіть пральні машинки з кавоварками.
За запитами в Інтернеті можна знайти багато цінної інформації, але її ще потрібно збирати воєдино. Тому тут вказується все найнеобхідніше.
1. Визначеність.Це властивість ще називають детерминированностью. Воно має на увазі отримання результату обчислень, який є однозначним при завданні вихідних даних для обчислень. Це властивість надає процесу виконання механічний характер. Не потрібні додаткові відомості та вказівки про завдання. Не повинно бути нічого довільного.
2. Масовість.Дана властивість передбачає те, що алгоритм повинен годитися для вирішення безлічі завдань однакового типу. Вихідна інформація при цьому може бути обрана з якоїсь області, званої областю застосування.
3.Результативність - властивість, що вказує на наявність вихідної інформації, для якої по заданій послідовності дій процес повинен пройти кінцеве число кроків, а потім зупинитися, видаючи необхідний результат.
4.Дискретність - це коли обчислювальний процес розчленовується на етапи. І можливість їх виконання не викликає ніяких сумнівів. Тут кожне наступне дію виконується тільки в тому випадку, якщо попереднє повністю закінчено.
Алгоритми повинні бути формалізовані попевними правилами за допомогою конкретних засобів. Основні способи опису алгоритмів: за допомогою слів, формульно-словесний, алгоритмічний, графічний і програмний.
Словесна форма - це запис на природномулюдській мові. Вона отримала набагато менше поширення, так як є надто багатослівним. А ще в ній відсутня наочність. Опис словами не є строго формалізованих, а деякі приписи можна витлумачити неоднозначно.
Формульно-словесна форма трохи зручніше.Тут до слів додаються математичні формули, що може як допомогти, так і, навпаки, заплутати людину при читанні. Інші способи опису алгоритмів набагато зручніше.
Алгоритмічний спосіб запису заснований напсевдокоді. Це такий код, який схожий за своєю структурою на мову програмування, але команди вказані на природній мові, а також присутні математичні вирази. Псевдокод - напівформалізоване мову. Такий спосіб вже набагато зрозуміліше, особливо для програмістів.
Способи опису алгоритмів, описані вище, булиповністю формалізовані, після чого народилася програмна форма запису. Тут використовується один з безлічі мов програмування, на якому і пишеться та сама послідовність кроків для виконання. Комп'ютер зчитує їх по черзі і виконує зазначені інструкції, що в підсумку призводить до кінцевого результату.
Графічний спосіб опису алгоритмів отримавнайбільшу популярність через свою наочності. Його ще називають блок-схемним способом. Що таке блок-схема? Це таке графічне зображення схеми алгоритму. Кожен крок процесу обробки даних зображується у вигляді геометричної фігури, званої блоком. Кожен блок має свою конфігурацію, яка залежить від типу виконуваної операції. Найменування і список символів, розміри і форми, а також відображаються функції визначені стандартами. Якщо взяти всі основні способи опису алгоритмів, то даний є найбільш наочним.
Способи опису алгоритмів за допомогою блок-схем на увазі три основні різновиди процесів обчислення: лінійний, розгалужується і циклічний.
Лінійний - це такий процес, коли кожен етап рішення задачі виконується по порядку проходження.
Розгалужується - це процес обчислення, в якому в залежності від вихідної або проміжної інформації, а також від результатів перевірки логічних умов залежить вибір напрямку руху.
Циклічний алгоритм містить один або більшеодного циклу, тобто ділянку обчислень, який повторюється безліч разів. Цикли можуть бути із заздалегідь визначеною кількістю повторень і з невизначеним. Залежно від дотримань будь-якої умови визначається і число цих повторень. Причому умова може перевірятися на самому початку циклу або в його кінці.
Способи опису алгоритмів ясні, але є ще й правила, які до них пред'являються.
перше:при розробці алгоритму потрібно задати багато об'єктів для роботи. Формалізоване уявлення таких об'єктів - це і є дані. Алгоритм починає працювати з набором даних, які називаються вхідними, перетворюючи їх в результат - вихідні дані. При цьому можуть використовуватися будь-які способи опису алгоритмів. Властивості алгоритмів повинні бути дотримані.
Друге правило:для того щоб алгоритм міг працювати, йому необхідна пам'ять. У ній розміщені вхідні дані, проміжні і вихідні. Пам'ять сама по собі дискретна, тобто складається з окремих розділів - осередків. Та осередок, яка має ім'я, називається змінною.
Третє правило - це дискретність. Весь алгоритм повинен бути побудований з окремих операцій, число яких обов'язково має бути кінцевим.
Потрібно відзначити, що існує таке поняття, якдопоміжний алгоритм, який розроблений заздалегідь, а потім застосовується при алгоритмізації іншого завдання. Його також можна назвати допоміжної процедурою.
Алгоритм, поняття, властивості, способи опису - без усього цього в сфері інформатики нікуди. Це база, на якій тримається вся комп'ютерна наука.