Найти произведение вычисленных значений функции - Pascal ABC
Формулировка задачи:
Найти произведение вычисленных значений функции,целая часть которых кратна 2
y=9e^-0,5x * Cos^2 (PIx-45 градусов) .Помогите пожалуйста
Решение задачи: «Найти произведение вычисленных значений функции»
textual
Листинг программы
function f(x:real):real; begin f:=9*exp(-0.5*x)*sqr(cos(pi*x-pi/4)); end; var a,b,h,x,p:real; k:byte; begin write('Введите начало интервала a='); readln(a); repeat write('Введите конец интервала b>',a:0:1,' b=');//не вводите b>3, а то произведение будет=0 readln(b); until b>a; repeat write('Введите шаг вычислений h<',b-a:0:1,' h='); readln(h); until h<b-a; x:=a; p:=1; k:=0; while x<b+h/2 do//чтобы не проскочить b за счет округления begin writeln('x=',x:5:1,' y=',f(x):8:3); if trunc(f(x))mod 2=0 then begin p:=p*trunc(f(x)); k:=1; end; x:=x+h; end; if k=0 then write('Нет целой части кратной 2') else write('Произведение целых частей, кратных 2=',p:0:0); end.
Объяснение кода листинга программы
- Создается функция f, которая принимает аргумент x типа real и возвращает значение типа real. Внутри функции выполняется вычисление произведения значений функции, используя формулу exp(-0.5x) sqr(cos(pi*x-pi/4)).
- Создаются переменные a, b, h, x и p типа real. Переменная k типа byte.
- Пользователю предлагается ввести начало и конец интервала для вычисления произведения. Ввод проверяется на корректность (не вводить b>3, чтобы произведение не равнялось нулю).
- Пользователю предлагается ввести шаг вычислений h.
- Переменная x инициализируется значением a.
- Переменная p инициализируется значением 1.
- Переменная k инициализируется значением 0.
- Запускается цикл while, который выполняется, пока x меньше b + h/2.
- Внутри цикла выводится значение x и y, где y вычисляется как f(x).
- Если trunc(f(x)) mod 2 = 0, то переменная p инициализируется целой частью f(x), а переменная k устанавливается равной 1.
- После окончания цикла x увеличивается на h.
- Выводится сообщение о том, есть ли целая часть, кратная 2, или нет.
- Выводится произведение целых частей, кратных 2, если k не равно 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д