Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/117: Рейтинг темы: голосов - 117, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 13

Вычислить и вывести на экран значения функции arctg(x) в виде таблицы, заданной с помощью ряда Тейлора

11.04.2012, 21:33. Показов 22332. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с лабораторной! весь интернет перерыл не нашел я свой вариант

Вычислить и вывести на экран значения функции в виде таблицы, заданной с помощью ряда Тейлора, на интервале от Хнач до Хкон с шагом dx и точностью е (эпсилон). При выводе таблицу снабдить заголовком и шапкой. Каждая строка должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.

https://www.cyberforum.ru/cgi-bin/latex.cgi?arctg\left(x \right)=\sum_{n=0}^{\infty}\frac{\left(-1 \right)^nx^{2n+1}}{2n-1}=x-\frac{x^3}{3}+\frac{x^5}{5}-\frac{x^7}{7}+\dots\;,\;\left|x \right|\lt 1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2012, 21:33
Ответы с готовыми решениями:

Вычислить и вывести на экран в виде таблицы значения функции arctg(x), заданной рядом Тейлора
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на...

Ряды Тейлора. Вычислить и вывести на экран в виде таблицы значения функции arctg(x)
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора
Помогите пожалуйста, уже мучаюсь 3-ю неделю, расхождение получается большое. Задание: Вычислить...

27
 Аватар для tofers
30 / 30 / 10
Регистрация: 07.10.2011
Сообщений: 204
11.04.2012, 21:43
Не легче в маткаде или Excel ?
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 13
11.04.2012, 21:55  [ТС]
нет) мне нужен код программы на с# так как я им не владею, и мне требуется помощь, если можешь помоги))))плиз)
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
12.04.2012, 07:17
интересно, кроме DataGridView , в шарпе есть визуальные компоненты для вывода незамысловатой таблицы?
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
12.04.2012, 11:06
видимо так:
Вложения
Тип файла: rar ArcTg.rar (5.1 Кб, 434 просмотров)
0
38 / 38 / 10
Регистрация: 08.03.2012
Сообщений: 236
12.04.2012, 11:29
тебе нужно консольное приложение или WinForm?
0
 Аватар для Resst
