Найти произведение вычисленных значений функции - Pascal ABC

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

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

Найти произведение вычисленных значений функции,целая часть которых кратна 2 y=9e^-0,5x * Cos^2 (PIx-45 градусов) .Помогите пожалуйста

Решение задачи: «Найти произведение вычисленных значений функции»

textual
Листинг программы
  1. function f(x:real):real;
  2. begin
  3. f:=9*exp(-0.5*x)*sqr(cos(pi*x-pi/4));
  4. end;
  5. var a,b,h,x,p:real;
  6.     k:byte;
  7. begin
  8. write('Введите начало интервала a=');
  9. readln(a);
  10. repeat
  11. write('Введите конец интервала b>',a:0:1,' b=');//не вводите b>3, а то произведение будет=0
  12. readln(b);
  13. until b>a;
  14. repeat
  15. write('Введите шаг вычислений h<',b-a:0:1,' h=');
  16. readln(h);
  17. until h<b-a;
  18. x:=a;
  19. p:=1;
  20. k:=0;
  21. while x<b+h/2 do//чтобы не проскочить b за счет округления
  22.  begin
  23.   writeln('x=',x:5:1,'  y=',f(x):8:3);
  24.   if trunc(f(x))mod 2=0 then
  25.    begin
  26.     p:=p*trunc(f(x));
  27.     k:=1;
  28.    end;
  29.   x:=x+h;
  30.  end;
  31. if k=0 then write('Нет целой части кратной 2')
  32. else write('Произведение целых частей, кратных 2=',p:0:0);
  33. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы