Блок-схема: приклади, елементи, побудова. Блок-схеми алгоритмів

Блок-схема: приклади, елементи, побудова. Блок-схеми алгоритмів

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

Що таке алгоритм?

Це слово ввів у вжиток математик Мухаммед аль-Хорезмі, який жив у період 763-850 року. Саме він є людиною, яка створила правила виконання арифметичних дій (а їх всього чотири). А ось ГОСТ від 1974 року, який говорить, що:

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

Алгоритм дозволяє чітко вказати виконавцю виконувати сувору послідовність дій, щоб вирішити поставлене завдання і отримати результат. Розробка алгоритму - це розбивання одного великого завдання на якусь послідовність кроків. Причому розробник алгоритму зобов 'язаний знати всі особливості і правила його складання.

Особливості алгоритму

Всього можна виділити вісім особливостей алгоритму (незалежно від його виду):

  1. Існує функція введення початкових даних.
  2. Є висновок якогось результату після завершення алгоритму. Потрібно пам 'ятати, що алгоритм потрібен для того, щоб досягти певної мети, а саме - отримати результат, який має пряме відношення до вихідних даних.
  3. Алгоритм має мати структуру дискретного типу. Він повинен представлятися послідовними кроками. Причому кожен наступний крок може початися тільки після завершення попереднього.
  4. Алгоритм повинен бути однозначним. Кожен крок чітко визначається і не допускає довільного трактування.
  5. Алгоритм повинен бути кінцевим - необхідно, щоб він виконувався за строго певну кількість кроків.
  6. Алгоритм повинен бути коректним - задавати виключно вірне рішення поставленого завдання.
  7. Спільність (або масовість) - він повинен працювати з різними вихідними даними.
  8. Час, який дається на вирішення алгоритму, має бути мінімальним. Це визначає ефективність вирішення поставленого завдання.

А тепер, знаючи, які існують блок-схеми алгоритмів, можна приступити до розгляду способів їх запису. А їх не дуже багато.

Словесний запис

Така форма, як правило, застосовується при описі порядку дій для людини: "Піди туди, не знаю куди. Принеси те, не знаю що ".

Звичайно, це жартівлива форма, але суть зрозуміла. Як приклад можна навести ще, наприклад, звичний запис на склах автобусів:"При аварії висмикнути шнур, видавити скло".

Тут чітко ставиться умова, за якої потрібно виконати дві дії в суворій послідовності. Але це найпростіші алгоритми, існують і більш складні. Іноді використовуються формули, спецобозначення, але за обов 'язкової умови - виконавець повинен все розуміти.

Допускається змінювати порядок дій, якщо необхідно повернутися, наприклад, до попередньої операції або обійти якусь команду за певної умови. При цьому команди бажано нумерувати і обов 'язково вказується команда, до якої відбувається перехід: "Закінчивши всі маніпуляції, повторюєте пункти з 3 по 5".

Запис у графічній формі

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

Запис мовами програмування

У тому випадку, якщо алгоритм необхідний для того, щоб завдання вирішувала програма, встановлена на ПК, то потрібно його записувати спеціальним кодом. Для цього існує безліч мов програмування. І алгоритм у цьому випадку називається програмою.

Блок-схеми

Блок-схема - це подання алгоритму в графічній формі. Всі команди та дії представлені геометричними фігурами (блоками). Всередині кожної фігури вписується вся інформація про ті дії, які потрібно виконати. Зв 'язки зображені у вигляді звичайних ліній зі стрілками (при необхідності).

Для оформлення блок-схем алгоритмів є ГОСТ 19.701-90. Він описує порядок і правила створення їх у графічній формі, а також основні методи вирішення. У цій статті наведено основні елементи блок-схем, які використовуються при вирішенні завдань, наприклад, з інформатики. А тепер розгляньмо правила побудови.

Основні правила складання блок-схеми

Можна виділити такі особливості, які повинні бути у будь-якої блок-схеми:

  1. Обов 'язково має бути два блоки - "Початок" і "Кінець". Причому в одиничному екземплярі.
  2. Від початкового блоку до кінцевого повинні бути проведені лінії зв 'язку.
  3. З усіх блоків, крім кінцевого, повинні виходити лінії потоку.
  4. Обов 'язково повинна бути присутня нумерація всіх блоків: зверху вниз, зліва направо. Порядковий номер потрібно проставляти в лівому верхньому куті, роблячи розрив накреслення.
  5. Всі блоки повинні бути пов 'язані один з одним лініями. Саме вони повинні визначати послідовність, з якою виконуються дії. Якщо потік рухається внизу вгору або справа наліво (іншими словами, в зворотному порядку), то обов 'язково малюються стрілки.
  6. Лінії діляться на вихідні і вхідні. При цьому потрібно зазначити, що одна лінія є для одного блоку вихідною, а для іншого вхідною.
  7. Від початкового блоку в схемі лінія потоку тільки виходить, оскільки він є найпершим.
  8. А ось кінцевий блок має тільки вхід. Це показано на прикладах блок-схем, які є в статті.
  9. Щоб простіше читати блок-схеми, вхідні лінії зображуються зверху, а вихідні знизу.
  10. Допускається наявність розривів у лініях потоку. Обов 'язково вони позначаються спеціальними сполучниками.
  11. Для полегшення блок-схеми дозволяється всю інформацію прописувати в коментарях.

