Програмування для ЕОМ. Алгоритм і програма
Усі ЕОМ мають ту особливість, що їхня робота визначається програмою. Програма визначає порядок виконання операцій, а також моменти початку та завершення роботи. Універсальні ЕОМ працюють, використовуючи змінні програми, тобто після закінчення роботи над однією програмою ЕОМ може «прочитати» наступну і приступити до її виконання. ЕОМ без програми є купою металу та електронних деталей. Що ж являє собою програма для ЕОМ?
Програма являє собою набір команд, які визначають дії ЕОМ протягом певного, досить малого проміжку часу. Команда - це інформація, представлена в «зрозумілій» для ЕОМ формі. Обробляючи цю інформацію, машина виконує відповідну операцію. Кожна команда призначена для виконання досить простих операцій, наприклад, скласти або помножити два числа, перевірити знак числа, порівняти два числа, пропустити наступні команди (перехід до чергової команди здійснюється автоматично) тощо. В кінцевому результаті, будь-яка команда призводить до тієї або іншої операції з числами, що зберігаються в ОЗП ЕОМ, або до передачі управління якій-небудь іншій команді. Проте, використовуючи необхідний набір такого роду простих команд, можна скласти програму для виконання дуже складних розрахунків.
Зі сказаного виходить, що перш ніж складати програму, треба будь-який розрахунок представити у вигляді сукупності команд, доступних розумінню машини, або, інакше, у вигляді сукупності операцій, яку ЕОМ спроможна виконати. Ця задача вирішується під час розробки алгоритмів.
Поняття алгоритму виникло в математиці у зв'язку з пошуками розв'язання однотипних задач задовго до появи ЕОМ.
Термін “алгоритм” походить від імені великого узбецького математика Мухаммеда ібн Мусо аль-Хорезмі (IX ст.). Algorithmi - це латинська транскрипція імені аль-Хорезмі. Сукупність правил виконання чотирьох арифметичних дій - додавання, віднімання, множення й ділення - над числами в десятковій системі числення в Європі стали називати “алгоризмом”. Згодом це слово переродилося в алгоритм і стало назвою окремих правил певного вигляду, і не лише правил арифметичних дій. Протягом тривалого часу його вживали лише математики, позначаючи правила розв’язання різних задач.
У застосуванні до ЕОМ це поняття має особливе значення, оскільки розв’язування задачі повинно спиратися лише на ті операції, які ЕОМ може виконати.
Наприклад, необхідно виконати розрахунок cos x за формулою у вигляді нескінченного ряду

Неможливо просто записати наведену формулу мовою програмування. Для її запису треба скласти алгоритм, який спирається на основні поняття: обчислення суми, добутку, чергування знаків, зведення в ступінь.
Алгоритм - це послідовність написаних на загальноприйнятій мові математичних або логічних операцій, що визначають процес перетворення початкових даних у кінцевий результат.
Будь-який алгоритм має відповідати таким вимогам:
• визначеністю (детермінованістю), що не залишає місця для свавілля і не залежить від виконавців;
• зрозумілістю для виконавців; тому процес виконання алгоритму носить механічний характер;
• результативністю, тобто здатністю після певного числа кроків приводити до отримання шуканого результату;
• масовістю, тобто придатністю для вирішення будь-якої задачі з даного класу задач при довільних початкових даних.
Етапи розв’язання задачі на ЕОМ
Процес розв’язання задачі на ЕОМ можна в загальному випадку розділити на наступні етапи:
• математичне формулювання задачі;
• розробка методики розв’язання задачі;
• розробка алгоритму;
• програмування;
• налагодження програми;
• розв’язання задачі на ЕОМ.
Перші два етапи полягають у визначенні характеру і складу початкових даних і результатів, встановленні між ними математичних залежностей і вибору методу розв’язання.
При розробці алгоритму враховуються особливості ЕОМ, конкретизуються деталі розрахунку.
Програмування полягає в оформленні алгоритму у вигляді програми, написаної на мові конкретної ЕОМ, або на алгоритмічній мові.
У процесі налагодження виконуються розрахунки на ЕОМ, здійснюється контроль результатів, коригування програми тощо, доки не буде повної упевненості в правильності отриманих результатів. Потім програму передають користувачеві для виконання розрахунків.
Як правило, дуже рідко вдається дотримуватися описаного вище порядку розв’язання задач. Це пов'язано з тим, що в складних задачах людині дуже важко, а іноді неможливо передбачити всі ситуації, які можуть виникнути в процесі обчислень. Багато які питання проясняються в процесі розробки алгоритму й програми, коли доводиться повертатися до методики, а іноді уточнювати і математичне формулювання задачі. Деякі помилки виявляються при налагодженні програми, іноді вони пов'язані з помилками програмування, але зустрічаються і принципові помилки, що вимагають коректування не тільки програми, але й алгоритму. Налагодження програми вимагає великого терпіння і певної кваліфікації програміста, це дуже важкий і важливий етап розв’язання задачі.
Після того, як програма налагоджена, для її роботи необхідно підготувати початкові дані і ввести їх разом із програмою в ЕОМ. Правильність результатів, що отримуються на цьому етапі, визначається правильністю підготовки інформації.
- Лектор: Дудченко Олег