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

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

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

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





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

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


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


Гость






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





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

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


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

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


Гость






To: Будущий программист
А давай наоборот - ты выложишь текст своей программы, и скажешь, что именно у тебя не получается. А мы поможем твою программу исправить... Пока кто-то будет ЗА тебя делать задания полностью - толку не будет.
 К началу страницы 
+ Ответить 
Будущий программист
сообщение 2.11.2005 22:37
Сообщение #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 - 2.11.2005 22:40
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Будущий программист
сообщение 2.11.2005 22:43
Сообщение #6





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

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


Подскажите,а то теорию знаю на зубок,а вот с практикой....небольшие проблемы. norespect.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 2.11.2005 22:46
Сообщение #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.
 К началу страницы 
+ Ответить 
Будущий программист
сообщение 2.11.2005 22:49
Сообщение #8





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

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


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


Гость






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

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





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

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


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


Гость






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

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


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

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

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


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

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

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

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


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


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

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

Репутация: -  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 - 3.11.2005 10:41


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





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

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


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

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


s=Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Будущий программист
сообщение 3.11.2005 13:46
Сообщение #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 
 К началу страницы 
+ Ответить 
Будущий программист
сообщение 3.11.2005 14:45
Сообщение #16





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

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


Ну так что все правильно??? :smile:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.11.2005 16:25
Сообщение #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

 



- Текстовая версия 20.07.2025 10:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"