34 / 27 / 6
Регистрация: 31.03.2012
Сообщений: 115
12.04.2012, 12:34
MansMI, скинь пожалуйста исходник) Интересно посмотреть. =)
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 13
13.04.2012, 17:31  [ТС]
Мне нужно ConsoleApplication (консольное приложение) Помогите пожалуйста!!!!(( очень срочно нужен листинг (программный код на С#) Кто то ведь делал лабораторную по учебнику павловской, мне нужна лабораторная 3 Организация циклов задание 3 Ряд Тейлора 9 вариант. выложите пожалуйста весь код или всю папку Projects одним архивом, очень нужно!( помогите!
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.04.2012, 17:35
У меня на паскале есть (когда-то делал именно это задание), если поймешь, милости прошу:
Pascal
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
program arctg; {программа вычисления с заданной точностью арктангенса аргумента путем суммирования первых "N" членов бесконечного ряда Тейлора функции}
 
uses
  crt;
 
const
  C = 500;
 
var
  x, eps, s, a: double; {переменная, точность, сумма ряда, n-й член}
  n: word; 
  
begin
  clrscr;
  writeln('input x and precision ');
  readln(x, eps);
  if (eps >= 1) or (eps <=0) then
  begin
    writeln('неправильно задана точность');
    halt
  end;
  if (abs(x) >= 1) then
  begin
    writeln('неправильно задана переменная)');
    halt
  end;
  a := x;
  s := 0;
  n := 0;
  while abs(arctan(x) - s) >= eps do
  begin
    inc(n);
    if n > C then
    begin
      writeln('слишком большая точность');
      halt
    end;
    s := s+a;
    a := -a*sqr(x)*(2*n-1)/(2*n+1);
  end;
  If s=0 then s:=x;
  writeln('x=', x:5:3,',    сумма ',s:11:10,' вычислена с точностью ',eps:12:11,' за ',n,' итераций');
  writeln('x=', x:5:3,', arctg(x)=',arctan(x):12:11,' - точное значение функции в точке');
  readln
end.
В принципе перевести не сложно. Если до выходных потерпишь, сделаю.
0
12 / 12 / 2
Регистрация: 30.10.2011
Сообщений: 59
13.04.2012, 18:20
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace App6
{
    class Program
    {
        static void Main(string[] args)
        {
            int x0, x1, n ,x;
            double f, e, s, i, h;
     Begin: Console.WriteLine("Введите начальное значение интервала");
            x0 = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите конечное значение интервала");
            x1 = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите шаг");
            h = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите точность");
            e = Convert.ToDouble(Console.ReadLine());
            i = x0; s = 0; n = 0; f = 1; s = 0;
            while (Math.Abs(f) > e)
            {
                f = (Math.Pow((-1), n) * Math.Pow(x1, n)) / factorial(n);
                n++;
                s = s + Math.Abs(f);
            }
            x = (int)s;
            char[] ch = x.ToString().ToCharArray(); ;
            int nulls = 3 + ch.Count();
 
            Console.Write("+---" + "+{0," + nulls + ":G}+", "--------");
            Console.WriteLine("---+");
            Console.Write("| x |"+"{0,"+nulls+":N}","summa");
            Console.WriteLine("| n |");
            Console.Write("+---" + "+{0," + nulls + ":N}+", "--------");
            Console.WriteLine("---+");
            while (i < x1)
            {
                n = 0; f = 1; s = 0; 
                while (Math.Abs(f) > e)
                {
                    f = (Math.Pow((-1), n) * Math.Pow(i, n)) / factorial(n);
                    n++;
                    s = s + Math.Abs(f);
                }
                Console.Write("|{0,3:G}",i);
                Console.Write("|{0,"+nulls+":N}|", s  );
                Console.WriteLine("{0,3:G}|", n);
                i = i + h;
            }
            Console.Write("+---" + "+{0," + nulls + ":N}+", "--------");
            Console.WriteLine("---+");
            Console.WriteLine("Для продолжения нажмите - 1, для выхода - любую кнопку");
            if (Console.ReadLine() == "1")
            {
                Console.Clear();
                goto Begin;
            }
        }
        
        private static double factorial(int n)
        {
            if (n <= 1) return (1);
            else return (n * factorial(n - 1));
        }
    }
}

функцию только поменяй на свою
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.04.2012, 18:25
melomaniak, фейловский вариант, при кол-ве итераций >12 будет уже вываливаться за пределы разрядной сетки. Вы вообще представляете, чему равно 12! ? про возведение при этом в 25 степень я молчу...


MegaAleksei44, мой тебе совет, дождись завтрашнего вечера, я тебе переведу нормальный вариант
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 13
13.04.2012, 18:26  [ТС]
Ну мне остается только терпеть) только мне нужен программный код в С# (т.е. листинг написан в программе Microsoft Visual C# ) Добрые люди помогите бедному студенту, мне только работающий код на С# нужен вот и всё))
0
12 / 12 / 2
Регистрация: 30.10.2011
Сообщений: 59
13.04.2012, 19:21
Цитата Сообщение от Psilon Посмотреть сообщение
melomaniakВы вообще представляете, чему равно 12! ?
конечно нет, что вы, чему? Может вы не заметили, но там как раз для факториала 25 написан метод увеличения ширины столбцов с суммой

MegaAleksei44

замени формулу и всё, мне шило
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.04.2012, 19:28
melomaniak, алгоритм выше я писал на pascalABC на первом курсе, когда только познакомился с массивами и циклами. И то тот код гораздо лучше вашего произведения. Хотя офк если вы сразу начали писать на C#, то вопросы быстродействия и экономии памяти - это не к вам. Я уже не говорю, что при достаточно большой точности вы схватите overflow, причем это будет не более, чем e = 10^-6
0
12 / 12 / 2
Регистрация: 30.10.2011
Сообщений: 59
13.04.2012, 19:29
Psilon, давайте померимся у кого длиннее ещё, нечем заняться ?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.04.2012, 19:35
melomaniak, чудная программа, особенно если учесть ошибки округления
Миниатюры
Вычислить и вывести на экран значения функции arctg(x) в виде таблицы, заданной с помощью ряда Тейлора  
0
12 / 12 / 2
Регистрация: 30.10.2011
Сообщений: 59
13.04.2012, 19:41
Psilon, молодец, убедил, я морально повержен и больше никогда не буду программировать куда мне до вас, овеликихпрограммистов, знаешь способ вычислить факториал 70 и более ?

 Комментарий модератора 
Флуд прекращаем
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.04.2012, 20:10
melomaniak, я никого не собираюсь убеждать, нравится вам такой "стиль" - пожалуйста.



MegaAleksei44, что-то вроде такого
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Arctan
{
    class Program
    {
        static void Main()
        {
            double eps, x;          
            do
            {
                Console.WriteLine("Введите |X| < 1");
            } while (!Double.TryParse(Console.ReadLine(), out x) || Math.Abs(x) >= 1);
            do
            {
                Console.WriteLine("Введите 0 < eps < 1");
            } while (!Double.TryParse(Console.ReadLine(), out eps) || eps >= 1 || eps <= 0);
            double a = x;
            double s = 0;
            int n = 1;
            for (; Math.Abs(Math.Atan(x) - s) > eps; n++)
            {
                s = s + a;
                a = -a * x * x * (2.0 * n - 1) / (2 * n + 1);
                if (n > 1000)
                {
                    Console.WriteLine("Слишком большая точность");
                    Console.ReadKey();
                    return;
                }
            }
            if (s == 0) s = x;
            Console.WriteLine("x = {0}  сумма {1} вычислена с точностью {2} за {3} итераций",x,s,eps,n);
            Console.ReadKey();            
        }
    }
}
Это считает арктнагнес. Как загнать в цикл для различных X - сам понимаешь, не проблема.
Миниатюры
Вычислить и вывести на экран значения функции arctg(x) в виде таблицы, заданной с помощью ряда Тейлора  
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 13
13.04.2012, 21:22  [ТС]
ОГРОМНОЕ ВАМ СПАСИБО!!!!!!!!!!!)))))))))))) Спасибо за то что вы написали код, но задание мне нужно сдать в другой форме: вывести на экран значения функции в виде ТАБЛИЦЫ. При выводе таблицу снабдить ЗАГОЛОВКОМ и ШАПКОЙ. Каждая строка должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Если этого не будет то мне не засчитают. я в с# вообще не понимаю( и поэтому мне нужна ваша помощь
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.04.2012, 21:38
MegaAleksei44, тогда вот, вам так надо?
C#
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
using System;
 
