0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
1 | |
Вычислить число Pi по приближению Pi/4 == 4*Arctan(1/5) – arctan(1/239)17.04.2012, 22:11. Показов 5206. Ответов 21
Метки нет (Все метки)
Умоляю помогите написать срочно программу ооочень нужно
Аппроксимация 3. Для числа Pi известна формула Pi/4 == 4*Arctan(1/5) – arctan(1/239) Ряд Тейлора для арктангенса у= x- x^3/3 + x^5/5 – x^7/7 + x^9/9…. Этот ряд достаточно быстро сходится при abs(x) <=1/2 Сколько надо взять членов в ряде, чтобы вычислить число Пи хотя бы с 5-7 знаками после запятой? (Это умели еще в средние века). Сравнить полученное значение с точным. Пожалуйстаа
0
|
17.04.2012, 22:11 | |
Ответы с готовыми решениями:
21
Вычислить значение функции y:=sqrt(exp(x)-b)+arctan(sqrt(x/(b-x))) Возведение Arctan в квадрат Нарисовать график функции y=arctan(x) write(arcTan(1)); почему резултат не 45 ? |
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
|
|
17.04.2012, 22:24 | 2 |
Не нам не вам от этого не легче.
polyakov1993, представляешь что примерно надо делать?
0
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
17.04.2012, 22:29 [ТС] | 3 |
Я сишный код написал можно сделать вставки а можно гольный ассемблер написать но я в ассемблере плохо разбираюсь очень помощь нужна
Добавлено через 2 минуты #include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> double arctagen(double x, int n) { int i; double tmp=0.; for(i=1;i<=n;i++) { tmp=tmp+(pow(-1,i-1)/(2*i-1))*pow(x,2*i-1); } return(tmp); } int main() { int n,i; double Pi; while (fabs(M_PI-Pi)>1e-6) { Pi=4*(4*arctagen(1./5.,n)-arctagen(1./239.,n)); printf("M_PI=%.10f\t Pi=%.10f\t |M_PI-Pi|=%.10f\n",M_PI,Pi,fabs(M_PI-Pi)); n++; } return(0); } Вот сишный код помогите пожалуйста
0
|
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
|
|
17.04.2012, 22:35 | 4 |
Выкладывай взглянем, хоть что-то!
Добавлено через 5 минут polyakov1993, в итоге результат верный? Прикрепи программу что в итоге получится должно!
0
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
17.04.2012, 22:38 [ТС] | 5 |
Работает всё верно в ответе получается число пи
0
|
Клюг
7675 / 3190 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
18.04.2012, 00:40 | 6 |
Не компилится. Кто такой M_PI?
0
|
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
|
|
18.04.2012, 00:52 | 7 |
0
|
56 / 56 / 16
Регистрация: 01.08.2011
Сообщений: 141
|
||||||
18.04.2012, 01:37 | 8 | |||||
Дабавь перед подключением math.h строку
0
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
||||||
18.04.2012, 06:32 | 9 | |||||
;Pi/4 == 4*Arctan(1/5) – arctan(1/239)
Для вычисления напиши вверху директиву .486, чтобы использовать сопроцессор.
0
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
18.04.2012, 07:09 [ТС] | 10 |
Так вроде с кодом разобрался,спасибо большое,а вот где строки пропущены там что должно быть?
Добавлено через 17 минут хотя не совсем разобрался,что такое fld 1
0
|
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
|
|
18.04.2012, 07:18 | 11 |
Тут вкралась ошибка. Надо было в разделе данных написать one dd 1.0, а в разделе кода вместо 1 - one. Это просто опечатка.
0
|
Ушел с форума
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,698
|
|
18.04.2012, 08:50 | 12 |
programmisto, fld1 — это команда такая — её нужно писать слитно
0
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
18.04.2012, 08:54 [ТС] | 13 |
Что эта команда выполняет?
0
|
Ушел с форума
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,698
|
||||||
18.04.2012, 09:36 | 14 | |||||
polyakov1993, загружает на вершину стека сопроцессора единицу. А вообще впечатление такое, что микроскоп используется для забивания гвоздей - в сопроцессоре есть команда для вычисления арктангенса, поэтому программу для получения числа Пи по формуле Pi/4 = 4*Arctg(1/5) – arctg(1/239) нужно писать так
0
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
18.04.2012, 09:43 [ТС] | 15 |
Спасибо,почему то выдаёт ошибку при компиляции в строке
1 .data
0
|
Ушел с форума
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,698
|
|
18.04.2012, 09:59 | 16 |
polyakov1993, а указывать модель памяти и тип процессора не пробовал? Это "мясо" для твоей программы, стандартную шапку, вывод результата и выход из программы пиши сам
1
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
18.04.2012, 11:09 [ТС] | 17 |
В какой среде ты это делал?
Добавлено через 11 минут И ещё как реализовать ассемблерные вставки в сишный код для этой же программы? Добавлено через 52 минуты Почему в программе нет аргументов например у арктангенса?
0
|
Ушел с форума
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,698
|
|
18.04.2012, 11:44 | 18 |
polyakov1993,
1) masm 2) __asm { вставка } 3) очень сложно набрать в Google "команда fpatan"?
0
|
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 24
|
|
18.04.2012, 19:04 [ТС] | 19 |
Пожалуйста напишите проще и желательнее с комментами каждой строки что она делает
0
|
Ушел с форума
16338 / 7659 / 1075
Регистрация: 11.11.2010
Сообщений: 13,698
|
|
19.04.2012, 03:46 | 20 |
polyakov1993,
1) найди учебник 2) комментарии написаны, смотри внимательно, если что-то не понятно смотри пункт первый 3) куда уж проще, хотя если выполнишь первый и второй пункт, попробуй переписать мою программу, хз, может быть напишешь проще
0
|
19.04.2012, 03:46 | |
19.04.2012, 03:46 | |
Помогаю со студенческими работами здесь
20
Посчитать сумму ряда (arctan) Составить программу, использующую процедуры и функции модуля System: Exit, Chr, Abs, ArcTan, Dec, Random Вычислить S=16arctg1/5-4arctg1/239 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |