%.2f это разьем с плавающей (float<span>) точкой, и после точки надо оставить два десятичных знака. != эт "не равно".</span>
Const e=0.001;
var a1,a2:real;n:integer;
begin
a1:=0.5;
a2:=sin(a1)/cos(a1)/2;
n:=2;
writeln(n,a2:7:4);
while abs(a2-a1)>=e do
begin
a1:=a2;
a2:=sin(a1)/cos(a1)/2;
n:=n+1;
writeln(n,a2:7:4);
end;
writeln('n = ',n);
end.
Результат:
<span>2 0.2732
3 0.1401
4 0.0705
5 0.0353
6 0.0177
7 0.0088
8 0.0044
9 0.0022
10 0.0011
11 0.0006
n = 11</span>
(5,5), (8,8), (9,8), (11,6), (12,7), (12,7), (11,7),
(11,2), (9,2), (9,3), (10,3), (10,4), (7,4), (7,2),
(5,2), (5,3), (6,3), (6,9), (7,9), (7,8), (2,8),
(2,9), (3,9), (3,6), (4,5)
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
begin
var a:=ArrRandom(10); println(a);
for var i:=0 to 9 do
if a[i] mod 2 =0 then print(a[i]);
end.
Тестовое решение:
[57,42,71,42,53,88,86,80,87,74]
42 42 88 86 80 74