namespace Arctan
{
    class Program
    {
        static void Main()
        {
            double eps, x, xlim, dx;
            do
            {
                Console.WriteLine("Введите X0 : |X0| < 1");
            } while (!Double.TryParse(Console.ReadLine(), out x) || Math.Abs(x) >= 1);
            do
            {
                Console.WriteLine("Введите X : X0 < X < 1");
            } while (!Double.TryParse(Console.ReadLine(), out xlim) || xlim <= x);
            do
            {
                Console.WriteLine("Введите dx");
            } while (!Double.TryParse(Console.ReadLine(), out dx) || dx > Math.Abs(1 - x));
            do
            {
                Console.WriteLine("Введите 0 < eps < 1");
            } while (!Double.TryParse(Console.ReadLine(), out eps) || eps >= 1 || eps <= 0);
            for (; x < xlim; x += dx)
            {
                double a = x;
                double s = 0;
                int n = 1;
                for (; Math.Abs(Math.Atan(x) - s) > eps; n++)
                {
                    s = s + a;
                    a = -a * x * x * (2.0 * n - 1) / (2 * n + 1);
                }
                if (s == 0) s = x;
                Console.WriteLine("x = {0:f} сумма {1} вычислена с точностью {2} за {3} итераци" + ((n % 10 == 1 && n / 10 != 1 ) ? "ю" : (n % 10 > 1 && n % 10 < 5 && n / 10 !=1) ? "и" : "й"), x, s, eps, n);
            }
            Console.ReadKey();
        }
    }
}
Миниатюры
Вычислить и вывести на экран значения функции arctg(x) в виде таблицы, заданной с помощью ряда Тейлора  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2012, 21:38
Помогаю со студенческими работами здесь

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора
Я студентка первого курса и (если честно) слабо понимаю то, что изучаю,но всё же =) помогите если...

Вычислить и вывести на экран в виде таблицы значения функции e^(-x*x), заданной с помощью ряда Тейлора
Такая задача : Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора
Задание: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда...

Вычислить и вывести на экран в виде таблицы значения функции ln(x+1), заданной с помощью ряда Тейлора
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на...

Вычислить и вывести на экран в виде таблицы значения функции ln(x), заданной с помощью ряда Тейлора
Всем здравствуйте. Поступил в этом году на &quot;Программную инженерию&quot;. Начали учить С#. Толком ничего...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru