Блок-схеми. Видове

Блок-схемите, в зависимост от алгоритмите, които описват, се разделят на линейни, разклонени и циклични.

1. Линейни блок-схеми – при тях липсва блок за анализ и при изпълнението на алгоритмите се преминава задължително през всички блокове. Реализира се чрез алгоритмичната структура - верига.

На понятието линеен алгоритъм съответства управляващата линейна структура наречена верига.

Веригата е вид алгоритмична структура, която включва в себе си строга последователност от действия (оператори), която е една и съща за какъв да е набор от входни данни.

На практика, много рядко се срещат изцяло линейни алгоритми. Веригата обикновено е само малка част от разклонен или цикличен алгоритмичен процес.

Линейна блок-схема
Фиг.1. Линейна блок-схема (управляваща структура).

2. Разклонени блок-схеми – винаги има поне един блок за анализ, който разклонява алгоритъма. В зависимост от стойността на логическия израз – условие се изпълняват различни блокове от блок-схемата. Разклонените блок-схеми се реализират с помощта на структурата за управление разклонение.

Разклонението е структура за управление, която разклонява алгоритмичния процес в две или повече посоки, в зависимост от някакво условие. Разклонението се нарича алтернатива, ако се разклонява в две посоки.

Алтернативата може да е с един изпълним клон или с два изпълними клона.

блок-схема с два изпълними клон
Фиг.2. Алтернатива с два изпълними клона

блок-схема с един изпълним клон
Фиг.3. Алтернатива с един изпълним клон

Структура за управление, която разклонява алгоритмичния процес в N+1 посоки, в зависимост от N условия се нарича многозначно разклонение.

Разклонените блок-схеми са съставени от структурите верига и разклонение (задължително).

Многозначно разклонение
Фиг.4. Многозначно разклонение

3. Циклични блок-схеми – налице са група от блокове, които са описани веднъж, но се изпълняват многократно за различни стойности на някои от участващите в тях величини.

Цикличните блок-схеми се реализират с помощта на структурата за управление цикъл.

Цикълът е структура за управление, при която част от действията се повтарят многократно за различни стойности на участващите променливи. От цикъла се излиза при изпълнение на определено условие, наречено условие за край.

Всеки цикъл трябва да съдържа частите инициализация (задаване на начални стойности), тяло, условие за край и актуализация (модификация), независимо от реда, в който са разположени.

Инициализация – задават се начални стойности на величини (променливи), участващи в цикъла. Най-често се среща случая, когато променливата е една, наречена управляваща променлива.

Тяло – група от блокове, които ще се изпълняват многократно.

Актуализация – променя се стойността на поне една величина от цикъла (най-често това е управляващата променлива).

Условие за край – този блок определя дали да се изпълни тялото на цикъла още веднъж или не.

  • Ако условието за край е разположено преди тялото на цикъла, това е цикъл с предусловие.
  • Ако условието за край е разположено след тялото на цикъла, това е цикъл със следусловие.

Разликата между цикъл с предусловие и цикъл със следусловие е че този със следусловие се изпълнява задължително поне веднъж, докато този с предусловие може и да не се изпълни.

Цикличните блок-схеми освен структурата цикъл (която е задължителна) могат да включват и структурите верига и разклонение.

Блок-схема на цикъл със следусловие
фиг.5. Блок-схема на цикъл със следусловие

Блок-схема на цикъл с предусловие
фиг.6. Блок-схема на цикъл с предусловие

Коментари: