Алгоритм – це точне і повне описання послідовності виконання скінчених дій, необхідних для розв’язку задачі даного типу. Слово “алгоритм” виникло від algorithmi – латинської форми написання імені великого математика аль-Хорезмі, який у ІХ ст. описав правила в конання арифметичних дій над числами у десятковій системі числення.
Основні властивості алгоритмів:
- дискретність. Обчислювальний процес, що описується алгоритмом, має бути розбитий на послідовність окремих дій. Таке описання являє собою послідовність чітко відокремлених одна від одної вказівок, що утворюють перервну (дискретну) структуру алгоритмічного процесу – тільки виконавши вимоги однієї вказівки, можна перейти до наступної;
- детермінованість. Алгоритм не може містити вказівок, смисл яких сприймається неоднозначно. Крім того, ітко відокремлених одна від одної вказівок, що утворюють перервну (дискретну) структуру алгоритмічного процесу – тільки виконавши вимоги однієї вказівки, можна перейти до наступної;
- детермінованість. Алгоритм не може містити вказівок, смисл яких сприймається неоднозначно. Крім того, після виконання чергової вказівки, цілком однозначно має бути визначено, яку вказівку потрібно виконувати наступною. Отже, враховуючи однозначність послідовності дій, із яких складається алгоритм, застосування його до одних і тих же вхідних даних має забезпечувати один і той же результат;
- масовість. Алгоритм складається не для розв’язку однієї конкретної задачі, а для цілого класу задач даного типу;
- результативність. При точному виконанні всіх вказівок алгоритму обчислювальний процес має зупинитися за скінчену кількість кроків і при цьому має бути одержаний певн після виконання чергової вказівки, цілком однозначно має бути визначено, яку вказівку потрібно виконувати наступною. Отже, враховуючи однозначність послідовності дій, із яких складається алгоритм, застосування його до одних і тих же вхідних даних має забезпечувати один і той же результат;
- масовість. Алгоритм складається не для розв’язку однієї конкретної задачі, а для цілого класу задач даного типу;
- результативність. При точному виконанні всіх вказівок алгоритму обчислювальний процес має зупинитися за скінчену кількість кроків і при цьому має бути одержаний певний результат роботи.
Описати алгоритм – означає розбити його на окремі етапи, визначити, яку роботу необхідно виконати на кожному етапі, вказати порядок виконання цих етапів.
Для того, щоб алгоритм був зрозумілий не тільки його автору, а й будь-якому виконавцю, у тому числі й ЕОМ, розроблені загальноприйняті способи описання алгоритмів. Найуживаніші серед них: словесне описання у термінах природної мови, графічне описання та описання у термінах деякої алгоритмічної мови.
Графічне описання алгоритмів
Розглянемо описання алгоритмів у вигля масовість. Алгоритм складається не для розв’язку однієї конкретної задачі, а для цілого класу задач даного типу;
результативність. При точному виконанні всіх вказівок алгоритму обчислювальний процес має зупинитися за скінчену кількість кроків і при цьому має бути одержаний певний результат роботи.
Описати алгоритм – означає розбити його на окремі етапи, визначити, яку роботу необхідно виконати на кожному етапі, вказати порядок виконання цих етапів.
Для того, щоб алгоритм був зрозумілий не тільки його автору, а й будь-якому виконавцю, у тому числі й ЕОМ, розроблені загальноприйняті способи описання алгоритмів. Найуживаніші серед них: словесне описання у термінах природної мови, графічне описання та описання у термінах деякої алгоритмічної мови.
Графічне описання алгоритмів
Розглянемо описання алгоритмів у вигляді блок-схем. Блок-схема алгоритму являє собою систему блоків, зв’язаних лініями потоку.
Блоки зображуються у вигляді плоских геометричних фігур: овалу (блок “початок-кінець алгоритму”), паралелограма (блок вводу-виводу), прямокутника (функціональний блок [1]), ромба (логічний блок), шестигранника (блок підготовки – послідовної зміни параметру), прямокутника з подвійними бічними сторонами (блок виконання типового процесу – підпрограми) тощо.
Лінії потоку вказують на порядок виконання послідовності операцій алгоритму (порядок переходу від блоку до блоку). При цьому напрямок лінії потоку зверху вниз і зліва направо приймається за головний і стрілкою не позначається. Напрямок лінії знизу вверх і справа наліво позначається стрілкою. Місце злиття ліній потоку допускається позначати точкою.
[1] Цей блок ще називають блоком обробки або обчислювальним блоком. У найпростішому випадку це арифметичний блок.
|