![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
BDS |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Надо сделать программу, чтобы она вычисляла таблицу значений функции, заданной в виде разложения в ряд. При этом: границы интервала вычислений a и b, величина шага изменения аргумента h, точность вычисления функции E задаются с экрана.
Сама прога у меня есть (если кому надо, могу кинуть). Но проблема в том, что ее надо с Ассемблерными вставками сделать! Если кто может помочь, пишите! |
GLuk |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Может постишь сюда...?
И вообще для таких вещей есть раздел Ассемблер! |
BDS |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Вот прога:
Код Program KKR2; uses crt; CONST path = 'D:BPMYKKR'; LABEL 1; TYPE FileName = string [13]; VAR E,x,y,a,ak,b,h:real; NameFile:FileName; flag:boolean; k:integer; n:longint; p:string; f:text; BEGIN REPEAT ClrScr; REPEAT write('Введите границы интервала вычислений a и b (a<b): ');readln(a,B); UNTIL a<=b; write('Введите величину шага изменения аргумента h: ');readln(h); REPEAT write('Введите точность вычисления функции E (E>0): ');readln(E); UNTIL E>0; ClrScr; writeln(' a=',a:5:2,' b=',b:5:2,' h= ',h:2:2,' E=',E:2:4); write('Все верно? (y/n) '); readln(p); UNTIL ((p='y') or (p='Y')); {повторять ввод данных пока нет подтверждения о его правильности} ClrScr; REPEAT writeln('Вывод в файл результатов подсчета.'); write('Введите имя файла: '); readln(NameFile); assign(f,path+NameFile); {$I-} {отключение автоматической проверки ошибок ввода/вывода} reset(f); {$I+} {включение автоматической проверки ошибок ввода/вывода} IF IOResult <> 0 THEN {проверка существования файла} BEGIN ClrScr; writeln('Указанного файла нет в текущей директории!');writeln; flag:=FALSE; END ELSE flag:=TRUE; UNTIL flag=TRUE; close(f); rewrite(f); writeln(f,'Данный файл создан программой Буробина Дмитрия,'); writeln(f,'которая вычислила таблицу значений функции, заданной в виде разложения в ряд.'); writeln(f); writeln(f,'Границы интервала вычислений a и b равны ',a:5:2,' ',b:5:2); writeln(f,'Величина шага изменения аргумента h равна ',h:2:2); writeln(f,'Точность вычисления функции E равна ',E:2:4); writeln(f); writeln(f,' # X F(x) # чл.р.'); x:=a; n:=1; REPEAT BEGIN k:=2; write(f,n:6,x:10:2); ak:=(x-1)/(x+1); y:=ak; IF abs(ak)<E THEN goto 1; REPEAT BEGIN ak:=ak*(((2*k-3)/(2*k-1))*((sqr(x-1))/(sqr(x+1)))); {множитель для нахождения a(k)} y:=y+ak; Inc(k); END UNTIL (abs(ak)<E); 1: writeln(f,2*y:15:8,k-1:10); x:=x+h; Inc(n); END UNTIL x>b; close(f); ClrScr; writeln('Данные добавлены в фаил "',path+NameFile,'"'); write('Просмотреть его вы можете нажав в NC клавишу <F3>, '); writeln('или блокнотом Windows.'); writeln;write('Для выхода нажмите <Ввод>'); readkey; END. |
Shadow |
![]()
Сообщение
#4
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D
-=-= а вставки какие всеиполностью даже формулы -=-= или только избавиться от модуля Crt ??? -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
BDS |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Любые! Где угодно, чтобы только были!!!!! :o
|
Shadow |
![]()
Сообщение
#6
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
ню я уже начал
-=-= напишу все что могу -=-=-= надеюсь ето не очень срочно -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
BDS |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Вообще к понедельнику надо сдать! :-X
|
GLuk |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну и я заодно попробую... по ходу надо и FPU подключать??
|
BDS |
![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Наверное?? ???
|
BDS |
![]()
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Ну вообще мне надо хоть что-нибудь на пас+асм, желательно с матрицами, или чем-то, где их использование облегчает решение (асм. вставок)!
Если есть что-нибудь готовое, буду очень благодарен!!!!!!! |
Shadow |
![]()
Сообщение
#11
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ню вот примерно
-=-= Код 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/ |
Shadow |
![]()
Сообщение
#12
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Ну и я заодно попробую... по ходу надо и FPU подключать?? расшифруй FPU -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Shadow |
![]()
Сообщение
#13
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
и вот еще есть чтучка как XMM - расширение архитектуры микропроцессора Pentium
-=-=-=-=--= которая добавляет 8 128-биттных регистров с плавающей точкой -=-= как бы ее применить -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
GLuk |
![]()
Сообщение
#14
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
FPU -> сопроцессор.
|
Shadow |
![]()
Сообщение
#15
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
я так и понял
-------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
buy cialis online with a prescri |
![]()
Сообщение
#16
|
Гость ![]() |
Retin
|
![]() ![]() |
![]() |
Текстовая версия | 9.04.2025 1:00 |