Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 08.11.2018
Сообщений: 9

Сложная задача с интегралом графика функций (без function, procedure)

09.12.2018, 18:07. Показов 995. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Значение интеграла вычислить приближённо по итерационной формуле левых прямоугольников:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
I=\int_{a}^{b}f(x)\operatorname{d}x\,{\sim \atop =}\,I_n=h\left( f_1+f_2+f_{n-1}\right)\,,<br />

где h=(b-a)/n - величина шага между двумя соседними точками разбиения интервала интегрирования; fi = f(xi) - значение функции в точке xi = a+h(i-1); i = 1,2,...n.
Вычисления закончить при выполнении условия |In-I2n| < eps, где eps>0 - достаточно малое значение, задаваемое пользователем (точность вычислений). Здесь In, I2n - значения интеграла, вычисленные по формуле при количестве интервалов разбиения n и 2n соответственно.

Я смог написать уравнения и границы к графику:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
  if x < -pi/2 then begin
    y:= -2/pi - 2;
  end;
  if (x>=-pi/2) and (x<0) then begin
    y:=sin(x);
  end;
  if (x>=0) and (x<1) then begin
    y:=sqrt(x);
  end;
  if x>=1 then begin
    y:=1/x*x;
  end;
Я не могу понять, зачем мне нужна eps(точность вычисления), которая останавливает программу. Вроде я нашел площадь от [a,b].
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var
     a, b: real;
     x, y: real;
     n, i: longint;
     h,S1, S2: real;
 
begin
write('Введите левую границу интервала a=');
readLn(a);   
repeat
write('Введите правую границу интервала >a, b=');
readLn(b);
until(b > a);
 
repeat
write('Введите число разбиений отрезка, n-целое, n>0, n=');
readLn(n);
until(n > 0);
 
{repeat
write('Введите число eps, eps>0, eps=');
readLn(eps);
until(eps > 0);}
 
h := (b-a)/n;
S1 := 0;
for i := 0 to n-1 do begin
 x := a + i*h;
  if x < -pi/2 then begin
    y:= -2/pi - 2;
  end;
  if (x>=-pi/2) and (x<0) then begin
    y:=sin(x);
  end;
  if (x>=0) and (x<1) then begin
    y:=sqrt(x);
  end;
  if x>=1 then begin
    y:=1/x*x;
  end;
  k1:=k1+y;
end;
  S1:=S1+k1;
writeln('площадь = ', s1);
Спасибо, что прочитали до конца
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2018, 18:07
Ответы с готовыми решениями:

'All executable code must be in procedures. You can't define a Function procedure inside another Function, Sub, or Property procedure.'
Народ! Мне 1 программку всего написать надо и я от вас отстану ! :-) ... Проблема в том что функция(в широком смысле) в VBA, Excel не...

задача про матрицу с использованием procedure и function
помогите решить пожалуйста задачу,очень надо)) Найти сумму наибольших элементов строк матрицы А размерности 5х7.матрицу из вещественных...

Найти элемент массива с максимальной суммой его цифр( задача на одномерный массив при написании нужно использовать procedure или function)
Найти элемент массива с максимальной суммой его цифр( задача на одномерный массив при написании нужно использовать procedure или function)

1
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,479
12.12.2018, 22:50
Нет, эта задача очень простая.
Цитата Сообщение от New_Person_ Посмотреть сообщение
зачем мне нужна eps
Ну так
Цитата Сообщение от New_Person_ Посмотреть сообщение
|In-I2n| < eps
Так что, ε нужен, а вот n вводить не очень-то и нужно.

Вы не указали функцию. Буду считать, что это

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
y=\begin{cases}-\frac{2}{\pi ^{\,}}-2 & \text{, if } x\,<\,-\frac{\pi}{2} \\\\ \sin (x) & \text{, if } -\frac{\pi}{2}\leq x\,<\,0 \\\\ \sqrt{x^\,} & \text{, if } 0\leq x\,<\,1 \\\\ \frac{1}{x^2} & \text{, if } x\geq 1 \end{cases}<br />

Программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function f(x: extended): extended;
begin
  if x < pi / 2
    then f := -2 / pi - 2
    else if x < 0
      then f := sin(x)
      else if x < 1
        then f := sqrt(x)
        else f := 1 / x / x
end;
 
var
  a, b, h, I_n, I_2n, eps: extended;
  i, n: longword;
 
begin
  write('a = ');
  readln(a);
  repeat
    write('b > a,  b = ');
    readln(b)
  until b > a;
  repeat
    write('0 < eps < 1,  eps = ');
    readln(eps)
  until (0 < eps) and (eps < 1);
  n := 1;
  I_2n := f(a);
  repeat
    I_n := I_2n;
    I_2n := 0;
    n := 2 * n;
    h := (b - a) / n;
    for i := 0 to n - 1 do I_2n := I_2n + f(a + i * h);
    I_2n := h * I_2n
  until abs(I_n - I_2n) < eps;
  write('I = ', I_2n);
  readln
end.
Спасибо, что дочитали до конца.

Не по теме:

И не размещайте Ваш контент на файлопомойках, это запрещено. Всё грузите на форум.

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.12.2018, 22:50
Помогаю со студенческими работами здесь

В чем различия Table, View, Procedure, Scalar function и Table function
В чем различия между table, view, procedure, scalar function и table function в SQL Server?

Function VS Procedure
что лучше? в каких ситуациях... из собственного опыта, из книжек...

Function and procedure
Здрас! Добавить в программу по отдельности в 1 процедуру во 2 функцию.:-uses crt; var a: array of integer; i, min:...

function и procedure
Помогите переделать программу, чтобы в ней присутствовали или функция или процедура, заранее спасибо. Program A1; var a:array of...

Procedure or Function
Нужно две задачки сделать с подпрограммами:либо с помощью процедуры,либо с помощью функции. 1. Треугольник задан координатами своих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru