Протабулировать 1 функцию на интервале [a, b] с шагом h=0.01 Найти сумму значений функции в каждой точке - Free Pascal
Формулировка задачи:
2)Протабулировать 1 функцию на интервале [a, b] с шагом h=0.01
Найти сумму значений функции в каждой точке.
Решение задачи: «Протабулировать 1 функцию на интервале [a, b] с шагом h=0.01 Найти сумму значений функции в каждой точке»
textual
Листинг программы
- uses Crt, Math;
- const h = 0.01;
- const eps = 0.00001;
- function foo(n : real) : real;
- begin
- foo := sin(n + 3.0) / exp((1. / 3) * ln(sqr(n + 3.0)));
- end;
- var
- a : real;
- b : real;
- tmp : real;
- begin
- Write('enter begin point a = ');
- ReadLn(a);
- Write('enter begin point a = ');
- ReadLn(b);
- if a > b then
- begin
- tmp := a;
- a := b;
- b := tmp;
- end;
- while a <= b do
- begin
- if abs(a + 3) < eps then
- begin
- Writeln('no range of definition at point x = ', a:3:1);
- end else
- begin
- Writeln('x = ', a:3:3, ' f(x) = ', foo(a):3:3);
- end;
- a := a + h;
- end;
- Writeln('Enjoy');
- end.
Объяснение кода листинга программы
- Объявлены константы: шаг интервала h=0.01, погрешность вычислений eps=0.00001
- Объявлена функция foo(n:real):real, которая вычисляет значение функции в точке n
- Введены переменные a, b для обозначения границ интервала
- Пользователю предлагается ввести точки a и b
- Если точка a больше b, то происходит обмен значениями a и b
- Запускается цикл while, который выполняется, пока значение переменной a не станет больше b
- Внутри цикла проверяется, является ли точка a точкой определения функции (|a+3|<eps)
- Если точка является точкой определения, то выводится сообщение об этом
- Если точка не является точкой определения, то выводится значение функции в этой точке
- Значение переменной a увеличивается на шаг h
- После окончания цикла выводится сообщение
Enjoy
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д