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

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

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

> метод прямоугольников. помогите пожалуйста
juscyfruit
сообщение 19.12.2009 12:11
Сообщение #1





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

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


Необходимо написать программу для вичисления интеграллов методом прямоугольников. Проблемма в том что все данные должен вводить пользователь и функцию в том числе. Помогите пожалуйста, если знаете как.

До другого я просто не додумался:
program Integral; uses
Crt, Dos; var dx,x1,x2,e,i:real; m:string;
function Fx(x:real):real;
begin
if m='cos(x)' then Fx:=cos(x) else
if m='sin(x)' then Fx:=sin(x) else

if m='exp(x)' then Fx:=exp(x) else
if m='sqr(x)' then Fx:=sqr(x) else
if m='ln(x)' then Fx:=ln(x) else
if m='arctan(x)' then Fx:=arctan(x) else
if m='sqrt(x)' then Fx:=sqrt(x) else
writeln('neverno vvedennie dannie');
end;

procedure Rascet;
var xx1,xx2:real; c:longint;
begin writeln('------------------------------------------------');
writeln('--> metod sred.prjam.');
writeln('vsego iteracij:',round(abs(x2-x1)/e));
i:=0;
for c:=1 to round(abs(x2-x1)/e) do
begin
write('iteracijaя ',c,chr(13));
xx1:=Fx(x1+c*e);
xx2:=Fx(x1+c*e+e);
write(Fx(x1+c*e),' ');
writeln(Fx(x1+c*e+e));

i:=i+abs(xx1+xx2)/2*e;
end;
writeln('------------------------------------------------');
writeln('integral',i); end;
begin
writeln('------------------------------------------------');
writeln('vvedite dannie:');
write('f(x)=');
readln(m);
write('x (x1)=');
Readln(x1);
write('x (x2)=');
Readln(x2);
write('(e)=');
Readln(e);
Rascet;
writeln('------------------------------------------------');
readln;
end.


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

Сообщений в этой теме


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

 



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