терминатор начала и конца работы функции
терминатором начинается и заканчивается любая функция. тип возвращаемого значения и аргументов функции обычно указывается в комментариях к блоку терминатора.
операции ввода и вывода данных
в гост определено множество символов ввода/вывода, например вывод на магнитные ленты, дисплеи и т.п. если источник данных не принципиален, обычно используется символ параллелограмма. подробности ввода/вывода могут быть указаны в комментариях.
выполнение операций над данными
в блоке операций обычно размещают одно или несколько (гост не запрещает) операций присваивания, не требующих вызова внешних функций.
блок, иллюстрирующий ветвление алгоритма
блок в виде ромба имеет один вход и несколько подписанных выходов. в случае, если блок имеет 2 выхода (соответствует оператору ветвления), на них подписывается результат сравнения — «да/нет». если из блока выходит большее число линий (оператор выбора), внутри него записывается имя переменной, а на выходящих дугах — значения этой переменной.
вызов внешней процедуры
вызов внешних процедур и функций помещается в прямоугольник с дополнительными вертикальными линиями.
начало и конец цикла
символы начала и конца цикла содержат имя и условие. условие может отсутствовать в одном из символов пары. расположение условия, определяет тип оператора, соответствующего символам на языке высокого уровня — оператор с предусловием (while) или постусловием (do … while).
подготовка данных
символ «подготовка данных» в произвольной форме (в гост нет ни пояснений, ни примеров), задает входные значения. используется обычно для циклов со счетчиком.
соединитель
в случае, если блок-схема не умещается на лист, используется символ соединителя, отражающий переход потока между листами. символ может использоваться и на одном листе, если по каким-либо причинам тянуть линию не удобно.
комментарий
комментарий может быть соединен как с одним блоком, так и группой. группа блоков выделяется на схеме пунктирной линией.
Поделитесь своими знаниями, ответьте на вопрос:
21. некто оставил на экране в текстовом редакторе текст: . ученик догадался, что это ему шифровка, и составил дешифрующий алгоритм (для работы в режиме замена): { поместить курсор в начало сообщения; делать пока (курсор не вышел за пределы сообщения) { если (курсор находится на букве «ф») то { нажать клавишу «а»; нажать клавишу «стрелка вправо»; } если (курсор находится на букве «з») то { нажать клавишу «р»; нажать клавишу «стрелка вправо»; } если (курсор находится на букве «ь») то { нажать клавишу «м»; нажать клавишу «стрелка вправо»; } } нажать клавишу «стрелка вправо»; } какое слово было зашифровано? в ответе введите слово заглавными буквами. 22. «машина поста». среда, в которой работает машина поста, представляет собой бесконечную (в обе стороны) ленту, разбитую на одинаковые секции. в каждой секции либо стоит метка (у нас роль метки будет исполнять символ «*»), либо она пуста; на ленте в каждый момент располагается лишь конечное число меток. во время работы машина движется вдоль ленты, смещаясь точно на одну секцию вправо или влево. на рисунке машину поста отмечают символом «↑». для машиной поста используется 7 команд: ==> – сместиться на одну секцию вправо; ⇐ – сместиться на одну секцию влево; ^ – поставить метку; # - стереть метку в обозреваемой секции; ! – остановиться; ? i – если в обозреваемой секции стоит метка, то перейти к выполнению команды с номером i; ? ? i – если в обозреваемой секции не стоит метка, то перейти к выполнению команды с номером i. работа машины определяется программой, записанной в обычном процедурном стиле программирования. команды в программе пронумерованы. после выполнения команды с номером k машина: – переходит к выполнению программы с номером k+1, если это одна из команд («==> », «⇐», «^», «#») или команда «? i», но в обозреваемой секции нет метки, или команда «? ? i», но в обозреваемой секции стоит метка; – прекращает работу, если это команда «! »; – переходит к выполнению команды с номером i, если это команда «? i» и «^» обозреваемой секции нет метки. перед началом работы машина всегда находится напротив одной секции. выполнение команды начинается с команды под номером 1. если машине поста предписано стереть метку из пустой клетки или поставить метку в уже заполненную клетку, то она выдает сообщение «не могу сделать» и прекращает дальнейшую работу (аварийная остановка выполните следующую программу для машины поста для тех заполнений информационной ленты, которые изображены на рисунке. в ответе введите номера клеток, в которых стоят «*» (без пробелов и запятых). нумерация клеток начинается с 1.
ПРОГРАММА