Операторы повтора с незаданным числом повторений
Оператор повтора repeat (оператор с постусловием)
Формат описания оператора Repeat <ОПЕРАТОР 1>; <ОПЕРАТОР 2>; . . . <ОПЕРАТОР N>; тело цикла until <логическое выражение>;
Работа оператора repeat • выполняется тело цикла • проверяется значение логического выражения • если значение логического выражения ложно то управление передается к началу оператора repeat и снова выполняется тело цикла • и так до тех пор пока логическое выражение не станет истинным тогда управление передается оператору следующему за repeat
Изображение оператора repeat в блок-схемах <тело цикла> <логическое выражение> ложь истина
Начало блока repeat <оператор 1> Тело цикла <оператор N> Until <логическое выражение> Конец блока
Особенности оператора Repeat • в теле цикла оператора необходимо предусмотреть изменения значений входящих в логическое выражение иначе цикл будет бесконечным • тело цикла выполняется хотя бы один раз независимо от значения логического выражения • нет ограничений на досрочный выход из цикла и недопустим вход в тело цикла минуя заголовок
Пример: найти сумму четных чисел от 1 до 100 Фрагмент программного кода Var n, i: integer; s: real; Begin n: =strtoint(edit 1. text); S: =0; Repeat if i mod 2=0 then s: =s+i; Label 2. caption: =‘сумма равна’+inttostr(S); Until i>=100; end;
Оператор повтора while (оператор с предусловием)
Формат описания оператора WHILE <ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ> DO <ОПЕРАТОР> ЗАГОЛОВОК ТЕЛО ЦИКЛА
Работа оператора While • вычисляется значение логического выражения (истина или ложь) • если значение логического выражения истинно то выполняется оператор за словом DO • далее управление передается к началу оператора while и снова проверяется логическое выражение если оно истинно то выполняется оператор • и так до тех пор пока логическое выражение не станет ложным тогда управление передается оператору следующему за while
Изображение оператора while в блок-схемах ложь <логическое выражение> истина <тело цикла>
Начало блока While <логическое выражение> <оператор 1> Тело цикла <оператор N> Конец блока
Особенности для оператора While • в теле цикла оператора while необходимо предусмотреть изменения значений входящих в логическое выражение иначе цикл будет бесконечным • тело цикла может ни разу не выполниться (если логическое выражение сразу ложно) • нет ограничений на досрочный выход из цикла и недопустим вход в тело цикла минуя заголовок
Пример: найти сумму четных чисел от 1 до 100 Фрагмент программного кода Var n, i: integer; s: real; Begin n: =strtoint(edit 1. text); S: =0; While i<100 do if i mod 2=0 then s: =s+i; Label 2. caption: =‘сумма равна’+inttostr(S); end;
GOTO ( «перейти к» ) — оператор безусловного перехода. Передает управление к определённой точке программы, обозначенной меткой.