Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФ_ЛЕКЦИИ_(1 С)_2011.doc
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
898.56 Кб
Скачать

X, s, eps, a : real;

begin

write ('введите х и epsilon - ');

readln (x, eps);

s:=0;

a:=1; { задание параметру цикла его начального значения }

while abs(a) > eps do { проверка условия выхода из цикла }

begin

s := s + a; a := a * x;

end;

writeln ('сумма прогрессии = ', s:10:3)

end.

Второй вариант

var

X, s, eps, a : real;

begin

write ('введите х и epsilon - ');

readln (x, eps);

s := 0;

a := 1; { задание параметру цикла его начального значения }

repeat

s := s + a; a := a * x;

until abs(a) < eps; { проверка условия выхода из цикла }

writeln ('сумма прогрессии = ', s:10:3)

end.

4.5.4. Оператор цикла с параметром

Структура оператора

for переменная := начало to конец do оператор;

или

for переменная := начало downto конец do оператор;

где

- оператор - простой или составной оператор (тело цикла);

- переменная – параметр цикла;

- начало и конец – соответствен­но начальное и конечное значения параметра.

for ([фо] – для), to ([ту] – к), downto ([даунту] – уменьшать) – ключевые слова.

На параметр цикла в операторе for накладываются следующие ограничения:

1) в качестве параметра может использоваться только переменная порядкового типа (например, целого);

2) начальное и конечное значения параметра могут быть конс­тантами, переменными или выражениями, но должны иметь одинаковый с ним тип;

3) параметр цикла, а также его начальное и конечное значения не могут быть изменены никаким оператором в теле цикла;

4) после завершения цикла значение его параметра становится неопределенным.

Выполнение оператора с ключевым словом to. В этом варианте оператора необходимо, чтобы начало конец. В противном случае тело цикла не выполнится ни разу.

1. Вычисляются и запоминаются начальное и конечное значение параметра цикла (начало и конец).

2. Значение параметра (обозначим его i ) сравнивается с конечным значением конец. Если i конец, то выполня­ется тело цикла. В противном случае выполнение цикла прекращается.

3. Значение i увеличивается на 1 и повторяется шаг 2.

Выполнение оператора с ключевым словом downto. В этом варианте оператора необходимо, чтобы начало конец. В противном случае тело цикла не выполнится ни разу.

1. Вычисляются и запоминаются начальное и конечное значение параметра цикла (начало и конец).

2. Значение параметра (обозначим его j ) сравнивается с конечным значением конец. Если j конец, то выполня­ется тело цикла. В противном случае выполнение цикла прекращается.

3. Значение j уменьшается на 1 и повторяется шаг 2.

Пример 4.17. Выполнить задание, приведённое в примере 4.13, используя оператор for.

В этой задаче количество повторений цикла равняется числу точек разбиения на отрезке [a, b] и может быть вычислено до выпол­нения цикла как целая часть от деления длины отрезка ba на ве­личину шага x плюс 1. Для вычисления целой части воспользуемся встроенной функцией trunc.

Var X, y, deltaX, a, b: real;

n, i : integer;

begin

{ вычисление числа повторений тела цикла }

n := trunc ((b - a) / deltaX) + 1;

for i := 1 to n do

begin

x := a + (i-1)* deltaX; { вычисление текущего х }

y := sin ( sqr (x));

writeln ('x =', x:10:3, ' y =' ,y:10:3);

end

end.

Пример 4.18. Выполнить задание, приведённое в примере 4.15, используя оператор for.