Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Поняття алгоритму в програмуванні



Розділ 3. Що таке алгоритм?

Слово «алгоритм» сьогодні використовується дуже часто (наприклад, алгоритми навчання, розшифровки чи кардіограм діагностики захворювань, рішення задачі). Очевидно, не всі перераховані випадки вживання цього слова правомірні. Але завжди намагаються підкреслити строгість, спрямованість і обумовленість операцій при виконанні різних видів діяльності, хоча єдиного строгого і формального визначення цього важливого поняття немає. У кожній області знань і діяльності існує своя інтерпретація поняття «алгоритм», пристосована до характеру процесів, їх опису у виді деяких схем, чи рекомендацій досить формалізованих методів. Цілком однозначно визначається поняття алгоритму й у програмуванні.

Поняття алгоритму в програмуванні

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

· дискретність;

· детермінованість (визначеність);

· масовість;

· результативність.

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

Детермінованість тісно зв'язана з дискретністю і характеризує алгоритм із погляду однозначності одержуваного результату на будь-який момент виконання (на будь-якому кроці) при визначених вихідних даних. Це значить, що при створенні алгоритму для кожного дискретного акта необхідно передбачити виключення потреби в якій-небудь «кмітливості», творчості, оскільки такі інтелектуальні «доповнення» виконавця можуть привести до неоднозначності в тлумаченні акта й одержанню неоднозначного результату.

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

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

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

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

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

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

Набір символів для записів понять, що відбивають істоту даних, операцій і керуючих впливів;

Правила формування записів з набору символів;

Список операцій над даними, що припустимі з урахуванням можливостей пасивного виконавця.

У використовуваних у даний час засобах синтезу і відображення алгоритмів знайшли місце загальматематична символіка, деякі правила запису виражень з урахуванням обмежень на операції над даними і значна частина засобів алгоритмічних мов програмування. Широко поширені графічна форма відображення операцій і взаємозв'язків між ними.





Дата публикования: 2015-01-23; Прочитано: 692 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...