Cтраница 4
В случае, когда в операторе используется метка ( в терминологии PL / Г - меточная константа ], то это эквивалентно безусловному оператору GO TO u фортране. [46]
Очевидно также, что и программирование условных операторов не содержит каких-либо новых элементов, так как программирование таких операторов сводится к программированию безусловных операторов и к программированию разветвлений. [47]
Смысл составного оператора состоит в том, что последовательность операторов, заключенная в операторные скобки, будет рассматриваться уже как единый, притом безусловный оператор, выполнение которого сводится к последовательному выполнению входящих в него операторов. [48]
Внешне блок похож на уже рассмотренный составной оператор, поскольку блок так же относится к числу производных операторов и так же объединяет некоторую последовательность операторов в единый безусловный оператор. Однако не это является основным назначением блока. Для того чтобы лучше понять роль блока, рассмотрим вначале некоторые трудности, которые возникают при программирован. [49]
Производный оператор АЛГОЛа, называемый блоком, в некотором отношении похож иа рассмотренный в § 2 составной оператор, так как блок тоже объединяет последовательность операторов в единый безусловный оператор. Однако это не является главным назначением блока - на самом деле этот оператор играет в языке гораздо более важную роль. [50]
В случае если исходные данные, введенные пользователем неверны, можно осуществить проверку исходных данных с помощью условного оператора и, если они неправильны, вернуться на начало программы посредством безусловного оператора. После возвращения на начало желательно, чтобы пользователь был проинформирован о том, в каком диапазоне должны находиться правильные введенные данные. Если пользователь ввел данные правильно, то ветвь условного оператора, содержащая оператор goto, не будет реализована, и программа продолжит свою работу до конца. [51]
В языке управления заданиями могут Также применяться специальные операторы, например, такие, как оператор ограничения, указывающий на окончание данных пункта задания, оператор команды, управляющий процессом обслуживания входного потока, и условные или безусловные операторы передачи управления. [52]
Эти два вида условных операторов показаны на рис. 6.4. Выполнение условного оператора осуществляется слева направо, причем последовательно вычисляются логические выражения операторов если; только после того, как будет найдено первое истинное логическое выражение, выполняется соответствующий этому оператору если безусловный оператор. При выполнении условного оператора необходимо позаботиться о том, чтобы отличать друг от друга if, используемые в операторе, и if, которые могут встретиться в выражении, входящем в оператор. [53]