Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Прерывание фрагмент а программы с циклом

Вступление

 

Условные операторы, также называемые операторами ветвления, позволяют направлять выполнение сценария в ту или иную сторону, в зависимости от результата логической проверки. С их помощью на этапе выполнения кода можно принимать решения и действовать в соответствии с последними. Операторы цикла также являются мощным инструментом программирования, потому что позволяют выполнять итерационные операции над наборами данных. Это именно то, в чем компьютеры превосходят людей - быстрые повторяющиеся вычисления. Оператор цикла продолжает выполнять команды, входящие в его тело, пока не будет выполнено заданное условие.

 


Циклы

 

В большинстве задач, встречающихся на практике, необходимо производить многократное выполнение некоторого действия. Такой многократно повторяющийся участок вычислительного процесса называется циклом. Если заранее известно количество необходимых повторений, то цикл называется арифметическим. Если же количество повторений заранее неизвестно, то говорят об итерационном цикле. В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл «пока»), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл «до»). Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, а тело цикла с предусловием может ни разу не выполниться. В зависимости от решаемой задачи необходимо использовать тот или иной вид итерационных циклов.

Арифметические циклы

Синтаксис:

переменная:= значение 1 to значение 2 do оператор

илипеременная:= значение 1 downto значение 2 do оператор

 

Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.

Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла. Как и в случае использования оператора условного прехода, следует помнить, что синтаксис языка допускает запись только одного оператора после ключевого слова do, поэтому, если вы хотите в цикле выполнить группу операторов, обязательно надо объединить их в составной оператор (окаймить операторными скобками begin… end). В противном случае будет сделана логическая ошибка программы.

 

Пример 1. Квадраты чисел от 2-х до 10-и.

for x:=2 to 10 do WriteLn (x*x);

Пример 2. Латинский алфавит.ch:='A' to 'Z' do Writeln(ch);

Пример 3. Использование цикла с downto.

for i:=10 downto 1 do WriteLn(i);

Пример 4. Использование составного оператора.x:=1 to 10 do begin

y:=2*x+3;('f(', x, ')=', y);

end;

 

Итерационные циклы с предусловием

Синтаксис:выражение do оператор

Оператор после do будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за while. Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.

Здесь также следует помнить, что позволяется использовать только один оператор после ключевого слова do. Если необходимо выполнить группу операторов, то стоит использовать составной оператор.

 

Пример.:=0.001;x > eps do x:=x/2;

Итерационные циклы с постусловием

Синтаксис:

оператор;

оператор;

операторвыражение

 

Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла. Так как выражение оценивается после выполнения операторов, то в любом случае операторы выполнятся хотя бы один раз.

 

Пример.('Введите положительное число');(x);x>0;

 

Операторы завершения цикла

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

В версии Турбо Паскаль 7.0 определены стандартные процедуры:

Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.

 

Прерывание фрагмент а программы с циклом

 

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

// Использование оператора break для выхода из цикла.

 

class BreakLoop {

public static void main (String args[]) {

for (int i=0; i<100; i++) {(i == 10) break; // выход из цикла если i равно 10.out.println («i:» + i);

}

System.out.println («Цикл завершен.»);

}

}

Эта программа генерирует следующий вывод:

i: 0

i: 1

i: 2

i: 3

i: 4

i: 5

i: 6

i: 7

i: 8

i: 9

Цикл завершен.

 

Хотя цикл for должен был бы выполняться для значений управляющей переменной от 0 до 99, оператор break приводит к более раннему выходу из него, когда значение переменной i становится равным 10.

Оператор break прекращает исполнение ближайшего внешнего оператора while, for или switch. Исполнением оператора break является передача управления за пределы составного оператора while, for или switch, ближайшему следующему оператору. Оператор break может использоваться только для прерывания выполнения указанных операторов.

Похожие команды- Заставляет перейти к следующей итерации цикла.- Осуществляет выход из функции или процедуры.- Начинает цикл, который выполняется конечное число раз.- Вызывает скачок к метке, независимо от вложения.- Повторяет инструкции, пока не выполнится условие завершения.- Заканчивает программу с диалогом ошибки.- Повторяет инструкции, пока выполнится условие продолжения.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...