![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
BDS |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Почти такая же фигня - еще две проги: 1. Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Значение интеграла вычислить приближённо по итерационной формуле левых прямоугольников. Границы интервала вычислений a и b, радиус R, d, c, точность вычисления интеграла E - всё это вводится с экрана! 2. Вычислить среднее арифметическое значение отрицательных элементов матрицы А(К,К), К <= 70, расположенных под главной диагональю. [hr]Сами проги у меня есть (если кому надо, могу кинуть). Но проблема в том, что их тоже надо с Ассемблерными вставками сделать! Если кто может помочь, пишите! |
![]() ![]() |
BDS |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Вот первая прога:
Код 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 |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 0:52 |