Калькулятор "Школьная доска 3"

Ключевые слова сontinue и break




Ключевое слово continue может находиться только внутри цикла. Общепринятым является следующий алгоритм его действия: все идущие за ним формулы пропускаются до конца тела цикла , и следующий шаг цикла начинается с проверки условия цикла: while или until.

Обычно  ключевое слово continue используется внутри блока ветвления, так как описанные выше действия, совершаемые без всякого условия, имеют мало смысла. В калькуляторе "Школьная доска"  это ключевое слово обладает собственным условием: continue(условие), при выполнении которого действует описанный выше общепринятый алгоритм, а при невыполнении ключевое слово просто игнорируется. 

Пример. Следующие формулы выводят в MS Excel или Блокнот все целые числа от 1 до 10 за исключением 5 и 7.

n = 0
while(n<=10)
    n = n+1
    continue(n = 5 Or n = 7)
    export(n)
wend

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

Например, к этому приводит всего лишь перестановка двух строк в предыдущем примере:

n = 0
while(n<=10)
    continue(n = 5 Or n = 7)
    n = n+1
    export(n)
wend

Ключевое слово break приводит к немедленному выходу из цикла. По тем же соображениям, что изложены выше, в калькуляторе "Школьная доска" это ключевое слово используется с условием: break(условие). Выход из цикла происходит только, если условие истинно.

Пример. Некто за единицу времени t делает с равной вероятностью шаг вперед или шаг назад. Сколько понадобится времени, чтобы он ушел вперед или назад на расстояние S в 10 шагов?

t = 0
S = 0
while(1)
    t = t+1
    S = S+2*random(1)-1
    break(|S| = 10)
wend
= t

Здесь использован бесконечный цикл while, условие которого всегда выполнено. Выход из цикла осуществляется по ключевому слову break , когда расстояние станет равным 10. Не стоит бояться, что это расстояние никогда не будет достигнуто — по теории вероятности в среднем понадобиться всего 100 единиц времени.

Совет. Многие программисты считают, что ключевые слова break и continue нарушают структуру программного кода и предпочитают обходиться без них. Так что, если есть возможность, лучше так и сделать.