IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Определенный интеграл, Задача по интегралам
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Доброго времени суток.
Помогите написать программу для вычисления значения определенного интеграла методом прямоугольников,приняв число разбиений отрезка(0,1),n=80.
S=(интеграл от 0 до 1)xdx/(x^2+1^2)^2.
Кто может помогите пожалуйста,хотя бы один пример.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Будущий программист, а поиск для кого сделан?
FAQ: Численное интегрирование
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 26.10.2005 14:39)
Будущий программист, а поиск для кого сделан?
FAQ: Численное интегрирование

Volvo,спасибо большое за ответ,эту статью я уже видел,но она мне не помогла.
Текст программы я уже писал много раз,но все они неудачны,если сможете помочь,то напишите текст програмы и выложить его на форум.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






To: Будущий программист
А давай наоборот - ты выложишь текст своей программы, и скажешь, что именно у тебя не получается. А мы поможем твою программу исправить... Пока кто-то будет ЗА тебя делать задания полностью - толку не будет.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Program Integral;
    Var
    N,i:integer;
    A,b,shag,sum,itog:real;
    Function f(x:real);real;
       Begin
      F:=x/(x*x+1)*(x*x+1);
      End;
     Writeln(‘Начало интегрирования a=’);
     Readln(a);
     Writeln(‘Конец интегрирования b=’);
     Readln(b);
     Writeln(‘Число разбиений отрезка n=’);
     Readln(n);
    Shag:=(b-a)/n;
    Sum:=o
   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.


Подскажите где ошибка.

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Подскажите,а то теорию знаю на зубок,а вот с практикой....небольшие проблемы. norespect.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Ошибки-то только синтаксические (я написал, что было неверно):
Program Integral;
Var
  N,i:integer;
  A,b,shag,sum,itog:real;

Function f(x:real):real; { <-- Здесь была ";" вместо ":" }
Begin
  F:=x/(x*x+1)*(x*x+1);
End;

Begin { <-- Этого не было }
  Writeln('Начало интегрирования a='); { <-- Неправильный апостроф }
  Readln(a);
  Writeln('Конец интегрирования b='); { <-- Неправильный апостроф }
  Readln(b);
  Writeln('Число разбиений отрезка n='); { <-- Неправильный апостроф }
  Readln(n);
  Shag:=(b-a)/n;
  Sum:=0; { Не буква "О", а цифра 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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Спасибо volvo!!!
Эти ошибки я видел,так как только что её пробовал.
Да вот программа то,все равно интеграл не считает. wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Дай мне те данные, которые ты вводишь... Чему у тебя равно A, B, N?

И чему (ты думаешь) должен быть равен результат ?...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


A=2,B=1,n=80.
Ну вроде как я нахожу определенный интеграл?Или значение должно быть другое?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






To: Будущий программист
Я не спрашивал, что ты находишь!!! Я спрашивал, КАК ты определяешь, что программа отработала неверно? У меня с твоими значениями в ответе "Интеграл=0.5"

Вопрос: какое значение ТЫ считаешь правильным ???
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Вообще 0.5 неверно.
0.15 должно быть

Прикрепленное изображение
©MathCAD

а какую ты функцию имел ввиду подF:=x/(x*x+1)*(x*x+1); ?
нарисуй на картинке..

Сообщение отредактировано: Altair -


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


а вот так:
Program Integral;
Var
  N,i:integer;
  A,b,shag,sum,itog:real;

Function f(x:real):real; { <-- Здесь была ";" вместо ":" }
Begin
  F:=x/((x*x+1)*(x*x+1)); {<----- СКОБКИ!!!!!!!!!!! }
End;

Begin { <-- Этого не было }
  Writeln('Начало интегрирования a='); { <-- Неправильный апостроф }
  Readln(a);
  Writeln('Конец интегрирования b='); { <-- Неправильный апостроф }
  Readln(b);
  Writeln('Число разбиений отрезка n='); { <-- Неправильный апостроф }
  Readln(n);
  Shag:=(b-a)/n;
  Sum:=0; { Не буква "О", а цифра 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); { <-- Неправильный апостроф и ";" вместо "," }
  readln
End.

все верно!
0.15 при а=1 б=2, и n=80

у тебя интеграл считался от функции f(x)=x;

Сообщение отредактировано: Altair -


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


У меня задание:
Написать программу для вычисления интеграла.

S=интеграл от 1 до 0 умноженый на xdx/(x^2+1)^1.


s=Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


1.Вариант №8
1.Приведите синтаксис описания и вызова процедуры-функции.Опишите виды,назначение формальных и практических параметров.Приведите пример описания процедуры функции,её вызова и поясните его.
2.Составьте программу вычисления значения определенного интеграла S= Прикрепленное изображение
методом прямоугольников,приняв число разбиений отрезка (0;1),n=80.
2.1.Отладить и провести счет по программе.
2.2.Приведите в пояснительной записке:
1)Текст программы с поянениями.
2)Исходные данные и результаты счета.
В программе предусмотреть:
1.Ввод нижней и верхней границ отрезка(0;1),n=80.
2.Описание процедуры-функции для вычисления подинтегральной функции f(x)=Прикрепленное изображение .
3.Отображение на экране дисплея значения интеграла.
4.Комментарии в основных местах программы.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Ну так что все правильно??? :smile:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гость






To: Будущий программист
Я что-то потерял нить твоего вопроса. IMHO ему место - в корзине. Что ты хочешь? Написать программу для вычисления интеграла? Иди в FAQ и бери готовую (для этого, я хотел бы напомнить, FAQ и пишется, чтобы не изобретать велосипед заново каждый раз). Если у тебя проблема, и ты не можешь ПРАВИЛЬНО написать функцию, то к сожалению, тебя этому невозможно научить, пока ты сам не будешь более внимательным ...

Твоя функция должна иметь вид:
Function f(x:real):real;
Begin
  F:=x/((x*x+1)*(x*x+1));
End;
(обрати внимание на скобки !!!)

Кроме того, что за бред А=2, В=1?
А это начало интегрирования, и должно быть < В, иначе получишь отрицательную площадь...
Цитата
A = 1; B = 2; N = 80
Интеграл=0.15


Будь внимательнее !!!

P.S. Кстати, ты для себя бы решил, какие все-таки границы у отрезка? В посте №10 ты говоришь
Цитата
A=2,B=1,n=80.

В посте №15 (где ты привел задание):
Цитата
1.Ввод нижней и верхней границ отрезка(0;1),n=80.

Какой из них правильный ???
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 15.04.2025 12:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name