Написать программу, вычисляющую сумму 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.
Объяснение кода листинга программы
- Объявлены константы и переменные:
- n = 100 (целочисленная константа, задающая количество итераций в цикле)
- i, k = 0 (целочисленные переменные для итерации по диапазонам чисел и вычисления суммы)
- a, b = 0 (реальные переменные для хранения границ диапазона чисел)
- s = 0 (реальная переменная для хранения суммы)
- t = 1 (реальная переменная для хранения текущего периода)
- Задается диапазон чисел с помощью функции readln().
- Цикл while повторяется до тех пор, пока не будет введено корректное значение границ диапазона.
- Цикл 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().
- После завершения цикла repeat выводится количество итераций k и сумма s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д