Интерактивное графическое программное обеспечение PC-DMIS (Глава 22: Ветвление с использованием управления потоком), страница 3

While / End While (Пока)

Пункт меню While / EndWhile позволяет вам вставлять в программу детали обычный цикл. Пункты между командами WHILE и END WHILE будут продолжать выполняться в цикле до тех пор, пока условие (или выражение) не перестанет выполняться, т.е. пока выражение, являющееся условием продолжения выполнения цикла, не возвратит значение "ЛОЖЬ/FALSE" (т.е. "ноль"). Команду WHILE можно добавить в любом месте программы детали. Истинность выражения проверяется в начале каждого цикла.

Командная строка окна Edit для оператора WHILE / END WHILE: WHILE/expression END_WHILE/

Для вставки опции While / End While:

1.  Установите курсор в нужное положение в окне Edit.

2.  Выберте While / EndWhile из панели меню. Оператор While / End While появится в окне Edit.

Пример кода While / End While

Рассмотрите следующий пример, который измеряет элемент число раз, указанное пользователем программы.

C1=COMMENT/INPUT,How many times would you like to measure PNT1? Please type an integer only.

ASSIGN/COUNT = 0

WHILE/COUNT < C1.INPUT

PNT2=FEAT/POINT,RECT

ENDMEAS/

ASSIGN/COUNT = COUNT + 1

COMMENT/OPER,"Measured " + COUNT + " out of " + C1.INPUT + " times."

END_WHILE/

Пояснение к примеру кода

C1=COMMENT/INPUT Эта строка воспринимает и хранит целочисленное значение, введенное пользователем, в переменной C1.INPUT.

ASSIGN/COUNT = 0 Эта строка инициалилизирует COUNT, определяемую пользователем переменную, и задает ей начальное значение 0. Код использует эту переменную для подсчета числа измерений элемента в цикле.

WHILE/COUNT < C1.INPUT Эта строка является выражением. Она проверяет, чтобы значение COUNT (изначально установленое на 0) было меньше, чем целое число, выбранное пользователем. Если результат этой проверки возвращает значение "истина", то операторы, находящиеся между WHILE/ и END_WHILE/, выполняются.

ASSIGN/COUNT = COUNT + 1 Эта строка увеличивает значение переменной COUNT на один, так что в конце концов выполнение цикла будет прервано, когда проверка состояния возвратит значение "ложь".

COMMENT/OPER,"Measured " + COUNT + " out of " + C1.INPUT + " times." Эта строка отображает сообщение, указывающее число уже выполненных измерений от общего заданного числа повторений цикла.

END_WHILE Эта строка завершает выполнение команд внутри блока WHILE / END WHILE, как только условие возвратит значение "ложь". В противном случае, после выполнения этой команды произойдет возврат к оператору WHILE.

Do / Until (Выполнять / Пока)

Команда меню Do / Until позволяет вам добавлять в программу обычный цикл. Пункты между командами DO и UNTIL будут выполняться в цикле до тех пор, пока выражение команды UNTIL будет возвращать значение "TRUE/ИСТИНА" (не ноль). Команды DO/ UNTIL могут быть добавлены в любом месте программы детали. Выражение проверяется в конце каждого цикла.

Командная строка окна Edit для оператора DO / UNTIL: DO/ UNTIL/ expression

Для вставки команд DO / UNTIL:

1.  Расположите курсор в нужном месте окна Edit.

2.  Выберите Do / Until из панели меню. Операторы DO / UNTIL появятся в окне Edit.

Пример кода Do / Until

Рассмотрите следующий пример, который измеряет элемент число раз, указанное пользователем программы. Это схоже с примером, приведенном в разделе While / End While, за исключением того, что PC-DMIS проверяет условие в конце цикла, а не в его начале.

C1= COMMENT/INPUT,Type the number of times PC-DMIS should measure the PNT1 feature:(type an integer only)

ASSIGN/COUNT = 0

DO/

PNT1=FEAT/POINT,RECT

ENDMEAS/

ASSIGN/COUNT = COUNT + 1

COMMENT/OPER,"Measured " + COUNT + " out of " +  C1.INPUT + " times."

UNTIL/COUNT == C1.INPUT

Пояснение к примеру кода

C1=COMMENT/INPUT Эта строка воспринимает и хранит целочисленное значение, введенное пользователем, в переменной C1.INPUT.

ASSIGN/COUNT = 0 Эта строка инициалилизирует COUNT, определяемую пользователем переменную, и задает ей начальное значение 0. Код использует эту переменную для подсчета числа измерений элемента в цикле.