Графічні елементи блок-схем для вирішення алгоритмів представлені в таблиці:

Лінійний тип алгоритмів

Це найпростіший вид, який складається з певної послідовності дій, вони не залежать від того, які дані вписані спочатку. Є кілька команд, які виконуються одноразово і тільки після того, як буде зроблена попередня. Лінійна блок-схема виглядає таким чином:

Причому зв 'язки можуть йти як зверху вниз, так і зліва направо. Використовується така блок-схема для запису алгоритмів обчислень за простими формулами, у яких немає обмежень на значення змінних, що входять у формули для розрахунку. Лінійний алгоритм - це складова частина складних процесів обчислення.

Алгоритми розгалуження

Блок-схеми, побудовані за такими алгоритмами, є більш складними, ніж лінійні. Але суть не змінюється. Алгоритм, що розгалужується, - це процес, в якому подальша дія залежить від того, як виконується умова і яке виходить рішення. Кожен напрямок дії - це гілка.

На схемах зображуються блоки, які називаються "Рішення". У нього є два виходи, а всередині прописується логічна умова. Саме від того, як воно буде виконано, залежить подальший рух за схемою алгоритму. Можна розділити алгоритми, що розгалужуються, на три групи:

  1. "Обхід" - при цьому одна з гілок не має операторів. Іншими словами, відбувається обхід декількох дій іншої гілки.
  2. "Розгалуження" - кожна гілка має певний набір виконуваних дій.
  3. "Множинний вибір" - це розгалуження, в якому є кілька гілок і кожна містить в собі певний набір виконуваних дій. Причому є одна особливість - вибір напрямку безпосередньо залежить від того, які задані значення виразів, що входять в алгоритм.

Це прості алгоритми, які вирішуються дуже просто. Тепер давайте перейдемо до більш складних.

Циклічний алгоритм

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

  1. У яких відоме число повторень дій (їх ще називають циклами з лічильником).
  2. У яких число повторень невідоме - з постумовою і передумовою.

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

Цикли з лічильниками

На малюнку зображена проста блок-схема, в якій є цикл з лічильником. Такий тип алгоритмів показує, що заздалегідь відома кількість повторень даного циклу. І це число фіксовано. При цьому змінна, яка рахує кількість кроків (повторень), так і називається - лічильник. Іноді в підручниках можна зустріти інші визначення - параметр циклу, керуюча змінна.

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

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

Зазвичай у позначеннях блок-схем використовується блок, який називається "Підготовка". У ньому прописується лічильник, а потім зазначаються такі дані: початкове і кінцеве значення, крок зміни. На блок-схемі це параметри I н, Ik і h, відповідно. У тому випадку, коли h = 1, величину кроку не записують. В інших випадках робити це обов 'язково. Необхідно дотримуватися простого правила - лінія потоку повинна входити зверху. А лінія потоку, яка виходить знизу (або праворуч, залежно від конкретного алгоритму), повинна показувати перехід до подальшого оператора.

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

  1. У тілі не дозволяється змінювати (примусово) значення лічильника.
  2. Заборонено передавати управління ззовні оператору тіла. Іншими словами, увійти в цикл можна тільки з його початку.

Цикли з передумовою

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

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

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

Нижче наведена блок-схема, яка описує всі ці дії:

Що таке цикл з постумовою?

Якщо уважно придивитися, то цей вид циклів чимось схожий на попередній. Самостійно побудувати блок-схему, що описує цей цикл, ми зараз і спробуємо. Особливість полягає в тому, що невідома заздалегідь кількість повторень. А умова задається вже після того, як стався вихід з тіла. Звідси видно, що тіло, незалежно від рішення, буде виконуватися як мінімум один раз. Для наочності погляньте на блок-схему, що описує виконання умови та операторів:

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

Складні цикли

Складні - це такі конструкції, всередині яких є один або більше простих циклів. Іноді їх називають вкладеними. При цьому ті конструкції, які охоплюють інші цикли, називають "зовнішніми". А ті, які входять в конструкцію зовнішніх - внутрішніми. При виконанні кожного кроку зовнішнього циклу відбувається повна прокрутка внутрішнього, як представлено на малюнку:

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

Або приклад з біології для вирішення поставленого завдання:

Вирішення завдань з блок-схемами

А тепер розглянемо приклади завдань з блок-схемами, які можуть попастися в підручниках інформатики. Наприклад, задана блок-схема, за якою вирішується якийсь алгоритм:

При цьому користувач самостійно вводить значення змінних. Припустимо, х = 16, а у = 2. Процес виконання такий:

  1. Проводиться введення значень х і у.
  2. Виконується операція перетворення: х = ^ 16 = 4.
  3. Виконується умова: = у2 = 4.
  4. Проводиться обчислення: х = (х + 1) = (4 + 1) = 5.
  5. Далі обчислюється наступна змінна: = (+ х) = (5 + 4) = 9.
  6. Виводиться рішення: у = 9.

На цьому прикладі блок-схеми з інформатики добре видно, як відбувається рішення алгоритму. Потрібно звернути увагу на те, що значення х і у задаються на початковому етапі і вони можуть бути будь-якими.