до цикла
|
цикл ®
|
.
Проверка правильности вычисления 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. 
цикл ®






