// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var x:=ReadReal('x=');
var n:=ReadInteger('n=');
var s:=ArrGen(n,i->Exp(Cos(x**(2*(i+1))))*Sin(x**(3*(i+1))));
Writeln('Max=',s.Max,', min=',s.Min);
var imin:=s.Select(t->Abs(t-t.Round)).ToArray.IndexMin;
Writeln('Наиболее близкое к целому значение ',s[imin])
end.
Пример
x= 1.18
n= 15
Max=1.48553688166094, min=-1.27821497881311
Наиболее близкое к целому значение -0.919158357440861
Вариант без массива (экономия памяти)
begin
var x:=ReadReal('x=');
var n:=ReadInteger('n=');
var s:=SeqGen(n,i->Exp(Cos(x**(2*(i+1))))*Sin(x**(3*(i+1))));
Writeln('Max=',s.Max,', min=',s.Min);
var imin:=s.Select(t->Abs(t-t.Round)).ToArray.IndexMin;
Write('Наиболее близкое к целому значение ');
if imin=0 then Writeln(s.First)
else Writeln(s.Skip(imin).Take(1).Single)
end.