Протабулировать функцию y=cos2x - Pascal
Формулировка задачи:
Здравствуйте, нужна помощь с задачей.
Протабулировать функцию y=cos2x на промежутке от 1 до Пи включительно, с промежутком 0.25 и посчитать произведение значений что удовлетворяют условие 0,5<y<1
Нужно срочно, буду благодарен любой помощи.
Решение задачи: «Протабулировать функцию y=cos2x»
textual
Листинг программы
const r = '+------+----------+'; var t, x, y, p: real; i: integer; begin t := 1; p := 1; writeln('y = cos(2x)'); writeln(r); for i := 0 to trunc((pi - 1) / 0.25) + 1 do begin x := t + 0.25 * i; y := cos(2 * x); writeln('|', x:5:2, ' |', y:9:5, ' |'); if (y > 0.5) and (y < 1) then p := p * y end; writeln(r); write('Product of positive values = ', p:0:5); readln end.
Объяснение кода листинга программы
- Объявляются переменные
r
,t
,x
,y
,p
: real; var i: integer; t
инициализируется значением 1;- Выводится строка
y = cos(2x)
; - Выводится строка-формат
+------+----------+
; - Переменная
p
инициализируется значением 1; - Запускается цикл
for
с начальным значением переменнойi
равным 0 и конечным значением, равным trunc((pi - 1) / 0.25) + 1; - Внутри цикла переменная
x
инициализируется значениемt + 0.25 * i
; - Переменная
y
инициализируется значениемcos(2 * x)
; - Выводится строка
|
, с пробелами, разделяющими значения переменныхx
иy
; - Если значение переменной
y
больше 0.5 и меньше 1, то значение переменнойp
умножается на значение переменнойy
; - После завершения внутреннего цикла выводится строка
|
, с пробелами, разделяющими значения переменныхx
иy
; - Выводится строка
|
, с пробелами, разделяющими значения переменныхx
иy
; - Выводится строка
Product of positive values =
с пробелами, разделяющими числовые значенияp
; - Программа завершается вызовом функции
readln()
.