Синтаксис этого оператора:
While <выражение логического типа> do <оператор1>;
Порядок выполнения этого оператора:
Примечания:
1. Понятно, что возможен случай, когда оператор1 не выполнится ни разу.
2. Понятно также, что возможен случай, когда этот цикл не прекращает работы. Такой случай называют зацикливанием.
3. Если нужно, чтобы повторно выполнялась группа операторов, применяйте
СОСТАВНОЙ оператор.
repeat <операторы> until <выражение логического типа>;
Порядок выполнения этого оператора:
1-й вариант: возрастание переменной цикла.
for <переменная цикла> := <начальное значение> to
<конечное значение> do <оператор1>;
2-й вариант: убывание переменной цикла.
for <переменная цикла> := <начальное значение> downto
<конечное значение> do <оператор1>;
------- где: ----
<переменная цикла> - переменная одного из ПОРЯДКОВЫХ типов.
<начальное значение>, <конечное значение> - выражения
того же типа, что и переменная цикла.
Порядок выполнения этого оператора (1-й вариант):
Пример: напечатаем русский алфавит строками по 10 букв. Текст программы:
var cc: char;
begin
for cc:= 'а' to 'я' do
begin
write(cc:2); {ширина поля=2, чтобы был отступ}
if (byte(cc) - 159) mod 10 = 0 { код буквы "а" = 160 }
{ mod - остаток от деления }
then writeln; { через каждые 10 букв - новая строка}
end;
writeln('Для выхода - нажмите Enter.');
readln;
end.
Результат работы программы:
Видим, что между "п" и "р" расположены символы псевдографики - для рисования таблиц в текстовом режиме.
Внутри составного оператора, выполняемого в цикле, можно использовать процедуры break и continue - для "досрочного" прекращения повторного выполнения цикла. Обычно эти процедуры вызываются при выполнении некоторого условия, то есть совместно с оператором if. При этом выполнение процедуры break передает управление на оператор, расположенный сразу ПОСЛЕ оператора, выполняемого циклически. А выполнение процедуры continue приводит к тому, что управление передается на первый из операторов составного оператора.
Разработка циклических алгоритмов очень подробно рассмотрена в книге [ 3 ]
x2 x4 x6 x2*n
cos(x) = 1 - --- + --- - --- + ... + -------- + ...
2! 4! 6! (2*n)!
Приближение считается полученным, если очередное слагаемое по модулю < eps.
Решение можно увидеть здесь.
Решение можно увидеть здесь.
Задания по этой тематике: задачник-справочник, кнопка "Задания", Задание 3. Операторы цикла и одномерные массивы.