Найти произведение вычисленных значений функции - 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.

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

  1. Создается функция f, которая принимает аргумент x типа real и возвращает значение типа real. Внутри функции выполняется вычисление произведения значений функции, используя формулу exp(-0.5x) sqr(cos(pi*x-pi/4)).
  2. Создаются переменные a, b, h, x и p типа real. Переменная k типа byte.
  3. Пользователю предлагается ввести начало и конец интервала для вычисления произведения. Ввод проверяется на корректность (не вводить b>3, чтобы произведение не равнялось нулю).
  4. Пользователю предлагается ввести шаг вычислений h.
  5. Переменная x инициализируется значением a.
  6. Переменная p инициализируется значением 1.
  7. Переменная k инициализируется значением 0.
  8. Запускается цикл while, который выполняется, пока x меньше b + h/2.
  9. Внутри цикла выводится значение x и y, где y вычисляется как f(x).
  10. Если trunc(f(x)) mod 2 = 0, то переменная p инициализируется целой частью f(x), а переменная k устанавливается равной 1.
  11. После окончания цикла x увеличивается на h.
  12. Выводится сообщение о том, есть ли целая часть, кратная 2, или нет.
  13. Выводится произведение целых частей, кратных 2, если k не равно 0.

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

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