Лекції >> Програмування, комп’ютери і кібернетика >> Поняття про алгоритм

Алгоритм – це точне і повне описання послідовності виконання скінчених дій, необхідних для розв’язку задачі даного типу. Слово “алгоритм” виникло від algorithmi – латинської форми написання імені великого математика аль-Хорезмі, який у ІХ ст. описав правила в конання арифметичних дій над числами у десятковій системі числення.

 

Основні властивості алгоритмів:

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

Описати алгоритм – означає розбити його на окремі етапи, визначити, яку роботу необхідно виконати на кожному етапі, вказати порядок виконання цих етапів.

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

Графічне описання алгоритмів

Розглянемо описання алгоритмів у вигля масовість. Алгоритм складається не для розв’язку однієї конкретної задачі, а для цілого класу задач даного типу;

  • результативність. При точному виконанні всіх вказівок алгоритму  обчислювальний процес має зупинитися за скінчену кількість кроків і при цьому має бути одержаний певний результат роботи.
  • Описати алгоритм – означає розбити його на окремі етапи, визначити, яку роботу необхідно виконати на кожному етапі, вказати порядок виконання цих етапів.

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

    Графічне описання алгоритмів

    Розглянемо описання алгоритмів у вигляді блок-схем. Блок-схема алгоритму являє собою систему блоків, зв’язаних лініями потоку.

    Блоки зображуються у вигляді плоских геометричних фігур: овалу (блок “початок-кінець алгоритму”), паралелограма (блок вводу-виводу), прямокутника (функціональний блок [1]), ромба (логічний блок), шестигранника (блок підготовки – послідовної зміни параметру), прямокутника з подвійними бічними сторонами (блок виконання типового процесу – підпрограми) тощо.

    Лінії потоку вказують на порядок виконання послідовності операцій алгоритму (порядок переходу від блоку до блоку). При цьому напрямок лінії потоку зверху вниз і зліва направо приймається за головний і стрілкою не позначається. Напрямок лінії знизу вверх і справа наліво позначається стрілкою. Місце злиття ліній потоку допускається позначати точкою. 



    [1] Цей блок ще називають блоком обробки або обчислювальним блоком. У найпростішому випадку це арифметичний блок.

    Схожі матеріали
    07.03.2023 ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ЛАБОРАТОРНИХ ЗАНЯТЬ ОК "Технології комп’ютерного проектування"
    07.03.2023 МАТЕРІАЛИ ЛЕКЦІЙНОГО КУРСУ ОК "Технології комп’ютерного проектування"
    27.02.2023 ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ДО ДО ВИКОНАННЯ ТА ЗАХИСТУ КУРСОВИХ РОБІТ З ПРОГРАМУВАННЯ ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ДО ВИКОНАННЯ ТА ЗАХИСТУ КУРСОВИХ РОБІТ З ПРОГРАМУВАННЯ
    21.02.2023 Web-технології та web-дизайн
    21.02.2023 Web-технології та web-дизайн
    14.02.2023 Булеві функції. Мінімізація булевих функцій
    12.02.2023 Комбінаторний метод мінімізації булевих функцій
    05.10.2012 Введення та виведення даних, розробки та опису лінійних програм.
    20.12.2011 Pascal - лабораторні роботи - для студентів III-го курсу (лекції Ляшенко Б.М.)
    12.12.2010 Робота з підпрограмами

    Тести даної категорії
    12.12.2010 ПОЧАТКИ АЛГОРИТМІЗАЦІЇ. ВСТУП ДО ПРОГРАМУВАННЯ

    Останні створені тести
    30.09.2021 Інтерпретація тексту. Доперекладацький аналіз і редагування письмових текстів.
    28.10.2015 British Writers. Тест для студентів 4 курсу ННІ педагогіки
    27.10.2015 The Passive Voice. Тест для студентів 2 курсу ННІ педагогіки
    27.10.2015 Articles. Тест для студентів 1 курсу неспеціальних факультетів
    27.10.2015 The Active Voice. Тест для студентів 2 курсу ННІ педагогіки
    08.10.2014 INTEL
    26.09.2012 Мовнокомунікативна компетентність. Орфографічна складова
    31.05.2012 Lexikalisch-grammatischer Test. Тест для студентів 1 курсу неспеціальних факультетів.
    30.05.2012 Landeskunde (Schweiz,Österreich,Deutschland) Тест для студентів 2 курсу неспеціальних факультетів
    12.12.2010 ПОЧАТКИ АЛГОРИТМІЗАЦІЇ. ВСТУП ДО ПРОГРАМУВАННЯ
    Рекомендовані лекції
    09.02.2023 Лекційний курс з ОК Основи медичних знань і безпека життєдіяльності
    20.04.2023 Епістемологія та методологія наукового пізнання
    12.12.2010 Структурний підхід до алгоритмізації
    18.02.2022 Основні теги HTML.
    24.04.2020 Еколого-розвивальне середовище в ЗДО Проект екологічної стежки
    20.02.2023 Лекційний курс з ОК Управління товарними запасами
    15.09.2020 План лекцій з освітньої компоненти Міжнародна політикаЄС
    09.02.2023 Лекційний курс з ОК Фінанси гроші та кредит
    10.02.2023 Тема 5. Транспортна задача лінійного програмування
    28.08.2020 Матеріали лекційнго заняття 1