Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 30.11.2017
Сообщений: 6

Calculate definite integral with the trapezoidal method

30.11.2017, 17:50. Показов 1249. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Calculate, using FPU, the following definite integral with the help of the trapezoidal
method, input data need to be entered from the keyboard; the result should be outputted to the
console.Название: Untitled.png
Просмотров: 66

Размер: 1.6 Кб
Please, help. Write, please, the main code of calculations, I need to rely on something. Input and output, I myself try to do.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2017, 17:50
Ответы с готовыми решениями:

MathCAD - matrix must be positive definite
Добрый вечер господа! у меня возникла проблема с вычислением методом Халессого в MathCAD. выдает ошибку matrix must be positive definite.

Graphics.SetClip Method (GraphicsPath) и Graphics.Clear Method vs Graphics.FillPath Method (System.Drawing)
У нас два способа залить форму: 1. Graphics.SetClip Method (GraphicsPath) and Graphics.Clear 2. Graphics.FillPath Method...

Cannot convert method group 'to_get' to non-delegate type 'int'. Did you intend to invoke the method?
При обращении в методе объекта к методу объекта другого класса, вываливается такая ошибка. Причём код всёравно работает без косяков ...

5
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8663 / 4500 / 1670
Регистрация: 01.02.2015
Сообщений: 13,921
Записей в блоге: 13
01.12.2017, 23:07
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
.486
.model flat, stdcall
option casemap :none
 
        include \masm32\include\windows.inc
 
        include \masm32\include\user32.inc
        include \masm32\include\kernel32.inc
        include \masm32\include\masm32.inc
 
        includelib \masm32\lib\user32.lib
        includelib \masm32\lib\kernel32.lib
        includelib \masm32\lib\masm32.lib
.data
        Xstart          dq      -1.0    ;начальное значение аргумента
        Xfinish         dq      2.0     ;конечное значение аргумента
        N               dd      1000    ;количество интервалов интегрирования
 
        aszMsgResult    db      'Result: ', 0
        aszPressLeftAlt db      0Dh, 0Ah, 0Dh, 0Ah, "Press Left Alt to exit", 0
        dwColorRed      dd      FOREGROUND_RED
        dwColorWhite    dd      FOREGROUND_RED + FOREGROUND_GREEN + FOREGROUND_BLUE
        dwCursorPosition        COORD   <20, 10>
.data?
        hConsoleOutput  HANDLE  ?
        hConsoleInput   HANDLE  ?
        X               dq      ?       ;текущее значение аргумента
        DeltaX          dq      ?       ;шаг приращения аргумента
        Result          dq      ?       ;результат - значение интеграла
        FpuSw           dw      ?       ;слово состояния FPU (для команд сравнения)
        Buffer          db      1024 dup(?)
        BufLen          dd      ?
 
.code
 
start   proc
 
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     hConsoleInput,  eax
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     hConsoleOutput, eax
        ;очистка экрана
        invoke  ClearScreen
        ;ввод количества интервалов интегрирования
 
        finit
        ;получим Xstart
        fld     [Xstart]
        ;вычислим Xfinish
        fld     [Xfinish]
        ;вычисление приращения аргумента DeltaX
        fld     [Xfinish]
        fsub    st(0),  st(2)
        fild    [N]
        fdivp   st(1),  st(0)
        fst     [DeltaX]
        ;
        fxch    st(2)
        fldz
        fxch    st(1)
 
        ;st(0)  - X
        ;st(1)  - интеграл
        ;st(2)  - Xfinish
        ;st(3)  - DeltaX
        mov     ecx,    [N]
        @@for:
                fld     st(0)           ;f(a)
                call    F
                fld     st(1)           ;f(b)
                fadd    st(0),  st(5)
                fst     st(2)           ;X=X+DeltaX
                call    F
                faddp   st(1),  st(0)   ;st(0)=(f(a)+f(b))/2
                fld1
                fld1
                faddp   st(1),  st(0)
                fdivp   st(1),  st(0)
                faddp   st(2),  st(0)   ;I=st(1)=I+(f(a)+f(b))/2
 
        loop    @@for
        fxch    st(1)
        fmul    st(0),  st(3)
        fst     [Result]
 
        ;вывод результата
        ; - смена цвета
        invoke  SetConsoleTextAttribute, hConsoleOutput, [dwColorRed]
        ; - установка позиции
        invoke  SetConsoleCursorPosition, hConsoleOutput, dword ptr [dwCursorPosition]
        ; - вывод
        invoke  WriteConsole, hConsoleOutput, ADDR aszMsgResult,\
                LENGTHOF aszMsgResult - 1, ADDR BufLen, NULL
        invoke  FloatToStr2, [Result], ADDR Buffer
        invoke  StrLen, ADDR Buffer
        mov     [BufLen],       eax
        invoke  WriteConsole, hConsoleOutput, ADDR Buffer,\
                BufLen, ADDR BufLen, NULL
 
        ;ожидание нажатия Left Alt
        invoke  SetConsoleTextAttribute, hConsoleOutput, [dwColorWhite]
        invoke  WriteConsole, hConsoleOutput, ADDR aszPressLeftAlt,\
                LENGTHOF aszPressLeftAlt - 1, ADDR BufLen, NULL
        @@WaitForLAlt:
                invoke  GetAsyncKeyState, VK_LMENU
                and     eax,    8000h
        jz      @@WaitForLAlt
        ;завершение программы
        invoke  ExitProcess, 0
