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

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

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

> Вычисление интеграла на интервале [a, B]!
BDS
сообщение 4.06.2003 15:31
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17

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



Почти такая же фигня - еще две проги:
1. Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Значение интеграла вычислить приближённо по итерационной формуле левых прямоугольников. Границы интервала вычислений a и b, радиус R, d, c, точность вычисления интеграла E - всё это вводится с экрана!
2. Вычислить среднее арифметическое значение отрицательных элементов матрицы А(К,К), К <= 70, расположенных под главной диагональю.

[hr]Сами проги у меня есть (если кому надо, могу кинуть). Но проблема в том, что их тоже надо с Ассемблерными вставками сделать! Если кто может помочь, пишите!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
BDS
сообщение 4.06.2003 15:39
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 17

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


Вот первая прога:

Код
program KKR1;

uses crt;

var
E,a,b,s,h,R,x,d,c,integ,integlast:real;
i:integer;
p:Char;
n:longint;

function func(x:real):real; {определение функции в точке x}
begin
   if x<=-2*R then func:=d
     else
       if x<=0 then func:=sqrt(x*(-x-2*R))
         else
           if x>2*R then func:=c
            else
              func:=-sqrt(x*(-x+2*R))
end;


begin     {ввод исходных данных}
 ClrScr;
 integ:=0;
 n:=2;
 repeat
   repeat
     write('Введите границы интервала вычислений a и b (a<b): ');readln(a,B);
   until a<b;
   repeat
     write('Введите радиус R (R>0): ');readln®;
   until r>0;
   repeat
   write('Введите d (d<0): ');readln(d);
   until d<0;
   repeat
   write('Введите c (c>0): ');readln(c);
   until c>0;
   repeat
     write('Введите точность вычисления интеграла E (E>0): ');readln(E);
   until E>0;
   ClrScr;
   writeln(' a=',a:5:2,' b=',b:5:2,' d=',d:5:2,' c=',c:5:2,' R=',r:5:2, ' E=',E:2:4);
   write('Все верно ? (y/n): ');
   readln(p);
 until ((p='y') or (p='Y'));  {повторять ввод данных пока нет подтверждения о его правильности}
   ClrScr;
   writeln('Идет подсчет!');
 repeat
   begin
   ClrScr;
   writeln('n=',n);
   h:=(b-a)/n; {расчет шага изменения аргумента}
   s:=0;
   for i:=1 to n do
     begin
     x:=a+i*h; {приращение аргумента}
     s:=s+func(x); {сумма значений функции на отрезке [a,b]}
     end;
   Integlast:=Integ; {сохранение предыдущего значения интеграла}
   n:=n*2;
   Integ:=h*s; {расчет интеграла}
   end until (abs(Integ-Integlast)<E);

 ClrScr;
 writeln('Значение интеграла на интервале [',a:0:2,',',b:0:2,'] для функции,');
 writeln('заданной графически равно: ',Integ:0:4);
 readkey;
end.

Конец

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

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


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

 



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