Процесс написания программы в среде Turbo Pascal начинается с составления алгоритма и представления его в формализованной записи в виде блок-схем.
Блок-схемы представляют собой совокупность действий или операций, изображенное ввиде геометрических фигур. Переход от одного действия к другому обозначается
направленной линией.
При составлении блок-схемы необходимо добавлять элементы сверху вниз последовательно друг за другом. При возникновении условий соблюдать древовидную
иерархию. Блок-схема обязательно должна начинаться с элемента "Начало" и заканчиваться элементом "Конец", причем каждый из них должен быть употреблен только
по одному разу.
![](/doc/image/blok-shema1.jpg) |
Терминатор
Обозначает начало или конец программы. Выделяет границы взаимодействия с внешней средой. Используется
обычно с надписями "Начало","Конец" либо "Пуск","Остановка" строго по одному разу. |
![](/doc/image/blok-shema2.jpg) |
Процесс
Выполнение некоторой операции (арифметической, логической либо инойдругой), в результате
которой каким-либо образом изменяются данные. Возможно объединение нескольких операций в один блок. |
![](/doc/image/blok-shema3.jpg) |
Решение
Выбор одного из двух возможных решений алгоритма. Внутри элемента расположено условие. Из углов
ромба выходят возможные пути, обозначающиеся как "да","нет" либо "истина","ложь". В целях удобства чтения
блок-схемы направление, отвечающее условию ("да"/"истина")выходит из нижнего угла ромба, противоположное из
бокового. Возможно использования элемента для обозначения цикла epeat..until и while..do. |
![](/doc/image/blok-shema4.jpg) |
Модификация
Выполнение циклических команд for. Операции и действия цикла располагаются ниже элемента. При каждом
шаге цикла программа возвращается к заголовку по левой стрелке. Выход из цикла производится по правой боковой
стрелке. |
![](/doc/image/blok-shema5.jpg) |
Предопределенный процесс
Обозначение процедуры, функции, модуля (части программы вне текущего последовательного кода). |
![](/doc/image/blok-shema6.jpg) |
Данные
Осуществление обмена данными (ввод-вывод). Обобщенное представление обмена информацией без определенного типа носителя. |
![](/doc/image/blok-shema7.jpg) |
Документ
Вывод данных на бумажный носитель (печать на принтере). |
![](/doc/image/blok-shema8.jpg) |
Ручной ввод
Неавтономный ввод данных с помощью клавиатруы. |
![](/doc/image/blok-shema9.jpg) |
Перфокарта
Ввод-вывод данных с перфокарты. |
![](/doc/image/blok-shema10.jpg) |
Перфолента
Ввод-вывод данных с перфоленты. |
![](/doc/image/blok-shema11.jpg) |
Запоминающее устройство с последовательным доступом
Обмен данными с магнитной лентой. |
![](/doc/image/blok-shema12.jpg) |
Запоминающее устройство с прямым доступом
Обмен данными с магнитным барабаном. |
![](/doc/image/blok-shema13.jpg) |
Магнитный диск
Ввод-вывод данных, носителем которых является магнитный диск. |
![](/doc/image/blok-shema14.jpg) |
Оперативная память
Обмен данными с оперативно-запоминающим устройством (ОЗУ). |
![](/doc/image/blok-shema15.jpg) |
Ручное управление
Отображение процесса, выполняемого человеком. |
![](/doc/image/blok-shema16.jpg) |
Сохраненные данные
Обмен данными при использовании запоминающего устройства, управляемого
непосредственно процессором. |
![](/doc/image/blok-shema17.jpg) |
Дисплей
Отображение данных на мониторе, визуальных индикаторах. |
![](/doc/image/blok-shema18.jpg) |
Извлечение
Выделение одного или несколько множеств из другого множества. |
![](/doc/image/blok-shema19.jpg) |
Слияние
Объединение одного или несколько множеств в общее множество. |
![](/doc/image/blok-shema20.jpg) |
Группировка
Объединение множеств с выделением некоторых других. |
![](/doc/image/blok-shema21.jpg) |
Сортировка
Упорядочивание множеств по заданному признаку. |
![](/doc/image/blok-shema22.jpg) |
Соединитель
Используется для обрыва линия связи в одном месте и продолжения в другом. Внутри элемента
блок-схемы вводится уникальный идентификатор. |
![](/doc/image/blok-shema23.jpg) |
Межстраничный соединитель
Аналогичен предыдущему элементу блок-схемы, переносит линии связи с конца одной страницы в начало
другой. |
![](/doc/image/blok-shema24.jpg) |
Комментарии
Пометка неактивной части программы. |
![](/doc/image/blok-shema25.jpg) |
Линия потока
Отображает пото данных, с возможным указанием направления их передачи. Объединяет между собой
элементы блок-схемы. |
![](/doc/image/blok-shema26.jpg) |
Пунктирная линия
Альтернативная связь между объектами. Используется также для обведения комментариев. |
![](/doc/image/blok-shema27.jpg) |
Параллельные действия
Синхронизация нескольких операций в программе единовременно. |
![](/doc/image/blok-shema28.jpg) |
Канал связи
Передача по каналам связи. |
![](/doc/image/blok-shema29.jpg) |
Пропуск
Пропуск элементов блок-схемы. Используется когда можно оставить часть программы без внимания. |
Как правило, при составлении блок-схем используются только часть этих элементов, пренебрегая
такими элементами как "ручной ввод", "дисплей" и им подобные, используя наиболее общее обозначение "данные".