9. Программирование пользовательского интерфейса

Цикл вместо ручного копирования

Чтобы смоделировать пятикратное бросание кубика, можно написать текст для одного броска, а затем в редакторе продублировать его четыре раза. Но если вдруг потребуется внести изменение в алгоритм обработки броска, то каждый раз надо будет стирать старые версии алгоритма и повторно копировать новые. Неудобно и очень громоздко. Нет ли лучшего способа?

Есть. В Си++ имеется специальный оператор (оператор цикла), который позволяет многократно (несколькими циклами) выполнять отдельный оператор или логический блок. Синтаксис его таков:

for( оператор_1; условное_выражение; оператор_2 ) повторяемый_оператор_или_логический-блок;

Выполняется этот оператор по следующему алгоритму:

1. Выполнить оператор_1.

2. Если значение условного (логического) выражения лежно (false), то закончить выполнение оператора цикла.

3. Выполнить повторяемый_оператор_или,_логический_блок.

4. Выполнить оператор_2.

5. Перейти к пункту 2.

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

h01581.jpg

Оператор..! выполняется только один раз. Он как бы предшествует выполнению цикла.

Условное выражение необходимо, чтобы определить, сколько раз цикл будет повторяться. В качестве такого выражения обычно используется проверка значения счетчика.

Оператор_2 выполняется в конце каждого цикла. Чаще всего он нужен для увеличения значения счетчика.

Как выполнить логический блок пять раз? Например, так:

int i; // описание переменной-счетчика for( i = 1; // счетчику исходно присваивается // начальное значение 1

158