С массивом было бы гораздо легче и проще, чем так мучатся)), но если нужно именно без массива, то вот: P.S. Для проверки можно сверить ответ с программы с ответом с калькулятора и он сойдётся, по крайней мере у меня с x=129 - сошёлся (см. скрин в прикреплённых файлах) :)))var x,p,d,a,b:real;i:integer;beginwriteln ('p = ((x-2)(x-4)(x-8)...(x-128))/((x-1)(x-3)(x-7)...(x-127))');a:=2;b:=1;p:=1;repeatwrite ('Введите x: ');readln (x);if x<=128 then writeln ('Введите x>128');until x>128;for i:=1 to 4 dobegind:=((x-a)/(x-b))*p;a:=a*2;b:=a-1;p:=d*((x-a)/(x-b));a:=a*2;b:=a-1;end;p:=d;writeln ('p = ',p);end.