Алгоритми і способи їх опису
Алгоритм - набір правил, що вказують які операції, і в якій послідовності потрібно виконувати, щоб за кінцеве число кроків вирішити задачу.
Алгоритмом притаманні такі властивості:
- дискретність - розбиття алгоритму на окремі елементарні дії;
- детермінованість (повторюваність) - однозначність виконання кожного окремого кроку при одних і тих самих вихідних даних;
- результативність - отримання певного результату або сигналу про те, що даний алгоритм неприйнятний для вирішення поставленого завдання;
- масовість - придатність алгоритму для вирішення певного класу задач.
На практиці найбільш часто використовуються наступні способи подання алгоритмів - словесний, графічний і програмний.
Словесний алгоритм являє собою довільне виклад етапів обробки даних на природному (розмовному) мовою. З точки зору написання словесний алгоритм труднощів не представляє, але є багатослівним і не формалізованих, що допускає можливість неоднозначності його тлумачення. В результаті для складних алгоритмів опис стає дуже громіздким. Тому дана форма подання алгоритмів широкого застосування не отримала.
Графічний спосіб дозволяє відобразити алгоритм у вигляді послідовності пов'язаних між собою блоків, кожен з яких відображає виконання однієї або кількох операцій процесу обробки даних. Блоки мають строго встановлену конфігурацію, що відповідає певному типу операцій. Розміри блоків так само стандартизовані. На рис.1 наведені найбільш часто вживані блоки.
Блок 2 називається МОДИФІКАЦІЯ. Він вказує початок циклічної конструкції. Усередині блоку записуються початкова і граничне значення, а також правило зміни параметра циклу.
Блок 3 називається ВВЕДЕННЯ / ВИСНОВОК. Усередині блоку пишеться "введення" або "висновок" і перераховуються змінні, що підлягають введенню або висновку на друк.
Блок ПОЧАТОК / КІНЕЦЬ позначає входи в схему алгоритму і виходи з неї. Цими блоками починається і закінчується кожна схема алгоритму.
Блок 5 називається РІШЕННЯ. Блок позначає передачу управління за умовою. Саме умова вказується всередині блоку. Стрілки, що виходять з блоку, позначаються результатом перевірки умови - "Так" і "Ні", відповідно.
Рис.1. Умовне позначення алгоритмічних схем.
Блок 7 називається приреченням ПРОЦЕС (виклик модуля). Позначає він обчислення по підпрограмі.
З'єднувачі (рис. 1,8) використовуються, коли схема алгоритму не вміщується на одному аркуші або для уникнення перетинів ліній переходів. Усередині з'єднувачів ставляться цифри, за якими визначаються з'єднують гілки і блоки. Гурток використовується всередині окремої сторінки, а прапор - при переході на іншу станицю.
Окремі блоки алгоритмів з'єднуються між собою лініями переходу (рис. 1,9). Ці лінії позначають порядок виконання дій. Стрілки встановлюються тільки на неосновних напрямах і в кінці шляху. За основні прийняті напрямки зліва направо і зверху вниз.
На блок-схемі алгоритму блоки нумеруються (крім блоків ПОЧАТОК і КІНЕЦЬ) зверху вниз і справа наліво. Кожен блок відповідає виконанню одного або декількох операторів.
Оператор - етоформальная запис інструкцій щодо виконання деякої послідовності дій.
Графічна форма подання алгоритмів є найбільш компактною і наочною, в зв'язку з чим, знайшла широке застосування.
Подання алгоритму у вигляді блок-схеми є важливим і в більшості випадків необхідним етапом вирішення завдань на ЕОМ. І все ж таке уявлення є проміжним, оскільки алгоритм в цьому в вигляді не може бути безпосередньо виконаний на ЕОМ. Тому блок-схема, в свою чергу, описується на конкретній мові програмування, тобто використовується програмний спосіб представлення алгоритму. Мова програмування-формальний мову, сприймається ЕОМ і призначений тільки для спілкування людини з ЕОМ.
Алгоритм, записаний на мові програмування, називається програмою.