Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2011, 17:34   #1
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию Обьясните!

Доброго времени форумчани!
Нашел программу, которая вычисляет интеграл методом прямоугольника!
Поясните неученому, что к чему!
Код:
program integral; 


 var 
 n,i : integer; 
 a,b,shag,sum,itog : real; 

 {======================================} 
 {Введите сюда нужную функцию} 
 function F(x:real):real; 
 begin 
 F:=x*x*x*x+2*x*x+4 
 end; 
 {======================================} 

 BEGIN 
 write('Начало интегрирования a = '); readln(a); 
 write('Конец интегрирования b = '); readln(b); 
 write('Количество разбиений интервала n = '); readln(n); 

 shag:=(b-a)/n; 
 sum:=0; 
 for i:=1 to n-1 do 
 sum := sum + F(shag*i+a); 
 sum := sum + (F(a)+F(b))/2; 

 itog:=(b-a)/n * sum; 
 writeLn('Интеграл = ', itog:0:5) 
 END.
Обьясните вот этой кусочек, пожалуйста:
Код:
for i:=1 to n-1 do 
 sum := sum + F(shag*i+a); 
 sum := sum + (F(a)+F(b))/2; 

 itog:=(b-a)/n * sum;
Andrey770 вне форума Ответить с цитированием
Старый 13.05.2011, 18:10   #2
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

А что не понятного-то. Берём бьём фигуру под графиком на прямоугольники, и находим сумму площадей этих прямоугольников.
Код:
// здесь n это колво этих самых прямоугольников
for i:=1 to n-1 do   // цикл по всем прямоугольникам
 sum := sum + F(shag*i+a);   // находим общую сумму высот этих прямоугольников
   // высота прямоугольника равна значению функции при x = shag*i + a
  // shag это длина одного прямоугольника, I это его номер считая от точки a,
  // а точка ограничивющая график по оси X
 sum := sum + (F(a)+F(b))/2;  // точно не понял для каких целей ввели это но знаю
   // что здесь находят среднее значение высот первого и последнего прямоугольника
 itog:=(b-a)/n * sum;  // а теперь если сумму высот умножить 
     //на расстояние между ограничивающими ординатами( это ещё и сумма длин прямоугольников), 
    //то получим сумму их площадей
Изображения
Тип файла: jpg интеграл.jpg (25.1 Кб, 31 просмотров)

Последний раз редактировалось RomiKon; 13.05.2011 в 18:17.
RomiKon вне форума Ответить с цитированием
Старый 14.05.2011, 13:07   #3
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

Спасибо!!!
Andrey770 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обьясните ( оператор иф) AleksENN Помощь студентам 5 24.06.2010 13:47
Обьясните FreeZeT Помощь студентам 3 15.06.2010 04:27
обьясните!!!! gnom63 Помощь студентам 1 12.03.2009 14:56
Обьясните... Droid Общие вопросы Delphi 4 12.05.2008 12:57