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

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

 

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

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

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

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

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

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

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

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

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

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

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

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



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

    Схожі матеріали
    14.10.2024 ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ДО ОРГАНІЗАЦІЇ САМОСТІЙНОЇ РОБОТИ OK "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
    14.10.2024 Матеріали лекційного курсу ОК "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
    14.10.2024 Інструктивно-методичні матеріали до лабораторних занять ОК "Розподілені бази даних та знань"
    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 ПОЧАТКИ АЛГОРИТМІЗАЦІЇ. ВСТУП ДО ПРОГРАМУВАННЯ
    Рекомендовані лекції
    15.02.2023 Матеріали до лекцій ОК "Основи наукових досліджень"
    20.04.2023 Методологія підготовки представлення та оформлення наукових досліджень
    12.12.2010 Порядковий тип даних
    10.02.2023 Лекційний курс з ОК Технологія продукції ресторанного господарства
    17.10.2024 Лекційний курс з дисципліни "Організація і проведення спортивно-масових заходів"
    19.02.2023 МАТЕРІАЛИ ЛЕКЦІЙНОГО КУРСУ "Операційні системи"
    28.08.2020 Матеріали лекційного заняття
    06.05.2020 Форми ознайомлення дітей з природним довкіллям (методика ведення природознавчого заняття) презентація
    09.12.2014 Лекції з ЦЗ
    25.09.2023 МАТЕРІАЛИ ЛЕКЦІЙНОГО КУРСУ ОК Вступ до спеціальності публічне управління та адміністрування