Оператор цикла FOR TO
Синтаксис оператора:
FOR Iсчет := Iнач TO Iкон DO Опер ;
FOR – ключевое слово оператора, за которым обязательно следует разделитель-пробел (пробелы),
Iсчет – целочисленная переменная – счетчик цикла,
:= два символа – разделителя (избыточный синтаксис языка Pascal),
Iнач - целочисленная константа или переменная, содержащая начальное (наименьшее) значение счетчика цикла,
TO - служебное слово-разделитель (избыточный синтаксис языка Pascal),
Iкон - целочисленная константа или переменная, содержащая конечное (наибольше) значение счетчика цикла,
DO - служебное слово-разделитель (избыточный синтаксис языка Pascal),
Опер – оператор, выполнение которого повторяется несколько раз, т.е. собственно само «тело цикла».
Пример:
Var ii, k: integer;
. . . . . . . . . . . .
for ii:=k to 7 do a:=Sqrt(a+1);
Звуковая транскрипция операторов управления обычно дается несколькими предложениями-командами: Повторяй выполнение оператора, указанного после слова DO, последовательно наращивая на единицу содержимое переменной ii! Начальное значение возьми из переменной k!. Как только значение счетчика цикла превысит число семь - выполнение оператора прекрати!
Текст программы, реализующей задачу из предыдущего раздела,
но использующей новый оператор цикла.
Program Pr2; {программу сохранить в файле PR2.PAS !}
Var ii, N: integer; x, a: real;
Write(‘Введите положительное число а=’); Readln(a);
Write(‘Введите количество итераций N=’); Readln(N);
if a<0 then begin Writeln(‘Требуется A>0’); Exit end;
x:=1;
for ii:=1 to N do
begin
x:=0.5*(x+a/x);
WRITELN(ii,’ ‘,x);
end;
Writeln(‘корень x=’,x,’ квадрат корня =’,x*x);
end.
Настоятельно рекомендуется: записывать сложносоставные операторы управления – СТРУКТУРИРОВАНО, как это сделано в примере. Визуальное восприятие таких операторов существенно облегчается, если служебные слова FOR BEGIN и END (или IF BEGIN END) размещать:
- либо в разных строках, но начиная с одной и той же позиции,
- либо все три слова в одной строке, что возможно только для коротких предложений.
Дата добавления: 2021-12-14; просмотров: 258;