Сутність алгоритмів - Інформатика, програмування
2. Поняття алгоритму та його властивості
3. Виконавець алгоритмів
Список використаної літератури
З появою ЕОМ виникла потреба інтенсифікувати потоки інформації людина – комп'ютер – людина. Але підвищення ефективності застосування людиною комп'ютера як інструменту потрібні спільна думка, загальні поняття. Прості алгоритми типу розподілу стовпчиком відомі кожному школяру з курсу математики, і, здавалося б, немає більш знайомої речі в математиці, ніж алгоритми. З появою науки Інформатики виник новий метод – алгоритмізація - процес складання алгоритмів розв'язання задачі.
Алгоритмічний стиль мислення дозволяє пов'язати функціонування інформації в конкретному середовищі з вимогами її машинної обробки. Алгоритмічне мислення допомагає формувати навички:
вміти планувати структуру дій, необхідні досягнення заданої мети з допомогою фіксованого набору коштів;
будувати інформаційні структури для опису об'єктів та засобів;
організовувати пошук інформації, яка потрібна на вирішення поставленого завдання;
правильно, чітко та однозначно формулювати думку у зрозумілій співрозмовнику формі та правильно приймати текстове повідомлення;
своєчасно звертатися до ЕОМ під час вирішення завдань з будь-якої галузі;
формувати навички аналізу інформації, уміння її структурувати.
Розвиток системного, логічного мислення школярів, прищеплення навичок оперування формальними поняттями та об'єктами, характерними для поглибленої взаємодії з комп'ютером – розвиток алгоритмічного стилю мислення – має бути забезпечене шкільною освітою.
Вищесказане доводить актуальність цієї теми.
Робота складається із вступу, трьохрозділів, висновків та списку використаної літератури. Загальний обсяг роботи складає 13 сторінок.
У світі людині доводиться вирішувати завдання з допомогою комп'ютера. Вирішення будь-якого завдання передбачає наявність алгоритму, тобто. точного розпорядження послідовності дій, що призводять до отримання результату. За підсумками алгоритму складається програма, тобто. запис алгоритму розв'язання задачі у вигляді, придатному для виконання його на комп'ютері.
Звідси випливає, що сутність процесу розв'язання задачі за допомогою комп'ютера – це розробка алгоритму. Процес складання алгоритмічних розпоряджень називається алгоритмізацією.
Роль алгоритмізації у житті сучасного суспільства визначається як технічними аспектами її використання. Алгоритмічний підхід невіддільний від повсякденного життя людей, від їхньої звичайної роботи.
У переважній більшості випадків результат діяльності залежить від того, наскільки чітко він знає алгоритмічну сутність своїх дій: що робити у кожен момент, у якій послідовності, яким має бути результат дій.
Це певною мірою залежить від його вміння складати та використовувати алгоритми.
2. Поняття алгоритму та його властивості
Одним із фундаментальних понять в інформатиці є поняття алгоритму. Щоб зрозуміти зміст цього поняття, потрібний його всебічний аналіз. Що таке алгоритм? Для відповіді це питання зробимо екскурс в історію.
Походження самого терміна "алгоритм" пов'язане з математикою, або швидше з алгеброю, тому що саме там воно з'являється вперше. Цікава та обставина, що слова алгебра та алгоритм завдячують своїм виникненням імені однієї людини – арабського математика Аль Хорезмі (787 – бл. 850), після якого залишилося кількатрактатів і серед них один був присвячений арифметиці, а інший – алгебри. В обох книгах широко використовуються різноманітні алгоритми, а сам термін алгоритм є викривлене виголошення імені Аль Хорезмі (dixit algorizmi – «так сказав Аль Хорезмі»). Назва ж книги з алгебри – Кітат аль-мухтасар ібн хасаб аль-габр в'алуккабала – призвела до введення слова алгебра для позначення відповідного розділу математики.
У своїй книзі «Про індійський рахунок» він сформулював правила запису натуральних чисел за допомогою арабських цифр та правила дій над ними стовпчиком. Надалі алгоритмом стали називати точне розпорядження, що визначає послідовність дій, що забезпечує отримання необхідного результату вихідних даних.
Алгоритм може бути призначений для виконання людиною або автоматичним пристроєм. Створення алгоритму, навіть найпростішого, - процес творчий. Він доступний виключно живим істотам, а довгий час вважалося лише людині. У XII ст. було виконано латинський переклад його математичного трактату, з якого європейці дізналися про десяткову позиційну систему числення та правила арифметики багатозначних чисел.
Саме ці правила тоді називали алгоритмами. Надалі алгоритмом стали називати опис будь-якої послідовності дій, яку слід виконати на вирішення заданої задачи.
В даний час поняття алгоритму не обмежується вирішенням лише математичних завдань, сенс його набагато ширший. Кожен комп'ютер працює за заздалегідь заданим алгоритмом, отже, за програмою. Алгоритм треба зрозуміти як послідовність дій, як безліч упорядкованих операцій, список операцій, що виконуються у порядку. Це поняття нині застосовується широко. Існуєбагато визначень, наведемо одне з них.
Отже, алгоритм – це послідовність дій на вирішення поставленої задачи. Вирішення будь-якого завдання можна розкласти на послідовність простих операцій. Щоб виконати алгоритм на комп'ютері, потрібно написати його як програми.
Дане вище визначення алгоритму не можна вважати суворим - не зовсім ясно, що таке "точне розпорядження" або "послідовність дій, що забезпечує отримання необхідного результату". Тому зазвичай формулюють кілька загальних властивостей алгоритмів, що дозволяють відрізняти алгоритми з інших інструкцій.
Такими властивостями є:
Дискретність (перервність, роздільність) – алгоритм має представляти процес розв'язання задачі як послідовне виконання простих (чи раніше певних) кроків. Кожна дія, передбачена алгоритмом, виконується тільки після завершення виконання попереднього.
Визначеність – кожне правило алгоритму має бути чітким, однозначним і залишати місця для свавілля. Завдяки цій властивості виконання алгоритму носить механічний характер і не вимагає ніяких додаткових вказівок або відомостей про задачу, що розв'язується.
Результативність (кінцевість) – алгоритм має призводити до розв'язання задачі за кінцеве число кроків.
Масовість – алгоритм розв'язання задачі розробляється у загальному вигляді, тобто, він має бути застосовним для деякого класу задач, що відрізняються лише вихідними даними. При цьому вихідні дані можуть вибиратися з деякої області, яка називається областю застосування алгоритму.
Правила виконання арифметичних операцій або геометричних побудов є алгоритмами. При цьому залишається без відповіді питання, чим відрізняється поняття алгоритму від такихпонять, як "метод", "спосіб", "правило". Можна навіть зустріти твердження, що слова «алгоритм», «спосіб», «правило» виражають те саме (тобто є синонімами), хоча таке твердження, очевидно, суперечить «властивості алгоритму».
Саме вираз «властивості алгоритму» не зовсім коректний. Властивості мають об'єктивно існуючі реальності. Можна говорити, наприклад, про властивості будь-якої речовини. Алгоритм – штучна конструкція, яку ми споруджуємо задля досягнення своїх цілей. Щоб алгоритм виконав своє призначення, його потрібно будувати за певними правилами. Тому треба говорити все ж таки не про властивості алгоритму, а про правила побудови алгоритму, або про вимоги, що пред'являються до алгоритму.
Перше правило – при побудові алгоритму насамперед необхідно задати безліч об'єктів, із якими працюватиме алгоритм. Формалізоване (закодоване) подання цих об'єктів має назву даних. Алгоритм приступає до роботи з деяким набором даних, що називаються вхідними, і в результаті своєї роботи видає дані, що називаються вихідними. Таким чином, алгоритм перетворює вхідні дані у вихідні. Це правило дозволяє відразу відокремити алгоритми від методів і способів. Поки ми маємо формалізованих вхідних даних, ми можемо побудувати алгоритм.
Друге правило – для роботи алгоритму потрібна пам'ять. У пам'яті розміщуються вхідні дані, з якими алгоритм починає працювати, проміжні дані та вихідні дані, що є результатом роботи алгоритму. Пам'ять дискретної, тобто. що складається з окремих осередків. Названа комірка пам'яті носить назву змінної. У теорії алгоритмів розміри пам'яті не обмежуються, тобто вважається, що ми можемо надати будь-якому алгоритмунеобхідний роботи обсяг пам'яті.
Практична робота з алгоритмами (програмування) починається саме з цих правил. У мовах програмування розподіл пам'яті здійснюється декларативними операторами (операторами опису змінних). У мові Бейсик в повному обсязі змінні описуються, зазвичай описуються лише масиви. Але при запуску програми транслятор мови аналізує всі ідентифікатори в тексті програми і відводить пам'ять під відповідні змінні.
Третє правило – дискретність. Алгоритм будується з окремих кроків (дій, операцій, команд). Безліч кроків, з яких складено алгоритм, звісно.
Четверте правило – детермінованість. Після кожного кроку необхідно вказувати, який крок виконується наступним, або надавати команду зупинки.
П'яте правило - збіжність (результативність). Алгоритм має завершувати роботу після кінцевого числа кроків. У цьому слід зазначити, що вважати результатом роботи алгоритму.
Таким чином, виконуючи алгоритм, виконавець може не вникати в сенс того, що він робить, і водночас отримувати необхідний результат. У разі кажуть, що виконавець діє формально, тобто. відволікається від змісту поставленого завдання і лише виконує деякі правила, інструкції.
Отже, алгоритм – невизначене поняття теорії алгоритмів. Алгоритм кожному певному набору вхідних даних ставить у відповідність певний набір вихідних даних, тобто. обчислює (реалізує) функцію. При розгляді конкретних питань теорії алгоритмів завжди мають на увазі якась конкретна модель алгоритму.
Використовуються такі способи представлення алгоритму:
- природною мовою;
- у вигляді схеми (блок-схеми);
- наалгоритмічній мові;
- Мовою програмування.
Блок-схема - це графічний спосіб представлення алгоритму, кожна дія у своїй зображується як послідовності пов'язаних блоків.
Алгоритмічна мова - це система позначень та правил для одноманітного та точного запису алгоритмів та їх виконання. Алгоритмічна мова складається з сукупності слів, призначення та зміст яких заданий раз і назавжди. Такі слова прийнято називати службовими.
Мова програмування - це сукупність засобів і правил подання алгоритмів у вигляді, прийнятному для комп'ютера.
До поняття алгоритму примикає поняття виконавця алгоритму, тобто хто (що) здійснюватиме виконання алгоритму. Її можна доручити суб'єкту чи об'єкту, який зобов'язаний вникати у суть справи, і, можливо, і здатний його зрозуміти. Такий суб'єкт чи об'єкт прийнято називати формальним виконавцем.
Прикладом формального виконавця може бути пральна машина-автомат, яка неухильно виконує запропоновані їй дії, навіть якщо ви забули покласти до неї порошок. Людина теж може у ролі формального виконавця, але насамперед формальними виконавцями є різні автоматичні устрою, і комп'ютер зокрема.
Кожен алгоритм створюється для цілком конкретного виконавця. Ті дії, які може здійснювати виконавець, називають його допустимими діями. Сукупність допустимих процесів утворює систему команд виконавця. Алгоритм повинен містити ті дії, які допустимі для даного виконавця.