до цикла | цикл ® |
.
Проверка правильности вычисления q
До цикла: предыдущее слагаемое ;
Значение переменной .
Цикл начинается при значении переменной и заканчивается при .
– | ||||
– | ||||
– | ||||
: : | : : | : : | : : | : : |
n | – |
Программа для задачи 1:
PROGRAM lab7_1;
uses crt;
CONST n=9; { количество элементов суммы }
x=0.6; { для этого Х вычислить сумму }
VAR s:real; { искомая сумма }
q:real; { коэффициент рекуррентности }
a1,a2:real; { предыдущий и следующий элементы суммы }
i:integer; { счетчик элементов суммы }
BEGIN
clrscr; { очистка экрана }
s:=1; { значение суммы до начала цикла }
a1:=1; { слагаемое непосредственно перед началом цикла}
FOR i:=1 TO n DO
begin
q:=-x/i; { i-й коэффициент рекуррентности }
a2:=a1*q; { следующий элемент суммы }
s:=s+a2; { суммирование }
a1:=a2 { "переброс" – подготовка к следующему такту цикла}
end;
writeln;
writeln (' x=',x:5:1,' s=',s:9:6);
readln;
END.
Экран выполнения программы для задачи 1:
Программа для задачи 2:
PROGRAM lab_7_2;
USES crt;
CONST xn=0.1; { начальное значение Х }
|
|
xk=1.0; { конечное значение Х }
hx=0.1; { шаг по Х }
eps=1e-6; { точность вычисления суммы }
VAR S:real; { сумма }
q:real; { коэффициент рекуррентности }
a1,a2:real; { предыдущий и следующий элементы суммы }
x:real; { текущее значение Х }
i:integer; { счетчик элементов суммы }
k:integer; { счетчик количества точек Х }
BEGIN
clrscr; { очистка экрана }
x:=xn; { начальная точка Х }
k:=1; { номер точки X }
WHILE x<=xk+eps DO { начало цикла по Х }
BEGIN
s:=1; { значение суммы до цикла в К-й точке Х }
a1:=1; { слагаемое непосредственно перед началом цикла}
i:=1; { начальное значение счетчика i }
REPEAT {цикл REPEAT для вычисления суммы в К-й точке Х}
q:=-x/i;
a2:=a1*q;
s:=s+a2;
i:=i+1;
a1:=a2
UNTIL abs(a2)<eps; { закончился оператор REPEAT }
writeln;
writeln (k:2,'. ',' x=',x:3:1,' s=',s:9:6);
k:=k+1;
x:=x+hx; { переход на следующий Х }
END; { закончился оператор WHILE }
repeat until keypressed; { задержка экрана }
END.
Экран выполнения программы для задачи 2:
Варианты заданий
1. ;
1) n = 6, x = 0.1; 2) x = 0.1…1.0,
2. ;
1) n = 8, x = 1.2; 2) x = 1…2,
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.