Ответ: // PascalABC.NET 3.2, сборка 1425 от 22.04.2017// Внимание! Если программа не работает, обновите версию!begin  var a,b,h,fi:real;  Write(‘Укажите границы интервала табуляции и шаг: ‘);  Read(a,b,h);  var k:=0;  fi:=a;  while fi<=b+0.1*h do begin    if sin(fi)<0 then k+=1; fi+=h    end;  Writeln(‘Отрицательных значений- ‘,k)end.ПримерУкажите границы интервала табуляции и шаг: -6 5 0.2Отрицательных значений- 25Вариант для большого количества промежуточных точек, снижающий влияние накапливающейся из-за возможной неточности представления вещественных чисел, погрешности:// PascalABC.NET 3.2, сборка 1425 от 22.04.2017// Внимание! Если программа не работает, обновите версию!begin  var a,b,h,fi:real;  Write(‘Укажите границы интервала табуляции и шаг: ‘);  Read(a,b,h);  var n:=Trunc((b-a)/h)+1;  var k:=0;  for var i:=1 to n do begin    fi:=a+h*(i-1); Println(fi,sin(fi));    if sin(fi)<0 then k+=1    end;  Writeln(‘Отрицательных значений- ‘,k)end.