Оператор цикла с предусловием

 

while <условие> do P;

 

Где P - простой или составной оператор.

По этому оператору проверяется <условие> и, если оно выполняется, то выполняется - P, после чего опять проверяется <условие> и т. д.

Итак, P выполняется до тех пор, пока выполняется <условие>.

Если условие ни разу не выполнилось, P игнорируется, управление передается следующему оператору.

 

Задача.

Вычислить сумму ряда:

где n! = 1*2*…*n

 

Значение аргумента х и количество итераций n ввести с клавиатуры.

Введем дополнительную переменную для вычисления n! – f.

 

program cikl_2;

uses

crt; var x,y : real; i,n,f : integer;

begin writeln (' введите x, n '); read (x, n);

y: =0; f: =1; i:=1;

while i<=n do

{ составной оператор }

begin

f:=f*I;

y:=y+sin(i*x)/f;

i:=i+1;

end;

writeln (' y = ', y:8:3);

readln;

end.