Для алгоритму характерні:
1) розчленованість визначається алгоритмом процесу рішення на окремі елементарні акти, можливість виконання яких не викликає сумніву;
2) однозначність результату процесу при заданих вихідних даних;
3) масовість - придатність для різних вихідних даних.
При складанні схем алгоритмів і програм треба враховувати, що знак "=" не є знаком рівності, а є знаком присвоювання.
Наприклад: відкладемо на осі Х три точки: 5, 7, 9.
Дамо змінної Х значення 5:
Нове значеніеХ (рівне 7) ми будемо знаходити, як старе значення Х плюс 2 (див. Рис. 1).
Х = Х + 2 - до попереднього значення Х додається 2, рівності тут немає.
Після обчислення Х = 7 по останній формулі (Х = Х + 2) можна знайти таке значення Х. рівне дев'яти.
Як це буде виглядати в ЕОМ? У ЕОМ всі дані зберігаються в пам'яті. Кожноїзмінної відводиться певний ділянку пам'яті (назвемо його умовно «осередком»). У такій комірці буде зберігатися і значення переменнойХ.
Спочатку ми переменнойХ присвоюємо значення 5, тобто заносимо в цей осередок число 5:
Що ж дає операція Х = Х + 2. Ми беремо вміст комірки пам'яті, відведеної для зберігання значення Х (а воно дорівнює 5), і додаємо до нього 2. Отримуємо 7. І заносимо результат знову в ту ж комірку пам'яті:
Значення 5 замінюється на 7.
Автомобіль їде зі швидкістю V = 85 км / год. Який шлях він пройде за T = 3ч?
Будь алгоритм починається з того, що нам дано (або має бути дано) для вирішення задачі. Так як ми шукаємо шлях за формулою S = V • T. то для обчислення S треба знати V і T. Вони нам дано за умовою задачі.
Перед складанням будь-якого алгоритму необхідно заздалегідь все привести до єдиних одиницях виміру, тобто наприклад, або все тимчасові величини вимірювати в годинах, або в хвилинах і т.д.
В алгоритмі одиниці виміру опускаються. Імена всіх змінних в алгоритмі будемо писати великими літерами. У кожному пункті алгоритму повинна виконуватися тільки одна операція. Знак множення проставляється символом «*» ( «зірочка»).
Складемо описовий алгоритм:
3) Що можна обчислити, використовуючи задані вихідні дані?
4) Завдання ми вирішили. Шлях визначено. Якщо ми за складеним алгоритмом напишемо програму, то ЕОМ обчислить S і буде знати результат. А для того, щоб і ми його впізнали, результат треба або роздрукувати на папері, або вивести його на екран монітора
Для того щоб не описувати алгоритм ось так, словами, і він міг бути зрозумілий кожній людині, що займається програмуванням, введений єдиний мову опису алгоритмів - мова структурних схем алгоритмів і програм. Для побудови схем використовуються спеціальні блоки (звані також символами).
Розглянемо деякі блоки і правила складання схем алгоритмів і програм. Зазначені нижче розміри блоків відповідають широко поширеним спеціальним лінійок, призначеним для креслення структурних схем алгоритмів і програм. Для складання схем використовуються наступні блоки:
1) ПРОЦЕС (див. Рис. 2)
2) РІШЕННЯ (див. Рис. 3)
Символ зумовлених ПРОЦЕС
Блоки в структурних схемах записуються в стовпчик і з'єднати-ються між собою лініями потоку. Довжина лінії потоку між блоками дорівнює 1 см. Блок «КІНЕЦЬ» розташовується під блоком «ПОЧАТОК».
Крім того, блоки нумеруються, за винятком блоків «ПУСК-ВИМИКАННЯ».
Наприклад (див. Рис. 8):
Усередині блоку можна записувати тільки одну операцію.
Всі блоки мають тільки один вхід - зверху і один вихід - знизу. Виняток становить блок «РІШЕННЯ». У нього завжди один вхід, але два виходи, що позначаються зі стрілками. Один вихід - «так», інший - «ні».
ихід «так» позначається одиницею - 1 - і спрямований (по ГОСТам) вниз, «ні» - позначається нулем -Ø - і спрямований вправо. Нуль перекреслюється, щоб відрізнити його в тексті алгоритму або програми від букви О.
Текст в блоках записується шрифтом. Всі математичні знаки операцій проставляються.
Блок «ВВЕДЕННЯ-ВИВЕДЕННЯ» один і той же, тому, якщо він призначений для введення, то вгорі, всередині блоку, пишуть «Введення:», якщо для виведення - «Висновок:» (див. Рис. 9).
Приклади оформлення символів «ВВЕДЕННЯ-ВИВЕДЕННЯ»
Якщо структурна схема не поміщається в один стовпчик, то поруч організовують другий стовпчик або роблять перенесення на іншу сторінку.
Перенесення на цю ж сторінку в інший стовпчик здійснюється двома способами (див. Рис. 11).
Два способи перенесення структурних схем на одній сторінці
Діаметр кружка - 1 см.
Лінії потоку можуть згинатися тільки під прямим кутом, розташовуватися від символів на відстані не менше 5 мм і не можуть перетинатися між собою.
Стрілки на лініях потоку не ставляться, якщо лінії йдуть зверху вниз або зліва направо. В іншому випадку напрямок позначається стрілкою: .
Стрілки ставляться при переході на наступну сторінку або в новий стовпчик.
Перенесення на іншу сторінку здійснюється наступним чином: нехай нам треба здійснити перенесення з четвертої сторінки з шостого блоку на п'яту сторінку на блок № 9 (див. Рис. 12).
На поточній сторінці №4: На сторінці № 5
Перенесення структурних схем на іншу сторінку
Розміри символу, призначеного для перенесення структурної схеми на іншу сторінку, представлені на малюнку 13.
Розміри символу переносу структурних схем на іншу сторінку
Якщо перехід на деякий блок здійснюється з кількох місць алгоритму, то в схемі цей перехід (злиття) позначають так, як показано на малюнку 14.
Злиття ліній потоку в структурних схемах
При злитті кількох ліній потоку вливаються лінії відзначаються стрілками.
Тепер, використовуючи описані вище правила, складемо структурну схему для вирішення нашої задачі про обчислення шляху (див. Рис. 15).
Структурна схема для задачі лічильник дистанції,
Запам'ятайте, що вихідні дані - це конкретні числа, значення деяких змінних. Sin. Cos і т.д. - це імена функцій, а не дані, тобто Sin x - це вираз, але не дане. Для того щоб знайти значення виразу, наприклад, Sin x. нам потрібно знати дане х.
І ще одне. При присвоєнні зліва від знака рівності варто та величина, яку ми шукаємо, тобто тільки ім'я змінної, а не вираження. Праворуч - може стояти і ім'я змінної, і число, і вираз. Але значення всіх змінних, що стоять праворуч від знака рівності, повинні бути відомі, тому що наприклад, якщо ми не будемо знати, чому дорівнює Х при обчисленні значення Y:
то ніколи не обчислимо Sin Х і, отже, не знайдемо Y. В "осередок" ЕОМ з ім'ям Y нічого буде поміщати.
І ще одне правило треба запам'ятати. При складанні структурних схем і програм ми з Вами будемо прагнути мінімізувати кількість операцій і заводити якомога менше змінних, тобто мінімізувати час рахунку і використання пам'яті ЕОМ. Таким чином, жодного зайвого знака та операції!