Вопрос1 поняття алгоритму

Поняття алгоритм так само фундаментально для інформатики, як і поняття інформації.

Саме слово «алгоритм» походить від імені видатного математика середньовічного Сходу Мухаммеда аль-Хорезмі. Їм були запропоновані прийоми виконання арифметичних обчислень з багатозначними числами (вони всім добре знайомі зі шкільної математики). Пізніше в Європі ці прийоми назвали алгоритмами від «algorithmi» - латинського написання імені аль-Хорезмі. У наш час поняття алгоритмі розуміється ширше, неогранічеваясь тільки арифметичними обчисленнями.

Термін «алгоритм» став досить поширеним не тільки в інформатиці, а й у побуті. Під алгоритмам розуміють опис будь-якої послідовності дій для досягнення заданої мети. У цьому сенсі, наприклад, алгоритмами можна назвати інструкцію з використання кухонного комбайна, кулінарний рецепт, правила переходу вулиці тощо.

Для використання поняття алгоритм в інформатиці потрібно більш точне визначення, ніж дане вище. Отримаємо таке визначення.

Ключовими словами, що розкриває зміст цього поняття, є: виконавець, команда, система команд виконавця.

Алгоритм представляє з себе послідовність команд (ще кажуть-інструкцій, директив), що визначають дії виконавця (суб'єкта або керованого об'єкта). Всякий алгоритм складається в розрахунку на конкретного виконавця з урахуванням його можливостей. Для того щоб алгоритм був виконаємо, не можна включати в нього команди. які виконавець не в змозі виконати. Не можна кухареві доручати роботу токаря, яка б докладна інструкція йому не давалася. У кожного виконавця є свій перелік команд, які він може виконати. Такий перелік називається системою команд виконавця алгоритмів (СКІ).

Процес рішення задачі повинен бути розбитий на послідовність окремих кроків. Таким чином, формується впорядкована сукупність окремих один від одного команд (розпоряджень) .образующаяся структура алгоритму виявляється переривчастою (дискретної): тільки виконавши одну команду, виконавець зможе приступити до виконання наступного.

Кожна команда алгоритму повинна визначати однозначне дію виконавця. Ця вимога називається точністю алгоритму.

Алгоритм, складеним для конкретного виконавця, повинен включати тільки ті команди, які входять в його систему команд. Це властивість алгоритму називається зрозумілістю. Алгоритм не повинен бути розрахований на прийняття будь-яких самостійних рішень виконавцем, не передбачених складанням алгоритму.

Ще одна важлива вимога, що пред'являється до алгоритму, - це кінцівку (іноді говорять-результативність) алгоритму. Це означає, що виконання алгоритму має завершитися за кінцеве число кроків.

Розробка алгорітмов- процес цікавий, творчий, але непростий, що вимагає багатьох розумових зусиль і витрат часу. Тому переважно розробляти алгоритми, що забезпечують вирішення всього класу задач даного типу. Наприклад, якщо складається алгоритм вирішення квадратного рівняння AX 2 + BX + C = 0, то він повинен бути варіативний, т. Е. Забезпечувати можливість вирішення для будь-яких допустимих вихідних значень коефіцієнтів a, b, c. Про такий алгоритм кажуть, що він задовольняє вимогу масовості.

Властивість масовості не є необхідною властивістю алгоритму. Воно швидше визначає якість алгоритму; в той же час властивості точності, зрозумілості і кінцівки є необхідними (інакше це не алгоритм).

Для успішного виконання будь-якої мало мати її алгоритм. Завжди потрібно ще якісь вихідні дані, з якими буде працювати виконавець (продукти для приготування страви, деталі для збору технічного пристрою і т.п.). виконавцю, вирішального математичну задачу, потрібно вихідна числова інформація. Завдання завжди формулюється так: дана вихідна інформація, потрібно отримати якийсь результат. В математиці ви звикли в такому вигляді записувати умову завдань. наприклад:

Дано: катети прямокутного трикутника a = 3 см; b = 4 см.

Знайти: гіпотенузу c.

Приступаючи до вирішення будь-якої задачі, потрібно спочатку зібрати всі необхідні для її вирішення дані.

Алгоритм - зрозуміле і точне розпорядження виконавцю виконати кінцеву послідовність команд, що приводить від вихідних даних до шуканого результату.

Якщо алгоритм має перерахованими вище властивостями, то робота по ньому буде проводиться виконавцем формально (т. Е. Без всяких елементів творчості з його боку). На цьому заснована робота програмно керованих виконавців-алгоритмів, наприклад, промислових роботів. Робот-маніпулятор може виконати роботу токаря, якщо він вміє робити всі операції токаря (включати верстат, закріплювати різець, переміщати різець, замінювати виріб і т.д.). від виконавця не потрібно розуміння сутності алгоритму, він повинен лише точно виконувати команди, не порушуючи їх послідовності.

А що таке програма? Чи відрізняється програма від алгоритму?

Програма- це алгоритм, записаний на мові виконавця.

Інакше можна сказати так: алгоритм і програма не відрізняються за змістом, але можуть відрізняться за формою

Схожі статті