Интерпретация блок-схем

“ВЕТВЛЕНИЕ ПО УСЛОВИЮ” В этом блоке проверяется заданное условие на истинность. И в зависимости от результата осуществляется ветвление.

“ВВОД / ВЫВОД” При помощи этих блоков организуется интерфейс пользователя с исполняемой схемой, то есть вводится и выводится информация.

“МЕТКА” Помечает позицию блока, на который происходит переход во время выполнения связки “БП”. В этом блоке указывается соответствующая метка. Данный блок является частью связки - “БП”.

“БЕЗУСЛОВНЫЙ ПЕРЕХОД НА МЕТКУ” В этом блоке указывается метка, на которую будет происходить переход. Этот блок является частью связки - “БП”.

Использование этих двух блоков не обязательно. Эти блоки введены с целью повышения наглядности блок-схем, так как в результате ввода этих блоков, отпадает необходимость указывать сложные соединения блоков (исчезает загромождённость схемы стрелками).

“МУЛЬТИВЕТВЛЕНИЕ” В этом блоке находится переменная, по которой будет происходить мультиветвление. Блок “мультиветвление” является частью связки с аналогичным названием (описание связок смотрите далее).

“ВЕТВЬ” Блок “ветвь” является частью связки “мультиветвление”. В блоке “ветвь” задается константа, с которой выполняется сравнение значения, полученного в блоке “мультиветвление.”

3.3. Связки

Связка - это такая последовательность блоков в блок- схеме, которой необходимо придерживаться при создании блок-схемы алгоритма.

Язык блок-схем располагает всего двумя связками:

“БП” - безусловный переход;

“Мультиветвление” – мультиветвление.

“БП” - представляет собой связку из двух блоков: “БЕЗУСЛОВНЫЙ ПЕРЕХОД НА МЕТКУ” и “МЕТКА”. Входящие в связку блоки должны содержать одну и ту же метку.

“МУЛЬТИВЕТВЛЕНИЕ” представляет собой связку из последовательности блоков, которая начинается с блока “мультиветвление”. Далее идет последовательность блоков “ветвь”. Заканчивается данная связка тогда, когда встречается блок отличный от блока “ветвь”.

3.4. Язык наполнения блок – схем

В данном параграфе мы рассмотрим, как следует заполнять текстом блоки в предложенной версии языка блок-схем. В основу этого языка положены два языка:

С (его упрощенный вариант);

Pascal (его упрощенный вариант).

“НАЧАЛО” С этим блоком связывается описание переменных. Переменные описываются следующим образом:

тип переменная 1, переменная 2, ... , переменная N;

тип переменная N+1, ...;

Множество типов в языке блок схем ограничено:

int - целое ;

long_int - длинное целое ;

float - вещественное ;

char - символьное .

Имя переменной - стандартный идентификатор имени в языке C, Pascal. Длина имени не ограничена.

“КОНЕЦ” Содержимое этого блока не просматривается.

“АВТОМАТИЧЕСКИЕ ДЕЙСТВИЯ” Здесь задаются выражения, строящиеся из переменных, констант, математических знаков, математических и стандартных функций:

+ сложение,

- вычитание,

* умножение,

/ деление,

= присвоение,

sin синус,

cos косинус,

tg тангенс,

ctg котангенс,

arcsin арксинус,

arccos арккосинус,

arсtg арктангенс,

arcctg арккотангенс,

ln натуральный логарифм,

lg десятичный логарифм,

abs абсолютное значение числа (модуль),

exp функция экспоненты,

mod взятие целой части при делении,

div взятие дробной части при делении,

^ возведение в степень,

sqrt нахождение квадратного корня,

sh гиперболический синус,

ch гиперболический косинус,

th гиперболический тангенс,

а также, стандартные функции, предоставляемые системой "Блок-схема":

randomize() инициализация датчика случайных чисел,

random() получение случайного числа,

clock() получение времени,

getch() получение кода нажатой клавиши,

kbhit() получение значения была ли нажата клавиша,

strlen() получение длины строки,

и т.д.

Список функций будет пополняться (полный список смотрите в приложении). Приоритет операций соответствует приоритетам языков Pascal и С (приоритеты операций смотрите в приложении). Предусмотрена возможность изменять приоритеты с помощью круглых скобок. Каждое выражение должно заканчиваться символом “;”

Например:

“ВЕТВЛЕНИЕ ПО УСЛОВИЮ” Текст этого блока должен представлять собой логическое условие, после которого ставится “(”. Условие может содержать логические связки И -