Вычисление значений функции, Заданной в виде разложения в ряд |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Вычисление значений функции, Заданной в виде разложения в ряд |
BDS |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Репутация: 0 |
Надо сделать программу, чтобы она вычисляла таблицу значений функции, заданной в виде разложения в ряд. При этом: границы интервала вычислений a и b, величина шага изменения аргумента h, точность вычисления функции E задаются с экрана.
Сама прога у меня есть (если кому надо, могу кинуть). Но проблема в том, что ее надо с Ассемблерными вставками сделать! Если кто может помочь, пишите! |
Shadow |
Сообщение
#2
|
Lonely_Raven Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
Ню вот примерно
-=-= Код program KKR1; {uses crt;} var E,a,b,s,h,R,x,d,c,integ,integlast:real; s1:String; i:integer; p:Char; n:longint; function func(x:real):real; {} 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; {} Procedure ClScr;Assembler; asm mov ax,3 int 10h end; Procedure OutText(sss:String); Begin s1:=sss; {в/Є/ Џ бЄ «м ¬ «ҐмЄ® Ґ 室Ёв Ґ Ј®«®Ў «млҐ ЇаҐ¬ҐлҐ } asm mov dx,offset s1+1 {+1 Є®а४вЁа®ўЄ } {ᬥ饨Ґ Є ЇҐаҐ¬Ґ®© ў Є®в®а®© Ўг¤Ґв еа Ёвбп ўлў®¤Ё¬ бва®Є } mov ah,9 {дЄж ўлў®¤ } int 21h {DOS interrypt} end; end; Procedure InitData;{вгв бва Ёў Ґ¬ ॣЁбв DS ᥣ¬Ґв ¤ ле} {вॡгҐвбп ®¤Ё а § ў б ¬®¬ з «Ґ} Var Data:Word; BEGIN Data:=DSeg; asm mov ax,data{ ¤аҐб ᥣ¬Ґв ¤ ле ў ॣЁбва Їа®ж } mov ds,ax { ¤аҐб ў ॣЁбв DS в/Є/ ® ®вўҐз Ґв § ᥣ¬Ґв ¤ ле } xor ax,ax {®Ўг« ўбпЄЁ© б«гз ©} end; END; Procedure MCurXY(x,y:Byte);Assembler;{¤«п ЇҐаҐ¬ҐйҐЁп Єгаб®а } asm mov ah,02 {;function moving the cursor} mov bh,0 {;screen number} mov dh,y {;x-posit} mov dl,x {;y-posit} int 10h {;BIOS INTerrypt} end; Procedure WaitKey;Assembler; asm mov ah,0 int 16h end; {=============} {=============} {=============} begin {} {ўаҐ§г«мв ⥠Їа®Ја ¬¬Ёа®ў Ёп ў®§ЁЄ ў®Їа®б Ї®зҐ¬г ASM Ґ Ґ 室Ёв} {Ґ Ј«®Ў «млҐ ЇҐаҐ¬ҐлҐ} InitData; {} ClScr; {} MCurXY(5,5); OutText('Ї®пв® § 祬 Їа®жҐ¤ MCyrXY$'); {Џа®Ў :) } {ЇаЁ¬Ґз ЁҐ § Є -=$=- ®Ўп§ ⥫Ґ в/Є/ Ґв® Є®Ґж бва®ЄЁ} WaitKey; {} ClScr; {} repeat repeat OutText('‚ўҐ¤ЁвҐ A and B (a<b):$');readln(a,B); {} until a<b; {} repeat {} OutText('‚ўҐ¤ЁвҐ R (R>0):$');readln®; {} until r>0; {} repeat {} OutText('‚ўҐ¤ЁвҐ d (d<0):$');readln(d); {} until d<0; {} repeat {} OutText('‚ўҐ¤ЁвҐ c (c>0):$');readln©; {} until c>0; {} repeat {} OutText('‚ўҐ¤ЁвҐ E (E>0):$');readln(E); {} until E>0; {} ClScr; 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); {} OutText('‚ᥠЇа ўЁ«м® (y/n):$'); {} readln(p); {} until ((p='y') or (p='Y')); {повторять ввод данных пока нет подтверждения о его правильности} {} ClScr; {} OutText('Please wait$'); {} {} repeat {} begin {} ClScr; {} n:=1; {г вҐЎп ® 0 Ўл«} writeln('n=',n); {} h:=(b-a)/n; s:=0; {} for i:=1 to n do {} begin {} x:=a+i*h; {} s:=s+func(x); {} end; {} Integlast:=Integ; {} n:=n*2; {} Integ:=h*s; end until (abs(Integ-Integlast)<E); {} ClScr; {} writeln('Значение интеграла на интервале [',a:0:2,',',b:0:2,'] для функции,'); {} writeln('заданной графически равно: ',Integ:0:4); {} WaitKey; {} end. {} {} {} Сообщение отредактировано: volvo - -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Текстовая версия | 25.04.2024 14:32 |