uses crt;
const max=100;
var u:array[0..max] of real;
n,i,imn,imx:byte;
x,h,b,t,mx,mn:real;
begin
clrscr;
repeat
write('Размер последовательности n=');
readln(n);
until n in [1..max];
write('Введите x=');
readln(x);
write('Введите h=');
readln(h);
repeat
write('Введите число для поиска 0<b<1 b=');
readln(b);
until (b>0)and(b<1);
writeln('Исходная последовательность:');
for i:=0 to n do
begin
u[i]:=cos(x*h*i);
write(u[i]:6:2);
end;
writeln;
writeln;
imn:=0;imx:=0;
mx:=-1;mn:=1;
for i:=0 to n do
if abs(u[i])>abs(b)then
begin
if u[i]>mx then
begin
mx:=u[i];
imx:=i;
end;
if u[i]<mn then
begin
mn:=u[i];
imn:=i;
end;
end;
if imn=0 then write('В последовательности нет элементов по модулю больше ',b:0:2)
else
begin
writeln('минимальный элемент=',mn:0:2,' его номер=',imn);
writeln('максимальный элемент=',mx:0:2,' его номер=',imx);
t:=u[imx];u[imx]:=u[imn];u[imn]:=t;
writeln;
writeln('Последовательность после обмена мин и макс элементов:');
for i:=0 to n do
write(u[i]:6:2);
end;
readln
end.
readln
end.