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

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

 

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

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

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

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

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

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

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

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

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

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

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

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



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

    Схожі матеріали
    07.10.2025 Матеріали лекційного курсу обов'язкової освітньої компоненти "Математичне моделювання динамічних систем і процесів" для підготовки здобувачів другого (магістерського) рівня вищої освіти спеціальності 122 Комп’ютерні науки
    07.10.2025 Інструктивно-методичні матеріали для лабораторних занять та самостійної роботи обов'язкової освітньої компоненти "Математичне моделювання динамічних систем і процесів" для підготовки здобувачів другого (магістерського) рівня вищої освіти спеціальності 122 Комп’ютерні науки
    14.10.2024 ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ДО ОРГАНІЗАЦІЇ САМОСТІЙНОЇ РОБОТИ OK "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
    14.10.2024 Матеріали лекційного курсу ОК "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
    14.10.2024 Інструктивно-методичні матеріали до лабораторних занять ОК "Розподілені бази даних та знань"
    14.10.2024 Інструктивно-методичні матеріали до лекційних занять ОК "Розподілені бази даних та знань"
    14.10.2024 Інструктивно-методичні матеріали до самостійної роботи ОК "Розподілені бази даних та знань"
    14.10.2024 Інструктивно-методичні матеріали до лабораторних занять OK "АРХІТЕКТУРА ТА РОЗРОБКА ІНФОРМАЦІЙНИХ СИСТЕМ"
    14.10.2024 Інструктивно-методичні матеріали до лабораторних занять ОК "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
    13.10.2024 Методичні рекомендації до викoнaння квaліфікaційних (диплoмних) рoбіт здoбувaчaми вищoї oсвіти другoгo (мaгістерськoгo) рівня oсвітньo-прoфесійнoї прoгрaми «Кoмп’ютерні нaуки»

    Тести даної категорії
    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 ПОЧАТКИ АЛГОРИТМІЗАЦІЇ. ВСТУП ДО ПРОГРАМУВАННЯ
    Рекомендовані лекції
    20.02.2023 Лекційний курс з ОК Політичний маркетинг
    06.02.2026 Лекційний матеріал "Еколого-біологічне рослинництво" ОП "Тепличне господарство
    12.12.2010 Різні способи задання циклічних процесів
    14.02.2025 Лекційний курс з обов’язкової освітньої компоненти "Живопис"
    19.10.2025 Методологія та організація наукових досліджень
    23.09.2023 Лекційний курс з ОК Інтелектуальна власність
    18.02.2023 Тема 7. Списки та аналіз даних в MS Excel
    12.12.2010 Переборні задачі
    15.09.2020 Сучасні політичні системи Чехії (Словаччини, Німеччини)
    20.02.2022 Графіка та мультимедія для вебсередовища