Предмет: Информатика, автор: яяя3331

пожалуйста помогите пожалуйста.Программирование циклических алгоритмов. ВЫЧИСЛИТЬ КОЛИЧЕСТВО ОТРИЦАТЕЛЬНЫХ ЗНАЧЕНИЙ sin(fi)НА ИНТЕРВАЛЕ [а,b] С ЗАДАННЫМ ШАГОМ

Ответы

Автор ответа: Аноним
0
// 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.

Похожие вопросы
Предмет: Математика, автор: prihodkoviktoriya8
Предмет: Алгебра, автор: ЕДИНОРОЖКА2016
Предмет: Литература, автор: andreisg