start   endp
 
;Значение подынтегральной функции
F       proc
        LOCAL   @StateFPU[108]:byte     ;108 use32, 94 use16
        LOCAL   @X:QWord
        LOCAL   @Result:QWord
        ;перед очисткой стека FPU сохраним:
        fstp    [@X]            ; вершину стека (аргумент функции)
        fsave   [@StateFPU]     ; состояние FPU
        ;перед началом работы очищаем стек FPU
        finit
        ;в вершину стека помещаем аргумент функции
        fld     [@X]
 
        fld     st(0)           ;x^2+1
        fmul    st(0),  st(0)
        fld1
        faddp   st(1),  st(0)
 
        fldl2e                  ;st(0)=1/ln(2)=log2(e)
        fmul                    ;st(0)=x/ln(2)=x*log2(e)
        fld     st
        frndint
        fsub    st(1), st
        fxch    st(1)
        f2xm1
        fld1
        fadd
        fscale
        fstp    st(1)
 
        fmulp   st(1),  st(0)   ;x*exp(x^2+1)
        ;перед восстановлением состояния FPU сохраним результат функции
        fst     [@Result]
        ;восстановление состояния FPU
        frstor  [@StateFPU]
        ;результат вычислений на вершину стека
        fld     [@Result]
 
        ret
F       endp
 
end start
0
0 / 0 / 0
Регистрация: 30.11.2017
Сообщений: 6
02.12.2017, 16:04  [ТС]
ФедосеевПавел, Thank you very much)
0
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
02.12.2017, 17:07
Natasha Y, Not At All..


Do you speak English?
0
0 / 0 / 0
Регистрация: 30.11.2017
Сообщений: 6
09.12.2017, 16:30  [ТС]
proc3nt, yes, of course)
0
13.12.2017, 13:00

Не по теме:

Цитата Сообщение от Natasha Y Посмотреть сообщение
Thank you very much)
Надо так:
Thanks, you're very macho!
И смайлик :-*

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2017, 13:00
Помогаю со студенческими работами здесь

[Warning] Unit1.pas(57): Method 'WndProc' hides virtual method of base type 'TCustomForm'
Как исправить procedure WndProc (var Msg: TMsg; var Handled:boolean); чтобы не было предупреждения Unit1.pas(57): Method 'WndProc' hides...

integral
\int_{\frac{\pi}{6}}^{\frac{\pi}{3}}\frac{1}{\sin^2x.\sin\left(x+\frac{\pi}{6}\right)}dx

integral
vot u mena podintegralnaya funkciya takaya: 2*((exp(t*t)-exp(-t*t))/(exp(t*t)+exp(-t*t))) yavlaeca li etot integral sxoda6imsa esli...

integral
не могу сосчитать интеграл беру x=t^60 как ощую степень

Тип Integral.
Кто поможет ершить столь сложную задачку? Добавлено через 10 часов 46 минут Ну неужели никто не может?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru