F должно быть равно "1", т.к. для произведения(а факториал - это произведение) нейтральное число - "1", а для суммы - "0".
while k, нельзя преобразовать тип Integer к типу boolean в Паскале, даже если и было можно, то данная запись давала нам бесконечный цикл, нужно заменить на while k <= n
--------------------------------
k:=1; f:= 1;
while k <= n do begin
f:= f*k;
k:= k+1;
end;
var x,y:real;
begin
read(x);
if x>3.5 then y:=sin(x)*(ln(x)/ln(10));
if x<3.5 then y:=cos(2*x);
write(y);
end.
Пример таблицы (с 5 товарами) - в прилагаемом файле.