Найти произведение вычисленных значений функции - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д