Написать программу, вычисляющую сумму Y=sin(n/2) - sin(3n/4) + sin(5n/8) - Pascal

Узнай цену своей работы

Формулировка задачи:

Задание по методике преподавания в школах, задали вот это а я всего та на первом курсе и в школе явно не проходил вообще программирование:
Написать программу, вычисляющую сумму Y=sin(n/2) - sin(3n/4) + sin(5n/8) - …., сумма должна содержать 100 слагаемых, попадающих в интервал [а,b].

Решение задачи: «Написать программу, вычисляющую сумму Y=sin(n/2) - sin(3n/4) + sin(5n/8)»

textual
Листинг программы
uses crt;
const n=100;
var i,k:integer;
    a,b,s,t,y:real;
begin
clrscr;
randomize;
repeat
writeln('Введите границы диапазона чисел a,b от -1 до 1 b>a');
readln(a,b);
until (abs(a) <=1)and(abs(b) <=1)and(b > a);
k:=0;s:=0;i:=1;t:=1;
repeat
t:=t*2;
y:=sin((2*i-1)*pi/t);
if (y>=a)and(y<=b)then
 begin
  k:=k+1;
  if odd(i) then s:=s+y
  else s:=s-y;
 end;
until k=n;
writeln('k=',k);
write('Сумма=',s:0:8);
readln
end.

Объяснение кода листинга программы

  1. Объявлены константы и переменные:
    • n = 100 (целочисленная константа, задающая количество итераций в цикле)
    • i, k = 0 (целочисленные переменные для итерации по диапазонам чисел и вычисления суммы)
    • a, b = 0 (реальные переменные для хранения границ диапазона чисел)
    • s = 0 (реальная переменная для хранения суммы)
    • t = 1 (реальная переменная для хранения текущего периода)
  2. Задается диапазон чисел с помощью функции readln().
  3. Цикл while повторяется до тех пор, пока не будет введено корректное значение границ диапазона.
  4. Цикл repeat используется для вычисления суммы Y по формуле Y = sin(n/2) - sin(3n/4) + sin(5n/8).
    • Устанавливается начальное значение переменной t = 1.
    • Переменная i инициализируется значением 1.
    • В каждой итерации цикла значение переменной t удваивается.
    • Вычисляется значение функции sin() для текущего периода (2i-1)pi/t.
    • Если полученное значение функции sin() принадлежит заданному диапазону (a <= y <= b), то к переменной k прибавляется единица.
    • Если i % 2 = 1 (текущее значение i нечетное), то к переменной s прибавляется значение функции sin().
    • Если i % 2 = 0 (текущее значение i четное), то к переменной s вычитается значение функции sin().
  5. После завершения цикла repeat выводится количество итераций k и сумма s.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы